html{font-size:14px}@media (width>=768px){html{font-size:16px}}html{min-height:100%;position:relative}body{margin:0;padding-top:3.5rem;padding-bottom:3.5rem}.about-text{font-size:1.1rem;line-height:1.7}.resume-list li{margin-bottom:.35rem}.navbar-glass{-webkit-backdrop-filter:blur(12px);background:#3b71caeb;border-bottom:1px solid #ffffff26;transition:background .3s}[data-mdb-theme=dark] .navbar-glass{background:#1e1e1eeb;border-bottom:1px solid #ffffff14}.navbar-brand{text-decoration:none;color:#fff!important}.brand-icon{font-size:1.3rem;transition:transform .3s}.navbar-brand:hover .brand-icon{transform:rotate(15deg)scale(1.1)}.brand-text{letter-spacing:1px;font-size:1.2rem}.nav-link-custom{font-size:.9rem;font-weight:500;transition:all .25s;position:relative;color:#ffffffd9!important}.nav-link-custom:hover{background:#ffffff1f;color:#fff!important}.nav-active{color:#fff!important;background:#fff3!important}.navbar-toggler-icon-custom{color:#ffffffe6;font-size:1.2rem}.dropdown-menu-custom{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;overflow:hidden}.dropdown-menu-custom .dropdown-header{letter-spacing:.04rem;margin:0;padding:.4rem 1rem .2rem;font-weight:600;line-height:1.2}.dropdown-menu-custom .dropdown-divider{margin:.25rem .75rem}.dropdown-item-custom{font-size:.9rem;transition:background-color .2s,color .2s,transform .2s}.dropdown-item-custom:hover{background:#3b71ca1a;transform:translate(4px)}.theme-toggle-btn{color:#ffffffd9;text-decoration:none}.theme-toggle-icon{opacity:.45;color:#ffffffd9;font-size:1.1rem;transition:transform .3s,color .3s,filter .3s,opacity .3s}.theme-toggle-btn:hover .theme-toggle-icon{transform:rotate(30deg)}[data-mdb-theme=dark] .theme-toggle-icon{opacity:1;color:#ffc107;filter:drop-shadow(0 0 6px #ffc10799)}.page-fade-enter-active,.page-fade-leave-active{transition:opacity .2s}.page-fade-enter-from,.page-fade-leave-to{opacity:0}.footer-glass{-webkit-backdrop-filter:blur(10px);background:#f8f9fae6;border-top:1px solid #00000014}[data-mdb-theme=dark] .footer-glass{background:#1e1e1ee6;border-top:1px solid #ffffff14}.social-btn{justify-content:center;align-items:center;width:32px;height:32px;transition:transform .2s,box-shadow .2s;display:flex}.social-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.social-linkedin{color:#fff;background-color:#0077b5}.social-linkedin:hover{color:#fff;background-color:#005e93}.social-github{color:#fff;background-color:#24292e}.social-github:hover{color:#fff;background-color:#1a1e22}.social-coffee{color:#333;background-color:#fd0}.social-coffee:hover{color:#333;background-color:#e6c700}.footer-divider{background:#00000026;width:1px;height:20px}[data-mdb-theme=dark] .footer-divider{background:#ffffff26}.footer-text{color:#6c757d;font-size:.8rem}.footer-link{color:#6c757d;text-decoration:none;transition:color .2s}.footer-link:hover{color:#3b71ca}@media (width<=991px){.navbar-collapse{padding:.75rem 0}.navbar-nav .nav-link-custom{margin:.15rem 0;padding:.75rem 1rem!important}.dropdown-menu-custom{border-radius:8px;margin:.25rem .5rem}}@media (width<=576px){.dropdown-menu .dropdown-item{padding-top:1rem;padding-bottom:1rem;font-size:1.1rem}.dropdown-header{padding-top:1rem;padding-bottom:.5rem;font-size:1rem}.navbar .dropdown-menu{min-width:90vw;left:5vw!important;right:auto!important}}.portrait-wrapper[data-v-c0895d37]{display:inline-block;position:relative}.portrait-img[data-v-c0895d37]{max-width:380px;transition:transform .3s,box-shadow .3s}.portrait-img[data-v-c0895d37]:hover{transform:scale(1.03)}.tech-card[data-v-c0895d37]{cursor:default;transition:transform .2s,box-shadow .2s}.tech-card[data-v-c0895d37]:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001a!important}.timeline[data-v-69abe7c7]{padding-left:2rem;position:relative}.timeline[data-v-69abe7c7]:before{content:"";background:var(--mdb-primary);border-radius:2px;width:3px;position:absolute;top:0;bottom:0;left:8px}.timeline-item[data-v-69abe7c7]{margin-bottom:1.5rem;position:relative}.timeline-dot[data-v-69abe7c7]{z-index:1;border:3px solid #fff;border-radius:50%;width:16px;height:16px;margin-left:1px;position:absolute;top:8px;left:-2rem;box-shadow:0 0 0 2px #3b71ca4d}[data-mdb-theme=dark] .timeline-dot[data-v-69abe7c7]{border-color:#1e1e1e}.timeline-date-badge[data-v-69abe7c7]{display:inline-block}.timeline-card[data-v-69abe7c7]{transition:transform .2s,box-shadow .2s}.timeline-card[data-v-69abe7c7]:hover{transform:translate(4px);box-shadow:0 8px 25px #00000014!important}@media print{.timeline[data-v-69abe7c7]:before,.timeline-dot[data-v-69abe7c7]{display:none}.timeline[data-v-69abe7c7]{padding-left:0}}.generated-password-box[data-v-4e93ac86]{animation:.3s fadeIn-4e93ac86}@keyframes fadeIn-4e93ac86{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}textarea.form-control[data-v-9bb4fb8d],textarea.form-control[data-v-578f495c]{resize:vertical;font-size:.85rem}.text-purple[data-v-584a7e64]{color:#8e44ad}.uuid-list[data-v-584a7e64]{border:1px solid #00000014;border-radius:8px;max-height:400px;padding:.25rem;overflow-y:auto}[data-mdb-theme=dark] .uuid-list[data-v-584a7e64]{border-color:#ffffff1a}.uuid-row[data-v-584a7e64]:hover{background:#3b71ca14}.uuid-row code[data-v-584a7e64]{color:inherit;word-break:break-all;background:0 0;padding:0}textarea.form-control[data-v-648ccc9e]{resize:vertical;font-size:.85rem}.hash-output[data-v-648ccc9e]{font-size:.85rem}.score-card[data-v-f6826985]{min-width:90px;transition:transform .2s}.score-card[data-v-f6826985]:hover{transform:translateY(-2px)}.game-board[data-v-f6826985]{aspect-ratio:1;border:2px solid #00000014;border-radius:16px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);max-width:380px;max-height:380px;margin:0 auto 2rem;display:grid;overflow:hidden;box-shadow:0 4px 20px #00000014}.game-tile[data-v-f6826985]{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000000f;justify-content:center;align-items:center;font-size:3em;font-weight:700;transition:background-color .2s,transform .15s;display:flex;position:relative}.game-tile[data-v-f6826985]:hover:not(.occupied){background-color:#3b71ca0f}.game-tile.occupied[data-v-f6826985]{cursor:default}.tile-char[data-v-f6826985]{animation:.2s popIn-f6826985}.tile-player[data-v-f6826985]{color:var(--v1a955f82)}.tile-opponent[data-v-f6826985]{color:var(--v02722686)}@keyframes popIn-f6826985{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.score-card[data-v-870ad4ac]{min-width:90px;transition:transform .2s}.score-card[data-v-870ad4ac]:hover{transform:translateY(-2px)}.board-wrapper[data-v-870ad4ac]{max-width:560px}.connect-board[data-v-870ad4ac]{background:linear-gradient(145deg,#3b71ca,#2e5cab);border-radius:16px;grid-template-columns:repeat(7,1fr);gap:4px;padding:12px;display:grid;box-shadow:0 8px 28px #3b71ca59}[data-mdb-theme=dark] .connect-board[data-v-870ad4ac]{background:linear-gradient(145deg,#233a66,#1a2d52);box-shadow:0 8px 28px #00000080}.board-col[data-v-870ad4ac]{cursor:pointer;border-radius:8px;flex-direction:column;gap:4px;transition:background-color .15s;display:flex}.board-col[data-v-870ad4ac]:hover{background:#ffffff14}.board-cell[data-v-870ad4ac]{aspect-ratio:1;justify-content:center;align-items:center;display:flex}.chip-slot[data-v-870ad4ac]{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:88%;height:88%;display:flex;box-shadow:inset 0 2px 6px #00000040}[data-mdb-theme=dark] .chip-slot[data-v-870ad4ac]{background:#0f1117}.chip[data-v-870ad4ac]{border-radius:50%;width:100%;height:100%;transition:transform .2s}.chip-player[data-v-870ad4ac]{background:radial-gradient(circle at 30% 30%, #ffffff8c, transparent 55%), var(--v2002662a);animation:.35s chipDrop-870ad4ac;box-shadow:0 2px 6px #00000040}.chip-opponent[data-v-870ad4ac]{background:radial-gradient(circle at 30% 30%, #ffffff8c, transparent 55%), var(--v60b8232e);animation:.35s chipDrop-870ad4ac;box-shadow:0 2px 6px #00000040}.chip-preview[data-v-870ad4ac]{background:var(--v2002662a);opacity:.35}.chip-win[data-v-870ad4ac]{animation:.8s infinite alternate chipPulse-870ad4ac}@keyframes chipDrop-870ad4ac{0%{transform:translateY(-220%)}80%{transform:translateY(10%)}to{transform:translateY(0)}}@keyframes chipPulse-870ad4ac{0%{filter:brightness();transform:scale(1)}to{filter:brightness(1.25);transform:scale(1.08)}}.score-card[data-v-55d9140a]{min-width:90px;transition:transform .2s}.score-card[data-v-55d9140a]:hover{transform:translateY(-2px)}.memory-board-wrapper[data-v-55d9140a]{max-width:520px}.memory-board[data-v-55d9140a]{gap:10px;display:grid}.memory-card[data-v-55d9140a]{aspect-ratio:1;perspective:800px;cursor:pointer}.memory-card-inner[data-v-55d9140a]{width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s;position:relative}.memory-card.flipped .memory-card-inner[data-v-55d9140a]{transform:rotateY(180deg)}.memory-card-face[data-v-55d9140a]{backface-visibility:hidden;border-radius:12px;justify-content:center;align-items:center;font-size:2em;display:flex;position:absolute;inset:0;box-shadow:0 3px 10px #00000014}.memory-card-back[data-v-55d9140a]{color:#ffffffd9;background:linear-gradient(135deg,#3b71ca,#14a44d)}.memory-card-front[data-v-55d9140a]{background:#fff;border:2px solid #0000000f;transform:rotateY(180deg)}[data-mdb-theme=dark] .memory-card-front[data-v-55d9140a]{background:#1e1e1e;border-color:#ffffff14}.memory-card.matched .memory-card-front[data-v-55d9140a]{animation:.5s matchPulse-55d9140a;box-shadow:0 0 0 3px #14a44d99}@keyframes matchPulse-55d9140a{0%{transform:rotateY(180deg)scale(1)}50%{transform:rotateY(180deg)scale(1.1)}to{transform:rotateY(180deg)scale(1)}}.score-card[data-v-8c0371b7]{min-width:90px;transition:transform .2s}.score-card[data-v-8c0371b7]:hover{transform:translateY(-2px)}.board-2048-wrapper[data-v-8c0371b7]{outline:none;max-width:460px}.board-2048[data-v-8c0371b7]{aspect-ratio:1;background:#bbada0;border-radius:12px;grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(4,1fr);gap:12px;padding:6px;display:grid;position:relative;box-shadow:0 6px 20px #00000026}[data-mdb-theme=dark] .board-2048[data-v-8c0371b7]{background:#4a4036}.tile-bg[data-v-8c0371b7]{background:#eee4da59;border-radius:8px}.tile-2048[data-v-8c0371b7]{color:#776e65;background:#eee4da;border-radius:8px;justify-content:center;align-items:center;font-size:2rem;font-weight:800;transition:left .12s,top .12s;display:flex;position:absolute;box-shadow:0 2px 6px #0000001a}.tile-new[data-v-8c0371b7]{animation:.18s tileAppear-8c0371b7}.tile-merged[data-v-8c0371b7]{animation:.18s tilePop-8c0371b7}@keyframes tileAppear-8c0371b7{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes tilePop-8c0371b7{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.tile-val-2[data-v-8c0371b7]{color:#776e65;background:#eee4da}.tile-val-4[data-v-8c0371b7]{color:#776e65;background:#ede0c8}.tile-val-8[data-v-8c0371b7]{color:#f9f6f2;background:#f2b179}.tile-val-16[data-v-8c0371b7]{color:#f9f6f2;background:#f59563}.tile-val-32[data-v-8c0371b7]{color:#f9f6f2;background:#f67c5f}.tile-val-64[data-v-8c0371b7]{color:#f9f6f2;background:#f65e3b}.tile-val-128[data-v-8c0371b7]{color:#f9f6f2;background:#edcf72;font-size:1.75rem}.tile-val-256[data-v-8c0371b7]{color:#f9f6f2;background:#edcc61;font-size:1.75rem}.tile-val-512[data-v-8c0371b7]{color:#f9f6f2;background:#edc850;font-size:1.75rem}.tile-val-1024[data-v-8c0371b7]{color:#f9f6f2;background:#edc53f;font-size:1.4rem}.tile-val-2048[data-v-8c0371b7]{color:#f9f6f2;background:#edc22e;font-size:1.4rem;box-shadow:0 0 18px #edc22ecc}.tile-val-4096[data-v-8c0371b7],.tile-val-8192[data-v-8c0371b7]{color:#f9f6f2;background:#3c3a32;font-size:1.4rem}.score-card[data-v-e0849c0b]{min-width:90px;transition:transform .2s}.score-card[data-v-e0849c0b]:hover{transform:translateY(-2px)}.snake-wrapper[data-v-e0849c0b]{border-radius:12px;outline:none;width:fit-content;overflow:hidden;box-shadow:0 6px 20px #0000001f}.snake-wrapper[data-v-e0849c0b]:focus-visible{box-shadow:0 0 0 3px #3b71ca73,0 6px 20px #0000001f}.snake-canvas[data-v-e0849c0b]{background:#f8f9fa;max-width:100%;height:auto;display:block}.dpad-btn[data-v-e0849c0b]{justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex}.timeline-container[data-v-46e98728]{max-width:700px;margin:0 auto}.timeline-line[data-v-46e98728]{background:var(--mdb-primary);border-radius:2px;width:3px;position:absolute;top:0;bottom:0;left:24px}.timeline-entry[data-v-46e98728]{padding-left:55px;position:relative}.timeline-dot[data-v-46e98728]{background:var(--mdb-primary);z-index:2;border:4px solid #fff;border-radius:50%;width:24px;height:24px;position:absolute;top:6px;left:14px}[data-mdb-theme=dark] .timeline-dot[data-v-46e98728]{border-color:#1e1e1e}.timeline-card[data-v-46e98728]{transition:transform .2s,box-shadow .2s;border-radius:12px!important}.timeline-card[data-v-46e98728]:hover{transform:translateY(-2px);box-shadow:0 .5rem 1.5rem #0000001f!important}.timeline-highlights[data-v-46e98728]{padding-left:0;list-style:none}.timeline-highlights li[data-v-46e98728]{padding:.25rem 0;font-size:.95rem}@media print{.timeline-line[data-v-46e98728],.timeline-dot[data-v-46e98728]{display:none}.timeline-entry[data-v-46e98728]{padding-left:0}}.not-found-icon[data-v-24f246fc]{animation:3s ease-in-out infinite float-24f246fc}@keyframes float-24f246fc{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}
