:root{--bg:#000;--bg-soft:#031107;--fg:#3cff9d;--fg-soft:#9ef7ca;--accent:#1cff7c;--header:#0a1d11;--border:#0d3f20;--terminal-shadow:0 0 40px rgba(0,255,102,.14),inset 0 0 32px rgba(0,255,102,.08);--glow:0 0 8px rgba(28,255,124,.45)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;color:var(--fg);font-family:Fira Code,JetBrains Mono,Courier New,monospace;background:radial-gradient(circle at top,var(--bg-soft) 0,var(--bg) 60%)}.app{min-height:100vh;position:relative;overflow:hidden}.background-grid{background-image:linear-gradient(rgba(28,255,124,.045) 1px,transparent 0),linear-gradient(90deg,rgba(28,255,124,.045) 1px,transparent 0);background-size:32px 32px;-webkit-mask-image:radial-gradient(circle at center,#000,transparent 75%);mask-image:radial-gradient(circle at center,#000,transparent 75%)}.background-grid,.matrix-canvas{position:absolute;inset:0;pointer-events:none}.matrix-canvas{opacity:0;transition:opacity .24s ease}.matrix-canvas.active{opacity:.22}.desktop-shell{min-height:100vh;display:grid;grid-template-rows:38px 1fr 44px;position:relative;z-index:3}.linux-topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 12px;background:linear-gradient(180deg,#1a1d21,#0e1114);border-bottom:1px solid #252a2f;color:#d6dde6;font-size:12px}.topbar-left{font-weight:600}.topbar-center{justify-self:center;color:#a8facc}.topbar-right{justify-self:end}.desktop-main{display:grid;grid-template-columns:320px 1fr;grid-gap:12px;gap:12px;padding:12px;min-height:0}.file-explorer{border:1px solid #1b2f25;background:rgba(9,19,13,.92);box-shadow:inset 0 0 18px rgba(58,255,157,.08);padding:12px;overflow:auto;min-height:0}.portrait-card{margin-bottom:14px;padding:10px;border:1px solid color-mix(in srgb,var(--border) 75%,#000 25%);background:linear-gradient(180deg,rgba(7,20,12,.95),rgba(3,12,7,.95));box-shadow:0 0 18px rgba(28,255,124,.08),inset 0 0 18px rgba(28,255,124,.06)}.portrait-frame{position:relative;overflow:hidden;aspect-ratio:3/4;border:1px solid rgba(106,255,177,.25);background:radial-gradient(circle at top,rgba(56,255,150,.2),transparent 42%),linear-gradient(180deg,rgba(8,24,15,.98),rgba(0,0,0,.98))}.portrait-image{width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:grayscale(.18) contrast(1.18) saturate(.62) hue-rotate(56deg) brightness(.82);opacity:.88}.portrait-glow,.portrait-scanline{position:absolute;inset:0;pointer-events:none}.portrait-scanline{background:repeating-linear-gradient(180deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,.05) 1px,transparent 0,transparent 4px);opacity:.28}.portrait-glow{background:linear-gradient(180deg,rgba(56,255,150,.14),transparent 28%,rgba(0,0,0,.12)),radial-gradient(circle at center,transparent 42%,rgba(56,255,150,.22) 100%)}.portrait-frame:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(56,255,150,.12),transparent 22%,transparent 78%,rgba(56,255,150,.12)),linear-gradient(180deg,transparent,rgba(0,0,0,.08) 65%,rgba(0,0,0,.35))}.portrait-fallback{height:100%;display:grid;place-items:center;align-content:center;grid-gap:8px;gap:8px;padding:18px;text-align:center;color:var(--fg-soft)}.portrait-fallback-title{font-size:14px;font-weight:700;color:var(--fg)}.portrait-fallback-copy{font-size:11px;line-height:1.5}.portrait-meta{margin-top:10px;display:grid;grid-gap:2px;gap:2px}.portrait-name,.portrait-role{margin:0}.portrait-name{font-size:13px;color:var(--fg)}.portrait-role{font-size:11px;color:var(--fg-soft)}.explorer-title{margin:0 0 10px;color:var(--fg-soft);font-size:12px;word-break:break-all}.explorer-list{display:grid;grid-gap:8px;gap:8px;grid-template-columns:1fr}.terminal-shell{border:1px solid var(--border);box-shadow:var(--terminal-shadow);overflow:hidden;background:linear-gradient(180deg,rgba(5,15,9,.95),rgba(0,0,0,.95));display:flex;flex-direction:column;min-height:0;position:relative}.terminal-shell:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(180deg,hsla(0,0%,100%,.015),hsla(0,0%,100%,.015) 1px,transparent 0,transparent 3px);opacity:.32}.terminal-footer,.terminal-header{min-height:40px;display:flex;align-items:center;gap:10px;padding:0 12px;background:color-mix(in srgb,var(--header) 90%,#000 10%);position:relative;z-index:4}.terminal-header{border-bottom:1px solid color-mix(in srgb,var(--border) 80%,#000 20%)}.terminal-footer{border-top:1px solid color-mix(in srgb,var(--border) 80%,#000 20%);justify-content:space-between;color:var(--fg-soft);font-size:12px}.terminal-header p{margin:0 0 0 6px;color:var(--fg-soft);font-size:13px}.header-right{margin-left:auto;display:flex;gap:16px;font-size:12px;color:var(--fg-soft)}.dot{width:10px;height:10px;border-radius:50%}.dot.red{background:#ff5f56}.dot.amber{background:#ffbd2e}.dot.green{background:#27c93f}.terminal-body{padding:16px;overflow-y:auto;flex:1 1;position:relative;z-index:3}.boot-sequence p,.line{margin:0 0 8px;white-space:pre-wrap;word-break:break-word;line-height:1.6;text-shadow:var(--glow)}.boot-sequence p{animation:fade-in .4s ease}.line.command{color:color-mix(in srgb,var(--fg) 75%,#fff 25%);font-weight:700}.line.system{color:color-mix(in srgb,var(--fg) 80%,#99ffc6 20%)}.line.warn{color:#ff8a8a}.line.success{color:#7dffc5}.line.game{color:#86ffea}.command-line{display:flex;align-items:center;margin-top:6px}.prompt{margin-right:10px;font-weight:700}.command-line input{background:transparent;border:0;outline:none;color:var(--fg);width:100%;font-size:16px;font-family:inherit}.command-line input:disabled{opacity:.7}.folder-panel{margin:4px 0 14px}.folder-list{display:grid;grid-gap:10px;gap:10px;margin-top:8px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.folder-item{display:grid;justify-items:center;align-content:start;grid-gap:8px;gap:8px;width:100%;min-height:98px;padding:8px;border:1px solid color-mix(in srgb,var(--border) 85%,#000 15%);background:rgba(2,18,10,.5);color:var(--fg);font-family:inherit;text-align:center;cursor:pointer}.folder-item.compact{min-height:54px;padding:8px 10px;display:grid;grid-template-columns:30px 1fr;grid-gap:10px;gap:10px;align-items:center;justify-items:stretch;text-align:left;border-radius:6px;background:linear-gradient(180deg,rgba(7,26,15,.88),rgba(3,15,9,.88))}.folder-item.compact .entry-icon{width:26px;height:22px}.folder-item.compact .entry-meta{gap:2px}.folder-item.compact .folder-label{font-size:12px}.folder-item.compact .folder-desc{font-size:10px}.folder-item:focus-visible,.folder-item:hover{outline:none;border-color:color-mix(in srgb,var(--accent) 60%,#fff 40%);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 40%,transparent 60%)}.entry-icon{width:36px;height:30px;display:grid;place-items:center;border:1px solid hsla(0,0%,100%,.2);box-shadow:inset 0 0 10px rgba(0,0,0,.35);position:relative}.entry-icon.folder{background:linear-gradient(180deg,#f5c64d,#b1811b);border-color:#ffd979;color:#2f2208}.entry-icon.app{background:linear-gradient(180deg,#2dcf78,#1f7c4a);border-color:#7be9af;color:#052313}.entry-svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.entry-meta{display:grid;grid-gap:4px;gap:4px;width:100%}.folder-label{font-weight:700;text-transform:lowercase;font-size:12px}.folder-desc,.folder-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-desc{color:var(--fg-soft);font-size:10px;line-height:1.35}.cursor{width:10px;height:18px;margin-left:4px;background:var(--fg);animation:blink 1s steps(1) infinite}.linux-taskbar{display:flex;align-items:center;gap:8px;padding:0 10px;background:linear-gradient(180deg,#12161a,#0a0c0f);border-top:1px solid #20262d}.task-btn{height:30px;padding:0 12px;border:1px solid #2a3138;background:#161c22;color:#d6dde6;font-family:inherit;cursor:pointer}.task-btn.active{border-color:#3ea56d;color:#96f5bf}.taskbar-spacer{flex:1 1}.taskbar-status{color:#d6dde6;font-size:12px}.name-modal-wrap{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.name-modal{width:min(460px,calc(100% - 24px));border:1px solid #29583b;background:linear-gradient(180deg,#08150d,#020703);padding:18px;display:grid;grid-gap:10px;gap:10px}.modal-title{margin:0;font-size:16px;color:#a9ffce}.modal-subtitle{margin:0}.modal-subtitle,.name-modal label{color:var(--fg-soft);font-size:13px}.name-modal input{height:40px;background:#010402;border:1px solid #29583b;color:var(--fg);padding:0 10px;font-family:inherit}.name-modal button{height:38px;border:1px solid #3ea56d;background:#0d2818;color:#9cf8c6;font-family:inherit;cursor:pointer}.app.amber{--bg-soft:#120d03;--fg:#ffd36a;--fg-soft:#ffe4a5;--accent:#ffb020;--header:#211605;--border:#5d3e11;--terminal-shadow:0 0 40px rgba(255,176,32,.14),inset 0 0 32px rgba(255,176,32,.08);--glow:0 0 8px rgba(255,176,32,.4)}.app.cyan{--bg-soft:#041017;--fg:#66f3ff;--fg-soft:#b5fbff;--accent:#20d9ff;--header:#07212c;--border:#0d4a5e;--terminal-shadow:0 0 40px rgba(32,217,255,.14),inset 0 0 32px rgba(32,217,255,.08);--glow:0 0 8px rgba(32,217,255,.4)}@keyframes blink{50%{opacity:0}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1100px){.desktop-main{grid-template-columns:270px 1fr}}@media (max-width:860px){.desktop-main{grid-template-columns:1fr}.file-explorer{max-height:180px}.topbar-center,.topbar-left{display:none}.linux-topbar{grid-template-columns:1fr}.topbar-right{justify-self:start}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}