*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--p: #00ff41;--p-mid: #00cc33;--p-dim: #007722;--p-dark: #003311;--bg: rgba(0, 6, 0, .92);--bg-light: rgba(0, 255, 65, .06);--border: rgba(0, 255, 65, .55);--glow-sm: 0 0 5px rgba(0,255,65,.7);--glow: 0 0 8px rgba(0,255,65,.7), 0 0 18px rgba(0,255,65,.3);--glow-lg: 0 0 8px rgba(0,255,65,.9), 0 0 22px rgba(0,255,65,.5), 0 0 50px rgba(0,255,65,.15);--font: "VT323", "Courier New", monospace;--mono: "Share Tech Mono", "Courier New", monospace}html,body,#root{width:100%;height:100%;overflow:hidden;background:#000}.app{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;font-family:var(--font);color:var(--p);background:#000;overflow:hidden;animation:appFlicker 12s infinite}.scanlines-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 2px,rgba(0,0,0,.13) 2px,rgba(0,0,0,.13) 4px);pointer-events:none;z-index:9000}.app:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 48%,transparent 48%,rgba(0,0,0,.78) 100%);pointer-events:none;z-index:9001}@keyframes appFlicker{0%,91%,93%,95%,to{opacity:1}92%{opacity:.93}94%{opacity:.87}}.topbar{height:30px;background:#000600f7;border-bottom:1px solid rgba(0,255,65,.2);display:flex;align-items:stretch;flex-shrink:0;z-index:700;position:relative;-webkit-user-select:none;user-select:none}.topbar__start{display:flex;align-items:center;gap:8px;padding:0 18px;background:#00ff4114;border:none;border-right:1px solid rgba(0,255,65,.25);color:var(--p);font-family:var(--mono);font-size:clamp(12px,1.1vw,13.5px);letter-spacing:.18em;font-weight:700;cursor:pointer;transition:background .15s,box-shadow .15s;white-space:nowrap;text-shadow:var(--glow);box-shadow:inset 0 0 12px #00ff410f}.topbar__start:hover,.topbar__start--active{background:#00ff4129;box-shadow:inset 0 0 18px #00ff411a,var(--glow-sm)}.topbar__start-icon{font-size:15px;color:var(--p);text-shadow:var(--glow)}.topbar__start-caret{font-size:10px;color:var(--p-mid);margin-left:2px}.start-menu{position:absolute;top:100%;left:0;display:flex;flex-direction:row;z-index:800;animation:startMenuIn .14s ease forwards}@keyframes startMenuIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.start-menu__primary{width:170px;background:#000400fa;border:1px solid rgba(0,255,65,.3);border-top:none;display:flex;flex-direction:column;padding:4px 0;box-shadow:4px 6px 24px #000c}.start-menu__row{display:flex;align-items:center;justify-content:space-between;padding:9px 12px 9px 16px;background:transparent;border:none;color:var(--p-mid);font-family:var(--mono);font-size:clamp(11.5px,1.05vw,13px);letter-spacing:.06em;cursor:pointer;text-align:left;transition:background .1s,color .1s;white-space:nowrap;width:100%}.start-menu__row:hover,.start-menu__row--active{background:#00ff411c;color:var(--p)}.start-menu__row--danger{color:#933}.start-menu__row--danger:hover,.start-menu__row--danger.start-menu__row--active{background:#ff282814;color:#f55}.start-menu__chevron{font-size:15px;color:var(--p-dim);line-height:1}.start-menu__row--active .start-menu__chevron,.start-menu__row:hover .start-menu__chevron{color:var(--p)}.start-menu__flyout{width:180px;background:#000600fc;border:1px solid rgba(0,255,65,.3);border-top:none;border-left:none;display:flex;flex-direction:column;box-shadow:6px 6px 24px #000c;animation:flyoutIn .12s ease forwards}@keyframes flyoutIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.start-menu__flyout-header{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--p-dim);padding:8px 14px 6px;border-bottom:1px solid rgba(0,255,65,.1);text-transform:uppercase}.start-menu__sub-row{display:flex;align-items:center;gap:8px;padding:8px 14px;background:transparent;border:none;color:var(--p-mid);font-family:var(--mono);font-size:clamp(11px,1vw,12.5px);letter-spacing:.04em;cursor:pointer;text-align:left;transition:background .1s,color .1s,padding-left .1s;white-space:nowrap;width:100%}.start-menu__sub-row:hover{background:#00ff411a;color:var(--p);padding-left:18px}.start-menu__sub-row--danger{color:#933}.start-menu__sub-row--danger:hover{background:#ff282817;color:#f55;padding-left:18px}.start-menu__sub-arrow{font-size:13px;color:var(--p-dim);flex-shrink:0}.start-menu__sub-row:hover .start-menu__sub-arrow{color:var(--p)}.start-menu__sub-row--danger .start-menu__sub-arrow{color:#622}.start-menu__sub-row--danger:hover .start-menu__sub-arrow{color:#f44}.shutdown-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:#000300f5;display:flex;flex-direction:column;justify-content:center;padding:8vh 10vw;z-index:1000;transition:background .9s ease,opacity .9s ease}.shutdown-screen--black{background:#000;opacity:0}.shutdown-lines{display:flex;flex-direction:column;gap:2px}.shutdown-line{font-family:var(--mono);font-size:clamp(12px,1.3vw,16px);color:var(--p-mid);line-height:1.75;white-space:pre;min-height:1.75em}.shutdown-line--halt{color:var(--p);text-shadow:var(--glow);font-size:clamp(14px,1.6vw,20px);margin-top:6px}.boot-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;padding:8vh 10vw;background:#000300ed;z-index:1000;gap:20px}.boot-ascii{margin-bottom:12px;overflow:hidden}.ascii-logo{font-family:var(--mono);font-size:clamp(5px,.7vw,9px);color:var(--p-dim);text-shadow:var(--glow-sm);line-height:1.15;white-space:pre;letter-spacing:0}.boot-lines{display:flex;flex-direction:column;gap:2px}.boot-line{font-family:var(--mono);font-size:clamp(12px,1.3vw,16px);line-height:1.75;white-space:pre;min-height:1.75em}.boot-line.header{color:var(--p);text-shadow:var(--glow);font-size:clamp(13px,1.5vw,18px)}.boot-line.welcome{color:var(--p);text-shadow:var(--glow-lg);font-size:clamp(16px,2vw,24px);margin-top:6px}.boot-line.info{color:var(--p-dim)}.boot-highlight-name{color:var(--p);text-shadow:var(--glow)}.boot-highlight-classified{color:#f44;text-shadow:0 0 8px rgba(255,60,60,.9),0 0 22px rgba(255,60,60,.5),0 0 50px rgba(255,60,60,.15);font-weight:700;letter-spacing:.05em}.boot-cursor{display:inline-block;width:.55em;height:1em;background:var(--p);vertical-align:text-bottom;animation:blink 1s step-end infinite;box-shadow:var(--glow-sm)}.desktop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.desktop-area{flex:1;position:relative}.screen-label{position:absolute;top:18px;left:50%;transform:translate(-50%);font-family:var(--mono);font-size:clamp(10px,1vw,12px);color:var(--p-dim);letter-spacing:.12em;white-space:nowrap}.icon-grid{position:absolute;top:20px;right:20px;display:flex;flex-direction:column;gap:8px;align-items:center;z-index:10}.file-icon{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;padding:10px 12px 8px;border:1px solid transparent;width:84px;transition:border-color .2s,background .2s,box-shadow .2s,transform .12s;position:relative;border-radius:2px}.file-icon:hover{border-color:#00ff4166;background:#00ff410f;box-shadow:var(--glow-sm)}.file-icon:hover .file-svg{color:var(--p);filter:drop-shadow(0 0 6px rgba(0,255,65,.8))}.file-icon.clicking{transform:scale(.93);background:#00ff411a}.file-icon.is-open{border-color:#00ff4180;background:#00ff410d}.icon-wrap{position:relative;display:flex;align-items:center;justify-content:center}.file-svg{width:44px;height:44px;color:var(--p-mid);transition:color .2s,filter .2s;filter:drop-shadow(0 0 3px rgba(0,255,65,.4))}.icon-open-dot{position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:5px;height:5px;background:var(--p);box-shadow:var(--glow);border-radius:50%}.icon-label{font-family:var(--mono);font-size:10.5px;color:var(--p);text-shadow:var(--glow-sm);letter-spacing:.02em;text-align:center;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.status-bar{height:34px;background:#000500e6;border-top:1px solid rgba(0,255,65,.25);display:flex;align-items:center;padding:0 16px;font-family:var(--mono);font-size:clamp(10px,1vw,12px);flex-shrink:0;gap:0;z-index:20}.status-section{padding:0 14px;border-right:1px solid rgba(0,255,65,.15);white-space:nowrap;line-height:34px}.status-right{border-right:none;margin-left:auto;border-left:1px solid rgba(0,255,65,.15)}.status-dim{color:var(--p-dim)}.status-bright{color:var(--p);text-shadow:var(--glow-sm)}.terminal-window{position:fixed;width:clamp(560px,55vw,820px);max-height:clamp(480px,78vh,720px);display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);box-shadow:0 0 0 1px #00ff4114,0 0 24px #00ff411f,0 0 80px #000000e6,inset 0 0 24px #00ff4106;z-index:500;overflow:hidden;cursor:default}.terminal-window.focused{border-color:#00ff41d9;box-shadow:0 0 0 1px #00ff412e,0 0 32px #00ff4138,0 0 100px #000000f2,inset 0 0 32px #00ff410a;z-index:600}.window-title-bar{height:32px;background:#00ff4117;border-bottom:1px solid rgba(0,255,65,.35);display:flex;align-items:center;padding:0 10px 0 12px;cursor:move;flex-shrink:0;gap:6px;-webkit-user-select:none;user-select:none}.window-title-prefix{color:var(--p-mid);font-size:16px;line-height:1}.window-title{font-family:var(--mono);font-size:clamp(11px,1.1vw,13px);color:var(--p);text-shadow:var(--glow-sm);letter-spacing:.06em;flex:1}.window-controls{display:flex;gap:6px;align-items:center;margin-left:auto}.window-btn{width:22px;height:20px;background:transparent;border:1px solid rgba(0,255,65,.4);color:var(--p-dim);font-family:var(--mono);font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;line-height:1;padding:0}.window-btn:hover{background:var(--bg-light);border-color:var(--p);color:var(--p);box-shadow:var(--glow-sm)}.window-btn.skip{font-size:14px}.window-btn.close:hover{background:#ff282826;border-color:#f44;color:#f44;box-shadow:0 0 8px #ff323273}.window-content{flex:1;overflow-y:auto;padding:18px 24px;scrollbar-width:thin;scrollbar-color:var(--p-dark) transparent;min-height:0}.window-content::-webkit-scrollbar{width:5px}.window-content::-webkit-scrollbar-track{background:transparent}.window-content::-webkit-scrollbar-thumb{background:var(--p-dark)}.window-text{font-family:var(--mono);font-size:clamp(12px,1.2vw,14px);color:var(--p-mid);line-height:1.8;white-space:pre-wrap;word-break:break-word;width:100%}.window-cursor{display:inline-block;width:7px;height:1em;background:var(--p);vertical-align:text-bottom;animation:blink .9s step-end infinite;box-shadow:var(--glow-sm)}.window-cursor-static{color:var(--p);text-shadow:var(--glow-sm);animation:blink 1.2s step-end infinite}.window-footer{height:24px;background:#00ff410d;border-top:1px solid rgba(0,255,65,.2);display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-family:var(--mono);font-size:clamp(9px,.9vw,11px);color:var(--p-dim);flex-shrink:0}.skills-window{position:fixed;width:clamp(640px,70vw,980px);max-height:clamp(500px,84vh,800px);display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);box-shadow:0 0 0 1px #00ff4114,0 0 28px #00ff4124,0 0 90px #000000f2,inset 0 0 28px #00ff4108;z-index:500;overflow:hidden;cursor:default}.skills-window.focused{border-color:#00ff41e6;box-shadow:0 0 0 1px #00ff412e,0 0 36px #00ff4138,0 0 110px #000000fa,inset 0 0 36px #00ff410a;z-index:600}.sk-subheader{display:flex;justify-content:space-between;align-items:center;padding:5px 18px;background:#00ff410a;border-bottom:1px solid rgba(0,255,65,.12);font-family:var(--mono);font-size:11px;flex-shrink:0}.sk-subheader-left{color:var(--p-mid)}.sk-subheader-right{color:var(--p-dim)}.sk-dashboard{flex:1;display:grid;grid-template-columns:1fr 1fr;overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:var(--p-dark) transparent}.sk-dashboard::-webkit-scrollbar{width:5px}.sk-dashboard::-webkit-scrollbar-thumb{background:var(--p-dark)}.sk-category{padding:20px 22px 24px;display:flex;flex-direction:column;gap:14px;border-right:1px solid rgba(0,255,65,.1)}.sk-category-right{border-right:none}.sk-cat-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(0,255,65,.15)}.sk-cat-title{display:flex;flex-direction:column;gap:4px}.sk-cat-index{font-family:var(--mono);font-size:10px;color:var(--p-dim);letter-spacing:.1em}.sk-cat-name{font-family:var(--font);font-size:clamp(15px,1.6vw,19px);color:var(--p);text-shadow:var(--glow-sm);letter-spacing:.06em;line-height:1.2}.donut-svg{width:90px;height:90px;flex-shrink:0}.sk-bars{display:flex;flex-direction:column;gap:9px}.sk-row{display:grid;grid-template-columns:175px 1fr 28px;align-items:center;gap:10px}.sk-name{font-family:var(--mono);font-size:11.5px;color:var(--p-mid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sk-track{height:11px;background:#00ff410f;border:1px solid rgba(0,255,65,.14);position:relative;overflow:hidden}.sk-grid-line{position:absolute;top:0;bottom:0;width:1px;background:#00ff411a;z-index:1}.sk-fill{height:100%;background:linear-gradient(to right,#00ff4159,#00ff41b3 60%,#00ff41f2);transition:width .95s cubic-bezier(.4,0,.2,1);position:relative}.sk-tip{position:absolute;right:0;top:0;bottom:0;width:2px;background:var(--p);box-shadow:0 0 6px #00ff41,0 0 12px #00ff4199}.sk-pct{font-family:var(--mono);font-size:11px;color:var(--p);text-align:right;text-shadow:var(--glow-sm)}.mobile-block{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;display:flex;align-items:center;justify-content:center;font-family:var(--mono);color:var(--p-mid);padding:24px;animation:appFlicker 12s infinite}.mobile-block:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 2px,rgba(0,0,0,.13) 2px,rgba(0,0,0,.13) 4px);pointer-events:none;z-index:2}.mobile-block-inner{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;position:relative;z-index:1}.mobile-ascii pre{font-family:var(--mono);font-size:clamp(8px,2.5vw,12px);color:var(--p-dim);line-height:1.4;white-space:pre}.mobile-icon svg{width:52px;height:68px;color:var(--p-dim);filter:drop-shadow(0 0 4px rgba(0,255,65,.4))}.mobile-status{font-size:clamp(11px,3vw,13px);color:#f44;letter-spacing:.2em;text-shadow:0 0 8px rgba(255,50,50,.7)}.mobile-title{font-family:var(--font);font-size:clamp(22px,6vw,30px);color:var(--p);text-shadow:var(--glow);letter-spacing:.1em}.mobile-divider{color:#00ff4133;font-size:11px;letter-spacing:.05em}.mobile-msg{font-size:clamp(12px,3.2vw,14px);color:var(--p-dim);line-height:1.7}.mobile-msg.mobile-msg-bright{color:var(--p-mid)}.mobile-footer{font-size:clamp(9px,2.5vw,11px);color:var(--p-dim);letter-spacing:.08em;margin-top:4px}.mobile-cursor{color:var(--p);animation:blink 1s step-end infinite;margin-left:2px}.fvp-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000008c;z-index:800;opacity:0;transition:opacity .35s ease;pointer-events:none}.fvp-backdrop.fvp-in{opacity:1;pointer-events:all}.fvp-box{width:clamp(340px,36vw,500px);background:#000500f7;border:1px solid rgba(0,255,65,.75);box-shadow:0 0 0 1px #00ff411a,0 0 40px #00ff4133,0 0 120px #000;display:flex;flex-direction:column;overflow:hidden;animation:fvpSlideIn .35s ease forwards}@keyframes fvpSlideIn{0%{transform:translateY(-12px);opacity:0}to{transform:translateY(0);opacity:1}}.fvp-title-bar{height:32px;background:#00ff411a;border-bottom:1px solid rgba(0,255,65,.35);display:flex;align-items:center;padding:0 12px;gap:6px;flex-shrink:0}.fvp-title-prefix{color:var(--p-mid);font-size:16px}.fvp-title{font-family:var(--mono);font-size:13px;color:var(--p);text-shadow:var(--glow-sm);letter-spacing:.07em;flex:1}.fvp-blink{color:var(--p);font-size:13px;animation:blink 1s step-end infinite}.fvp-body{padding:22px 24px 18px;display:flex;flex-direction:column}.fvp-line{font-family:var(--mono);font-size:13px;line-height:1.75;white-space:pre}.fvp-line.dim{color:var(--p-dim)}.fvp-line.mid{color:var(--p-mid)}.fvp-line.bright{color:var(--p);text-shadow:var(--glow);font-size:15px;letter-spacing:.05em}.fvp-spacer{height:10px}.fvp-actions{display:flex;gap:14px;margin-top:6px;justify-content:flex-end}.fvp-btn{font-family:var(--mono);font-size:12px;letter-spacing:.07em;padding:6px 18px;background:transparent;border:1px solid rgba(0,255,65,.45);color:var(--p-mid);cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.fvp-btn-yes{border-color:#00ff41b3;color:var(--p)}.fvp-btn-yes:hover{background:#00ff4126;border-color:var(--p);box-shadow:var(--glow-sm);color:var(--p)}.fvp-btn-no:hover{background:#ff32321a;border-color:#f44;color:#f44}.fvp-footer{height:24px;background:#00ff410d;border-top:1px solid rgba(0,255,65,.15);display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-family:var(--mono);font-size:10px;color:var(--p-dim);flex-shrink:0}.video-window{position:fixed;width:clamp(680px,78vw,1100px);display:flex;flex-direction:column;background:#000;border:1px solid var(--border);box-shadow:0 0 0 1px #00ff4114,0 0 32px #00ff4126,0 0 100px #000000f2,inset 0 0 30px #00ff4108;z-index:9500;overflow:hidden;cursor:default}.video-window.focused{border-color:#00ff41e6;box-shadow:0 0 0 1px #00ff412e,0 0 40px #00ff4140,0 0 120px #000000fa,inset 0 0 40px #00ff410d;z-index:9600}.video-label-bar{display:flex;align-items:center;justify-content:space-between;padding:5px 14px;background:#00ff410d}.video-label-text{font-family:var(--mono);font-size:11px;color:var(--p-mid);letter-spacing:.06em;animation:videoPulse 3s ease-in-out infinite}.video-label-dim{font-family:var(--mono);font-size:10px;color:var(--p-dim);letter-spacing:.04em}@keyframes videoPulse{0%,to{opacity:1}50%{opacity:.6}}.video-embed-wrap{position:relative;width:100%;aspect-ratio:16 / 9;background:#000}.video-iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none;display:block}.scan-loader{font-family:var(--mono);font-size:clamp(11px,1.1vw,13px);line-height:2.1;padding:8px 0}.scan-line{opacity:0;color:var(--p-mid);animation:scanFadeIn .35s ease forwards}.scan-ok,.scan-final{color:var(--p);text-shadow:var(--glow-sm)}.scan-progress{display:flex;align-items:center;color:var(--p-mid);opacity:0;animation:scanFadeIn .35s ease forwards}.scan-progress-label{white-space:nowrap}.scan-bar{display:inline-block;width:110px;height:9px;border:1px solid rgba(0,255,65,.35);overflow:hidden;position:relative;vertical-align:middle;margin:0 6px;flex-shrink:0}.scan-fill{display:block;height:100%;width:0;background:var(--p);box-shadow:0 0 8px var(--p);animation:scanBarFill .8s linear forwards}.scan-pct{color:var(--p);text-shadow:var(--glow-sm);opacity:0;animation:scanFadeIn .3s ease forwards}@keyframes scanFadeIn{0%{opacity:0;transform:translate(-3px)}to{opacity:1;transform:translate(0)}}@keyframes scanBarFill{0%{width:0}to{width:100%}}.project-hub{display:flex;flex-direction:column;gap:18px}.project-hub__header{font-family:var(--mono);font-size:clamp(11px,1.1vw,13px);color:var(--p-mid);line-height:1.7}.project-hub__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.project-hub__card{display:flex;flex-direction:column;gap:8px;padding:20px 16px 16px;background:transparent;border:1px solid rgba(0,255,65,.3);cursor:pointer;text-align:left;transition:border-color .2s,background .2s,box-shadow .2s;position:relative;overflow:hidden}.project-hub__card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,rgba(0,255,65,.5),transparent);opacity:0;transition:opacity .2s}.project-hub__card:hover{border-color:#00ff41a6;background:#00ff410a;box-shadow:0 0 18px #00ff4114}.project-hub__card:hover:before{opacity:1}.project-hub__card--empty{border-color:#00ff4140}.project-hub__card--empty:hover{border-color:#00ff4159;background:transparent;box-shadow:none}.project-hub__card--empty .project-hub__card-label{color:var(--p);text-shadow:var(--glow)}.project-hub__card--empty .project-hub__card-desc{color:var(--p-mid)}.project-hub__card-label{font-family:var(--font);font-size:clamp(20px,2.2vw,28px);color:var(--p);text-shadow:var(--glow-sm);letter-spacing:.08em;line-height:1}.project-hub__card-count{font-family:var(--mono);font-size:clamp(28px,3.5vw,42px);color:var(--p);text-shadow:var(--glow);letter-spacing:-.02em;line-height:1;margin:2px 0}.project-hub__card--empty .project-hub__card-count{color:var(--p-dim);text-shadow:none}.project-hub__card-desc{font-family:var(--mono);font-size:clamp(9px,.9vw,11px);color:var(--p-mid);line-height:1.5;flex:1}.project-hub__card-cta{font-family:var(--mono);font-size:clamp(9px,.85vw,10.5px);color:var(--p-mid);letter-spacing:.06em;margin-top:4px;transition:color .15s}.project-hub__card:hover .project-hub__card-cta{color:var(--p)}.project-hub__card--empty .project-hub__card-cta{color:var(--p-mid)}.project-hub__back-row{display:flex;align-items:center;gap:14px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid rgba(0,255,65,.15)}.project-hub__back{background:transparent;border:1px solid rgba(0,255,65,.35);color:var(--p-mid);font-family:var(--mono);font-size:11px;padding:3px 10px;cursor:pointer;letter-spacing:.06em;transition:background .15s,color .15s,border-color .15s}.project-hub__back:hover{background:#00ff411a;color:var(--p);border-color:var(--p)}.project-hub__back-label{font-family:var(--mono);font-size:12px;color:var(--p);text-shadow:var(--glow-sm);letter-spacing:.1em}.project-hub__empty{font-family:var(--mono);font-size:clamp(12px,1.2vw,14px);color:var(--p-mid);line-height:2;padding:20px 0;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.project-hub__empty-dim{color:var(--p-dim);font-size:clamp(11px,1.1vw,13px);letter-spacing:.08em}.project-hub__stay-tuned{font-family:var(--font);font-size:clamp(36px,5vw,56px);color:var(--p);letter-spacing:.18em;text-shadow:0 0 8px rgba(0,255,65,1),0 0 20px rgba(0,255,65,.7),0 0 50px rgba(0,255,65,.4);animation:stayTunedPulse 2s ease-in-out infinite}@keyframes stayTunedPulse{0%,to{text-shadow:0 0 8px rgba(0,255,65,1),0 0 20px rgba(0,255,65,.7),0 0 50px rgba(0,255,65,.4);opacity:1}50%{text-shadow:0 0 12px rgba(0,255,65,1),0 0 35px rgba(0,255,65,.9),0 0 80px rgba(0,255,65,.6);opacity:.75}}.project-list{display:flex;flex-direction:column;gap:10px}.project-list-header{font-family:var(--mono);font-size:clamp(11px,1.1vw,13px);color:var(--p-mid);line-height:1.7;margin-bottom:4px}.project-card{border:1px solid rgba(0,255,65,.25);padding:14px 18px;display:flex;flex-direction:column;gap:8px;opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease,border-color .2s}.project-card.visible{opacity:1;transform:translateY(0)}.project-card:hover{border-color:#00ff418c;background:#00ff4108}.project-card-top{display:flex;align-items:baseline;gap:10px}.project-index{font-family:var(--mono);font-size:11px;color:var(--p-dim);flex-shrink:0}.project-name{font-family:var(--font);font-size:clamp(18px,2vw,24px);color:var(--p);text-shadow:var(--glow-sm);letter-spacing:.06em}.project-card-meta{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12px}.meta-key{color:var(--p-dim);margin-right:4px}.meta-val{color:var(--p-mid)}.meta-sep{color:#00ff4133}.project-card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:2px}.project-status{font-family:var(--mono);font-size:10px;color:var(--p-dim);letter-spacing:.08em}.see-more-btn{font-family:var(--mono);font-size:11px;color:var(--p-mid);background:transparent;border:1px solid rgba(0,255,65,.4);padding:3px 10px;cursor:pointer;letter-spacing:.06em;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.see-more-btn:hover{background:#00ff411f;border-color:var(--p);color:var(--p);box-shadow:var(--glow-sm)}.see-more-btn:active{background:#00ff4133;transform:scale(.97)}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.crab-window{position:fixed;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);box-shadow:0 0 0 1px #00ff4114,0 0 24px #00ff411f,0 0 80px #000000e6,inset 0 0 24px #00ff4106;z-index:500;overflow:hidden;cursor:default;-webkit-user-select:none;user-select:none}.crab-window.focused{border-color:#00ff41d9;box-shadow:0 0 0 1px #00ff412e,0 0 32px #00ff4138,0 0 100px #000000f2,inset 0 0 32px #00ff410a;z-index:600}.crab-subheader{display:flex;justify-content:space-between;align-items:center;padding:4px 12px;background:#00ff410a;border-bottom:1px solid rgba(0,255,65,.15);font-family:var(--mono);font-size:11px;color:var(--p-dim);flex-shrink:0;gap:8px}.crab-area{position:relative;flex-shrink:0;line-height:0}.crab-canvas{display:block}.crab-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000300f7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;font-family:var(--font);color:var(--p)}.crab-overlay-title{font-size:30px;letter-spacing:.1em;text-shadow:var(--glow-lg)}.crab-gameover-text{color:#f55;text-shadow:0 0 12px rgba(255,60,60,.85),0 0 30px rgba(255,60,60,.4);animation:crabGOFlicker .55s step-end infinite;margin-bottom:6px}@keyframes crabGOFlicker{0%,65%,to{opacity:1}33%{opacity:.55}}.crab-overlay-emoji{font-size:52px;line-height:1;animation:crabBounce .85s ease-in-out infinite alternate}@keyframes crabBounce{0%{transform:translateY(0)}to{transform:translateY(-9px)}}.crab-overlay-desc{font-size:16px;color:var(--p-mid);letter-spacing:.07em}.crab-overlay-hint{font-family:var(--mono);font-size:12px;color:var(--p-dim)}.crab-final-score{font-size:30px;text-shadow:var(--glow)}.crab-final-hi{font-size:18px;color:var(--p-mid);margin-bottom:4px}.crab-btn{padding:5px 22px;background:transparent;border:1px solid var(--border);color:var(--p);font-family:var(--font);font-size:20px;letter-spacing:.06em;cursor:pointer;transition:background .15s,box-shadow .15s,border-color .15s}.crab-btn:hover{background:#00ff411a;box-shadow:var(--glow-sm);border-color:var(--p)}.crab-btn-dim{border-color:#00ff4140;color:var(--p-dim);font-size:17px}.crab-btn-dim:hover{color:var(--p);border-color:var(--border)}
