:root{--bg-deep:#07111f;--bg-ink:#0d1b2f;--surface-desktop:#07111f;--surface-window:#0f1c30d6;--surface-window-strong:#0c182bf0;--surface-start:#0e1b30e6;--surface-card:#ffffff13;--surface-card-hover:#73d5ff21;--surface-glass:#ffffff1a;--surface-panel:#ffffff1a;--surface-panel-strong:#ffffff29;--text-primary:#f7fbff;--text-muted:#a9bad1;--text-soft:#d5e4f4;--text-disabled:#d5e4f475;--accent:#73d5ff;--accent-2:#8ee6c7;--success:#8ee6c7;--warning:#ffd37a;--danger:#f45060;--border-subtle:#ffffff29;--border-strong:#ffffff47;--shadow-window:0 28px 90px #00000070;--shadow-panel:0 18px 56px #00000057;--shadow-card:0 14px 34px #0003;--shadow-glow:0 0 38px #73d5ff38;--radius-window:24px;--radius-panel:18px;--radius-control:14px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--blur-glass:28px;--blur-panel:22px;--motion-fast:.15s;--motion-medium:.24s;--motion-slow:.52s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-emphasized:cubic-bezier(.16, 1, .3, 1);--taskbar-height:76px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;scrollbar-color:#73d5ff94 #ffffff14;scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{border-radius:var(--radius-pill);background:#ffffff0f}::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:linear-gradient(#73d5ffc7,#8ee6c78f);border:2px solid #08111fd1}::-webkit-scrollbar-thumb:hover{background:linear-gradient(#73d5fff0,#8ee6c7b3)}html,body{background:var(--bg-deep);min-height:100%;color:var(--text-primary);margin:0;font-family:Segoe UI Variable,Segoe UI,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}button,input,a{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:2px solid #8ee6c7}a{color:inherit;text-decoration:none}.portfolio-shell{background:linear-gradient(120deg,#73d5ff24 0 1px,#0000 1px 34%),linear-gradient(150deg,#8ee6c71a 0 1px,#0000 1px 44%),linear-gradient(135deg,#08111f 0%,#0c1d31 48%,#081320 100%);min-height:100vh;position:relative;overflow:hidden}.wallpaper{pointer-events:none;position:fixed;inset:0;overflow:hidden}.wallpaper-grid,.wallpaper-routes,.wallpaper-orbit,.wallpaper-scan,.wallpaper-noise{position:absolute;inset:0}.wallpaper-grid{background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(circle at 45% 35%,#000 0%,#0000 72%);mask-image:radial-gradient(circle at 45% 35%,#000 0%,#0000 72%)}.wallpaper-routes{filter:blur(.2px);opacity:.95;animation:wallpaper-drift 18s var(--ease-standard) infinite alternate;background:linear-gradient(115deg,#0000 8%,#73d5ff29 8.2%,#0000 8.8%),linear-gradient(28deg,#0000 55%,#9db8ff1f 55.3%,#0000 55.9%),linear-gradient(150deg,#0000 68%,#8ee6c71c 68.3%,#0000 69%)}.wallpaper-orbit{opacity:.7;animation:route-trace 11s var(--ease-standard) infinite alternate;background-image:linear-gradient(90deg,#0000 0 24%,#73d5ff24 24.1% 24.25%,#0000 24.35% 100%),linear-gradient(0deg,#0000 0 66%,#8ee6c71c 66.1% 66.25%,#0000 66.35% 100%),linear-gradient(135deg,#0000 0 52%,#ffd37a14 52.08% 52.18%,#0000 52.28% 100%);transform:translate(0,0)}.wallpaper-scan{opacity:.48;background:repeating-linear-gradient(#0000 0 62px,#ffffff08 63px,#0000 64px 118px);animation:16s linear infinite scan-drift}.wallpaper-noise{opacity:.28;mix-blend-mode:screen;background-image:linear-gradient(90deg,#ffffff04 50%,#0000 50%),linear-gradient(#ffffff03 50%,#0000 50%);background-size:3px 3px}.desktop-stage{min-height:100vh;padding:32px 32px calc(var(--taskbar-height) + 30px);display:block;position:relative}.desktop-status{z-index:5;border:1px solid var(--border-subtle);width:min(350px,100vw - 260px);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(var(--blur-panel));backdrop-filter:blur(var(--blur-panel));animation:status-in var(--motion-slow) var(--ease-emphasized) both;background:#07111f7a;border-radius:20px;padding:18px 20px;position:fixed;top:30px;right:34px}.desktop-status p,.desktop-status strong,.desktop-status span{display:block}.desktop-status p{color:var(--text-muted);margin:0 0 7px;font-size:.78rem}.desktop-status strong{font-size:1.05rem;line-height:1.25}.desktop-status span{color:var(--text-soft);margin-top:8px;font-size:.86rem;line-height:1.45}.desktop-icons{grid-template-columns:repeat(1,92px);gap:18px;width:112px;display:grid}.desktop-icon,.mobile-app{color:var(--text-primary);cursor:pointer;background:0 0;border:0}.desktop-icon{min-height:92px;animation:desktop-icon-in var(--motion-slow) var(--ease-emphasized) both;animation-delay:calc(var(--item-index,0) * 34ms);transition:background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border:1px solid #0000;border-radius:14px;justify-items:center;gap:8px;padding:9px 7px;display:grid}.desktop-icon:hover{background:#ffffff1c;border-color:#ffffff24;transform:translateY(-2px)}.desktop-icon:active{transform:translateY(0)scale(.98)}.desktop-icon-art,.mobile-app span,.start-pinned button span{--app-accent:var(--accent);color:#fff;background:linear-gradient(145deg, color-mix(in srgb, var(--app-accent) 78%, white), var(--app-accent));box-shadow:0 12px 30px color-mix(in srgb, var(--app-accent) 28%, transparent);place-items:center;display:grid}.desktop-icon-art{width:54px;height:54px;transition:box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border-radius:16px}.desktop-icon:hover .desktop-icon-art,.desktop-icon:focus-visible .desktop-icon-art{box-shadow:0 14px 34px color-mix(in srgb, var(--app-accent) 34%, transparent), inset 0 1px #ffffff7a;transform:translateY(-1px)scale(1.035)}.desktop-icon>span:last-child{color:#fff;text-align:center;text-shadow:0 2px 10px #0000007a;max-width:86px;font-size:.77rem;line-height:1.18}.app-window{--window-x:0px;--window-y:0px;--window-z:10;--window-width:850px;--window-height:570px;--app-accent:var(--accent);left:var(--window-left,calc(50% - 425px + var(--window-x)));top:var(--window-top,calc(50% - 285px + var(--window-y)));z-index:var(--window-z);width:min(var(--window-width), calc(100vw - 40px));height:min(var(--window-height), calc(100vh - 90px));border:1px solid var(--border-subtle);border-radius:var(--radius-window);background:var(--surface-window);min-width:430px;max-width:calc(100vw - 40px);min-height:320px;max-height:calc(100vh - 90px);box-shadow:var(--shadow-window);-webkit-backdrop-filter:blur(var(--blur-glass)) saturate(142%);backdrop-filter:blur(var(--blur-glass)) saturate(142%);clip-path:inset(0 0 0 0 round var(--radius-window));contain:layout paint;transform-origin:bottom;animation:window-in var(--motion-medium) var(--ease-emphasized) both;animation-delay:calc(var(--window-index,0) * 24ms);transition:border-color var(--motion-medium) var(--ease-standard), clip-path .52s var(--ease-emphasized), box-shadow var(--motion-medium) var(--ease-standard), filter .52s var(--ease-emphasized), opacity .52s var(--ease-emphasized), transform .24s var(--ease-standard);flex-direction:column;display:flex;position:fixed;overflow:hidden}.app-window:before{z-index:0;pointer-events:none;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--app-accent) 14%, transparent), transparent), linear-gradient(180deg, #ffffff1f, transparent 16%);opacity:.54;content:"";position:absolute;inset:0}.app-window.is-active{border-color:color-mix(in srgb, var(--app-accent) 48%, var(--border-strong));box-shadow:var(--shadow-window), 0 0 0 1px color-mix(in srgb, var(--app-accent) 18%, transparent), var(--shadow-glow)}.app-window.is-maximized{width:calc(100vw - 40px);height:calc(100vh - var(--taskbar-height) - 42px);clip-path:inset(0 round 22px);border-radius:22px;top:20px;left:20px}.app-window.is-minimized{animation:window-minimize .22s var(--ease-standard) both;opacity:0;pointer-events:none;transform:translateY(28px)scale(.96)}.app-window.is-restoring{animation:window-restore .24s var(--ease-standard) both}.app-window.is-closing{animation:window-close .18s var(--ease-standard) both;opacity:0;pointer-events:none;filter:blur(2px);transition-duration:.18s;transform:translateY(12px)scale(.96)}.window-chrome{z-index:1;border-bottom:1px solid var(--border-subtle);cursor:grab;-webkit-user-select:none;user-select:none;background:linear-gradient(#ffffff1f,#ffffff0f);justify-content:space-between;align-items:center;min-height:52px;padding:0 10px 0 18px;display:flex;position:relative}.window-chrome:active{cursor:grabbing}.window-chrome>div:first-child{align-items:center;gap:10px;min-width:0;display:flex}.window-chrome strong{text-overflow:ellipsis;white-space:nowrap;font-size:.93rem;font-weight:650;overflow:hidden}.window-icon{width:28px;height:28px;color:var(--app-accent);background:#ffffff1a;border-radius:9px;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff2e}.window-controls{align-items:center;gap:4px;display:flex}.window-controls button{width:36px;height:32px;color:var(--text-soft);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);background:0 0;border:0;border-radius:10px;place-items:center;display:grid}.window-controls button:hover{color:#fff;background:#ffffff1f;transform:translateY(-1px)}.window-controls button:last-child:hover{background:#f45060d1}.window-controls button:disabled{opacity:.45;cursor:not-allowed}.window-controls button:disabled:hover{color:var(--text-soft);background:0 0}.window-body{z-index:1;flex:1;min-height:0;padding:24px;position:relative;overflow:auto}.window-resize-handle{z-index:6;touch-action:none;background:0 0;border:0;margin:0;padding:0;position:absolute}.window-resize-n,.window-resize-s{cursor:ns-resize;height:10px;left:18px;right:18px}.window-resize-n{top:0}.window-resize-s{bottom:0}.window-resize-e,.window-resize-w{cursor:ew-resize;width:10px;top:18px;bottom:18px}.window-resize-e{right:0}.window-resize-w{left:0}.window-resize-ne,.window-resize-se,.window-resize-sw,.window-resize-nw{width:24px;height:24px}.window-resize-ne{cursor:nesw-resize;top:0;right:0}.window-resize-se{cursor:nwse-resize;bottom:0;right:0}.window-resize-sw{cursor:nesw-resize;bottom:0;left:0}.window-resize-nw{cursor:nwse-resize;top:0;left:0}.window-resize-se:after{content:"";background:linear-gradient(135deg,#0000 0 48%,#ffffff29 48% 56%,#0000 56% 62%,#fff3 62% 70%,#0000 70%);width:12px;height:12px;position:absolute;bottom:4px;right:4px}.window-resize-handle:disabled{display:none}.start-menu{left:50%;bottom:calc(var(--taskbar-height) + 18px);z-index:90;border:1px solid var(--border-subtle);background:var(--surface-start);-webkit-backdrop-filter:blur(30px)saturate(150%);backdrop-filter:blur(30px)saturate(150%);width:min(680px,100vw - 40px);animation:start-in var(--motion-medium) var(--ease-emphasized) both;border-radius:28px;padding:18px;position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:0 28px 90px #0000006b}.start-menu:before{background:linear-gradient(90deg, transparent, var(--accent), var(--accent-2), transparent);opacity:.72;content:"";height:2px;position:absolute;inset:0 0 auto}.start-search{border:1px solid var(--border-subtle);height:44px;transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);background:#ffffff1c;border-radius:999px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:0 12px;display:grid;position:relative}.start-search:focus-within{background:#73d5ff21;border-color:#73d5ff94;box-shadow:0 0 0 3px #73d5ff1a}.start-search input{color:#fff;background:0 0;border:0;outline:none;width:100%}.start-search button,.taskbar button,.mobile-dock button,.mobile-sheet-header button{color:inherit;cursor:pointer;background:0 0;border:0}.start-section{margin-top:20px}.section-heading{color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.8rem;display:flex}.section-heading span{color:#fff;font-size:.92rem;font-weight:650}.start-pinned{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.start-pinned button{color:#fff;cursor:pointer;min-height:86px;animation:item-in var(--motion-medium) var(--ease-emphasized) both;animation-delay:calc(var(--item-index,0) * 28ms);transition:background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard);background:#ffffff14;border:0;border-radius:18px;justify-items:center;gap:8px;padding:10px 8px;display:grid}.start-pinned button span{border-radius:13px;width:40px;height:40px}.start-pinned button:hover,.recommendations button:hover,.quick-actions a:hover{background:#73d5ff24;transform:translateY(-1px)}.recommendations{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.recommendations button,.quick-actions a{min-height:44px;color:var(--text-soft);cursor:pointer;animation:item-in var(--motion-medium) var(--ease-emphasized) both;animation-delay:calc(var(--item-index,0) * 32ms);transition:background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);background:#ffffff13;border:0;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.quick-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.quick-actions a{justify-content:center;font-size:.8rem}.taskbar{z-index:100;border:1px solid var(--border-subtle);min-height:60px;box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(var(--blur-glass)) saturate(150%);backdrop-filter:blur(var(--blur-glass)) saturate(150%);animation:taskbar-in var(--motion-slow) var(--ease-emphasized) both;background:#0f1c30b8;border-radius:22px;grid-template-columns:1fr auto 1fr;align-items:center;padding:8px 12px;display:grid;position:fixed;bottom:16px;left:22px;right:22px}.start-button,.taskbar-apps button{width:42px;height:42px;transition:background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border-radius:14px;place-items:center;display:grid;position:relative}.start-button{color:#9ee5ff;justify-self:end;background:#ffffff14!important}.start-button.is-open,.taskbar-apps button.is-active{color:#fff;background:#73d5ff38!important}.start-button:hover,.taskbar-apps button:hover{transform:translateY(-1px)}.start-button:after,.taskbar-apps button:after{border-radius:var(--radius-pill);content:"";height:3px;transition:background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);background:0 0;position:absolute;bottom:5px;left:13px;right:13px}.start-button.is-open:after,.taskbar-apps button.is-active:after{background:var(--accent);transform:scaleX(1.2)}.taskbar-apps button.is-minimized:after{background:#d5e4f47a}.taskbar-apps button.is-minimized{color:#d5e4f4b8;animation:minimized-breathe 2.8s var(--ease-standard) infinite;background:#ffffff0e!important}.taskbar-apps{justify-content:center;align-items:center;gap:7px;display:flex}.taskbar-apps button{color:var(--text-soft)}.taskbar-system{justify-self:end;align-items:center;gap:10px;min-width:0;display:flex}.language-button{letter-spacing:0;min-width:58px;min-height:42px;transition:background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border-radius:14px;align-items:center;gap:6px;padding:0 11px;font-size:.78rem;font-weight:750;display:inline-flex;border:1px solid var(--border-subtle)!important;color:var(--text-soft)!important;background:#ffffff14!important}.language-button:hover{transform:translateY(-1px);color:#fff!important;background:#73d5ff29!important}.taskbar-clock{text-align:right;gap:2px;min-width:78px;padding-right:6px;display:grid}.taskbar-clock strong{font-size:.8rem}.taskbar-clock span{color:var(--text-muted);font-size:.72rem}.content-stack,.projects-shell,.architecture-panel{gap:18px;display:grid}.about-hero{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);align-items:stretch;gap:14px;display:grid}.identity-panel{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:linear-gradient(135deg,#73d5ff29,#ffffff14);padding:20px}.identity-panel p,.identity-panel h2,.identity-panel h3{margin:0}.identity-panel p{color:var(--text-muted);font-size:.82rem}.identity-panel h2{margin-top:8px;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.1}.identity-panel h3{color:#a7eaff;margin-top:8px}.identity-panel span,.lead-copy{color:var(--text-soft);line-height:1.6}.identity-panel span{margin-top:10px;display:block}.lead-copy{max-width:66ch;margin:0}.proof-strip{gap:10px;display:grid}.proof-strip div,.info-panel,.project-detail,.architecture-detail,.contact-card,.empty-state{border:1px solid var(--border-subtle);background:var(--surface-card)}.proof-strip div{border-radius:16px;grid-template-columns:auto 1fr;align-content:center;gap:5px 9px;min-height:76px;padding:12px;display:grid}.proof-strip svg{color:#8ee6c7}.proof-strip strong{font-size:.86rem}.proof-strip span{color:var(--text-muted);grid-column:2;font-size:.8rem;line-height:1.35}.summary-grid,.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.summary-grid span,.skill-group,.project-card,.project-search-preview,.architecture-map span,.contact-list a{border:1px solid var(--border-subtle);background:var(--surface-card)}.summary-grid span{color:var(--text-soft);animation:item-in var(--motion-medium) var(--ease-emphasized) both;animation-delay:calc(var(--item-index,0) * 34ms);border-radius:16px;padding:14px}.stat-grid span{gap:5px;display:grid}.stat-grid strong{color:#fff;font-size:1rem}.info-panel{border-radius:18px;padding:16px}.info-panel h3,.detail-section h4,.contact-card h3{margin:0 0 10px;font-size:.95rem}.clean-list{color:var(--text-soft);gap:8px;margin:0;padding:0;font-size:.87rem;line-height:1.48;list-style:none;display:grid}.clean-list li{padding-left:15px;position:relative}.clean-list li:before{content:"";background:#73d5ff;border-radius:999px;width:5px;height:5px;position:absolute;top:.64em;left:0}.source-list{flex-wrap:wrap;gap:8px;display:flex}.source-list a,.source-list span{border:1px solid var(--border-subtle);min-width:0;color:var(--text-soft);overflow-wrap:anywhere;transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);background:#ffffff13;border-radius:999px;padding:7px 10px;font-size:.78rem}.source-list a:hover{background:#73d5ff1f;border-color:#73d5ff6b;transform:translateY(-1px)}.source-list.compact{margin-top:4px}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-group{animation:item-in var(--motion-medium) var(--ease-emphasized) both;animation-delay:calc(var(--item-index,0) * 40ms);transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border-radius:18px;padding:16px}.skill-group:hover{background:#8ee6c718;border-color:#8ee6c766;transform:translateY(-1px)}.skill-group header{align-items:center;gap:10px;margin-bottom:14px;display:flex}.skill-group h3{margin:0;font-size:1rem}.skill-group p{color:var(--text-muted);margin:0 0 14px;font-size:.86rem;line-height:1.5}.skill-group div,.chip-row{flex-wrap:wrap;gap:8px;display:flex}.skill-group div span,.chip-row span{color:var(--text-soft);transition:background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);background:#ffffff17;border-radius:999px;padding:7px 10px;font-size:.8rem}.skill-group:hover div span,.project-card:hover .chip-row span,.project-card.is-selected .chip-row span{color:#fff;background:#ffffff21}.project-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.project-toolbar>span{color:var(--text-muted);white-space:nowrap;font-size:.82rem}.project-search-field{border:1px solid var(--border-subtle);height:44px;color:var(--text-muted);transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);background:#ffffff13;border-radius:999px;align-items:center;gap:10px;padding:0 14px;display:flex}.project-search-field:focus-within{background:#73d5ff1f;border-color:#73d5ff94;box-shadow:0 0 0 3px #73d5ff1a}.project-search-field input{color:#fff;background:0 0;border:0;outline:none;width:100%;min-width:0}.filter-row{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.filter-row button,.pattern-tabs button{border:1px solid var(--border-subtle);min-height:36px;color:var(--text-soft);cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);background:#ffffff12;border-radius:999px;flex:none}.filter-row button:hover,.pattern-tabs button:hover{background:#73d5ff1f;border-color:#73d5ff5c;transform:translateY(-1px)}.filter-row button{padding:0 12px;font-size:.8rem}.filter-row button.is-active,.pattern-tabs button.is-active{color:#fff;background:#73d5ff33;border-color:#73d5ff94}.project-explorer{min-width:0;display:block}.project-results{gap:12px;min-width:0;display:grid}.project-result-item{min-width:0;animation:item-in var(--motion-medium) var(--ease-emphasized) both;animation-delay:calc(var(--item-index,0) * 38ms);gap:12px;display:grid}.desktop-project-detail{min-width:0}.mobile-project-detail{display:none}.project-card{color:var(--text-primary);text-align:left;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);border-radius:18px;gap:14px;padding:16px 42px 16px 16px;display:grid;position:relative;overflow:hidden}.project-card:before{background:linear-gradient(180deg, var(--accent), var(--accent-2));opacity:0;content:"";width:3px;transition:opacity var(--motion-fast) var(--ease-standard);position:absolute;inset:0 auto 0 0}.project-card:after{color:#d5e4f485;content:"";width:9px;height:9px;transition:color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border-top:2px solid;border-right:2px solid;position:absolute;top:50%;right:18px;transform:translateY(-50%)rotate(45deg)}.project-card:hover,.project-card.is-selected{background:var(--surface-card-hover);border-color:#73d5ff80;transform:translateY(-2px);box-shadow:0 14px 34px #0003}.project-card.is-selected:before{opacity:1}.project-card:hover:after,.project-card.is-selected:after{color:#fff;transform:translate(3px,-50%)rotate(45deg)}.project-card-heading,.project-domain{align-items:center;gap:7px;display:flex}.project-card-heading{justify-content:space-between}.project-domain,.featured-flag{color:#8ee6c7;text-transform:uppercase;font-size:.72rem;font-weight:750}.featured-flag{color:#ffd37a}.project-domain svg{transition:transform var(--motion-fast) var(--ease-standard)}.project-card:hover .project-domain svg,.project-card.is-selected .project-domain svg{transform:scale(1.08)rotate(-4deg)}.project-card h3,.project-card p{margin:0}.project-card h3{margin-top:7px;font-size:1rem;line-height:1.3}.project-card p{color:var(--text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:8px;font-size:.86rem;line-height:1.5;display:-webkit-box;overflow:hidden}.project-detail,.architecture-detail,.contact-card,.empty-state{border-radius:20px}.project-detail{animation:detail-in var(--motion-medium) var(--ease-emphasized) both;gap:15px;padding:18px;display:grid;position:sticky;top:0}.project-detail-shell{min-height:100%}.project-sort-row{align-items:center;gap:10px;display:flex}.project-sort-row label{color:var(--text-muted);font-size:.82rem}.project-sort-row select{appearance:none;border:1px solid var(--border-subtle);min-width:198px;min-height:36px;color:var(--text-primary);cursor:pointer;font:inherit;transition:border-color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);background:linear-gradient(45deg,#0000 50%,#fff 50%) calc(100% - 18px) 15px/6px 6px no-repeat,linear-gradient(135deg,#fff 50%,#0000 50%) calc(100% - 12px) 15px/6px 6px no-repeat,#ffffff1c;border-radius:18px;outline:none;padding:0 38px 0 18px;font-size:.86rem;font-weight:650;box-shadow:inset 0 1px #ffffff1a}.project-sort-row select:hover{background-color:#73d5ff24;border-color:#73d5ff70;transform:translateY(-1px)}.project-sort-row select:focus-visible{border-color:#73d5ffad;box-shadow:inset 0 1px #ffffff1f,0 0 0 3px #73d5ff29}.project-sort-row option{color:var(--text-primary);background:#263d60}.project-detail-window{z-index:45;border:1px solid var(--border-subtle);width:min(700px,100vw - 320px);max-height:calc(100vh - 170px);-webkit-backdrop-filter:blur(var(--blur-panel));backdrop-filter:blur(var(--blur-panel));box-shadow:var(--shadow-window);background:#09121ff0;border-radius:18px;position:fixed;top:88px;right:38px;overflow:auto}.project-detail-window-head{z-index:2;border-bottom:1px solid var(--border-subtle);background:#09121feb;justify-content:space-between;align-items:center;min-height:48px;padding:0 14px;display:flex;position:sticky;top:0}.project-detail-window-head button{width:30px;height:30px;color:var(--text-soft);background:#ffffff14;border:0;border-radius:9px;place-items:center;display:grid}.project-visual{border:1px solid var(--border-subtle);border-radius:12px;width:100%;display:block}.project-detail-nav{z-index:2;border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(var(--blur-panel));backdrop-filter:blur(var(--blur-panel));background:#0c182bdb;justify-content:space-between;align-items:center;gap:12px;margin:-24px -24px 0;padding:14px 18px;display:flex;position:sticky;top:-24px}.project-detail-nav button{border:1px solid var(--border-subtle);color:#fff;cursor:pointer;min-height:38px;transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);background:#ffffff14;border-radius:13px;align-items:center;gap:7px;padding:0 12px 0 10px;font-size:.86rem;display:inline-flex}.project-detail-nav button:hover{background:#73d5ff24;border-color:#73d5ff70;transform:translateY(-1px)}.project-detail-nav span{color:var(--success);text-transform:uppercase;font-size:.76rem;font-weight:760}.project-detail.is-page{background:linear-gradient(135deg, #73d5ff1a, transparent 38%), var(--surface-card);padding:22px;position:static}.project-detail.is-page header{align-items:center}.project-detail.is-page h3{font-size:clamp(1.2rem,2.2vw,1.7rem)}.project-detail.is-page .detail-summary{max-width:78ch;font-size:.96rem}.project-detail header,.architecture-detail header{grid-template-columns:auto 1fr;align-items:start;gap:12px;display:grid}.project-detail-icon,.architecture-detail header>span{color:#73d5ff;background:#73d5ff29;border-radius:15px;place-items:center;width:44px;height:44px;display:grid}.project-detail h3,.architecture-detail h3,.timeline-list h3{margin:0;font-size:1.05rem;line-height:1.25}.project-detail header span,.project-detail header p{color:var(--text-muted);font-size:.8rem}.project-detail header p,.architecture-detail p{margin:5px 0 0;line-height:1.5}.detail-summary{color:var(--text-soft);margin:0;font-size:.9rem;line-height:1.55}.detail-section{gap:2px;display:grid}.empty-state{color:var(--text-muted);gap:6px;padding:18px;display:grid}.empty-state strong{color:#fff}.timeline-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.timeline-list li{background:var(--surface-card);animation:item-in var(--motion-medium) var(--ease-emphasized) both;animation-delay:calc(var(--item-index,0) * 42ms);transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border:1px solid #0000;border-radius:16px;grid-template-columns:48px 1fr;align-items:start;gap:12px;padding:13px;display:grid}.timeline-list li:hover{background:#73d5ff1b;border-color:#73d5ff57;transform:translateY(-1px)}.timeline-list span{color:#73d5ff;font-weight:750}.timeline-list p{color:var(--text-soft);margin:0}.detailed-timeline li{padding:16px}.detailed-timeline>li>span{background:#73d5ff21;border-radius:13px;place-items:center;width:38px;height:38px;display:grid}.detailed-timeline>li>div{gap:9px;min-width:0;display:grid}.timeline-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.timeline-meta strong,.timeline-meta small{font-size:.78rem}.timeline-meta small{background:#ffffff14;border-radius:999px;padding:4px 8px}.architecture-panel p{color:var(--text-soft);margin:0;line-height:1.6}.pattern-tabs{flex-wrap:wrap;gap:8px;display:flex}.pattern-tabs button{align-items:center;gap:7px;padding:0 12px;font-size:.8rem;display:inline-flex}.architecture-detail{animation:detail-in var(--motion-medium) var(--ease-emphasized) both;gap:16px;padding:18px;display:grid}.architecture-map{isolation:isolate;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid;position:relative}.architecture-map:before{z-index:-1;opacity:.7;content:"";background:linear-gradient(90deg,#0000 0 15%,#73d5ff2e 15.2% 15.6%,#0000 15.8% 47%,#8ee6c724 47.2% 47.6%,#0000 47.8%),linear-gradient(0deg,#0000 0 50%,#ffd37a1f 50.2% 50.6%,#0000 50.8%);position:absolute;inset:14px}.architecture-map span{color:#fff;text-align:center;min-height:86px;animation:node-in var(--motion-medium) var(--ease-emphasized) both;animation-delay:calc(var(--item-index,0) * 58ms);transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border-radius:20px;place-items:center;font-weight:720;display:grid}.architecture-map span:hover{background:#8ee6c71c;border-color:#8ee6c770;transform:translateY(-2px)}.contact-layout{gap:14px;display:grid}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.contact-grid a,.resume-card a{border:1px solid var(--border-subtle);min-height:50px;color:var(--text-soft);animation:item-in var(--motion-medium) var(--ease-emphasized) both;animation-delay:calc(var(--item-index,0) * 38ms);transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);background:#ffffff13;border-radius:16px;align-items:center;gap:12px;padding:13px 14px;display:flex}.contact-grid a{justify-content:space-between}.contact-grid a span{flex:1}.contact-grid a:hover,.resume-card a:hover{color:#fff;background:#73d5ff24;border-color:#73d5ff70;transform:translateY(-1px)}.contact-card{padding:18px}.contact-card p{color:var(--text-soft);overflow-wrap:anywhere;margin:0;line-height:1.5}.contact-card p+p{margin-top:7px}.resume-card{gap:12px;display:grid}.resume-card a{color:#fff;background:#73d5ff33;width:fit-content;min-height:42px}.mobile-stage{display:none}@keyframes window-in{0%{opacity:0;filter:blur(3px);transform:translateY(18px)scale(.975)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes window-minimize{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(28px)scale(.96)}}@keyframes window-restore{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes window-close{0%{opacity:1;filter:blur();transform:translateY(0)scale(1)}to{opacity:0;filter:blur(2px);transform:translateY(12px)scale(.96)}}@keyframes start-in{0%{opacity:0;filter:blur(3px);transform:translate(-50%)translateY(18px)scale(.975)}to{opacity:1;filter:blur();transform:translate(-50%)translateY(0)scale(1)}}@keyframes sheet-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes item-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes detail-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes node-in{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes desktop-icon-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes status-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes taskbar-in{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes minimized-breathe{0%,to{box-shadow:none}50%{box-shadow:0 0 20px #73d5ff2e}}@keyframes mobile-hero-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes dock-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes wallpaper-drift{0%{transform:translate(-10px,-6px)}to{transform:translate(10px,8px)}}@keyframes route-trace{0%{opacity:.52;transform:translate(-8px)}to{opacity:.78;transform:translate(8px,-8px)}}@keyframes scan-drift{0%{transform:translateY(-118px)}to{transform:translateY(118px)}}@media (max-width:920px){.portfolio-shell{overflow:auto}.desktop-stage{display:none}.mobile-stage{min-height:100vh;padding:18px 16px 92px;display:block;position:relative}.mobile-hero{border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);animation:mobile-hero-in var(--motion-slow) var(--ease-emphasized) both;background:#0f1c30ad;border-radius:28px;padding:22px 18px;box-shadow:0 20px 60px #00000047}.mobile-hero p,.mobile-hero h1,.mobile-hero h2{margin:0}.mobile-hero p{color:var(--text-muted);font-size:.82rem}.mobile-hero h1{margin-top:8px;font-size:clamp(1.95rem,10vw,3rem);line-height:1.02}.mobile-hero h2{color:#a7eaff;margin-top:12px;font-size:1.06rem}.mobile-hero>span{color:var(--text-soft);margin-top:10px;line-height:1.5;display:block}.mobile-actions{grid-template-columns:1fr;gap:10px;margin-top:18px;display:grid}.mobile-actions button,.mobile-actions a{border:1px solid var(--border-subtle);color:#fff;min-height:46px;transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);background:#ffffff1c;border-radius:15px;justify-content:center;align-items:center;gap:8px;display:flex}.mobile-actions button:first-child{background:#73d5ff38;border-color:#73d5ff8c}.mobile-actions button:active,.mobile-actions a:active{transform:scale(.98)}.mobile-launcher{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.mobile-app{border:1px solid var(--border-subtle);overflow-wrap:anywhere;text-align:center;min-height:96px;animation:item-in var(--motion-medium) var(--ease-emphasized) both;animation-delay:calc(var(--item-index,0) * 34ms);transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);background:#ffffff14;border-radius:22px;justify-items:center;gap:8px;padding:12px 8px;font-size:.84rem;line-height:1.18;display:grid}.mobile-app:active{background:#73d5ff21;border-color:#73d5ff75;transform:scale(.985)}.mobile-app span{border-radius:15px;width:46px;height:46px}.mobile-dock{z-index:80;border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);animation:dock-in var(--motion-slow) var(--ease-emphasized) both;background:#0f1c30d1;border-radius:22px;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:9px;display:grid;position:fixed;bottom:12px;left:14px;right:14px;box-shadow:0 18px 48px #00000057}.mobile-dock button{min-height:42px;transition:background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);background:#ffffff14;border-radius:14px;justify-content:center;align-items:center;gap:7px;display:flex}.mobile-dock button:active{background:#73d5ff29;transform:scale(.98)}.mobile-sheet,.mobile-menu-sheet{z-index:120;animation:sheet-in var(--motion-medium) var(--ease-emphasized) both;background:linear-gradient(120deg,#73d5ff1f 0 1px,#0000 1px 38%),linear-gradient(#ffffff09,#0000 28%),#08111f;flex-direction:column;display:flex;position:fixed;inset:0}.mobile-sheet-header{border-bottom:1px solid var(--border-subtle);grid-template-columns:auto 1fr;align-items:center;gap:12px;min-height:62px;padding:12px 16px;display:grid}.mobile-sheet-header button{background:#ffffff14;border-radius:12px;align-items:center;gap:6px;min-height:38px;padding:0 10px;display:inline-flex}.mobile-sheet-header strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-sheet-body{flex:1;min-height:0;padding:16px;overflow:auto}.project-detail-nav{margin:-16px -16px 0;padding:12px 16px;top:-16px}.project-detail-nav button{min-height:40px}.project-detail.is-page{padding:18px}.project-sort-row{grid-template-columns:auto 1fr;display:grid}.project-detail-window{display:none}.mobile-menu-list{gap:10px;padding:16px;display:grid}.mobile-menu-list button{border:1px solid var(--border-subtle);color:#fff;background:#ffffff14;border-radius:18px;align-items:center;gap:12px;min-height:54px;padding:0 14px;display:flex}.about-hero,.summary-grid,.skills-grid,.project-toolbar,.project-explorer,.contact-grid,.architecture-map{grid-template-columns:1fr}.project-toolbar>span{white-space:normal}.project-detail{position:static}.desktop-project-detail{display:none}.mobile-project-detail{display:block}.pattern-tabs{flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.proof-strip{grid-template-columns:1fr}.project-card{min-width:0}.mobile-sheet-body{overscroll-behavior:contain}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}.wallpaper-routes,.wallpaper-orbit,.wallpaper-scan{transform:none!important}}
