@font-face{font-family:MonocraftNF;src:url(/fonts/MonocraftNF.ttf) format("truetype");font-display:swap}:root{--bg: #0d1520;--bg-deep: #0a1018;--bg-card: #111e2e;--bg-card-hover: #162538;--border: #1c3050;--accent: #4aafd4;--accent-bright: #7ecce8;--accent-dim: #255e80;--accent-glow: rgba(74, 175, 212, .15);--text: #ddeaf5;--cursor: url(/cursors/arrow.png) 1 1, default;--cursor-pointer: url(/cursors/hand.png) 9 1, pointer;--cursor-grab: url(/cursors/grab.png) 15 14, grab;--cursor-grabbing: url(/cursors/grabbing.png) 15 16, grabbing;--cursor-text: url(/cursors/text.png) 7 13, text;--text-muted: #7a9dba;--text-faint: #3a5872;--ok: #4ade80;--title-top: #2f7aa3;--title-mid: #1e5677;--title-bottom: #163f5a;--title-inactive: #1a2a3f;--wall-top: #0d1520;--wall-bottom: #132238;--font: "MonocraftNF", "JetBrains Mono", ui-monospace, monospace}[data-theme=amber]{--bg: #140d05;--bg-deep: #0c0803;--bg-card: #1c1307;--bg-card-hover: #26190a;--border: #3d2a10;--accent: #ffb000;--accent-bright: #ffd27a;--accent-dim: #7a5200;--accent-glow: rgba(255, 176, 0, .15);--text: #ffe9c2;--text-muted: #c09a5e;--text-faint: #6b5230;--title-top: #a86f00;--title-mid: #7a5100;--title-bottom: #553800;--title-inactive: #2a1d0c;--wall-top: #140d05;--wall-bottom: #22160a}[data-theme=phosphor]{--bg: #04120a;--bg-deep: #020a05;--bg-card: #071a0e;--bg-card-hover: #0b2414;--border: #12391f;--accent: #39ff7a;--accent-bright: #9dffbe;--accent-dim: #1b7a3d;--accent-glow: rgba(57, 255, 122, .13);--text: #ccffd9;--text-muted: #6fb487;--text-faint: #2c5a3b;--title-top: #1f8a45;--title-mid: #146032;--title-bottom: #0d4223;--title-inactive: #0c2416;--wall-top: #04120a;--wall-bottom: #0a2414}[data-theme=sakura]{--bg: #1b1220;--bg-deep: #120c16;--bg-card: #251829;--bg-card-hover: #2f1f34;--border: #4a2d4f;--accent: #ff8fc8;--accent-bright: #ffc2e1;--accent-dim: #8a3d68;--accent-glow: rgba(255, 143, 200, .15);--text: #fbe6f2;--text-muted: #c79ab6;--text-faint: #6e4c63;--title-top: #b4568a;--title-mid: #873f68;--title-bottom: #5e2c4a;--title-inactive: #2a1a2c;--wall-top: #1b1220;--wall-bottom: #2b1830}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;overflow:hidden;background:#0b0f22;color:var(--text);font-family:var(--font);font-size:13px;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}@media (pointer: coarse){body{-webkit-user-select:none;user-select:none}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}}html{cursor:var(--cursor)}button{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none;cursor:var(--cursor-pointer)}input,textarea{cursor:var(--cursor-text)}a:hover{color:var(--accent-bright)}::selection{background:var(--accent-dim);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border)}.nf{font-family:MonocraftNF,monospace;font-style:normal}.accent{color:var(--accent)}.muted{color:var(--text-muted)}.small{font-size:11px}.window-body,input,textarea,[contenteditable]{-webkit-user-select:text;user-select:text}.scene{position:fixed!important;top:0;right:0;bottom:0;left:0;touch-action:none}.hint{position:fixed;left:50%;bottom:28px;transform:translate(-50%);width:max-content;max-width:calc(100vw - 32px);text-align:center;line-height:1.4;color:#fff1e8;font-size:16px;text-shadow:2px 2px 0 #000;pointer-events:none;animation:blink 1.2s steps(2) infinite}.room-keyboard input{position:fixed;left:0;bottom:0;width:1px;height:1px;padding:0;border:0;opacity:0;font-size:16px;pointer-events:none}.power-hint{position:fixed;left:0;top:0;z-index:5;display:flex;align-items:center;gap:.4em;font-size:clamp(14px,2.4vmin,36px);padding:.35em .6em;border:2px solid #fff1e8;background:#0b0f22e0;color:#fff1e8;box-shadow:3px 3px #000,0 0 12px #fff1e859;white-space:nowrap;cursor:var(--cursor-pointer);animation:nudge .7s steps(2) infinite}.power-hint[data-side=right] .arrow-right,.power-hint[data-side=left] .arrow-left{display:none}.power-ring{position:fixed;left:0;top:0;z-index:5;width:clamp(22px,4.5vmin,64px);height:clamp(22px,4.5vmin,64px);margin:calc(clamp(22px,4.5vmin,64px)/-2) 0 0 calc(clamp(22px,4.5vmin,64px)/-2);pointer-events:none}.power-ring:before,.power-ring:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid #fff1e8;border-radius:50%;box-shadow:0 0 0 1px #000;animation:power-pulse 1.4s ease-out infinite}.power-ring:after{animation-delay:.7s}@keyframes power-pulse{0%{transform:scale(.6);opacity:1}to{transform:scale(1.8);opacity:0}}@keyframes nudge{50%{margin-left:4px}}@keyframes blink{50%{opacity:0}}.desktop{position:fixed;overflow:hidden;z-index:10}.desk-ui{position:absolute;top:0;left:0;transform-origin:0 0;overflow:hidden;container:desk / size}.crt-on{animation:crt-on .45s ease-out both}.crt-off{animation:crt-off .45s ease-in both}.desktop.no-mouse,.desktop.no-mouse *{cursor:none!important;pointer-events:none!important}.devices-missing{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:16px;background:color-mix(in srgb,var(--bg) 92%,transparent);text-align:center}.devices-missing.alone{background:var(--bg)}.devices-missing .missing-face{width:160px;height:128px}.missing-box{max-width:380px;padding:14px 18px;border:1px solid var(--accent);border-radius:6px;background:var(--bg-card)}.missing-box p{margin:6px 0}.missing-title{margin-bottom:8px;color:#ff6b6b;font-weight:700}.kernel-panic{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100000;margin:0;padding:12px;overflow:hidden;background:#000;color:#e8e8e8;font:12px/1.45 var(--font);white-space:pre-wrap;word-break:break-all}.boot-in{animation:boot-in .7s ease-out both}@keyframes boot-in{0%{opacity:0}}@keyframes crt-on{0%{transform:scale(0);filter:brightness(8)}20%{transform:scale(.002,.004);filter:brightness(8)}60%{transform:scaleY(.004);filter:brightness(5)}to{transform:scale(1);filter:brightness(1)}}@keyframes crt-off{0%{transform:scale(1);filter:brightness(1)}40%{transform:scaleY(.004);filter:brightness(5)}80%{transform:scale(.002,.004);filter:brightness(8)}to{transform:scale(0);filter:brightness(8)}}.wallpaper{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(var(--wall-top),var(--wall-bottom));overflow:hidden}.wallpaper-face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:.85;filter:drop-shadow(0 0 3px var(--accent)) drop-shadow(0 0 12px var(--accent-glow));transition:opacity .3s,transform .3s}.wallpaper-face canvas{display:block;width:min(100cqw,100cqh * 1.25);aspect-ratio:5 / 4;image-rendering:pixelated}.face-screen canvas{transition:opacity .3s}.face-screen.away canvas{opacity:0}.wallpaper-face.away{opacity:0;transform:scale(.8)}.slumpy-cam{transition:opacity .3s,scale .3s}.slumpy-cam.away{opacity:0;scale:.6;pointer-events:none}@media (prefers-reduced-motion: reduce){.wallpaper-face,.slumpy-cam{transition:none}}.snow{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;image-rendering:pixelated}.crt-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:100000;background:repeating-linear-gradient(to bottom,rgb(0 0 0 / .16) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 60%,rgb(0 0 0 / .5) 100%)}.icons{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.icons>*{pointer-events:auto}.ctx-menu{position:absolute;z-index:99999;min-width:190px;padding:3px;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--accent);box-shadow:0 0 14px var(--accent-glow),3px 3px #00000080}.ctx-menu button{display:flex;align-items:center;gap:8px;padding:5px 12px 5px 4px;background:none;border:0;text-align:left;white-space:nowrap;cursor:var(--cursor-pointer)}.ctx-menu button:hover:not(:disabled){background:var(--accent-dim);color:#fff}.ctx-menu button:disabled{color:var(--text-faint);cursor:var(--cursor)}.ctx-hint{margin-left:auto;padding-left:24px;color:var(--text-faint);font-size:.9em}.ctx-check{width:12px;color:var(--accent);text-align:center}.ctx-blank{width:16px}.ctx-sep{height:1px;margin:3px 6px;background:var(--border)}.icons.refresh{animation:refresh-flicker .3s steps(3)}@keyframes refresh-flicker{0%{opacity:0}50%{opacity:1;filter:brightness(2)}to{opacity:1}}@media (pointer: coarse){.ctx-menu button{padding:10px 14px 10px 6px}}.marquee{position:absolute;z-index:1;border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 22%,transparent);pointer-events:none}.desk-icon{position:absolute;width:84px;touch-action:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px;background:none;border:1px dotted transparent;color:var(--text);text-shadow:1px 1px 0 #000;cursor:var(--cursor)}.desk-icon span{padding:0 2px;line-height:1.2}.desk-icon.dragging{z-index:2;opacity:.75}.desk-icon.selected span{background:var(--accent-dim)}.desk-icon.selected,.desk-icon:focus-visible{border-color:var(--accent);outline:none}.window{position:absolute;display:flex;flex-direction:column;background:var(--title-bottom);border:2px solid var(--title-bottom);border-top:0;border-radius:7px 7px 0 0;box-shadow:0 0 0 1px var(--accent-dim),4px 4px #00000073}.window.focused{box-shadow:0 0 0 1px var(--accent),0 0 18px var(--accent-glow),4px 4px #00000073}.window:not(.focused){background:var(--title-inactive);border-color:var(--title-inactive)}.window.maximized{border-radius:0;border-width:0}.titlebar{display:flex;align-items:center;gap:6px;height:28px;flex:0 0 auto;padding:0 4px 0 8px;color:#fff;border-radius:6px 6px 0 0;background:linear-gradient(var(--title-top) 0 12%,var(--title-mid) 12% 60%,var(--title-bottom) 60%);text-shadow:1px 1px 0 #000;-webkit-user-select:none;user-select:none;touch-action:none;cursor:var(--cursor)}.window:not(.focused) .titlebar{background:var(--title-inactive);color:var(--text-muted)}.titlebar .title{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.controls{display:flex;gap:3px}.controls button{width:20px;height:20px;display:grid;place-items:center;padding:0;border:1px solid var(--accent-bright);border-radius:3px;background:linear-gradient(var(--accent),var(--accent-dim));color:#fff;font-size:12px;line-height:1;cursor:var(--cursor-pointer)}.controls button.close{border-color:#ffb0a0;background:linear-gradient(#e8805f,#b5341a)}.window:not(.focused) .controls button{filter:saturate(.3) brightness(.8)}.controls button:hover{filter:brightness(1.25)}.window-main{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.window-body{flex:1;min-height:0;background:var(--bg);overflow:auto;display:flex;flex-direction:column;container:win / inline-size}.window-body>*{flex:1;min-height:0}.app-slot{display:flex;flex-direction:column;min-height:0;min-width:0}.app-slot>*{flex:1;min-height:0}.app-parking{display:none}.resize-handle{position:absolute;right:-2px;bottom:-2px;width:14px;height:14px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 0 50%,var(--accent-dim) 50% 60%,transparent 60% 70%,var(--accent-dim) 70% 80%,transparent 80%)}.pad{padding:14px}.card{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:var(--bg-card);border:1px solid var(--border);color:var(--text);text-align:left}a.card:hover,button.card:hover{background:var(--bg-card-hover);border-color:var(--accent-dim);color:var(--text)}.btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:transparent;border:1px solid var(--accent-dim);color:var(--accent);cursor:var(--cursor-pointer);white-space:nowrap}.btn:hover:not(:disabled){background:var(--accent-glow);border-color:var(--accent);color:var(--accent-bright)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}.btn.primary:hover{background:var(--accent-bright);color:var(--bg)}.btn:disabled{opacity:.4;cursor:var(--cursor)}.btn-row{display:flex;flex-wrap:wrap;gap:8px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:2px 8px;border:1px solid var(--border);background:var(--bg-card);color:var(--accent);font-size:11px}.section-title{margin:4px 0;font-size:18px;font-weight:400}.label{margin:8px 0 4px;color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:1px}.toolbar{display:flex;gap:6px;padding:6px;border-bottom:1px solid var(--border);flex:0 0 auto!important}.btn.nav{padding:2px 8px}.address{flex:1;padding:3px 8px;background:var(--bg-card);border:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.statusbar{flex:0 0 auto!important;padding:3px 8px;border-top:1px solid var(--border);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.places{width:170px;flex:0 0 auto;padding:6px;background:var(--bg-card);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:2px;overflow-y:auto}.places-title{padding:2px 6px 6px;color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:1px}.places button{display:flex;align-items:center;gap:8px;padding:4px 6px;text-align:left;background:none;border:1px solid transparent;cursor:var(--cursor-pointer)}.places button:hover{background:var(--bg-card-hover)}.places button.active{background:var(--accent-glow);border-color:var(--accent-dim);color:var(--accent-bright)}.about{padding:16px 18px;line-height:1.6}.about p{margin:0 0 10px}.stack{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 14px}.stack img{height:22px;width:auto;filter:drop-shadow(0 0 1px rgb(255 255 255 / .55))}.stack-sep{color:var(--text-faint)}.about-hero{display:flex;gap:16px;align-items:center;margin-bottom:10px}.about-hero p{margin:0}.avatar{position:relative;width:96px;height:96px;flex:0 0 auto;border:2px solid var(--accent-dim);box-shadow:0 0 16px var(--accent-glow)}.avatar img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.avatar .avatar-hover{opacity:0;image-rendering:pixelated}.avatar:hover .avatar-hover{opacity:1}.status-badge{display:inline-flex;align-items:center;gap:6px;margin-bottom:6px;padding:2px 8px;border:1px solid rgb(74 222 128 / .35);background:#4ade8014;color:var(--ok);font-size:11px}.status-dot{width:6px;height:6px;background:var(--ok);animation:blink 1.6s steps(2) infinite}.hero-name{margin:0;font-size:22px;font-weight:400;color:#fff}.hero-role{font-size:14px}.cursor{color:var(--accent)}.cursor.blink{animation:blink 1s steps(2) infinite}.hero-bio{color:var(--text-muted)}.about .btn-row{margin-bottom:18px}.edu{margin-top:8px}.edu-header{display:flex;justify-content:space-between;align-items:center}.edu-logo{height:28px}.edu-degree{margin:0!important;color:#fff}.coursework{margin-top:8px;padding-top:10px;border-top:1px dashed var(--border)}.coursework-label{margin:0 0 8px!important;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:1px}.course-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.course-tags li{padding:3px 8px;border:1px solid var(--border);border-left:2px solid var(--accent);background:#ffffff08;color:var(--text);font-size:12px;line-height:1.3}.login{position:absolute;top:0;right:0;bottom:0;left:0;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(var(--wall-top),var(--wall-bottom));transition:opacity .4s}.login.leaving{opacity:0}.login-tile{display:flex;align-items:center;gap:16px;padding:16px 22px 16px 16px;background:#00000040;border:1px solid var(--accent-dim);border-radius:8px;animation:login-in .4s ease-out both}@keyframes login-in{0%{opacity:0;transform:translateY(8px)}}.login-avatar{padding:3px;background:#000;border:2px solid var(--accent);border-radius:4px}.login-avatar canvas{display:block;width:80px;height:64px;image-rendering:pixelated}.login-who{display:flex;flex-direction:column;gap:8px;min-width:150px}.login-user{font-size:20px;color:#fff;text-shadow:1px 1px 0 #000}.login-password{padding:3px 8px;min-height:1.6em;background:var(--bg);border:1px solid var(--border);color:var(--accent-bright);letter-spacing:3px}.login-caret{animation:blink 1s step-end infinite}.login-welcome{padding:3px 0;color:var(--accent);letter-spacing:2px}.login-foot{position:absolute;bottom:16px;color:var(--text-faint);font-size:11px;letter-spacing:1px}@media (prefers-reduced-motion: reduce){.login-tile,.login-caret{animation:none}}.notepad{display:flex;flex-direction:column}.notepad-menu{display:flex;gap:2px;padding:2px 4px;background:var(--bg-card);border-bottom:1px solid var(--border)}.notepad-menu button{padding:2px 8px;background:none;border:1px solid transparent;cursor:var(--cursor-pointer)}.notepad-menu button:hover{background:var(--bg-card-hover);border-color:var(--border)}.notepad-menu button.on{color:var(--accent-bright)}.notepad-saveas{display:flex;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid var(--border);background:var(--bg-card)}.notepad-saveas input{flex:1;min-width:0;padding:3px 6px;font:inherit;color:var(--text);background:var(--bg-deep);border:1px solid var(--accent-dim)}.notepad-text{flex:1;min-height:0;margin:0;padding:8px 10px;resize:none;font:inherit;line-height:1.4;color:var(--text);background:var(--bg-deep);border:0;outline:none;cursor:var(--cursor-text)}.notepad-text.nowrap{white-space:pre;overflow-x:auto}.notepad-status{display:flex;justify-content:space-between;gap:12px}.notepad-status span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.notepad-status span:last-child{flex:none}.sysinfo{padding:16px 18px;overflow:auto}.sysinfo-head{display:flex;align-items:center;gap:16px;margin-bottom:14px}.sysinfo-screen{flex-shrink:0;padding:6px;background:#000;border:2px solid var(--border)}.sysinfo-screen canvas{display:block;width:125px;height:100px;image-rendering:pixelated}.sysinfo-name{margin:0 0 2px;font-size:22px;color:#fff}.sysinfo-head p{margin:0}.sysinfo-specs{margin:0;display:grid;gap:6px}.sysinfo-specs>div{display:grid;grid-template-columns:9.5em 1fr;gap:10px;padding-bottom:6px;border-bottom:1px dashed var(--border)}.sysinfo-specs dt{color:var(--accent)}.sysinfo-specs dd{margin:0}@container win (max-width: 420px){.sysinfo-specs>div{grid-template-columns:1fr;gap:0}}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.theme-card{display:flex;flex-direction:column;gap:6px;padding:8px;text-align:left;background:var(--bg-card);border:1px solid var(--border);cursor:var(--cursor-pointer)}.theme-card:hover{background:var(--bg-card-hover)}.theme-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);color:var(--accent-bright)}.theme-preview{display:flex;flex-direction:column;gap:4px;height:56px;padding:0 0 6px;border:1px solid}.theme-preview span{height:4px;margin:0 6px}.theme-preview span:first-child{height:10px;margin:0 0 4px}.device-list{display:flex;flex-direction:column;gap:8px}.device{display:flex;align-items:flex-start;gap:12px;padding:10px;background:var(--bg-card);border:1px solid var(--border)}.device>div{flex:1;min-width:0}.device-note{margin-top:4px;color:var(--text);font-style:italic}.device-pet{display:flex;align-items:flex-end;gap:8px;margin-top:6px;padding-top:6px;border-top:1px dotted var(--border)}.device-pet svg{flex:none}.device-status{color:var(--ok);white-space:nowrap}.device-status.off{color:var(--text-muted)}.explorer{display:flex;flex-direction:column}.explorer-main{flex:1;display:flex;min-height:0}.files{flex:1;padding:10px;display:flex;flex-wrap:wrap;align-content:flex-start;gap:6px;overflow:auto;position:relative;-webkit-user-select:none;user-select:none}.files .band{position:absolute;border:1px solid var(--accent);background:var(--accent-glow);pointer-events:none}.file{width:104px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;background:none;border:1px solid transparent;text-align:center;line-height:1.2;cursor:var(--cursor)}.file:hover{background:var(--bg-card-hover)}.file.selected{background:var(--accent-glow);border-color:var(--accent-dim)}.file span{max-width:100%;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.file.current span{-webkit-line-clamp:unset;line-clamp:unset}.folder-icon{position:relative;width:40px;height:40px}.folder-icon img{position:absolute;right:-4px;bottom:2px;width:20px;height:20px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(1px 1px 0 #000)}.project{padding:14px 16px;display:flex;flex-direction:column;gap:10px;line-height:1.55}.project-head{display:flex;align-items:center;gap:12px}.project-titles{flex:1;min-width:0}.project-head h2{margin:0;font-size:20px;font-weight:400;color:#fff}.project-logo{width:40px;height:40px;object-fit:contain;image-rendering:pixelated}.title-logo{max-height:44px;max-width:100%;image-rendering:pixelated}.title-gif{height:56px;image-rendering:pixelated}.meta{display:flex;gap:10px;align-items:center}.gallery{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.gallery button{flex:0 0 auto;height:110px;padding:0;background:var(--bg-card);border:1px solid var(--border);cursor:zoom-in}.gallery button:hover{border-color:var(--accent)}.gallery img{height:100%;width:auto;max-width:320px;object-fit:contain;display:block}.bullets{margin:0;padding-left:18px}.bullets li{margin-bottom:6px}.bullets li::marker{content:"› ";color:var(--accent)}.image-viewer{display:flex;flex-direction:column;background:var(--bg-deep)}.image-stage{flex:1;min-height:0;display:grid;place-items:center;padding:8px}.image-stage img{max-width:100%;max-height:100%;object-fit:contain}.image-bar{display:flex;align-items:center;gap:8px;padding:6px;border-top:1px solid var(--border);background:var(--bg)}.caption{flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skills{display:flex}.skills-main{flex:1;min-width:0;padding:12px 16px;overflow:auto}.skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;margin-top:10px}.skill{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-card);border:1px solid var(--border)}.skill:hover{border-color:var(--accent-dim)}.resume{display:flex}.resume-list{width:230px;flex:0 0 auto;padding:10px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;border-right:1px solid var(--border)}.resume-list p{margin:0}.card.pick{cursor:var(--cursor-pointer)}.card.pick.active{border-color:var(--accent);background:var(--accent-glow)}.pdf{flex:1;min-width:0;border:0;background:#525659}.contact{padding:14px;display:flex;flex-direction:column;gap:8px}.contact-row{flex-direction:row;align-items:center;gap:14px}.contact-icon{font-size:22px;width:26px;text-align:center}.blog{display:flex;flex-direction:column}.construction{display:flex;flex-direction:column;height:100%}.construction-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;text-align:center}.construction-body p{margin:0}.caution-tape{flex:0 0 18px;background:repeating-linear-gradient(-45deg,#fc0 0,#fc0 12px,#111 12px,#111 24px);background-size:34px 34px;animation:tape-scroll 1.2s linear infinite}@keyframes tape-scroll{to{background-position:34px 0}}.cone{width:96px;height:90px;transform-origin:50% 100%;animation:cone-wobble 1.6s steps(4) infinite alternate}@keyframes cone-wobble{0%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(0) translateY(-6px)}to{transform:rotate(8deg) translateY(0)}}.cone-shadow{width:80px;height:6px;margin-top:-10px;background:#00000073;border-radius:50%;animation:cone-shadow 1.6s steps(4) infinite alternate}@keyframes cone-shadow{50%{transform:scaleX(.8)}}.construction-title{margin:8px 0 0;color:#fc0;font-size:18px;text-transform:uppercase;letter-spacing:2px;text-shadow:2px 2px 0 #000;animation:construction-blink 1s step-end infinite}@keyframes construction-blink{50%{opacity:.35}}@media (prefers-reduced-motion: reduce){.caution-tape,.cone,.cone-shadow,.construction-title{animation:none}}.blog-body{flex:1;overflow:auto;padding:12px;display:grid;gap:8px;align-content:start}.post img{width:100%;max-height:140px;object-fit:cover}.terminal{background:var(--bg-deep);color:var(--text);font-size:13px;line-height:1.35;padding:6px 8px;overflow:auto}.konsole{position:relative;display:flex;background:var(--bg-deep)}.konsole .terminal{flex:1;min-width:0}.slumpy-cam{position:absolute;top:0;left:0;z-index:1;cursor:var(--cursor-grab);touch-action:none}.slumpy-cam.dragging{cursor:var(--cursor-grabbing)}.slumpy-cam canvas{display:block;width:110px;height:88px;image-rendering:pixelated}.terminal pre{margin:0;font:inherit;white-space:pre-wrap}.prompt .p-user{color:var(--ok)}.prompt .p-dir{color:var(--accent)}.input-line{display:flex}.input-line input{flex:1;min-width:0;background:none;border:0;outline:none;color:inherit;font:inherit;padding:0;caret-color:var(--accent)}.taskbar{position:absolute;left:0;right:0;bottom:0;height:var(--taskbar-h, 40px);display:flex;align-items:stretch;z-index:99999;background:linear-gradient(var(--title-top) 0 6%,var(--title-mid) 6% 14%,var(--title-bottom) 14% 88%,#0b2234 88%);border-top:1px solid var(--accent-dim)}.start-wrap{display:flex}.start{height:100%;display:flex;align-items:center;gap:6px;padding:0 22px 0 10px;border:0;border-radius:0 14px 14px 0;background:linear-gradient(var(--accent-bright) 0 12%,var(--accent) 12% 78%,var(--accent-dim) 78%);color:var(--bg);font-size:16px;font-weight:700;text-shadow:1px 1px 0 rgb(255 255 255 / .3);cursor:var(--cursor-pointer)}.start.pressed,.start:hover{filter:brightness(1.12)}.start-menu{position:absolute;bottom:100%;left:0;width:clamp(230px,36%,340px);max-width:100%;max-height:calc(var(--desk-h, 100vh) - var(--taskbar-h, 40px));display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--accent);border-radius:7px 7px 0 0;box-shadow:0 0 18px var(--accent-glow),4px 4px #00000073;overflow:hidden}.start-head{display:flex;align-items:center;gap:10px;padding:8px 10px;color:#fff;background:linear-gradient(var(--title-top),var(--title-bottom));text-shadow:1px 1px 0 #000}.start-head>span{display:flex;flex-direction:column;min-width:0}.start-avatar{flex-shrink:0;padding:2px;background:#000;border:1px solid var(--accent)}.start-avatar canvas{display:block;width:45px;height:36px;image-rendering:pixelated}.start-role{font-size:11px;color:var(--accent-bright);overflow:hidden;text-overflow:ellipsis}.start-search{display:block;width:calc(100% - 16px);margin:8px;padding:4px 8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);font:inherit;outline:none}.start-search:focus{border-color:var(--accent)}.start-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;padding:0 4px 6px}.start-menu svg,.task svg,.places svg{flex-shrink:0}.start-head,.start-list button,.start-foot button{white-space:nowrap}.start-list button,.start-foot button{display:flex;align-items:center;gap:10px;padding:5px 8px;border:0;background:none;text-align:left;cursor:var(--cursor-pointer)}.start-list button:hover{background:var(--accent-glow);color:var(--accent-bright)}.start-sep{height:1px;margin:4px 8px;background:var(--border)}.start-foot-gap{flex:1}.start-fit{padding:5px!important}.start-fit.on{color:var(--accent-bright);background:var(--accent-glow)!important;box-shadow:inset 0 0 0 1px var(--accent)}.start-foot{display:flex;justify-content:flex-end;gap:4px;padding:4px;border-top:1px solid var(--border);background:var(--bg-card)}.start-foot button:hover{background:var(--bg-card-hover)}.tasks{flex:1;min-width:0;display:flex;gap:3px;padding:5px 6px;overflow:hidden}.task{flex:0 1 160px;min-width:40px;display:flex;align-items:center;gap:6px;padding:0 8px;border:1px solid var(--border);border-radius:3px;background:var(--bg-card);cursor:var(--cursor-pointer);overflow:hidden}.task span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.task:hover{background:var(--bg-card-hover)}.task.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent-bright)}.clock.glitch{display:inline-block;color:var(--text);text-shadow:-1px 0 #ff004d,1px 0 #29adff;animation:clock-jitter .16s steps(2) infinite}@keyframes clock-jitter{0%{transform:translate(-1px)}50%{transform:translate(1px,1px)}to{transform:translateY(-1px)}}.tray{display:flex;align-items:center;gap:10px;padding:0 14px;color:var(--accent-bright);background:#00000040;border-left:1px solid var(--accent-dim)}@container desk (max-width: 640px){.start{padding:0 14px 0 8px}.tasks{padding:5px 4px}.task{flex:1 1 0;min-width:0;gap:4px;padding:0 5px;font-size:13px}.tray{gap:6px;padding:0 8px}.start-foot button{flex:1 1 0;min-width:0;justify-content:center;gap:6px}.skills,.explorer-main,.resume{flex-direction:column}.places,.resume-list{width:auto;flex-direction:row;align-items:stretch;gap:6px;padding:6px;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid var(--border);scrollbar-width:none}.places-title,.resume-list>p,.resume-list .pick .muted:last-child{display:none}.places button,.resume-list>*{flex:0 0 auto;white-space:nowrap}.resume-list .pick{padding:6px 10px}.resume-list .btn{order:-1;align-self:center}}@media (pointer: coarse){input,textarea,.start-search,.terminal{font-size:16px}.titlebar{height:36px}.controls{gap:6px}.controls button{width:30px;height:28px;font-size:15px}.resize-handle{width:26px;height:26px}.start-list button{padding:10px}.start-foot button{padding:12px 6px}.start-search{padding:8px 10px}.task{min-width:48px}.power-hint{font-size:18px;padding:12px 14px}.tray-btn{padding:8px;font-size:18px}}.desktop.compact .window.maximized{box-shadow:none}.about,.project,.contact,.skills-main{overflow:auto}.project>*,.contact>*{flex-shrink:0}.tray-btn{padding:2px 4px;background:none;border:0;color:inherit;font-size:15px;cursor:var(--cursor-pointer)}.tray-btn:hover{color:#fff}.tray-fs{display:inline-grid;place-items:center;line-height:0}.browser{display:flex;flex-direction:column;height:100%}.browser-page{flex:1;min-height:0;border:0;background:#fff}.pets{position:absolute;left:0;right:0;height:48px;pointer-events:none}.pet{position:absolute;bottom:0;padding:0;background:none;border:0;cursor:var(--cursor-pointer);pointer-events:auto;line-height:0}.pet-body{display:block}.pet svg{display:block;filter:drop-shadow(0 1px 0 rgb(0 0 0 / .35))}.pet.hop .pet-body{animation:pet-hop .5s ease-out}@keyframes pet-hop{40%{transform:translateY(-12px)}}.pet.sleep .pet-body svg{animation:pet-breathe 2.4s ease-in-out infinite;transform-origin:bottom}@keyframes pet-breathe{50%{transform:scaleY(1.06)}}.pet-z,.pet-heart{position:absolute;left:50%;bottom:100%;font-size:12px;line-height:1;pointer-events:none}.pet-z{color:var(--text);animation:pet-float 2s linear infinite}.pet-heart{color:#ff5f8a;animation:pet-float 1.2s ease-out forwards}@keyframes pet-float{0%{transform:translate(0);opacity:1}to{transform:translate(6px,-18px);opacity:0}}
