:root{--bg:#05050a;--bg-soft:#0b0a18;--panel:#0c0a1cc7;--grid:#a855f71a;--line:#a855f759;--line-soft:#a855f72e;--text:#e8e6ff;--muted:#8b86c4;--dim:#5b5683;--purple:#a855f7;--purple-soft:#c896ff;--green:#22c55e;--pink:#ff6ec7;--amber:#ffb454;--red:#f57;--cyan:#67e8f9;--scan-opacity:.22;--glow:0 0 8px #a855f78c, 0 0 22px #a855f740}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);max-width:100vw;min-height:100vh;margin:0;padding:0;font-family:JetBrains Mono,ui-monospace,monospace;overflow-x:hidden}body{background:radial-gradient(1200px 800px at 18% 30%, #a855f71a, transparent 60%), radial-gradient(900px 700px at 85% 80%, #22c55e0d, transparent 65%), radial-gradient(1400px 900px at 50% 110%, #7850ff14, transparent 65%), var(--bg);overflow-x:hidden}.scanlines{pointer-events:none;z-index:9000;mix-blend-mode:overlay;opacity:var(--scan-opacity);background:repeating-linear-gradient(#ffffff0a 0 1px,#0000 1px 3px);position:fixed;inset:0}.scanlines.thick{background:repeating-linear-gradient(#ffffff0f 0 2px,#0000 2px 4px)}.crtflicker{pointer-events:none;z-index:9001;background:#a855f703;animation:6s steps(4,end) infinite flicker;position:fixed;inset:0}@keyframes flicker{0%,98%{opacity:0}99%{opacity:.6}to{opacity:0}}.vignette{pointer-events:none;z-index:8999;background:radial-gradient(#0000 55%,#0000008c 100%);position:fixed;inset:0}.starfield{pointer-events:none;z-index:0;background-image:radial-gradient(1px 1px at 12% 18%,#fff9,#0000 60%),radial-gradient(1px 1px at 28% 72%,#c896ffb3,#0000 60%),radial-gradient(1px 1px at 47% 33%,#fff6,#0000 60%),radial-gradient(1px 1px at 65% 58%,#ffffff80,#0000 60%),radial-gradient(1px 1px at 82% 22%,#ffffff59,#0000 60%),radial-gradient(1px 1px at 92% 80%,#c896ffb3,#0000 60%),radial-gradient(1px 1px at 7% 88%,#fff6,#0000 60%),radial-gradient(1px 1px at 38% 92%,#ffffff80,#0000 60%),radial-gradient(1px 1px at 56% 8%,#ffffff80,#0000 60%);animation:80s linear infinite drift;position:fixed;inset:0}@keyframes drift{0%{background-position:0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0}to{background-position:0 -200px,0 200px,0 -120px,0 80px,0 -80px,0 160px,0 -200px,0 120px,0 80px}}.pix-frame{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);position:relative;box-shadow:inset 0 0 0 1px #ffffff05,inset 0 0 40px #a855f70f,0 0 0 1px #0009}.pix-frame:before,.pix-frame:after{content:"";border:1px solid var(--purple);width:10px;height:10px;position:absolute}.pix-frame:before{border-bottom:none;border-right:none;top:-1px;left:-1px}.pix-frame:after{border-top:none;border-left:none;bottom:-1px;right:-1px}.pix-frame .corner-tr,.pix-frame .corner-bl{border:1px solid var(--purple);width:10px;height:10px;position:absolute}.pix-frame .corner-tr{border-bottom:none;border-left:none;top:-1px;right:-1px}.pix-frame .corner-bl{border-top:none;border-right:none;bottom:-1px;left:-1px}.titlebar{border-bottom:1px solid var(--line);letter-spacing:.05em;color:var(--purple-soft);background:linear-gradient(90deg,#a855f71f,#a855f705);justify-content:space-between;align-items:center;padding:6px 10px;font-family:"Press Start 2P",monospace;font-size:10px;display:flex}.titlebar .dots{color:var(--purple);gap:6px;display:flex}.titlebar .dots span{font-size:10px}.mono{font-family:JetBrains Mono,monospace}.terminal{font-family:VT323,monospace;font-size:22px;line-height:1.2}.pixel{letter-spacing:.04em;font-family:"Press Start 2P",monospace}.glow-purple{text-shadow:0 0 8px #a855f7b3,0 0 20px #a855f759}.glow-green{text-shadow:0 0 8px #22c55eb3,0 0 16px #22c55e59}.cursor:after{content:"_";color:var(--purple);margin-left:2px;animation:1s steps(2,end) infinite blink}.cursor-green:after{content:"_";color:var(--green);margin-left:2px;animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}.glitch{color:#fff;text-shadow:0 0 8px #ffffff8c,0 0 30px #a855f773,0 0 60px #a855f740;font-family:VT323,monospace;line-height:.85;display:inline-block;position:relative}.glitch:before,.glitch:after{content:attr(data-text);mix-blend-mode:screen;width:100%;position:absolute;top:0;left:0;overflow:hidden}.glitch:before{color:#ff3edb;clip-path:polygon(0 0,100% 0,100% 38%,0 38%);animation:4s linear infinite glx1;transform:translate(-2px)}.glitch:after{color:#3ee0ff;clip-path:polygon(0 62%,100% 62%,100% 100%,0 100%);animation:4s linear infinite glx2;transform:translate(2px)}@keyframes glx1{0%,92%,to{transform:translate(-2px)}93%{transform:translate(-8px,1px)}95%{transform:translate(2px,-1px)}97%{transform:translate(-4px)}}@keyframes glx2{0%,90%,to{transform:translate(2px)}91%{transform:translate(8px,-1px)}94%{transform:translate(-3px,1px)}96%{transform:translate(5px)}}.heart{color:var(--green);filter:drop-shadow(0 0 6px #22c55eb3);animation:1.4s ease-in-out infinite beat;display:inline-block}@keyframes beat{0%,60%,to{transform:scale(1)}20%{transform:scale(1.2)}35%{transform:scale(.95)}45%{transform:scale(1.15)}}.nav-item{color:var(--text);letter-spacing:.05em;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:14px;padding:6px 14px;font-family:"Press Start 2P",monospace;font-size:13px;transition:color .15s,background .15s,border-color .15s;display:flex;position:relative}.nav-item .arrow{color:var(--purple);width:30px;display:inline-block}.nav-item:hover{color:var(--green);text-shadow:0 0 6px #22c55e99;background:#22c55e0f;border-color:#22c55e66;animation:.25s steps(3,end) nudge}.nav-item:hover .arrow{color:var(--green)}.nav-item.active{color:#fff;text-shadow:0 0 8px #a855f7e6;background:#a855f71a;border-color:#a855f78c}.nav-item.active .arrow{color:var(--purple)}.nav-item .ghost{color:var(--purple);opacity:0;margin-left:auto;font-family:"Press Start 2P",monospace;font-size:14px;transition:opacity .2s,transform .2s;transform:translate(-6px)}.nav-item.active .ghost,.nav-item:hover .ghost{opacity:1;transform:translate(0)}@keyframes nudge{0%{transform:translate(0)}50%{transform:translate(2px)}to{transform:translate(0)}}.btn{border:1px solid var(--line);color:var(--purple-soft);letter-spacing:.06em;cursor:pointer;background:#a855f714;padding:10px 14px;font-family:"Press Start 2P",monospace;font-size:10px;transition:all .15s}.btn:hover{color:var(--green);text-shadow:0 0 6px #22c55e99;background:#22c55e1a;border-color:#22c55e99}.btn.green{color:var(--green);border-color:#22c55e8c}.btn.danger{color:var(--red);border-color:#ff55778c}.btn.danger:hover{color:#ffb6c4;text-shadow:0 0 6px #f579;background:#ff55771a;border-color:#f57}.chip{border:1px solid var(--line-soft);color:var(--purple-soft);background:#a855f70d;align-items:center;gap:6px;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:11px;display:inline-flex}.chip.green{color:var(--green);background:#22c55e0d;border-color:#22c55e66}.chip.dim{color:var(--muted);background:#ffffff05;border-color:#8b86c440}.card{border:1px solid var(--line-soft);cursor:pointer;background:#0c0a1c99;transition:transform .25s,border-color .25s,box-shadow .25s;position:relative}.card:hover{border-color:var(--purple);box-shadow:0 0 0 1px var(--purple), 0 0 30px #a855f740;transform:translateY(-3px)}.card .preview{aspect-ratio:16/10;border-bottom:1px solid var(--line-soft);background:#0a0820;position:relative;overflow:hidden}.card .preview .scanover{pointer-events:none;mix-blend-mode:multiply;background:repeating-linear-gradient(#0000002e 0 1px,#0000 1px 3px);position:absolute;inset:0}.card .preview .crtcurve{pointer-events:none;background:radial-gradient(#0000 60%,#0000008c 100%);position:absolute;inset:0}.card .meta{justify-content:space-between;align-items:flex-end;gap:10px;padding:12px 14px;display:flex}.card .meta h4{letter-spacing:.05em;color:#fff;text-shadow:0 0 6px #a855f78c;margin:0;font-family:"Press Start 2P",monospace;font-size:11px}.card .meta .view{color:var(--purple-soft);font-family:VT323,monospace;font-size:18px}.card:hover .meta .view{color:var(--green);text-shadow:0 0 6px #22c55e80}.bar{border:1px solid var(--line-soft);background:#a855f714;height:10px;position:relative;overflow:hidden}.bar>i{background:repeating-linear-gradient(to right, var(--purple) 0 6px, #a855f78c 6px 8px);height:100%;display:block;box-shadow:inset 0 0 8px #ffffff40}.term-line{color:var(--text);font-family:VT323,monospace;font-size:22px}.term-line .p{color:var(--purple)}.term-line .g{color:var(--green)}.term-line .d{color:var(--muted)}.cli-input{color:#fff;caret-color:var(--purple);background:0 0;border:none;outline:none;flex:1;font-family:VT323,monospace;font-size:22px}.cli-input::placeholder{color:var(--dim)}a{color:inherit;text-decoration:none}.hide-scroll::-webkit-scrollbar{display:none}.hide-scroll{scrollbar-width:none}.app{min-width:0}.viewport{z-index:1;max-width:1480px;margin:0 auto;padding:18px 22px;position:relative}@media (width>=1024px){.app--desktop-fixed{min-width:1100px}body.no-scroll,body.no-scroll .app{height:100vh;overflow:hidden}}@media (width<=1024px){.viewport{padding:14px 16px}}@media (width<=900px){.layout-hero,.layout-sidebar,.layout-2col{grid-template-columns:1fr!important;gap:12px!important}.hero-pane{min-height:0!important;padding:22px 22px 18px!important}.projects-strip-grid{max-width:none!important}}@media (width<=640px){.viewport{padding:10px}.glitch{letter-spacing:0!important;font-size:64px!important;line-height:1!important}.hero-pane{padding:16px 14px 12px!important}.hero-pane .backdrop-scape{display:none}.nav-item{gap:10px;padding:6px 10px;font-size:11px}.nav-item .arrow{width:20px}.terminal{font-size:16px;line-height:1.25}.term-line{word-break:break-word;white-space:normal;font-size:15px}.titlebar{padding:5px 8px;font-size:9px}.pix-frame:before,.pix-frame:after,.pix-frame .corner-tr,.pix-frame .corner-bl{width:6px;height:6px}.card .preview{aspect-ratio:16/9}.card .meta h4{font-size:10px}.breadcrumb-tabs{flex-wrap:wrap}.hide-mobile{display:none!important}.btn{padding:8px 10px;font-size:9px}.chip{font-size:10px}.cli-input{font-size:16px}.headerbar,.statusbar{row-gap:4px;white-space:normal!important;flex-wrap:wrap!important;overflow:visible!important}.ticker-text{display:none}.player-profile .player-stats{column-gap:8px!important;font-size:15px!important;line-height:1.2!important}.player-profile{padding:10px 14px!important}.project-modal-backdrop{align-items:flex-start!important;padding:24px 12px 12px!important}.project-modal-window,.quit-dialog{width:100%!important;max-width:100%!important}.cli-prompt{font-size:14px!important}.skill-row{grid-template-columns:22px 1fr 32px!important;gap:8px!important}}@media (width<=380px){.glitch{font-size:52px!important}.nav-item{font-size:10px}}@media (width<=900px),(pointer:coarse){.pix-frame{-webkit-backdrop-filter:none;backdrop-filter:none}.project-modal-backdrop,.modal-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.scanlines{mix-blend-mode:normal;opacity:.12}.starfield{opacity:.45;animation:none}.crtflicker,.glitch:before,.glitch:after{display:none}.heart{animation:none}.card{transition:none}.card:hover{transform:none}.nav-item:hover{animation:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.cursor:after,.cursor-green:after{animation:none}.starfield,.crtflicker,.glitch:before,.glitch:after,.heart{animation:none!important}}::selection{color:#fff;background:#a855f773}.fade-in{animation:.35s ease-out fade}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1}}image-slot{background:0 0}
