:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.6;font-weight:400;color-scheme:dark;color:#e9ecf8eb;background-color:#04060f;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--vh: 1vh}html{min-height:100vh;height:100%;scroll-behavior:smooth}body{min-width:320px;min-height:100vh;height:100%;overscroll-behavior:none;width:100%;box-sizing:border-box;background-color:#04060f}a,button,input,select,textarea{touch-action:manipulation}a{font-weight:500;color:inherit;text-decoration:inherit;display:inline-block}#app{max-width:100%;margin:0 auto;width:100%;box-sizing:border-box}@supports (-webkit-touch-callout: none){body,.full-height{height:-webkit-fill-available}}@media (max-width: 768px){body,input,select,textarea{font-size:16px}}.bg[data-v-ce66f701]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:radial-gradient(120% 120% at 50% 0%,#0d1430,#070a17 55%,#04060f)}.blob[data-v-ce66f701]{position:absolute;border-radius:50%;filter:blur(64px);opacity:.72;will-change:transform;mix-blend-mode:screen}.blob-1[data-v-ce66f701]{width:46vw;height:46vw;background:radial-gradient(circle at 30% 30%,#4f5dff,transparent 70%);top:-8vw;left:-6vw;animation:drift-1-ce66f701 22s ease-in-out infinite}.blob-2[data-v-ce66f701]{width:40vw;height:40vw;background:radial-gradient(circle at 50% 50%,#19c6d6,transparent 70%);top:30vh;right:-10vw;animation:drift-2-ce66f701 26s ease-in-out infinite}.blob-3[data-v-ce66f701]{width:38vw;height:38vw;background:radial-gradient(circle at 50% 50%,#a855f7,transparent 70%);bottom:-10vw;left:20vw;animation:drift-3-ce66f701 30s ease-in-out infinite}.blob-4[data-v-ce66f701]{width:30vw;height:30vw;background:radial-gradient(circle at 50% 50%,#f472b6,transparent 70%);top:10vh;left:38vw;opacity:.4;animation:drift-4-ce66f701 24s ease-in-out infinite}@keyframes drift-1-ce66f701{0%,to{transform:translate(0) scale(1)}33%{transform:translate(14vw,10vh) scale(1.12)}66%{transform:translate(6vw,22vh) scale(.92)}}@keyframes drift-2-ce66f701{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-12vw,8vh) scale(1.1)}66%{transform:translate(-4vw,-10vh) scale(.9)}}@keyframes drift-3-ce66f701{0%,to{transform:translate(0) scale(1)}50%{transform:translate(10vw,-12vh) scale(1.15)}}@keyframes drift-4-ce66f701{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-14vw,14vh) scale(.85)}}.grid-overlay[data-v-ce66f701]{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(120% 80% at 50% 0%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(120% 80% at 50% 0%,#000 30%,transparent 75%)}.noise[data-v-ce66f701]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.bg[data-v-ce66f701]{transition:opacity .9s ease}@media (prefers-reduced-motion: reduce){.blob[data-v-ce66f701]{animation:none}}@media (max-width: 768px){.blob[data-v-ce66f701]{filter:blur(50px);opacity:.45}.grid-overlay[data-v-ce66f701]{background-size:44px 44px}}.terminal[data-v-f9a17772]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:clamp(0px,3vw,2.5rem);opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s ease}.terminal.active[data-v-f9a17772]{opacity:1;visibility:visible}.terminal.embedded[data-v-f9a17772]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:auto;padding:0;opacity:1;visibility:visible}.terminal.embedded .term-window[data-v-f9a17772]{width:100%;height:100%;border-radius:0;border:none;box-shadow:none;background:#080c1a8c;transform:none}.term-window[data-v-f9a17772]{width:min(960px,100%);height:min(640px,100%);display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:#080c1ad1;backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--glass-border-strong);box-shadow:0 40px 120px #0009,0 0 0 1px #7c8cff1a;transform:translateY(18px) scale(.99);transition:transform .5s cubic-bezier(.22,1,.36,1)}.terminal.active .term-window[data-v-f9a17772]{transform:none}.term-bar[data-v-f9a17772]{display:flex;align-items:center;gap:.5rem;padding:.7rem .9rem;background:#ffffff0a;border-bottom:1px solid var(--glass-border);flex-shrink:0}.dot[data-v-f9a17772]{width:12px;height:12px;border-radius:50%;display:inline-block}.dot.red[data-v-f9a17772]{background:#ff5f57;cursor:pointer}.dot.yellow[data-v-f9a17772]{background:#febc2e}.dot.green[data-v-f9a17772]{background:#28c840}.term-title[data-v-f9a17772]{flex:1;text-align:center;font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--text-dim)}.term-x[data-v-f9a17772]{background:none;border:1px solid var(--glass-border);color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.7rem;padding:.25rem .6rem;border-radius:7px;cursor:pointer;transition:var(--transition)}.term-x[data-v-f9a17772]:hover{border-color:var(--accent-pink);color:#fff}.term-body[data-v-f9a17772]{flex:1;overflow-y:auto;padding:1.1rem 1.25rem 1.4rem;font-family:JetBrains Mono,monospace;font-size:.86rem;line-height:1.65;color:var(--text)}.term-line[data-v-f9a17772]{white-space:pre-wrap;word-break:break-word}.prompt-line[data-v-f9a17772]{position:relative;display:flex;align-items:baseline;flex-wrap:wrap}.prompt[data-v-f9a17772]{white-space:pre}.cmd[data-v-f9a17772]{white-space:pre-wrap;word-break:break-word}.cursor[data-v-f9a17772]{display:inline-block;color:var(--accent-2);animation:blink-f9a17772 1.05s steps(1) infinite;margin-left:1px}@keyframes blink-f9a17772{0%,50%{opacity:1}51%,to{opacity:0}}.real-input[data-v-f9a17772]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;border:none;background:transparent;font:inherit;color:transparent;caret-color:transparent;outline:none}.term-body[data-v-f9a17772] .p-user{color:var(--accent-2)}.term-body[data-v-f9a17772] .p-host{color:var(--accent)}.term-body[data-v-f9a17772] .p-path{color:#6ee7ff}.term-body[data-v-f9a17772] .p-d{color:var(--text-dim)}.term-body[data-v-f9a17772] .t-cmd{color:var(--accent-2)}.term-body[data-v-f9a17772] .t-head{color:#fff;font-weight:600}.term-body[data-v-f9a17772] .t-logo{color:var(--accent)}.term-body[data-v-f9a17772] .t-dim{color:var(--text-dim)}.term-body[data-v-f9a17772] .t-err{color:var(--accent-pink)}.term-body[data-v-f9a17772] a{color:var(--accent-2);text-decoration:underline;text-underline-offset:2px}.term-body[data-v-f9a17772] a:hover{color:#fff}@media (max-width: 768px){.terminal[data-v-f9a17772]{padding:0}.term-window[data-v-f9a17772]{width:100%;height:100%;border-radius:0}.term-body[data-v-f9a17772]{font-size:.8rem}}.os[data-v-73f73a17]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease;overflow:hidden;background:radial-gradient(120% 90% at 75% 15%,rgba(124,140,255,.35),transparent 55%),radial-gradient(110% 90% at 20% 85%,rgba(79,209,224,.28),transparent 55%),linear-gradient(135deg,#0a0f24,#0c1330,#0a0e22);font-family:Inter,sans-serif;-webkit-user-select:none;user-select:none}.os.active[data-v-73f73a17]{opacity:1;visibility:visible}.os-boot[data-v-73f73a17]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem}.os-logo[data-v-73f73a17]{font-size:4rem;color:#fff;filter:drop-shadow(0 0 24px rgba(124,140,255,.7))}.os-logo-name[data-v-73f73a17]{font-family:Space Grotesk,sans-serif;font-size:1.5rem;color:#fff;letter-spacing:.04em}.os-spinner[data-v-73f73a17]{width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.2);border-top-color:var(--accent-2);animation:spin-73f73a17 .9s linear infinite}@keyframes spin-73f73a17{to{transform:rotate(360deg)}}.os-icons[data-v-73f73a17]{position:absolute;top:18px;left:14px;display:flex;flex-direction:column;gap:6px}.os-icon[data-v-73f73a17]{width:92px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;color:#fff;text-align:center}.os-icon.selected[data-v-73f73a17]{background:#7c8cff38;border-color:#7c8cff66}.os-icon[data-v-73f73a17]:hover{background:#ffffff14}.os-icon-glyph[data-v-73f73a17]{font-size:1.9rem;filter:drop-shadow(0 3px 6px rgba(0,0,0,.4))}.os-icon-label[data-v-73f73a17]{font-size:.72rem;text-shadow:0 1px 3px rgba(0,0,0,.8);line-height:1.2}.os-window[data-v-73f73a17]{position:absolute;display:flex;flex-direction:column;min-width:280px;border-radius:10px;overflow:hidden;background:#0e1326c7;backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);border:1px solid var(--glass-border-strong);box-shadow:0 30px 90px #0009;animation:win-open-73f73a17 .18s cubic-bezier(.22,1,.36,1);transform-origin:center center}.os-window.max[data-v-73f73a17]{border-radius:0}@keyframes win-open-73f73a17{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.os-titlebar[data-v-73f73a17]{display:flex;align-items:center;gap:8px;height:38px;padding:0 6px 0 12px;background:#ffffff0d;border-bottom:1px solid var(--glass-border);cursor:grab;flex-shrink:0}.os-titlebar-icon[data-v-73f73a17]{font-size:.9rem}.os-titlebar-name[data-v-73f73a17]{flex:1;font-size:.82rem;color:var(--text);font-weight:500}.os-controls[data-v-73f73a17]{display:flex;gap:2px}.ctrl[data-v-73f73a17]{width:34px;height:30px;border:none;background:transparent;color:var(--text-muted);font-size:.8rem;cursor:pointer;border-radius:6px;display:grid;place-items:center}.ctrl[data-v-73f73a17]:hover{background:#ffffff1a;color:#fff}.ctrl.close[data-v-73f73a17]:hover{background:#e81123;color:#fff}.os-window-body[data-v-73f73a17]{flex:1;overflow:auto;position:relative;color:var(--text)}.app-about[data-v-73f73a17]{padding:1.6rem;text-align:center}.about-avatar[data-v-73f73a17]{width:92px;height:92px;border-radius:50%;object-fit:cover;border:2px solid var(--accent);margin-bottom:.8rem}.app-about h2[data-v-73f73a17]{font-family:Space Grotesk,sans-serif;margin:0}.about-role[data-v-73f73a17]{color:var(--accent-2);font-family:JetBrains Mono,monospace;font-size:.82rem;margin:.2rem 0 1rem}.app-about p[data-v-73f73a17]{color:var(--text-muted);font-size:.9rem;line-height:1.6;margin:0 0 .8rem}.about-facts[data-v-73f73a17]{color:var(--text);font-size:.84rem}.app-explorer[data-v-73f73a17]{display:flex;flex-direction:column;height:100%}.explorer-path[data-v-73f73a17]{padding:.6rem 1rem;font-size:.78rem;color:var(--text-muted);border-bottom:1px solid var(--glass-border);font-family:JetBrains Mono,monospace}.explorer-grid[data-v-73f73a17]{flex:1;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;padding:1rem;align-content:start}.file[data-v-73f73a17]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;color:var(--text)}.file[data-v-73f73a17]:hover{background:#7c8cff29;border-color:#7c8cff59}.file-glyph[data-v-73f73a17]{font-size:1.8rem}.file-name[data-v-73f73a17]{font-size:.76rem;text-align:center;line-height:1.2}.file-meta[data-v-73f73a17]{font-size:.64rem;color:var(--text-dim);font-family:JetBrains Mono,monospace}.explorer-hint[data-v-73f73a17]{padding:.5rem 1rem;font-size:.72rem;color:var(--text-dim);border-top:1px solid var(--glass-border)}.app-list[data-v-73f73a17]{padding:1.2rem 1.4rem}.list-row[data-v-73f73a17]{padding:.8rem 0;border-bottom:1px solid var(--glass-border)}.list-row[data-v-73f73a17]:last-child{border-bottom:none}.list-row h3[data-v-73f73a17]{font-size:1rem;margin:0 0 .2rem;font-family:Space Grotesk,sans-serif}.row-org[data-v-73f73a17]{color:var(--accent-2);font-size:.84rem;margin:0 0 .3rem;font-family:JetBrains Mono,monospace}.row-when[data-v-73f73a17]{color:var(--text-dim)}.row-note[data-v-73f73a17]{color:var(--text-muted);font-size:.86rem;margin:0;line-height:1.5}.app-contact[data-v-73f73a17]{padding:1.4rem;display:flex;flex-direction:column;gap:.6rem}.contact-row[data-v-73f73a17]{color:var(--text);text-decoration:none;padding:.7rem .9rem;border-radius:9px;background:#ffffff0a;border:1px solid var(--glass-border);font-size:.88rem;transition:var(--transition)}.contact-row[data-v-73f73a17]:hover{border-color:var(--accent);color:#fff}.contact-loc[data-v-73f73a17]{color:var(--text-muted);font-size:.84rem;margin:.3rem 0 0}.app-project[data-v-73f73a17]{display:flex;flex-direction:column;height:100%}.proj-image[data-v-73f73a17]{height:190px;background-size:cover;background-position:center;flex-shrink:0;border-bottom:1px solid var(--glass-border)}.proj-body[data-v-73f73a17]{padding:1.3rem 1.5rem 1.5rem;overflow:auto}.proj-cat[data-v-73f73a17]{font-family:JetBrains Mono,monospace;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-2)}.proj-title[data-v-73f73a17]{font-family:Space Grotesk,sans-serif;font-size:1.45rem;margin:.35rem 0 .7rem;color:#fff}.proj-desc[data-v-73f73a17]{color:var(--text-muted);font-size:.92rem;line-height:1.65;margin:0 0 1.1rem}.proj-tags[data-v-73f73a17]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:1.4rem}.proj-tag[data-v-73f73a17]{font-family:JetBrains Mono,monospace;font-size:.68rem;padding:3px 9px;border-radius:999px;background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-muted)}.proj-actions[data-v-73f73a17]{display:flex;gap:.7rem;flex-wrap:wrap}.proj-btn[data-v-73f73a17]{padding:.6rem 1.2rem;border-radius:999px;border:1px solid var(--glass-border-strong);background:transparent;color:var(--text);cursor:pointer;font-size:.85rem;font-weight:500;transition:var(--transition)}.proj-btn[data-v-73f73a17]:hover{border-color:var(--accent-2);color:#fff}.proj-btn.primary[data-v-73f73a17]{border:none;background:var(--grad-primary);color:#07101f;font-weight:600}.proj-btn.primary[data-v-73f73a17]:hover{box-shadow:0 8px 24px #7c8cff66}.os-modal[data-v-73f73a17]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:9500;display:flex;align-items:center;justify-content:center;background:#04060f8c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:fade-in-73f73a17 .2s ease}@keyframes fade-in-73f73a17{0%{opacity:0}to{opacity:1}}.os-dialog[data-v-73f73a17]{width:min(440px,90vw);padding:1.6rem;border-radius:16px;text-align:center;background:#0e1326f5;border:1px solid var(--glass-border-strong);box-shadow:0 30px 90px #0009;animation:win-open-73f73a17 .22s cubic-bezier(.22,1,.36,1)}.dialog-icon[data-v-73f73a17]{font-size:2.2rem}.os-dialog h3[data-v-73f73a17]{font-family:Space Grotesk,sans-serif;margin:.4rem 0;color:#fff}.os-dialog p[data-v-73f73a17]{color:var(--text-muted);font-size:.88rem;margin:0 0 .8rem}.dialog-url[data-v-73f73a17]{font-family:JetBrains Mono,monospace;font-size:.76rem;color:var(--accent-2);background:#0000004d;border:1px solid var(--glass-border);border-radius:9px;padding:.6rem .8rem;margin-bottom:1.2rem;word-break:break-all;max-height:80px;overflow:auto}.dialog-actions[data-v-73f73a17]{display:flex;gap:.7rem;justify-content:center}.dialog-cancel[data-v-73f73a17]{padding:.6rem 1.3rem;border-radius:999px;border:1px solid var(--glass-border-strong);background:transparent;color:var(--text);cursor:pointer;font-size:.86rem}.dialog-cancel[data-v-73f73a17]:hover{border-color:var(--text-muted)}.dialog-ok[data-v-73f73a17]{padding:.6rem 1.3rem;border-radius:999px;border:none;background:var(--grad-primary);color:#07101f;font-weight:600;cursor:pointer;font-size:.86rem}.dialog-ok[data-v-73f73a17]:hover{box-shadow:0 8px 24px #7c8cff66}.app-terminal[data-v-73f73a17]{position:absolute;top:0;right:0;bottom:0;left:0}.app-bin[data-v-73f73a17]{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem}.bin-glyph[data-v-73f73a17]{font-size:3rem}.app-bin p[data-v-73f73a17]{margin:0;color:var(--text-muted)}.bin-note[data-v-73f73a17]{font-size:.8rem;color:var(--text-dim);font-style:italic}.start-menu[data-v-73f73a17]{position:absolute;bottom:60px;left:50%;transform:translate(-50%);width:min(440px,92vw);border-radius:14px;padding:1.1rem;background:#0e1326e6;backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);border:1px solid var(--glass-border-strong);box-shadow:0 30px 90px #0009;z-index:9000;animation:start-open-73f73a17 .2s ease}@keyframes start-open-73f73a17{0%{opacity:0;transform:translate(-50%) scale(.94)}to{opacity:1;transform:translate(-50%) scale(1)}}.start-head[data-v-73f73a17]{font-family:JetBrains Mono,monospace;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.9rem}.start-grid[data-v-73f73a17]{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:1rem}.start-app[data-v-73f73a17]{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 6px;border-radius:10px;background:transparent;border:1px solid transparent;cursor:pointer;color:var(--text);font-size:.76rem}.start-app[data-v-73f73a17]:hover{background:#7c8cff29;border-color:#7c8cff4d}.start-app-glyph[data-v-73f73a17]{font-size:1.7rem}.start-footer[data-v-73f73a17]{display:flex;align-items:center;justify-content:space-between;padding-top:.9rem;border-top:1px solid var(--glass-border)}.start-user[data-v-73f73a17]{display:flex;align-items:center;gap:.6rem;font-size:.86rem;color:var(--text)}.start-user-av[data-v-73f73a17]{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;font-weight:700;color:#07101f;background:var(--grad-primary);font-family:Space Grotesk,sans-serif}.start-power[data-v-73f73a17]{background:transparent;border:1px solid var(--glass-border);color:var(--text-muted);padding:.5rem .9rem;border-radius:9px;cursor:pointer;font-size:.82rem;transition:var(--transition)}.start-power[data-v-73f73a17]:hover{border-color:var(--accent-pink);color:#fff}.taskbar[data-v-73f73a17]{position:absolute;bottom:0;left:0;right:0;height:52px;display:flex;align-items:center;gap:6px;padding:0 10px;background:#080c1ab8;backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);border-top:1px solid var(--glass-border);z-index:8000}.start-btn[data-v-73f73a17]{width:42px;height:38px;border-radius:9px;border:none;background:transparent;cursor:pointer;display:grid;place-items:center}.start-btn[data-v-73f73a17]:hover,.start-btn.on[data-v-73f73a17]{background:#7c8cff38}.start-logo[data-v-73f73a17]{font-size:1.3rem;color:var(--accent)}.taskbar-apps[data-v-73f73a17]{display:flex;gap:4px;flex:1;overflow:hidden}.task-item[data-v-73f73a17]{display:flex;align-items:center;gap:6px;max-width:190px;padding:.4rem .7rem;border-radius:8px;border:none;background:#ffffff0d;color:var(--text);cursor:pointer;font-size:.78rem;border-bottom:2px solid var(--accent)}.task-item.min[data-v-73f73a17]{border-bottom-color:transparent;opacity:.7}.task-item[data-v-73f73a17]:hover{background:#ffffff1f}.task-label[data-v-73f73a17]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tray[data-v-73f73a17]{display:flex;align-items:center;gap:.8rem;padding-right:.4rem}.tray-icons[data-v-73f73a17]{font-size:.8rem}.tray-clock[data-v-73f73a17]{display:flex;flex-direction:column;align-items:flex-end;font-size:.74rem;color:var(--text);line-height:1.25;font-variant-numeric:tabular-nums}.tray-date[data-v-73f73a17]{color:var(--text-muted);font-size:.68rem}@media (max-width: 768px){.os-window[data-v-73f73a17]{min-width:0}.task-label[data-v-73f73a17],.tray-icons[data-v-73f73a17]{display:none}.os-icons[data-v-73f73a17]{gap:2px}.os-icon[data-v-73f73a17]{width:80px}}header[data-v-2d71d09a]{position:fixed;top:0;left:0;width:100%;z-index:1000;transition:transform .4s cubic-bezier(.22,1,.36,1),padding .3s ease;padding:calc(1.2rem + env(safe-area-inset-top)) 0 1.2rem}header[data-v-2d71d09a]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#070a1700;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);border-bottom:1px solid transparent;transition:var(--transition)}header.scrolled[data-v-2d71d09a]:before{background:#070a178c;backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border-bottom:1px solid var(--glass-border)}header.scrolled[data-v-2d71d09a]{padding:calc(.7rem + env(safe-area-inset-top)) 0 .7rem}header.header-hidden[data-v-2d71d09a]{transform:translateY(-110%)}.header-content[data-v-2d71d09a]{position:relative;max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 2rem}.logo a[data-v-2d71d09a]{display:flex;align-items:center;gap:.7rem;text-decoration:none}.logo-mark[data-v-2d71d09a]{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1rem;color:#07101f;background:var(--grad-primary);box-shadow:0 6px 18px #4fd1e04d;transition:var(--transition)}.logo a:hover .logo-mark[data-v-2d71d09a]{transform:rotate(-8deg) scale(1.05)}.logo-wordmark[data-v-2d71d09a]{display:flex;flex-direction:column;line-height:1.1}.logo-text[data-v-2d71d09a]{font-family:Space Grotesk,sans-serif;font-weight:600;font-size:1.1rem;color:var(--text);letter-spacing:-.01em}.logo-domain[data-v-2d71d09a]{font-family:JetBrains Mono,monospace;font-size:.62rem;letter-spacing:.06em;color:var(--text-dim)}nav ul[data-v-2d71d09a]{display:flex;list-style:none;gap:.4rem}nav a[data-v-2d71d09a]{position:relative;text-decoration:none;color:var(--text-muted);font-weight:500;font-size:.92rem;padding:.5rem .95rem;border-radius:999px;transition:var(--transition)}nav a[data-v-2d71d09a]:hover{color:var(--text)}nav a.active[data-v-2d71d09a]{color:var(--text);background:var(--glass-bg-strong);border:1px solid var(--glass-border)}nav a.active[data-v-2d71d09a]:before{content:"";position:absolute;left:50%;bottom:2px;transform:translate(-50%);width:5px;height:5px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 8px var(--accent-2)}nav a.clicked[data-v-2d71d09a]{animation:nav-click-2d71d09a .3s ease}@keyframes nav-click-2d71d09a{0%{transform:scale(1)}50%{transform:scale(.94)}to{transform:scale(1)}}.menu-toggle[data-v-2d71d09a]{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:.5rem;gap:5px;position:relative;z-index:1001}.menu-toggle span[data-v-2d71d09a]{width:25px;height:2px;background:var(--text);transition:var(--transition);border-radius:2px}.menu-toggle.open span[data-v-2d71d09a]:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.menu-toggle.open span[data-v-2d71d09a]:nth-child(2){opacity:0}.menu-toggle.open span[data-v-2d71d09a]:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.mobile-menu-overlay[data-v-2d71d09a]{position:fixed;top:0;right:0;bottom:0;left:0;height:100vh;background:#04060f99;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:999;opacity:0;visibility:hidden;transition:var(--transition)}.mobile-menu-overlay.visible[data-v-2d71d09a]{opacity:1;visibility:visible}@media (max-width: 768px){header[data-v-2d71d09a]{padding:.5rem 0;height:var(--mobile-header-height);display:flex;align-items:center}.header-content[data-v-2d71d09a]{padding:0 1rem;width:100%}.logo-mark[data-v-2d71d09a]{width:32px;height:32px;font-size:.85rem}.logo-text[data-v-2d71d09a]{font-size:.95rem}.logo-domain[data-v-2d71d09a]{font-size:.58rem}.menu-toggle[data-v-2d71d09a]{display:flex!important;width:40px;height:40px;align-items:center;justify-content:center}nav[data-v-2d71d09a]{display:none;position:fixed;top:var(--mobile-header-height);left:0;width:100vw;height:calc(100vh - var(--mobile-header-height));background:#070a17d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);flex-direction:column;align-items:center;padding-top:2.5rem;z-index:1000}nav.open[data-v-2d71d09a]{display:flex}nav ul[data-v-2d71d09a]{flex-direction:column;gap:.5rem;width:100%;align-items:center}nav a[data-v-2d71d09a]{font-size:1.25rem;padding:1rem 2rem}}.hero[data-v-3b86cdb7]{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;padding-top:5rem}.hero-content[data-v-3b86cdb7]{width:100%;display:flex;justify-content:space-between;align-items:center;gap:3rem}.hero-text[data-v-3b86cdb7]{flex:1}.greeting[data-v-3b86cdb7]{margin-bottom:1rem}.name[data-v-3b86cdb7]{margin:0;background:linear-gradient(120deg,#fff,#b9c2ff 45%,#4fd1e0);-webkit-background-clip:text;background-clip:text;color:transparent}.name[data-v-3b86cdb7]:after{content:"_";-webkit-text-fill-color:var(--accent-2);color:var(--accent-2);animation:blink-3b86cdb7 1.1s steps(1) infinite;margin-left:.1rem}@keyframes blink-3b86cdb7{0%,50%{opacity:1}51%,to{opacity:0}}.title[data-v-3b86cdb7]{font-size:clamp(1.3rem,2.5vw,1.9rem);font-weight:500;margin:.6rem 0 1.1rem;color:var(--text-muted)}.roles[data-v-3b86cdb7]{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.6rem}.role-chip[data-v-3b86cdb7]{font-family:JetBrains Mono,monospace;font-size:.8rem;padding:.3rem .85rem;border-radius:999px;color:var(--accent-2);background:#4fd1e014;border:1px solid rgba(79,209,224,.25)}.bio[data-v-3b86cdb7]{font-size:1.1rem;margin-bottom:2rem;max-width:540px;color:var(--text-muted);line-height:1.8}.hero-actions[data-v-3b86cdb7]{display:flex;gap:1rem;margin-bottom:2.5rem;flex-wrap:wrap}.social-links[data-v-3b86cdb7]{display:flex;gap:.85rem}.social-link[data-v-3b86cdb7]{width:46px;height:46px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);border-radius:14px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);transition:var(--transition)}.social-link[data-v-3b86cdb7]:hover{color:var(--text);transform:translateY(-4px);border-color:var(--accent);box-shadow:0 10px 24px #7c8cff4d}.hero-image[data-v-3b86cdb7]{flex:0 0 auto;display:flex;justify-content:center;align-items:center}.avatar-frame[data-v-3b86cdb7]{position:relative;width:320px;height:380px;border-radius:28px;overflow:hidden;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border-strong);box-shadow:var(--glass-shadow);transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s}.avatar-glow[data-v-3b86cdb7]{position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:conic-gradient(from 0deg,transparent,var(--accent),transparent,var(--accent-2),transparent);animation:spin-3b86cdb7 6s linear infinite;opacity:.5}@keyframes spin-3b86cdb7{to{transform:rotate(360deg)}}.avatar-frame img[data-v-3b86cdb7]{position:absolute;top:6px;right:6px;bottom:6px;left:6px;width:calc(100% - 12px);height:calc(100% - 12px);object-fit:cover;border-radius:22px;z-index:2}.avatar-badge[data-v-3b86cdb7]{position:absolute;bottom:14px;left:50%;transform:translate(-50%);z-index:3;font-family:JetBrains Mono,monospace;font-size:.72rem;letter-spacing:.1em;padding:.35rem .9rem;border-radius:999px;color:var(--text);background:#070a178c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border);white-space:nowrap}.scroll-indicator[data-v-3b86cdb7]{position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.scroll-indicator a[data-v-3b86cdb7]{display:flex;flex-direction:column;align-items:center;gap:.6rem;text-decoration:none;color:var(--text-dim);transition:var(--transition)}.scroll-indicator a[data-v-3b86cdb7]:hover{color:var(--accent-2)}.mouse[data-v-3b86cdb7]{width:24px;height:38px;border:2px solid currentColor;border-radius:14px;display:flex;justify-content:center;padding-top:6px}.wheel[data-v-3b86cdb7]{width:3px;height:7px;border-radius:2px;background:currentColor;animation:wheel-3b86cdb7 1.6s ease-in-out infinite}@keyframes wheel-3b86cdb7{0%{opacity:0;transform:translateY(-4px)}40%{opacity:1}to{opacity:0;transform:translateY(8px)}}.scroll-label[data-v-3b86cdb7]{font-family:JetBrains Mono,monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.3em}.scroll-indicator.clicked .wheel[data-v-3b86cdb7]{animation:none}@media (max-width: 900px){.scroll-indicator[data-v-3b86cdb7]{display:none}.hero-content[data-v-3b86cdb7]{flex-direction:column-reverse;text-align:center;gap:2rem}.roles[data-v-3b86cdb7],.hero-actions[data-v-3b86cdb7],.social-links[data-v-3b86cdb7]{justify-content:center}.bio[data-v-3b86cdb7]{margin-left:auto;margin-right:auto}.avatar-frame[data-v-3b86cdb7]{width:240px;height:290px}}@media (max-width: 768px){.avatar-frame[data-v-3b86cdb7]{width:210px;height:250px}.bio[data-v-3b86cdb7]{font-size:1rem}}.timeline[data-v-694293df]{position:relative;max-width:820px;margin:4rem auto 0;padding-left:2.5rem}.timeline[data-v-694293df]:before{content:"";position:absolute;left:7px;top:0;bottom:6px;width:2px;background:linear-gradient(to bottom,transparent 0,var(--accent) 2.6rem,var(--accent-2) 35%,transparent)}.timeline-item[data-v-694293df]{position:relative;margin-bottom:2.5rem}.timeline-node[data-v-694293df]{position:absolute;left:calc(-2.5rem + 1px);top:1.6rem;width:16px;height:16px;border-radius:50%;background:var(--bg-0);border:3px solid var(--accent);box-shadow:0 0 0 4px #7c8cff1f,0 0 16px #7c8cff80;z-index:2}.timeline-content[data-v-694293df]{padding:1.75rem}.timeline-header[data-v-694293df]{margin-bottom:1.1rem}.timeline-header h3[data-v-694293df]{font-size:1.25rem;margin-bottom:.5rem;color:var(--text)}.company[data-v-694293df]{margin-bottom:.35rem}.company-name[data-v-694293df]{font-weight:600;color:var(--accent-2);font-family:JetBrains Mono,monospace;font-size:.95rem}.separator[data-v-694293df]{margin:0 .5rem;color:var(--text-dim)}.location[data-v-694293df]{color:var(--text-muted);font-size:.88rem;font-family:JetBrains Mono,monospace}.period[data-v-694293df]{display:inline-block;font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--accent-3);letter-spacing:.04em}.timeline-content ul[data-v-694293df]{margin-bottom:1.3rem;display:flex;flex-direction:column;gap:.55rem}.timeline-content li[data-v-694293df]{position:relative;padding-left:1.4rem;color:var(--text-muted);line-height:1.6;font-size:.92rem}.timeline-content li[data-v-694293df]:before{content:"▹";position:absolute;left:0;color:var(--accent-2)}.skills[data-v-694293df]{display:flex;flex-wrap:wrap;gap:.5rem}@media (max-width: 768px){.timeline[data-v-694293df]{padding-left:1.8rem;margin-top:2.5rem}.timeline-node[data-v-694293df]{left:calc(-1.8rem + 2px);width:13px;height:13px}.timeline-content[data-v-694293df]{padding:1.25rem}.timeline-header h3[data-v-694293df]{font-size:1.1rem}}.project-filters[data-v-fa148fec]{display:flex;justify-content:center;gap:.6rem;margin:2.5rem 0 3rem;flex-wrap:wrap}.filter-btn[data-v-fa148fec]{padding:.5rem 1.2rem;border-radius:999px;border:1px solid var(--glass-border);background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--text-muted);transition:var(--transition)}.filter-btn[data-v-fa148fec]:hover{color:var(--text);border-color:var(--accent)}.filter-btn.active[data-v-fa148fec]{color:#07101f;background:var(--grad-primary);border-color:transparent;box-shadow:0 6px 18px #4fd1e04d}.project-grid[data-v-fa148fec]{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:1.6rem}.project-card[data-v-fa148fec]{display:flex;flex-direction:column}.project-card.featured[data-v-fa148fec]{border-color:#c084fc59}.featured-badge[data-v-fa148fec]{position:absolute;top:.9rem;left:.9rem;z-index:4;font-family:JetBrains Mono,monospace;font-size:.68rem;letter-spacing:.08em;padding:.3rem .7rem;border-radius:999px;color:var(--text);background:#c084fc33;border:1px solid rgba(192,132,252,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.winner-ribbon[data-v-fa148fec]{position:absolute;top:0;left:0;width:110px;height:110px;overflow:hidden;z-index:5;pointer-events:none}.winner-ribbon span[data-v-fa148fec]{position:absolute;top:26px;left:-34px;width:150px;transform:rotate(-45deg);text-align:center;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:700;letter-spacing:.12em;color:#2b1d00;padding:.32rem 0;background:linear-gradient(135deg,#ffd76a,#e0a32e);box-shadow:0 3px 8px #00000059}.winner-ribbon span[data-v-fa148fec]:before,.winner-ribbon span[data-v-fa148fec]:after{content:"";position:absolute;bottom:-5px;border-top:5px solid #a6741b}.winner-ribbon span[data-v-fa148fec]:before{left:8px;border-left:5px solid transparent}.winner-ribbon span[data-v-fa148fec]:after{right:8px;border-right:5px solid transparent}.project-image[data-v-fa148fec]{position:relative;overflow:hidden;height:190px}.project-image img[data-v-fa148fec]{width:100%;height:100%;object-fit:cover;transform:scale(var(--img-zoom, 1));transition:transform .6s cubic-bezier(.22,1,.36,1)}.project-overlay[data-v-fa148fec]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(7,10,23,.85),transparent 60%)}.project-card:hover .project-image img[data-v-fa148fec]{transform:scale(calc(var(--img-zoom, 1) * 1.07))}.project-links[data-v-fa148fec]{position:absolute;top:.9rem;right:.9rem;display:flex;gap:.5rem;opacity:0;transform:translateY(-6px);transition:var(--transition);z-index:3}.project-card:hover .project-links[data-v-fa148fec]{opacity:1;transform:translateY(0)}.project-link[data-v-fa148fec]{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:#070a1799;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);color:var(--text);transition:var(--transition)}.project-link[data-v-fa148fec]:hover{background:var(--grad-primary);color:#07101f;transform:scale(1.08)}.project-content[data-v-fa148fec]{padding:1.4rem;flex:1;display:flex;flex-direction:column}.project-content h3[data-v-fa148fec]{font-size:1.2rem;margin-bottom:.6rem}.project-content p[data-v-fa148fec]{color:var(--text-muted);font-size:.9rem;line-height:1.6;margin-bottom:1.2rem;flex:1}.project-tech[data-v-fa148fec]{display:flex;flex-wrap:wrap;gap:.45rem}.see-more-wrap[data-v-fa148fec]{display:flex;justify-content:center;margin-top:2.5rem}.see-more-btn[data-v-fa148fec]{display:inline-flex;align-items:center;gap:.6rem;padding:.75rem 1.6rem;border-radius:999px;border:1px solid var(--glass-border);background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;font-family:JetBrains Mono,monospace;font-size:.85rem;color:var(--text);transition:var(--transition)}.see-more-btn[data-v-fa148fec]:hover{border-color:var(--accent);box-shadow:0 10px 24px #7c8cff40;transform:translateY(-2px)}.see-more-btn:hover svg[data-v-fa148fec]{transform:translateY(2px)}.see-more-btn--less:hover svg[data-v-fa148fec]{transform:translateY(-2px)}.see-more-btn svg[data-v-fa148fec]{transition:transform .25s ease}.see-more-count[data-v-fa148fec]{font-size:.72rem;color:var(--accent-2)}@media (max-width: 768px){.project-grid[data-v-fa148fec]{grid-template-columns:1fr;gap:1.2rem}.project-content[data-v-fa148fec]{padding:1.2rem}}.education-content[data-v-b384a5ea]{max-width:1000px;margin:4rem auto 0}.subsection-title[data-v-b384a5ea]{font-size:1.1rem;font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted);margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem}.subsection-title[data-v-b384a5ea]:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--glass-border),transparent)}.education-cards[data-v-b384a5ea]{display:flex;flex-direction:column;gap:1.4rem;margin-bottom:3.5rem}.education-card[data-v-b384a5ea]{padding:1.75rem}.education-header[data-v-b384a5ea]{margin-bottom:1rem}.education-header h4[data-v-b384a5ea]{font-size:1.25rem;margin-bottom:.5rem;color:var(--text)}.institution[data-v-b384a5ea]{margin-bottom:.35rem}.name[data-v-b384a5ea]{font-weight:600;color:var(--accent-2);font-family:JetBrains Mono,monospace;font-size:.92rem}.separator[data-v-b384a5ea]{margin:0 .5rem;color:var(--text-dim)}.location[data-v-b384a5ea]{color:var(--text-muted);font-size:.88rem;font-family:JetBrains Mono,monospace}.period[data-v-b384a5ea]{font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--accent-3)}.desc[data-v-b384a5ea]{color:var(--text-muted);font-size:.92rem;line-height:1.65;margin-bottom:1.1rem}.achievements[data-v-b384a5ea]{display:flex;flex-direction:column;gap:.5rem}.achievements li[data-v-b384a5ea]{position:relative;padding-left:1.4rem;color:var(--text-muted);font-size:.9rem;line-height:1.55}.achievements li[data-v-b384a5ea]:before{content:"✦";position:absolute;left:0;color:var(--accent-3)}.certification-grid[data-v-b384a5ea]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem}.certification-card[data-v-b384a5ea]{padding:1.4rem;display:flex;align-items:center;gap:1.1rem}.cert-badge[data-v-b384a5ea]{flex-shrink:0;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:var(--accent-3);background:#c084fc1f;border:1px solid rgba(192,132,252,.25)}.cert-content[data-v-b384a5ea]{flex:1}.cert-content h4[data-v-b384a5ea]{font-size:1rem;margin-bottom:.4rem;color:var(--text)}.cert-details[data-v-b384a5ea]{display:flex;flex-direction:column;gap:.1rem;margin-bottom:.6rem}.issuer[data-v-b384a5ea]{color:var(--accent-2);font-size:.82rem;font-family:JetBrains Mono,monospace}.date[data-v-b384a5ea]{color:var(--text-dim);font-size:.75rem;font-family:JetBrains Mono,monospace}.verify-link[data-v-b384a5ea]{display:inline-flex;align-items:center;gap:.4rem;color:var(--accent);font-size:.78rem;font-family:JetBrains Mono,monospace;text-decoration:none;transition:var(--transition)}.verify-link[data-v-b384a5ea]:hover{color:var(--accent-2);gap:.6rem}@media (max-width: 768px){.education-content[data-v-b384a5ea]{margin-top:2.5rem}.education-card[data-v-b384a5ea]{padding:1.3rem}.education-header h4[data-v-b384a5ea]{font-size:1.1rem}.certification-grid[data-v-b384a5ea]{grid-template-columns:1fr}}.hobbies-grid[data-v-302ff7b5]{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem;max-width:900px;margin:4rem auto 3.5rem}.hobby-card[data-v-302ff7b5]{display:flex;flex-direction:column}.hobby-card.is-egg[data-v-302ff7b5],.hobby-card.is-egg[data-v-302ff7b5] *{cursor:pointer}.hobby-hint[data-v-302ff7b5]{display:inline-flex;align-items:center;gap:.3rem;margin-left:.5rem;font-family:JetBrains Mono,monospace;font-size:.66rem;color:var(--accent-2);vertical-align:middle;opacity:0;transform:translateY(-1px);transition:opacity .25s ease,transform .25s ease}.hobby-card.is-egg:hover .hobby-hint[data-v-302ff7b5]{opacity:.85;transform:translateY(0)}.hobby-image[data-v-302ff7b5]{position:relative;height:200px;overflow:hidden}.hobby-image img[data-v-302ff7b5]{width:100%;height:100%;object-fit:cover;transform:scale(var(--img-zoom, 1));transition:transform .6s cubic-bezier(.22,1,.36,1)}@media (hover: hover){.hobby-card:hover .hobby-image img[data-v-302ff7b5]{transform:scale(calc(var(--img-zoom, 1) * 1.07))}}.hobby-content[data-v-302ff7b5]{padding:1.4rem;flex:1}.hobby-content h3[data-v-302ff7b5]{font-size:1.2rem;margin-bottom:.6rem}.hobby-content p[data-v-302ff7b5]{color:var(--text-muted);font-size:.9rem;line-height:1.65}.quote-section[data-v-302ff7b5]{max-width:780px;margin:0 auto}blockquote[data-v-302ff7b5]{position:relative;padding:2.25rem 2.5rem;font-size:1.2rem;font-style:italic;line-height:1.7;color:var(--text);text-align:center}blockquote[data-v-302ff7b5]:before{content:"“";position:absolute;top:.2rem;left:1.2rem;font-size:4rem;font-family:Space Grotesk,serif;color:var(--accent);opacity:.5}@media (max-width: 768px){.hobbies-grid[data-v-302ff7b5]{grid-template-columns:1fr;gap:1.2rem;margin-top:2.5rem}.hobby-content[data-v-302ff7b5]{padding:1.2rem}blockquote[data-v-302ff7b5]{padding:1.75rem;font-size:1.05rem}}.footer[data-v-75e20d87]{position:relative;padding:6rem 0 calc(2.5rem + env(safe-area-inset-bottom));margin-top:4rem;overflow:hidden}.footer[data-v-75e20d87]:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--glass-border),transparent)}.footer-glow[data-v-75e20d87]{position:absolute;top:-40%;left:50%;transform:translate(-50%);width:60vw;height:60vw;max-width:700px;max-height:700px;background:radial-gradient(circle,rgba(124,140,255,.12),transparent 60%);pointer-events:none}.footer-content[data-v-75e20d87]{position:relative;max-width:1000px;margin:0 auto;padding:0 1.5rem}.footer-header[data-v-75e20d87]{text-align:center;margin-bottom:3rem}.footer-header h3[data-v-75e20d87]{font-size:clamp(1.8rem,4vw,2.6rem);margin:.75rem 0;background:linear-gradient(120deg,#fff,#b9c2ff);-webkit-background-clip:text;background-clip:text;color:transparent}.subtitle[data-v-75e20d87]{color:var(--text-muted);font-size:1.05rem;margin-bottom:1.75rem}.email-cta[data-v-75e20d87]{font-family:JetBrains Mono,monospace}.contact-info[data-v-75e20d87]{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-bottom:2.5rem}.contact-item[data-v-75e20d87]{display:flex;align-items:center;gap:1rem;padding:1.25rem}.icon[data-v-75e20d87]{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;color:var(--accent-2);background:#4fd1e01a;border:1px solid rgba(79,209,224,.22);flex-shrink:0}.info[data-v-75e20d87]{display:flex;flex-direction:column;min-width:0}.label[data-v-75e20d87]{font-family:JetBrains Mono,monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-dim);margin-bottom:.15rem}.info a[data-v-75e20d87],.info span[data-v-75e20d87]:not(.label){color:var(--text);text-decoration:none;font-size:.88rem;transition:var(--transition);overflow:hidden;text-overflow:ellipsis}.info a[data-v-75e20d87]:hover{color:var(--accent-2)}.social-links[data-v-75e20d87]{display:flex;justify-content:center;gap:1rem;margin-bottom:2.5rem}.social-link[data-v-75e20d87]{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:var(--text-muted);background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);transition:var(--transition)}.social-link[data-v-75e20d87]:hover{color:var(--text);transform:translateY(-4px);border-color:var(--accent);box-shadow:0 10px 24px #7c8cff4d}.footer-bottom[data-v-75e20d87]{text-align:center;padding-top:2rem;border-top:1px solid var(--glass-border);font-family:JetBrains Mono,monospace;font-size:.82rem;color:var(--text-dim)}.credit[data-v-75e20d87]{margin-top:.4rem}.hint[data-v-75e20d87]{color:var(--accent-3);opacity:.7}@media (max-width: 768px){.footer[data-v-75e20d87]{padding:4rem 0 2rem}.contact-info[data-v-75e20d87]{grid-template-columns:1fr;gap:.9rem}}:root{--bg-0: #04060f;--bg-1: #070a17;--bg-2: #0c1226;--glass-bg: rgba(255, 255, 255, .045);--glass-bg-strong: rgba(255, 255, 255, .08);--glass-border: rgba(255, 255, 255, .1);--glass-border-strong: rgba(255, 255, 255, .22);--glass-blur: 18px;--glass-shadow: 0 14px 40px rgba(0, 0, 0, .4);--text: #e9ecf8;--text-muted: #a3abc7;--text-dim: #6c7596;--accent: #7c8cff;--accent-2: #4fd1e0;--accent-3: #c084fc;--accent-pink: #f472b6;--grad-primary: linear-gradient(120deg, #7c8cff 0%, #4fd1e0 100%);--grad-iris: linear-gradient(120deg, #7c8cff 0%, #c084fc 50%, #f472b6 100%);--grad-warm: linear-gradient(120deg, #c084fc 0%, #f472b6 100%);--radius: 20px;--radius-sm: 12px;--transition: all .35s cubic-bezier(.22, 1, .36, 1);--header-height: 72px;--mobile-header-height: 60px;--content-padding-mobile: 18px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,sans-serif;background-color:var(--bg-0);color:var(--text);line-height:1.65}.portfolio{position:relative;width:100%;overflow-x:clip}main,.portfolio>footer{position:relative;z-index:1}main{max-width:1200px;margin:0 auto;padding:0 1.5rem}section{padding:7rem 0;position:relative}h1,h2,h3,h4,h5{font-family:Space Grotesk,Inter,sans-serif;line-height:1.1;font-weight:600;letter-spacing:-.02em;color:var(--text)}h1{font-size:clamp(2.6rem,6vw,4.4rem);font-weight:700}h2{font-size:clamp(2rem,4vw,3rem)}.section-title{text-align:center}.section-title h2{display:inline-block;background:var(--grad-iris);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:.75rem}.section-title p{color:var(--text-muted);font-size:1.05rem;font-family:JetBrains Mono,monospace;letter-spacing:.02em}.eyebrow{font-family:JetBrains Mono,monospace;font-size:.8rem;text-transform:uppercase;letter-spacing:.32em;color:var(--accent-2)}.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(150%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(150%);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--glass-shadow)}.glass-card{position:relative;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(150%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(150%);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--glass-shadow);overflow:hidden;transition:var(--transition);-webkit-backface-visibility:hidden;backface-visibility:hidden}.glass-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(140deg,#ffffff80,#fff0 40%,#fff0 60%,#ffffff1f);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.7;transition:opacity .35s ease}.glass-card:hover{border-color:var(--glass-border-strong);box-shadow:0 20px 60px #00000080,0 0 0 1px #7c8cff26}.glass-card:hover:before{opacity:1}.tiltable{transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s,border-color .4s}.tiltable:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(340px circle at var(--mx, 50%) var(--my, 0%),rgba(255,255,255,.14),transparent 60%);opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:3}.tiltable:hover:after{opacity:1}.reveal{opacity:0;transform:translateY(34px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.reveal-in{opacity:1;transform:none}.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1.6rem;border-radius:999px;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:.95rem;letter-spacing:.01em;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:var(--transition);position:relative;overflow:hidden}.btn-primary{background:var(--grad-primary);color:#07101f;box-shadow:0 8px 24px #4fd1e040}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 34px #7c8cff66}.btn-ghost{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border-strong);color:var(--text)}.btn-ghost:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 12px 30px #7c8cff40}.tag{padding:.32rem .85rem;border-radius:999px;font-size:.78rem;font-family:JetBrains Mono,monospace;color:var(--text-muted);background:#ffffff0a;border:1px solid var(--glass-border);transition:var(--transition)}.tag:hover{color:var(--text);border-color:var(--accent);background:#7c8cff1f}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--grad-iris);transform-origin:left;transform:scaleX(0);z-index:1200;box-shadow:0 0 12px #7c8cff99}.has-custom-cursor,.has-custom-cursor *{cursor:none!important}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;z-index:2000;margin-left:-4px;margin-top:-4px}.cursor-dot{width:8px;height:8px;background:#fff;transition:transform .08s linear,opacity .2s;mix-blend-mode:difference}.cursor-ring{width:38px;height:38px;margin-left:-19px;margin-top:-19px;border:1.5px solid rgba(124,140,255,.7);transition:width .25s ease,height .25s ease,margin .25s ease,background .25s ease,border-color .25s ease}.cursor-active .cursor-ring{width:58px;height:58px;margin-left:-29px;margin-top:-29px;background:#7c8cff1f;border-color:#4fd1e0cc}.cursor-egg .cursor-ring{width:64px;height:64px;margin-left:-32px;margin-top:-32px;background:#4fd1e029;border-color:#4fd1e0f2}.cursor-egg .cursor-ring:after{content:"🐠";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:22px}.cursor-egg .cursor-dot{opacity:0!important}.egg-toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%,24px);padding:.85rem 1.5rem;border-radius:999px;background:var(--glass-bg-strong);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border-strong);color:var(--text);font-family:Space Grotesk,sans-serif;font-weight:600;z-index:3000;opacity:0;transition:opacity .4s ease,transform .4s cubic-bezier(.22,1,.36,1);box-shadow:0 14px 40px #00000080}.egg-toast.show{opacity:1;transform:translate(-50%)}.fish-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2500;pointer-events:none;overflow:hidden}.fish{position:absolute;left:-20vw;animation-name:swim;animation-timing-function:linear;animation-iteration-count:1;animation-fill-mode:both;will-change:transform,opacity;filter:drop-shadow(0 4px 10px rgba(0,0,0,.3))}@keyframes swim{0%{transform:translate(0) translateY(0);opacity:0}6%{opacity:1}25%{transform:translate(35vw) translateY(-3vh)}50%{transform:translate(70vw) translateY(2vh)}75%{transform:translate(105vw) translateY(-2vh)}94%{opacity:1}to{transform:translate(145vw) translateY(0);opacity:0}}.os-open>main,.os-open>header,.os-open>footer,.os-open>.scroll-progress,.os-open>.bg{opacity:0;pointer-events:none;transition:opacity .5s ease}ul,ol{list-style:none}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important}.reveal{opacity:1;transform:none}}@media (max-width: 768px){main{padding:0 var(--content-padding-mobile)}section{padding:4rem 0}.has-custom-cursor,.has-custom-cursor *{cursor:auto!important}}
