:root{
  --bg:#03080d; --bg2:#06131c; --panel:#07161f; --panel2:#0a1d28;
  --line:#12384d; --line2:#1c5672; --cy:#54f3d6; --cy2:#2bd0b6;
  --am:#ffb454; --pink:#ff5f8f; --tx:#c9e7f5; --dim:#6b8ea3; --white:#eafaff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:
    radial-gradient(900px 500px at 18% -10%, rgba(255,111,199,.11), transparent 60%),
    radial-gradient(800px 600px at 100% 0%, rgba(111,247,255,.08), transparent 55%),
    radial-gradient(700px 520px at 50% 112%, rgba(151,77,255,.16), transparent 64%),
    linear-gradient(180deg,#07020f,#03060d 55%,#0b0418);
  color:var(--tx);font:14px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  min-height:100vh;overflow-x:hidden;
}
a{color:var(--cy);text-decoration:none}
a:hover{color:var(--white)}
code{color:var(--am);background:#041018;padding:1px 5px;border-radius:3px;font-size:.92em}
.scan{position:fixed;inset:0;pointer-events:none;z-index:9;opacity:.16;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0 1px,transparent 1px 3px);
  mix-blend-mode:overlay}
header.site{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:22px;
  padding:14px 26px;border-bottom:1px solid var(--line);background:rgba(3,8,13,.88);backdrop-filter:blur(9px)}
.brand{display:flex;align-items:center;gap:8px;letter-spacing:3px;color:var(--white);font-weight:700}
.brand .mark{color:var(--cy)}
.brand .slash{color:var(--dim)}
header nav{display:flex;gap:20px;margin-left:auto;flex-wrap:wrap}
header nav a{font-size:11px;letter-spacing:2px;color:var(--dim)}
header nav a.on,header nav a:hover{color:var(--cy)}
.hub{font-size:10px;letter-spacing:1.5px;color:var(--dim);border-left:1px solid var(--line);padding-left:18px;white-space:nowrap}
.hub.online{color:var(--cy)}
.wrap{max-width:1240px;margin:0 auto;padding:0 26px 70px}
footer.site{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;
  border-top:1px solid var(--line);padding:18px 26px;color:var(--dim);font-size:10px;letter-spacing:1.4px}
.kicker{font-size:10px;letter-spacing:3px;color:var(--am);margin-bottom:8px}
.muted{color:var(--dim)}.small{font-size:11px}
h1{font-size:clamp(32px,6vw,74px);line-height:.98;letter-spacing:-2px;margin:10px 0 18px;color:var(--white)}
h2{font-size:clamp(22px,3vw,34px);letter-spacing:-.5px;margin:0;color:var(--white)}
h3{font-size:13px;letter-spacing:2px;color:var(--cy);margin:18px 0 8px;text-transform:uppercase}
.hero{padding:64px 0 30px;border-bottom:1px solid var(--line)}
.hero h1 span{color:var(--cy);text-shadow:0 0 28px rgba(84,243,214,.28)}
.lede{max-width:760px;color:#a9c7d8;font-size:15px;line-height:1.75}
.promptbar{display:flex;align-items:center;gap:10px;margin-top:26px;border:1px solid var(--line2);
  background:linear-gradient(180deg,#07161f,#050f16);border-radius:7px;padding:7px 8px;max-width:880px;
  box-shadow:0 0 0 1px rgba(84,243,214,.04),0 18px 40px rgba(0,0,0,.35)}
.promptbar:focus-within{border-color:var(--cy);box-shadow:0 0 0 1px rgba(84,243,214,.25)}
.prompt-label{font-size:10px;letter-spacing:2px;color:var(--cy);padding-left:8px;white-space:nowrap}
.promptbar input{flex:1;background:transparent;border:0;outline:0;color:var(--white);font:inherit;padding:10px 4px;min-width:0}
.promptbar input::placeholder{color:#476779}
.promptbar button,.console-form button,.filter button,.quick button,.big,.row button{
  background:linear-gradient(180deg,#0d3441,#092430);border:1px solid var(--line2);color:var(--cy);
  font:inherit;font-size:11px;letter-spacing:2px;padding:10px 16px;border-radius:4px;cursor:pointer}
.promptbar button:hover,.console-form button:hover,.quick button:hover,.big:hover{border-color:var(--cy);color:var(--white)}
.promptbar.compact{margin-top:20px;max-width:560px}
.hero-stats{display:flex;gap:34px;flex-wrap:wrap;margin-top:30px}
.hero-stats div{display:flex;flex-direction:column}
.hero-stats b{font-size:22px;color:var(--white);letter-spacing:1px}
.hero-stats span{font-size:9px;letter-spacing:2px;color:var(--dim)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:52px 0 22px;flex-wrap:wrap}
.more{font-size:10px;letter-spacing:2px;color:var(--am)}
.count{font-size:12px;color:var(--dim);letter-spacing:1px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}
.card{display:flex;flex-direction:column;background:linear-gradient(180deg,var(--panel),#050f16);
  border:1px solid var(--line);border-radius:8px;overflow:hidden;transition:transform .18s,border-color .18s,box-shadow .18s}
.card:hover{transform:translateY(-3px);border-color:var(--line2);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.card-art{aspect-ratio:1200/750;background:#02070b;border-bottom:1px solid var(--line);overflow:hidden}
.card-art img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9)}
.card-body{padding:14px 15px 13px}
.card-class{font-size:9px;letter-spacing:2px;color:var(--am)}
.card h3{font-size:16px;color:var(--white);margin:5px 0 4px;letter-spacing:.5px;text-transform:none}
.card p{font-size:11.5px;color:#8babbd;margin:0 0 12px;min-height:34px}
.card-meta{display:flex;gap:12px;font-size:8.5px;letter-spacing:1.4px;color:#4f7187;border-top:1px solid #0d2633;padding-top:9px}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;margin-top:42px}
.panel{background:linear-gradient(180deg,var(--panel),#050e15);border:1px solid var(--line);border-radius:8px;padding:20px}
.steps{margin:0;padding:0;list-style:none;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:78px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #0c2431}
.steps li:last-child{border:0}
.steps li::before{content:"0" counter(s);color:var(--cy);font-size:10px;letter-spacing:1px;grid-row:1}
.steps b{font-size:10px;letter-spacing:2px;color:var(--am)}
.steps span{grid-column:2;font-size:11.5px;color:#8babbd}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chips a{font-size:9.5px;letter-spacing:1px;border:1px solid var(--line);border-radius:20px;padding:5px 10px;color:#9fc2d4}
.chips a span{color:var(--dim)}
.chips a:hover{border-color:var(--cy);color:var(--cy)}
.classlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.classlist a{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);
  background:var(--panel);border-radius:6px;padding:13px 15px;color:var(--tx);letter-spacing:1px;font-size:11px}
.classlist a:hover{border-color:var(--cy);color:var(--cy)}
.classlist span{color:var(--dim);font-size:10px}
.filter{display:flex;gap:8px}
.filter input{background:#041018;border:1px solid var(--line);color:var(--tx);padding:9px 12px;border-radius:4px;font:inherit;min-width:210px}
.pager{display:flex;justify-content:space-between;margin-top:28px;font-size:10px;letter-spacing:1.5px;color:var(--dim)}
.empty{padding:60px 0;color:var(--dim)}
/* machine */
.machine-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:center;padding:38px 0 30px;border-bottom:1px solid var(--line)}
.machine-art{border:1px solid var(--line2);border-radius:9px;overflow:hidden;background:#02070b;box-shadow:0 24px 70px rgba(0,0,0,.5)}
.machine-art img{display:block;width:100%;height:auto}
.machine-copy h1{font-size:clamp(30px,5vw,58px);margin:6px 0 12px}
.meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.meta-grid div{display:flex;flex-direction:column;gap:2px}
.meta-grid span{font-size:8.5px;letter-spacing:1.7px;color:var(--dim)}
.meta-grid b{font-size:11px;color:var(--cy);letter-spacing:1px}
.machine-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-top:24px;align-items:start}
.console-panel{background:#02090e;border:1px solid var(--line2);border-radius:8px;overflow:hidden;box-shadow:0 0 40px rgba(84,243,214,.05) inset}
.term-head{display:flex;justify-content:space-between;padding:9px 13px;border-bottom:1px solid var(--line);
  background:#06151e;font-size:9px;letter-spacing:2px;color:var(--dim)}
.term-head b{color:var(--cy);font-weight:400}
.screen{margin:0;padding:16px 16px 10px;min-height:390px;max-height:460px;overflow:auto;white-space:pre-wrap;
  color:#9ef7db;font:12.5px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;text-shadow:0 0 8px rgba(84,243,214,.2)}
.screen::selection{background:var(--cy);color:#03100c}
.console-form{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding:8px 10px;background:#041018}
.caret{font-size:10px;color:var(--am);white-space:nowrap}
.console-form input{flex:1;background:transparent;border:0;outline:0;color:var(--white);font:inherit;padding:8px 2px}
.quick{display:flex;gap:6px;flex-wrap:wrap;padding:8px 10px 11px;border-top:1px solid #0b2330}
.quick button{padding:6px 10px;font-size:9px;letter-spacing:1.4px;color:#8fb4ca}
.qgroup{font-size:8px;letter-spacing:1.7px;color:var(--am);align-self:center;margin:0 2px 0 6px}
.state-rail{padding:10px 12px 11px;border-top:1px solid #0b2330;background:#030c12;display:flex;flex-direction:column;gap:6px}
.objective{display:flex;gap:8px;align-items:baseline;font-size:9px}
.objective span{letter-spacing:1.7px;color:var(--dim);white-space:nowrap}
.objective b{font-weight:400;color:var(--white);font-size:10px;line-height:1.35}
.meter{display:grid;grid-template-columns:132px 1fr 50px;gap:8px;align-items:center;font-size:9px}
.meter span{color:#8fb4ca;letter-spacing:.8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.meter .track{height:5px;background:#0b2330;border:1px solid #103345;border-radius:3px;overflow:hidden}
.meter .track i{display:block;height:100%;background:linear-gradient(90deg,#2bbfa5,var(--cy));box-shadow:0 0 8px rgba(84,243,214,.5)}
.meter b{color:var(--cy);font-weight:400;text-align:right}
.world-line{font-size:9px;color:var(--dim);letter-spacing:.6px}
.live{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line)}
.reg{display:flex;justify-content:space-between;padding:7px 9px;background:#041018;font-size:9px;letter-spacing:1px}
.reg span{color:var(--dim)}.reg b{color:var(--cy);font-weight:400}
.spec-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line);background:#041018}
.tab{background:transparent;border:0;border-right:1px solid #0d2633;color:var(--dim);font:inherit;font-size:9px;letter-spacing:1.6px;padding:10px 11px;cursor:pointer}
.tab.on{color:var(--cy);background:#071923}
.tabpane{display:none;padding:14px 15px 18px;max-height:520px;overflow:auto}
.tabpane.on{display:block}
table.spec{width:100%;border-collapse:collapse;font-size:10.5px}
table.spec td{padding:6px 5px;border-bottom:1px solid #0b2330;vertical-align:top}
table.spec td:first-child{color:var(--cy);white-space:nowrap;padding-right:10px}
.tag{font-size:8px;letter-spacing:1px;border:1px solid var(--line2);border-radius:3px;padding:1px 5px;color:var(--am)}
pre.code{background:#02080c;border:1px solid var(--line);border-radius:5px;padding:10px;font-size:10.5px;line-height:1.55;color:#9fc2d4;overflow:auto;max-height:230px;white-space:pre-wrap}
pre.code.hex{word-break:break-all;font-size:9.5px;color:#5f93ad;max-height:150px}
/* create */
.create{padding:44px 0;max-width:900px}
.create h1{font-size:clamp(34px,6vw,64px)}
#create-form{display:flex;flex-direction:column;gap:14px;margin-top:22px}
#create-form textarea{width:100%;height:150px;resize:vertical;background:#041018;border:1px solid var(--line2);
  border-radius:7px;color:var(--white);font:inherit;padding:14px;outline:0}
#create-form textarea:focus{border-color:var(--cy)}
.row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.check{font-size:10px;letter-spacing:1.5px;color:var(--dim)}
.check input{accent-color:var(--cy);vertical-align:-2px}
.big{padding:14px 26px;font-size:12px;letter-spacing:3px;align-self:flex-start}
.phasebox{margin-top:30px;border:1px solid rgba(255,157,226,.2);border-radius:7px;background:linear-gradient(180deg,rgba(24,7,38,.72),rgba(3,8,13,.9));padding:15px}
#phases{margin:0;white-space:pre-wrap;color:#8fb4ca;font-size:11px;min-height:120px}
/* prompt-generated development plan */
.devplan{border:1px solid rgba(255,157,226,.32);background:linear-gradient(180deg,rgba(41,12,64,.72),rgba(5,7,20,.92));box-shadow:inset 0 0 30px rgba(255,111,199,.06)}
.devplan>header{display:flex;align-items:baseline;gap:8px;padding:6px 8px;border-bottom:1px solid rgba(255,157,226,.2);background:linear-gradient(90deg,rgba(255,111,199,.16),rgba(111,247,255,.05));color:#ff9de2;font-size:7px;letter-spacing:1.6px}
.devplan>header b{color:#fff;font-size:8px;letter-spacing:1.4px}.devplan>header i{margin-left:auto;font-style:normal;color:#8ab9d0;font-size:6.5px;letter-spacing:.8px}
.devplan-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:6px}
.plan-task{display:grid;grid-template-columns:21px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:0 5px;align-items:baseline;padding:4px 5px;border:1px solid rgba(255,157,226,.12);background:rgba(4,8,17,.7);min-width:0}
.plan-index{grid-row:span 2;align-self:center;color:#6a5a8e;font-size:7px;letter-spacing:.5px}
.plan-task b{font-size:7.5px;letter-spacing:.5px;font-weight:400;color:#c9e7f5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plan-task em{grid-column:2;font-style:normal;font-size:6.2px;line-height:1.35;color:#718ca3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plan-state{grid-column:3;grid-row:1/span 2;align-self:center;font-style:normal;font-size:6px;letter-spacing:.8px;color:#5f7890;border:1px solid rgba(255,157,226,.14);padding:2px 3px}
.plan-task[data-state="run"]{border-color:#6ff7ff;background:rgba(9,32,42,.78);box-shadow:0 0 12px rgba(111,247,255,.12)}
.plan-task[data-state="run"] .plan-state{color:#6ff7ff;border-color:#6ff7ff;animation:crtPulse 1.2s infinite}
.plan-task[data-state="done"]{border-color:rgba(159,232,112,.42)}.plan-task[data-state="done"] .plan-state{color:#9fe870;border-color:rgba(159,232,112,.42)}
.plan-task[data-state="skip"]{opacity:.55}.plan-task[data-state="skip"] .plan-state{color:#ffcf6e;border-color:rgba(255,207,110,.35)}
.plan-task[data-state="fail"]{border-color:#ff5f8f}.plan-task[data-state="fail"] .plan-state{color:#ff5f8f;border-color:#ff5f8f}
.plan-task[data-state="adapt"]{border-color:#ffcf6e}.plan-task[data-state="adapt"] .plan-state{color:#ffcf6e;border-color:#ffcf6e}
.devplan-foot{display:flex;align-items:center;gap:8px;padding:4px 8px;border-top:1px solid rgba(255,157,226,.15);font-size:6.4px;line-height:1.4;color:#8ab9d0}
.plan-adapt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#plan-progress{color:#ff9de2;font-size:6.5px;letter-spacing:.8px;white-space:nowrap}
@media(max-width:620px){.devplan-grid{grid-template-columns:1fr}.plan-task b{font-size:7px}}
/* bench */
table.bench{width:100%;border-collapse:collapse;margin-top:20px;font-size:11px}
table.bench th{text-align:left;color:var(--dim);font-size:9px;letter-spacing:1.8px;font-weight:400;padding:8px 6px;border-bottom:1px solid var(--line2)}
table.bench td{padding:9px 6px;border-bottom:1px solid #0b2330}
table.bench td b{color:var(--cy)}
.big-number{font-size:34px;color:var(--white);margin:6px 0}
.big-number span{font-size:11px;color:var(--dim);letter-spacing:2px}
/* prose */
.prose{max-width:800px;padding:44px 0}
.prose h1{font-size:clamp(34px,5vw,56px)}
.prose h2{font-size:20px;margin:30px 0 8px;color:var(--cy);letter-spacing:0}
.prose p,.prose li{color:#a9c7d8;font-size:13px}
.prose ul{padding-left:18px}
details{border-bottom:1px solid var(--line);padding:14px 0}
summary{cursor:pointer;color:var(--white);font-size:13px;letter-spacing:.5px}
details p{color:#93b3c6}
@media(max-width:960px){
  .machine-hero,.machine-grid,.split{grid-template-columns:1fr}
  .meta-grid{grid-template-columns:repeat(3,1fr)}
  header.site{gap:12px;padding:12px 16px}
  header nav{order:3;width:100%;margin-left:0;gap:14px}
  .hub{border:0;padding:0}
  .wrap{padding:0 16px 50px}
}
@media(max-width:560px){
  h1{letter-spacing:-1px}
  .hero{padding-top:34px}
  .hero-stats{gap:20px}
  .meta-grid{grid-template-columns:repeat(2,1fr)}
  .live{grid-template-columns:repeat(2,1fr)}
  .screen{min-height:320px}
}

/* generated CRT operator surface */
.crt-bay{
  --crt:#54f3d6; --crt-dim:#2b8f80; --crt-faint:rgba(84,243,214,.13); --crt-glow:rgba(84,243,214,.35);
  margin-top:24px; position:relative;
}
.crt-bay[data-frame="amber"]{--crt:#ffb454;--crt-dim:#a66b28;--crt-faint:rgba(255,180,84,.13);--crt-glow:rgba(255,180,84,.33)}
.crt-bay[data-frame="green"]{--crt:#9fe870;--crt-dim:#5b9a3b;--crt-faint:rgba(159,232,112,.12);--crt-glow:rgba(159,232,112,.3)}
.crt-bay[data-frame="cyan"]{--crt:#54f3d6;--crt-dim:#2b8f80;--crt-faint:rgba(84,243,214,.13);--crt-glow:rgba(84,243,214,.35)}
.crt-bay[data-frame="violet"]{--crt:#c9a0ff;--crt-dim:#7954a8;--crt-faint:rgba(201,160,255,.13);--crt-glow:rgba(201,160,255,.32)}
.crt-bay[data-frame="vaporwave"]{--crt:#ff9de2;--crt-dim:#b86ee8;--crt-faint:rgba(255,157,226,.16);--crt-glow:rgba(255,157,226,.42);--crt-cyan:#6ff7ff;--crt-sun:#ffcf6e}
.crt-bezel{
  padding:10px; border:1px solid #1a3b43; border-radius:18px;
  background:linear-gradient(160deg,#0b2027,#03090d 42%,#07141a 100%);
  box-shadow:0 24px 70px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.03), inset 0 -18px 40px rgba(0,0,0,.55);
}
.crt-screen{
  position:relative; overflow:hidden; isolation:isolate; padding:18px 18px 13px;
  border:1px solid var(--crt-dim); border-radius:11px;
  background:
    radial-gradient(ellipse at 50% 40%, rgba(84,243,214,.06), transparent 62%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.018) 0 1px, transparent 1px 4px),
    linear-gradient(180deg,#020b0c,#010506 60%,#031010);
  box-shadow:inset 0 0 80px rgba(0,0,0,.85), inset 0 0 22px var(--crt-faint), 0 0 26px rgba(0,0,0,.7);
}
.crt-screen::before{
  content:""; position:absolute; inset:0; z-index:4; pointer-events:none; border-radius:inherit;
  background:radial-gradient(ellipse at center, transparent 48%, rgba(0,0,0,.44) 100%);
  box-shadow:inset 0 0 90px rgba(0,0,0,.55);
}
.crt-screen::after{
  content:""; position:absolute; inset:-2px; z-index:5; pointer-events:none; opacity:.16;
  background:repeating-linear-gradient(0deg, rgba(255,255,255,.13) 0 1px, transparent 1px 3px);
  animation:crtScan 9s linear infinite;
}
.crt-scanlines,.crt-glare{position:absolute; inset:0; pointer-events:none; z-index:3; border-radius:inherit}
.crt-scanlines{background:linear-gradient(180deg, transparent 0 46%, rgba(255,255,255,.025) 50%, transparent 54% 100%); animation:crtRoll 7s linear infinite}
.crt-glare{background:linear-gradient(112deg, rgba(255,255,255,.08), transparent 26% 72%, rgba(255,255,255,.035)); mix-blend-mode:screen}
.crt-head{position:relative; z-index:6; display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding-bottom:13px; border-bottom:1px solid var(--crt-faint)}
.crt-heading{min-width:0}
.crt-kicker{display:block; color:var(--crt-dim); font-size:8.5px; letter-spacing:2.4px; margin-bottom:6px}
.crt-head h2{margin:0; color:var(--crt); font-size:clamp(20px,3vw,32px); line-height:1; letter-spacing:-.5px; text-shadow:0 0 18px var(--crt-glow)}
.crt-head p{margin:7px 0 0; color:#8fb7b2; font-size:11px; line-height:1.5; max-width:760px}
.crt-status{display:flex; align-items:center; gap:8px; border:1px solid var(--crt-faint); border-radius:4px; padding:7px 9px; color:var(--crt); font-size:9px; letter-spacing:1.6px; white-space:nowrap; background:rgba(0,0,0,.2)}
.crt-status i{width:6px; height:6px; border-radius:50%; background:var(--crt); box-shadow:0 0 10px var(--crt); animation:crtPulse 1.8s ease-in-out infinite}
.crt-status.won{border-color:var(--crt); box-shadow:0 0 16px var(--crt-faint)}
.crt-body{position:relative; z-index:6; display:grid; grid-template-columns:1.4fr .6fr; gap:13px; padding:13px 0}
.crt-system{border:1px solid var(--crt-faint); border-radius:7px; background:rgba(0,12,12,.46); overflow:hidden; min-width:0}
.crt-system-head{display:flex; justify-content:space-between; gap:10px; padding:8px 10px; border-bottom:1px solid var(--crt-faint); color:var(--crt-dim); font-size:8px; letter-spacing:1.8px}
.crt-system-head b{color:var(--crt); font-weight:400; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.crt-topology{position:relative; min-height:310px; aspect-ratio:16/8.4; background:
  linear-gradient(var(--crt-faint) 1px, transparent 1px) 0 0/100% 20%,
  linear-gradient(90deg,var(--crt-faint) 1px, transparent 1px) 0 0/20% 100%;
  box-shadow:inset 0 0 50px rgba(0,0,0,.65)}
.crt-topology svg{position:absolute; inset:0; width:100%; height:100%; z-index:1; overflow:visible}
.crt-topology line{stroke:var(--crt-dim); stroke-width:.55; vector-effect:non-scaling-stroke; stroke-dasharray:2 2; opacity:.8}
.crt-node{
  position:absolute; left:var(--x); top:var(--y); transform:translate(-50%,-50%); z-index:2;
  display:flex; flex-direction:column; align-items:flex-start; gap:2px; min-width:74px; max-width:128px;
  padding:7px 8px 6px; border:1px solid var(--crt-dim); border-radius:5px;
  background:rgba(2,16,16,.86); color:var(--crt); cursor:pointer; text-align:left;
  font:inherit; box-shadow:0 0 0 3px rgba(0,0,0,.25), 0 0 12px rgba(0,0,0,.4); transition:border-color .16s, box-shadow .16s, background .16s;
}
.crt-node span{font-size:7px; letter-spacing:1.4px; color:var(--crt-dim)}
.crt-node b{font-size:9px; line-height:1.2; font-weight:400; letter-spacing:.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:112px}
.crt-node:hover{border-color:var(--crt); background:rgba(8,30,28,.95); box-shadow:0 0 18px var(--crt-faint)}
.crt-node.visited{border-color:var(--crt-dim)}
.crt-node.active{border-color:var(--crt); background:rgba(10,42,36,.95); box-shadow:0 0 0 3px var(--crt-faint), 0 0 22px var(--crt-glow); animation:crtNode 2.4s ease-in-out infinite}
.crt-node.active span{color:var(--crt)}
.crt-node.kind-core b{color:#fff}
.crt-node-readout{display:grid; grid-template-columns:auto 1fr; gap:2px 10px; align-items:baseline; padding:8px 10px; border-top:1px solid var(--crt-faint); background:rgba(0,0,0,.22)}
.crt-node-readout span{grid-row:1; color:var(--crt-dim); font-size:7.5px; letter-spacing:1.7px}
.crt-node-readout b{grid-row:1; color:var(--crt); font-size:10px; letter-spacing:1px; font-weight:400; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.crt-node-readout p{grid-column:1/-1; margin:1px 0 0; color:#7fa7a2; font-size:9.5px; line-height:1.4; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.crt-panels{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; align-content:start; min-width:0}
.crt-panel{border:1px solid var(--crt-faint); border-radius:6px; background:rgba(0,13,13,.5); padding:9px 10px; min-width:0; min-height:72px; display:flex; flex-direction:column; gap:5px; overflow:hidden}
.crt-panel-label{color:var(--crt-dim); font-size:7.5px; letter-spacing:1.7px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.crt-panel b,.crt-panel .crt-big{color:var(--crt); font-weight:400; letter-spacing:.4px}
.crt-panel.is-objective{grid-column:span 2}
.crt-objective{font-size:11px; line-height:1.35; display:block; color:#d6fff5; min-height:28px}
.crt-progress{height:4px; border:1px solid var(--crt-faint); border-radius:3px; overflow:hidden; background:#020b0b}
.crt-progress i{display:block; height:100%; width:0; background:linear-gradient(90deg,var(--crt-dim),var(--crt)); box-shadow:0 0 8px var(--crt-glow); transition:width .25s}
.crt-progress-text{color:#7fa7a2; font-size:8.5px; letter-spacing:.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.crt-meter{height:6px; border:1px solid var(--crt-faint); border-radius:3px; overflow:hidden; background:#020b0b}
.crt-meter i{display:block; height:100%; width:0; background:linear-gradient(90deg,var(--crt-dim),var(--crt)); box-shadow:0 0 8px var(--crt-glow); transition:width .25s}
.crt-read{display:flex; align-items:baseline; gap:2px; justify-content:flex-end}
.crt-read b{font-size:14px}.crt-read span{font-size:8.5px; color:var(--crt-dim)}
.crt-panel.critical{border-color:var(--crt); box-shadow:0 0 14px var(--crt-faint)}
.crt-room{font-size:12px; line-height:1.25; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.crt-room-desc{margin:0; color:#7fa7a2; font-size:8.5px; line-height:1.4; max-height:34px; overflow:hidden}
.crt-exits{display:flex; flex-wrap:wrap; gap:3px; margin-top:auto}
.crt-exits span{border:1px solid var(--crt-faint); border-radius:3px; padding:1px 4px; color:var(--crt-dim); font-size:7px; letter-spacing:.7px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%}
.crt-map{display:flex; flex-direction:column; gap:2px; max-height:110px; overflow:auto}
.crt-map-row{display:grid; grid-template-columns:12px 1fr auto; gap:4px; color:#7fa7a2; font-size:8px; line-height:1.5}
.crt-map-row i{color:var(--crt-dim); font-style:normal}.crt-map-row b{color:var(--crt-dim); font-weight:400; font-size:7px}
.crt-map-row.current i,.crt-map-row.current span{color:var(--crt)}.crt-map-row.visited span{color:#b7d8d2}
.crt-list{display:flex; flex-direction:column; gap:2px; max-height:90px; overflow:auto}
.crt-list span{color:#b7d8d2; font-size:8.5px; line-height:1.4}.crt-list span.empty{color:var(--crt-dim)}
.crt-panel.is-log{grid-column:span 2}
.crt-log{margin:0; color:#9edbd1; font:8.5px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace; white-space:pre-wrap; max-height:70px; overflow:auto; text-shadow:0 0 8px var(--crt-glow)}
.crt-scope{display:flex; align-items:flex-end; gap:2px; height:34px; border-bottom:1px solid var(--crt-faint); padding-bottom:2px}
.crt-scope i{flex:1; height:var(--h,30%); min-height:2px; background:linear-gradient(180deg,var(--crt),var(--crt-dim)); box-shadow:0 0 6px var(--crt-glow); transition:height .3s; animation:crtBar 2.2s ease-in-out infinite; animation-delay:calc(var(--i) * -.12s)}
.crt-signal-text{color:var(--crt-dim); font-size:8px; letter-spacing:.4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.crt-dock{position:relative; z-index:6; display:flex; flex-wrap:wrap; gap:5px; border-top:1px solid var(--crt-faint); padding-top:10px}
.crt-control{background:linear-gradient(180deg,rgba(8,40,36,.7),rgba(2,14,13,.8)); border:1px solid var(--crt-dim); color:var(--crt); font:inherit; font-size:8.5px; letter-spacing:1.3px; padding:7px 10px; border-radius:4px; cursor:pointer; text-transform:uppercase}
.crt-control:hover:not(:disabled){border-color:var(--crt); background:rgba(10,48,42,.8); box-shadow:0 0 14px var(--crt-faint)}
.crt-control:disabled{opacity:.28; cursor:not-allowed}
.crt-foot{position:relative; z-index:6; display:flex; justify-content:space-between; gap:12px; padding-top:9px; color:var(--crt-dim); font-size:7.5px; letter-spacing:1.2px; border-top:1px solid var(--crt-faint); margin-top:9px}
.crt-foot span{overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.crt-panel.is-processes,.crt-panel.is-interrupts{grid-column:span 2}
.crt-processes{display:flex; flex-direction:column; gap:4px; max-height:120px; overflow:auto}
.crt-process{display:grid; grid-template-columns:18px minmax(0,1fr) 44px 58px 40px; gap:5px; align-items:center; font-size:8px; line-height:1.35; color:#b7d8d2}
.crt-pid{color:var(--crt-dim); font-size:7.5px; letter-spacing:.5px}
.crt-process b{font-weight:400; color:var(--crt); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.crt-process em{font-style:normal; color:var(--crt-dim); font-size:7px; letter-spacing:.8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.crt-proc-meter{height:3px; border:1px solid var(--crt-faint); border-radius:2px; overflow:hidden; background:#020b0b}
.crt-proc-meter i{display:block; height:100%; background:var(--crt); box-shadow:0 0 5px var(--crt-glow)}
.crt-proc-state{text-align:right; color:var(--crt-dim); font-size:7px; letter-spacing:.4px; white-space:nowrap}
.crt-interrupts{display:flex; flex-direction:column; gap:3px; max-height:100px; overflow:auto}
.crt-interrupt{display:grid; grid-template-columns:24px 52px minmax(0,1fr); gap:5px; align-items:baseline; font-size:8px; line-height:1.4; color:#b7d8d2}
.crt-interrupt b{color:var(--crt); font-weight:400; font-size:7.5px}
.crt-interrupt span{color:var(--crt-dim); font-size:7px; letter-spacing:.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.crt-interrupt em{font-style:normal; color:#7fa7a2; font-size:7.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.crt-node.kind-cache,.crt-node.kind-queue{border-style:dashed}
.crt-node.kind-clock,.crt-node.kind-stack{border-color:var(--crt-dim); background:rgba(3,22,20,.72)}
.crt-node.kind-process b,.crt-node.kind-console b{letter-spacing:.8px}
.crt-node.kind-dma{border-left-width:3px}
.crt-node.kind-sensor{border-style:double}
.crt-node.kind-port{border-radius:1px}
.crt-node.kind-vector b{text-shadow:0 0 9px var(--crt-glow)}
.crt-bay[data-layout="radar"] .crt-body{grid-template-columns:1.55fr .45fr}
.crt-bay[data-layout="console"] .crt-body{grid-template-columns:1fr}
.crt-bay[data-layout="console"] .crt-panels{grid-template-columns:repeat(3,minmax(0,1fr))}
.crt-bay[data-layout="grid"] .crt-body{grid-template-columns:1.1fr .9fr}
.crt-bay[data-layout="grid"] .crt-panels{grid-template-columns:repeat(2,minmax(0,1fr))}
@keyframes crtScan{from{transform:translateY(-100%)}to{transform:translateY(100%)}}
@keyframes crtRoll{0%,100%{opacity:.08;transform:translateY(-8%)}50%{opacity:.24;transform:translateY(8%)}}
@keyframes crtPulse{0%,100%{opacity:.45;box-shadow:0 0 5px var(--crt)}50%{opacity:1;box-shadow:0 0 12px var(--crt)}}
@keyframes crtNode{0%,100%{box-shadow:0 0 0 3px var(--crt-faint),0 0 16px var(--crt-glow)}50%{box-shadow:0 0 0 4px var(--crt-faint),0 0 28px var(--crt-glow)}}
@keyframes crtBar{0%,100%{opacity:.6}50%{opacity:1}}
@media(max-width:960px){
  .crt-body,.crt-bay[data-layout="radar"] .crt-body,.crt-bay[data-layout="console"] .crt-body,.crt-bay[data-layout="grid"] .crt-body{grid-template-columns:1fr}
  .crt-topology{min-height:290px; aspect-ratio:16/10}
  .crt-bay[data-layout="console"] .crt-panels{grid-template-columns:repeat(2,minmax(0,1fr))}
  .crt-head{flex-direction:column; gap:10px}.crt-status{align-self:flex-start}
}
@media(max-width:560px){
  .crt-bezel{padding:6px;border-radius:13px}.crt-screen{padding:13px 11px 10px;border-radius:8px}
  .crt-panels{grid-template-columns:1fr}.crt-panel.is-objective,.crt-panel.is-log,.crt-panel.is-processes,.crt-panel.is-interrupts{grid-column:span 1}
  .crt-process{grid-template-columns:16px minmax(0,1fr) 38px 42px 32px}
  .crt-topology{min-height:240px; aspect-ratio:auto}
  .crt-node{min-width:60px;max-width:94px;padding:5px 6px}.crt-node b{font-size:7.5px;max-width:82px}
  .crt-foot{flex-direction:column;gap:4px}
}
@media(prefers-reduced-motion:reduce){
  .crt-screen::after,.crt-scanlines,.crt-node.active,.crt-status i,.crt-scope i{animation:none}
}

/* booted CRT workstation */
.crt-desktop .crt-screen{padding:0;height:min(80vh,780px);min-height:620px;border-radius:11px;overflow:hidden}
.crt-desktop .crt-scanlines,.crt-desktop .crt-glare{z-index:90}
.crt-desktop .crt-screen::after{z-index:91}
.crt-desktop .crt-screen::before{z-index:92}
.desk{position:absolute;inset:0;z-index:2;overflow:hidden;opacity:0;visibility:hidden;color:var(--crt);font:11px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;transition:opacity .28s ease}
.crt-desktop.is-booted .desk{opacity:1;visibility:visible}
.desk-wallpaper{position:absolute;inset:0;background:
  radial-gradient(ellipse at 50% 34%,rgba(84,243,214,.1),transparent 62%),
  linear-gradient(var(--crt-faint) 1px,transparent 1px) 0 0/100% 24px,
  linear-gradient(90deg,var(--crt-faint) 1px,transparent 1px) 0 0/24px 100%,
  linear-gradient(160deg,#04100f,#010605 70%,#04110f)}
.desk-wallpaper::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.022) 0 1px,transparent 1px 4px);pointer-events:none}
.desk-watermark{position:absolute;right:3%;bottom:17%;font-size:clamp(28px,7vw,74px);letter-spacing:6px;color:rgba(84,243,214,.045);font-weight:700;white-space:nowrap;transform:rotate(-7deg);text-transform:uppercase}
.desk-hint{position:absolute;left:50%;bottom:62px;transform:translateX(-50%);font-size:7.5px;letter-spacing:2px;color:var(--crt-dim);text-align:center;white-space:nowrap}
.desk-icons{position:absolute;left:10px;top:10px;bottom:50px;z-index:8;display:flex;flex-direction:column;align-content:flex-start;gap:5px;width:78px}
.desk-icon{display:flex;flex-direction:column;align-items:center;gap:3px;width:76px;padding:6px 2px 4px;border:1px solid transparent;background:transparent;color:var(--crt);font:inherit;cursor:pointer;border-radius:2px}
.desk-icon i{font-style:normal;font-size:21px;line-height:1;color:var(--crt);text-shadow:0 0 9px var(--crt-glow)}
.desk-icon span{font-size:7.5px;letter-spacing:.8px;text-align:center;line-height:1.15}
.desk-icon:hover,.desk-icon:focus-visible{border-color:var(--crt-dim);background:rgba(84,243,214,.08);outline:0}
.desk-icon:active{background:rgba(84,243,214,.18)}
.desk-windows{position:absolute;inset:0 0 42px 0;z-index:10}
.crt-win{position:absolute;left:var(--wx);top:var(--wy);width:var(--ww);height:var(--wh);min-width:230px;min-height:135px;display:flex;flex-direction:column;background:rgba(2,14,13,.97);border:1px solid var(--crt);border-radius:2px;box-shadow:3px 3px 0 rgba(0,0,0,.85),0 0 0 1px rgba(0,0,0,.8),0 0 24px rgba(0,0,0,.62);overflow:hidden}
.crt-win.is-closed,.crt-win.min{display:none}
.crt-win.is-active{border-color:var(--crt);box-shadow:4px 4px 0 rgba(0,0,0,.9),0 0 0 1px var(--crt-dim),0 0 30px var(--crt-faint)}
.crt-win.max{left:0!important;top:0!important;width:100%!important;height:100%!important}
.win-system{--wx:1.6%;--wy:1.6%;--ww:56%;--wh:59%;z-index:12}
.win-terminal{--wx:59%;--wy:5%;--ww:39.4%;--wh:57%;z-index:13}
.win-processes{--wx:3%;--wy:62.5%;--ww:53.6%;--wh:34%;z-index:11}
.win-manual{--wx:24%;--wy:19%;--ww:50%;--wh:52%;z-index:14}
.win-properties{--wx:34%;--wy:23%;--ww:40%;--wh:46%;z-index:15}
.win-bar{display:flex;align-items:center;gap:5px;flex:0 0 22px;height:22px;padding:2px 3px;background:linear-gradient(180deg,var(--crt-dim),rgba(2,20,18,.96));border-bottom:1px solid var(--crt);color:#02100e;cursor:move;user-select:none;touch-action:none}
.win-glyph{display:grid;place-items:center;width:15px;height:15px;border:1px solid rgba(0,0,0,.45);background:rgba(255,255,255,.14);font-size:8px;line-height:1;font-weight:700}
.win-title{flex:1;min-width:0;color:#03110e;font-size:9.5px;letter-spacing:1.3px;font-weight:700;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.win-btns{display:flex;gap:2px;flex:0 0 auto}
.win-btns button{width:17px;height:15px;padding:0;display:grid;place-items:center;border:1px solid rgba(0,0,0,.55);border-top-color:rgba(255,255,255,.3);border-left-color:rgba(255,255,255,.3);background:rgba(3,28,24,.78);color:var(--crt);font:8px/1 ui-monospace,monospace;cursor:pointer}
.win-btns button:hover{background:var(--crt);color:#02100d}
.win-body{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:6px;padding:6px;scrollbar-color:var(--crt-dim) #020b09;scrollbar-width:thin}
.win-status{flex:0 0 17px;height:17px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 5px;border-top:1px solid var(--crt-faint);background:rgba(0,0,0,.3);color:var(--crt-dim);font-size:7px;letter-spacing:1px;white-space:nowrap}
.win-live{color:var(--crt)}
.win-strip{display:flex;justify-content:space-between;gap:8px;border:1px solid var(--crt-faint);padding:3px 5px;color:var(--crt-dim);font-size:7px;letter-spacing:1.2px;white-space:nowrap;overflow:hidden}
.win-strip b{color:var(--crt);font-weight:400;overflow:hidden;text-overflow:ellipsis}
.win-note{margin:0;color:#7fa7a2;font-size:8.5px;line-height:1.5;border-left:2px solid var(--crt-faint);padding-left:7px}
.win-note b{color:var(--crt);font-weight:400}
.win-props{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:3px 9px}
.win-props div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dotted var(--crt-faint);padding:2px 0;min-width:0}
.win-props dt{color:var(--crt-dim);font-size:7px;letter-spacing:1px}
.win-props dd{margin:0;color:var(--crt);font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}
.crt-win .crt-topology{position:relative;flex:0 0 205px;min-height:0;aspect-ratio:auto;border:1px solid var(--crt-faint);background:linear-gradient(var(--crt-faint) 1px,transparent 1px) 0 0/100% 20%,linear-gradient(90deg,var(--crt-faint) 1px,transparent 1px) 0 0/20% 100%,rgba(0,9,9,.4)}
.crt-win .crt-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.crt-win .crt-panel{min-height:54px;padding:6px 7px;gap:3px}
.crt-win .crt-panel.is-objective,.crt-win .crt-panel.is-log,.crt-win .crt-panel.is-processes,.crt-win .crt-panel.is-interrupts{grid-column:span 2}
.crt-win .crt-dock{flex:0 0 auto;padding-top:6px;gap:3px;border-top:1px solid var(--crt-faint);margin-top:auto}
.crt-win .crt-control{font-size:7.5px;padding:5px 7px;letter-spacing:1px}
.crt-win .crt-node-readout{padding:5px 6px}
.crt-win .crt-node-readout p{font-size:8px}
.crt-win .crt-processes{max-height:none}
.crt-win .process-window{display:flex;flex-direction:column;gap:6px}
.crt-win .process-window .crt-panel{flex:1}
.crt-process{width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:2px 3px;border-radius:2px}
.crt-process:hover,.crt-process:focus-visible{background:rgba(84,243,214,.1);outline:1px solid var(--crt-faint)}
.vga-frame{position:relative;flex:0 0 auto;border:2px inset var(--crt-faint);background:#010806;padding:5px;box-shadow:inset 0 0 24px rgba(0,0,0,.8)}
#crt-vga{display:block;width:100%;height:auto;aspect-ratio:8/5;image-rendering:pixelated;filter:saturate(1.1) contrast(1.04)}
.vga-badge{position:absolute;right:5px;bottom:5px;padding:1px 4px;background:rgba(0,0,0,.55);border:1px solid var(--crt-faint);color:var(--crt-dim);font-size:6.5px;letter-spacing:1px;pointer-events:none}
.desk-form{display:flex;align-items:center;gap:4px;flex:0 0 25px;border:1px solid var(--crt-dim);background:#010907;padding:2px 5px}
.desk-caret{color:var(--crt);font-size:8.5px;letter-spacing:.6px;white-space:nowrap;text-shadow:0 0 7px var(--crt-glow)}
.desk-form input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:var(--crt);font:10px ui-monospace,SFMono-Regular,Menlo,monospace;caret-color:var(--crt)}
.desk-form input::placeholder{color:var(--crt-dim)}
.vga-hint{display:flex;justify-content:space-between;gap:8px;color:var(--crt-dim);font-size:6.5px;letter-spacing:.9px;white-space:nowrap;overflow:hidden}
.manual-grid{display:flex;flex-direction:column;gap:2px}
.manual-row{display:grid;grid-template-columns:76px 64px minmax(0,1fr);gap:5px;align-items:baseline;border-bottom:1px dotted var(--crt-faint);padding:2px 0;font-size:8px}
.manual-row b{color:var(--crt);font-weight:400;letter-spacing:.5px}
.manual-row span{color:var(--crt-dim);font-size:7px;letter-spacing:.8px}
.manual-row em{font-style:normal;color:#7fa7a2;font-size:7.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.desk-taskbar{position:absolute;left:0;right:0;bottom:0;z-index:40;height:42px;display:flex;align-items:center;gap:4px;padding:4px 5px;border-top:1px solid var(--crt);background:linear-gradient(180deg,rgba(8,34,30,.98),rgba(1,10,9,.99));box-shadow:0 -6px 22px rgba(0,0,0,.55)}
.desk-start{display:flex;align-items:center;gap:4px;height:31px;padding:0 8px;border:1px solid var(--crt-dim);border-top-color:rgba(255,255,255,.2);border-left-color:rgba(255,255,255,.2);background:linear-gradient(180deg,rgba(20,72,62,.95),rgba(2,18,16,.98));color:var(--crt);font:inherit;font-size:8.5px;letter-spacing:1.2px;cursor:pointer}
.desk-start i{font-style:normal;font-size:12px;text-shadow:0 0 8px var(--crt-glow)}
.desk-start.open,.desk-start:hover{background:var(--crt);color:#02100d;text-shadow:none}
.desk-tasks{flex:1;min-width:0;display:flex;gap:3px;overflow:hidden}
.desk-task{height:30px;min-width:74px;max-width:150px;display:flex;align-items:center;gap:4px;padding:0 6px;border:1px solid var(--crt-faint);border-left-color:rgba(255,255,255,.14);background:rgba(2,18,16,.8);color:var(--crt-dim);font:inherit;font-size:7.5px;letter-spacing:.8px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.desk-task i{font-style:normal;color:var(--crt);font-size:10px}
.desk-task.active{border-color:var(--crt-dim);background:rgba(16,62,54,.88);color:var(--crt);box-shadow:inset 0 0 10px var(--crt-faint)}
.desk-task:hover{color:var(--crt);border-color:var(--crt-dim)}
.desk-tray{display:flex;align-items:center;gap:7px;height:30px;padding:0 7px;border:1px solid var(--crt-faint);border-right-color:rgba(255,255,255,.14);background:rgba(0,8,7,.66);color:var(--crt-dim);font-size:7px;letter-spacing:.8px;white-space:nowrap}
#desk-status{color:var(--crt);font-weight:400}
#desk-clock{color:var(--crt);font-size:8px;letter-spacing:1px;min-width:28px;text-align:right}
.desk-startmenu{position:absolute;left:5px;bottom:46px;z-index:45;width:232px;display:none;flex-direction:column;border:1px solid var(--crt);background:rgba(1,12,11,.985);box-shadow:4px 4px 0 rgba(0,0,0,.8),0 0 26px rgba(0,0,0,.6)}
.desk-startmenu.open{display:flex}
.desk-startmenu header{display:flex;flex-direction:column;gap:1px;padding:7px 9px;border-bottom:1px solid var(--crt-faint);background:linear-gradient(90deg,rgba(20,72,62,.95),rgba(2,18,16,.4));color:var(--crt)}
.desk-startmenu header span{font-size:6.5px;letter-spacing:1.7px;color:var(--crt-dim)}
.desk-startmenu header b{font-size:9px;letter-spacing:.8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.start-list{display:flex;flex-direction:column;padding:3px}
.start-list button,.desk-startmenu>button{display:grid;grid-template-columns:20px 1fr auto;gap:5px;align-items:center;width:100%;padding:6px 7px;border:0;background:transparent;color:var(--crt);font:inherit;font-size:8px;text-align:left;cursor:pointer}
.start-list button i,.desk-startmenu>button i{font-style:normal;font-size:13px;color:var(--crt);text-align:center}
.start-list button b,.desk-startmenu>button b{font-weight:400;letter-spacing:.8px}
.start-list button span,.desk-startmenu>button span{color:var(--crt-dim);font-size:6.5px;letter-spacing:1px}
.start-list button:hover,.start-list button:focus-visible,.desk-startmenu>button:hover{background:var(--crt);color:#02100d;outline:0}
.start-list button:hover i,.start-list button:hover span,.desk-startmenu>button:hover i,.desk-startmenu>button:hover span{color:#02100d}
.start-sep{height:1px;background:var(--crt-faint);margin:2px 4px}
.desk-boot{position:absolute;inset:0;z-index:80;display:flex;flex-direction:column;gap:12px;padding:7% 8%;background:radial-gradient(ellipse at 50% 40%,rgba(84,243,214,.08),transparent 64%),#010807;color:var(--crt);transition:opacity .3s ease,visibility .3s;overflow:hidden}
.crt-desktop.is-booted .desk-boot{opacity:0;visibility:hidden;pointer-events:none}
.boot-brand{font-size:clamp(16px,3vw,27px);letter-spacing:4px;font-weight:700;text-shadow:0 0 16px var(--crt-glow)}
.boot-brand span{color:#fff}
.boot-sub{font-size:8px;letter-spacing:3px;color:var(--crt-dim);border-bottom:1px solid var(--crt-faint);padding-bottom:10px}
#desk-boot-log{margin:0;font:10.5px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;color:var(--crt);text-shadow:0 0 8px var(--crt-glow);min-height:190px}
.boot-line{height:5px;border:1px solid var(--crt-dim);background:#010b09;overflow:hidden}
.boot-line i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--crt-dim),var(--crt));box-shadow:0 0 12px var(--crt-glow);animation:bootFill 1.1s ease-out forwards}
.boot-foot{display:flex;justify-content:space-between;gap:12px;font-size:7.5px;letter-spacing:2px;color:var(--crt-dim);border-top:1px solid var(--crt-faint);padding-top:9px}
.boot-foot b{color:var(--crt);font-weight:400}
@keyframes bootFill{0%{width:0}70%{width:78%}100%{width:100%}}
@media(max-width:960px){
  .crt-desktop .crt-screen{height:min(84vh,720px);min-height:560px}
  .win-system{--ww:60%;--wh:58%}.win-terminal{--wx:57%;--ww:41.5%;--wh:56%}
  .win-processes{--ww:56%}
}
@media(max-width:760px){
  .desk-icons{display:none}
  .desk-hint{display:none}
  .desk-windows{inset:0 0 42px 0}
  .crt-win{left:2%!important;top:2%!important;width:96%!important;height:calc(100% - 4%)!important}
  .crt-win:not(.is-active){display:none}
  .crt-win.is-active{display:flex}
  .win-system,.win-terminal,.win-processes,.win-manual,.win-properties{width:96%!important;height:calc(100% - 4%)!important}
  .desk-task{min-width:58px;font-size:7px}
  .desk-tray #desk-turn{display:none}
  .crt-win .crt-topology{flex-basis:175px}
}
@media(max-width:560px){
  .crt-desktop .crt-screen{height:86vh;min-height:500px}
  .desk-boot{padding:9% 6%}
  #desk-boot-log{font-size:9px;line-height:1.5}
  .desk-taskbar{height:38px;padding:3px}
  .desk-start{height:28px;padding:0 5px}.desk-start b{display:none}
  .desk-task{height:28px;min-width:38px;max-width:70px}.desk-task i{margin:0 auto}
  .desk-task{font-size:0}.desk-task i{font-size:11px}
  .desk-tray{height:28px;gap:4px}#desk-clock{font-size:7px}
  .crt-win .crt-topology{flex-basis:150px}
  .win-props{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .boot-line i{animation:none;width:100%}.desk,.crt-desktop .desk-boot{transition:none}
}

/* Qwen copilot layer: fixed above the generated CRT desktop */
.ai-layer{position:fixed;inset:0;z-index:10000;pointer-events:none;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;--ai:#9df7ff;--ai-dim:#3a8e97;--ai-accent:#d9b8ff;--ai-bg:rgba(3,12,17,.97);--ai-faint:rgba(157,247,255,.14)}
.ai-panel{position:fixed;right:16px;bottom:16px;width:344px;max-height:min(72vh,660px);display:none;flex-direction:column;pointer-events:auto;color:var(--ai);background:var(--ai-bg);border:1px solid var(--ai);box-shadow:0 0 0 1px rgba(0,0,0,.9),6px 6px 0 rgba(0,0,0,.55),0 0 34px rgba(157,247,255,.16);overflow:hidden;border-radius:3px}
.ai-panel.open{display:flex}
.ai-head{display:flex;align-items:center;gap:6px;padding:6px 7px;background:linear-gradient(90deg,rgba(36,84,103,.98),rgba(8,22,33,.98));border-bottom:1px solid var(--ai-dim);color:#e8fdff}
.ai-avatar{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border:1px solid var(--ai-accent);background:rgba(217,184,255,.12);color:var(--ai-accent);font-weight:700;font-size:12px;text-shadow:0 0 8px rgba(217,184,255,.7)}
.ai-id{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.ai-id b{font-size:8.5px;letter-spacing:1.4px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-id span{font-size:6.5px;letter-spacing:.9px;color:#8dbec7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;border:1px solid var(--ai-dim);background:#18343a;box-shadow:0 0 0 transparent}
.ai-dot.on{background:var(--ai);box-shadow:0 0 9px var(--ai)}
.ai-dot.loading{background:var(--ai-accent);animation:crtPulse 1.2s infinite}
.ai-icon{width:18px;height:18px;display:grid;place-items:center;border:1px solid rgba(157,247,255,.3);background:rgba(5,26,33,.9);color:var(--ai);font:9px/1 ui-monospace,monospace;cursor:pointer}
.ai-icon:hover{background:var(--ai);color:#031014}
.ai-context{padding:5px 8px;border-bottom:1px solid var(--ai-faint);color:var(--ai-dim);font-size:6.8px;letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-suggest{display:flex;flex-wrap:wrap;gap:3px;padding:6px 7px;border-bottom:1px solid var(--ai-faint);min-height:0}
.ai-suggest:empty{display:none}
.ai-suggest button{padding:4px 6px;border:1px solid rgba(157,247,255,.22);background:rgba(7,28,37,.9);color:var(--ai);font:inherit;font-size:6.8px;letter-spacing:.7px;cursor:pointer;white-space:nowrap}
.ai-suggest button:hover{border-color:var(--ai);background:rgba(157,247,255,.15);box-shadow:0 0 10px rgba(157,247,255,.14)}
.ai-log{flex:1;min-height:104px;max-height:290px;overflow:auto;display:flex;flex-direction:column;gap:5px;padding:8px;scrollbar-color:var(--ai-dim) #02090c;scrollbar-width:thin}
.ai-msg{max-width:94%;padding:5px 7px;border:1px solid transparent;font-size:8.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.ai-msg.bot{align-self:flex-start;border-color:rgba(157,247,255,.2);border-left-color:var(--ai);background:rgba(8,26,33,.92);color:#c5f4f8}
.ai-msg.user{align-self:flex-end;border-color:rgba(217,184,255,.26);border-right-color:var(--ai-accent);background:rgba(32,22,47,.9);color:#eadcff}
.ai-msg.note{align-self:stretch;max-width:none;border:1px dashed rgba(157,247,255,.18);background:transparent;color:#6c9ba2;font-size:7px;letter-spacing:.4px}
.ai-form{display:flex;gap:4px;padding:6px 7px;border-top:1px solid var(--ai-faint);background:rgba(2,11,15,.9)}
.ai-form input{flex:1;min-width:0;border:1px solid rgba(157,247,255,.25);background:#020c10;color:var(--ai);font:9px/1.4 ui-monospace,monospace;padding:6px 7px;outline:0;caret-color:var(--ai-accent)}
.ai-form input:focus{border-color:var(--ai);box-shadow:inset 0 0 12px rgba(157,247,255,.08)}
.ai-form input::placeholder{color:#456f77}
.ai-form button{width:30px;border:1px solid var(--ai-dim);background:rgba(157,247,255,.1);color:var(--ai);font:13px/1 ui-monospace,monospace;cursor:pointer}
.ai-form button:hover{background:var(--ai);color:#031014}
.ai-foot{display:flex;align-items:center;gap:4px;padding:4px 7px;border-top:1px solid var(--ai-faint);background:rgba(1,8,11,.95);color:#4f7d85;font-size:6.2px;letter-spacing:.8px}
.ai-foot button{padding:4px 5px;border:1px solid rgba(157,247,255,.22);background:rgba(157,247,255,.06);color:var(--ai);font:inherit;font-size:6.3px;letter-spacing:.8px;cursor:pointer;white-space:nowrap}
.ai-foot button:hover{border-color:var(--ai);background:rgba(157,247,255,.14)}
.ai-foot button.ready{color:var(--ai-accent);border-color:rgba(217,184,255,.3);cursor:default}
.ai-foot button:disabled{opacity:.55}
.ai-foot span{margin-left:auto;white-space:nowrap}
.ai-orb{position:fixed;right:18px;bottom:18px;z-index:10001;display:flex;align-items:center;gap:5px;padding:7px 9px;pointer-events:auto;border:1px solid var(--ai);background:rgba(3,16,21,.96);color:var(--ai);font:inherit;font-size:7.5px;letter-spacing:1.2px;cursor:pointer;box-shadow:0 0 20px rgba(157,247,255,.2)}
.ai-orb i{display:grid;place-items:center;width:17px;height:17px;border:1px solid var(--ai-accent);color:var(--ai-accent);font-style:normal;font-size:9px;font-weight:700}
.ai-orb b{font-weight:400}.ai-orb:hover{background:var(--ai);color:#031014}.ai-orb:hover i{color:#031014;border-color:#031014}
.ai-orb.hidden{display:none}
.ai-ghost{position:fixed;z-index:10002;display:flex;align-items:center;gap:5px;padding:4px 6px;border:1px solid var(--ai-accent);background:rgba(6,15,22,.97);color:var(--ai-accent);font:8.5px/1.3 ui-monospace,monospace;box-shadow:0 4px 16px rgba(0,0,0,.55),0 0 14px rgba(217,184,255,.15);pointer-events:auto}
.ai-ghost[hidden]{display:none}
.ai-ghost span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-ghost kbd{flex:0 0 auto;padding:1px 4px;border:1px solid var(--ai-dim);color:var(--ai);font:6.5px/1.4 ui-monospace,monospace;letter-spacing:.8px}
.ai-ghost button{flex:0 0 auto;width:18px;height:17px;border:1px solid var(--ai-dim);background:rgba(217,184,255,.08);color:var(--ai-accent);font:10px/1 ui-monospace,monospace;cursor:pointer}
.ai-ghost button:hover{background:var(--ai-accent);color:#140a1e}
.ai-ghost::before{content:"AUTOCOMPLETE";position:absolute;left:0;top:-12px;font-size:5.5px;letter-spacing:1.4px;color:#8d73a8;background:rgba(6,15,22,.97);padding:0 3px}
.ai-foot{flex-wrap:wrap}
.ai-foot button.on{background:var(--ai-accent);color:#140a1e;border-color:var(--ai-accent)}
.ai-patch{align-self:stretch;display:flex;flex-direction:column;gap:4px;padding:7px;border:1px solid var(--ai-accent);background:rgba(30,20,44,.88);color:#eadcff}
.ai-patch>b{font-size:7px;letter-spacing:1.5px;color:var(--ai-accent)}
.ai-patch p{margin:0;font-size:8px;line-height:1.45;color:#c9b8e6;overflow-wrap:anywhere}
.ai-patch small{font-size:6.5px;line-height:1.4;color:#8d73a8;letter-spacing:.3px}
.ai-patch-actions{display:flex;gap:4px;margin-top:2px}
.ai-patch-actions button{padding:4px 8px;border:1px solid var(--ai-accent);background:rgba(217,184,255,.1);color:var(--ai-accent);font:inherit;font-size:6.5px;letter-spacing:1px;cursor:pointer}
.ai-patch-actions button:hover{background:var(--ai-accent);color:#140a1e}
.ai-patch-actions button:disabled{opacity:.4;cursor:default}
.ai-code-panel{position:fixed;inset:7vh 9vw;z-index:10003;display:flex;flex-direction:column;pointer-events:auto;background:rgba(2,9,13,.99);border:1px solid var(--ai);box-shadow:0 0 0 1px #000,0 24px 80px rgba(0,0,0,.8),0 0 40px rgba(157,247,255,.12);color:var(--ai)}
.ai-code-panel[hidden]{display:none}
.ai-code-panel header{display:flex;align-items:center;gap:8px;padding:7px 9px;background:linear-gradient(90deg,rgba(36,84,103,.98),rgba(8,22,33,.98));border-bottom:1px solid var(--ai-dim)}
.ai-code-panel header b{font-size:8.5px;letter-spacing:1.5px;color:#fff}
.ai-code-panel header span{flex:1;color:#8dbec7;font-size:6.5px;letter-spacing:1px}
.ai-code-panel header button{width:22px;height:19px;border:1px solid rgba(157,247,255,.3);background:rgba(5,26,33,.9);color:var(--ai);font:12px/1 ui-monospace,monospace;cursor:pointer}
.ai-code-panel header button:hover{background:var(--ai);color:#031014}
.ai-code-panel pre{flex:1;min-height:0;margin:0;padding:11px;overflow:auto;white-space:pre-wrap;word-break:break-word;font:9px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#b9edf2;background:#01080b;scrollbar-color:var(--ai-dim) #02090c;scrollbar-width:thin}
.ai-code-panel footer{display:flex;justify-content:space-between;align-items:center;padding:5px 9px;border-top:1px solid var(--ai-faint);color:#4f7d85;font-size:6.5px;letter-spacing:1px}
.ai-code-panel footer button{padding:4px 7px;border:1px solid rgba(157,247,255,.22);background:rgba(157,247,255,.06);color:var(--ai);font:inherit;font-size:6.5px;letter-spacing:1px;cursor:pointer}
.ai-code-panel footer button:hover{background:var(--ai);color:#031014}
body.ai-inspect *{cursor:crosshair!important}
.ai-inspect-hit{outline:2px solid var(--ai-accent)!important;outline-offset:2px!important;box-shadow:0 0 0 4px rgba(217,184,255,.22),0 0 24px rgba(217,184,255,.3)!important;z-index:10001!important}
@media(max-width:700px){
  .ai-panel{right:8px;left:8px;bottom:8px;width:auto;max-height:72vh}
  .ai-orb{right:10px;bottom:10px}
  .ai-ghost{max-width:calc(100vw - 20px)}
  .ai-code-panel{inset:4vh 2vw}
  .ai-foot span{display:none}
}
@media(prefers-reduced-motion:reduce){
  .ai-dot.loading{animation:none}
}

/* offline pack + public NVM marketplace */
.market-orb{position:fixed;left:18px;bottom:18px;z-index:9000;display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid #b9d38a;background:rgba(8,18,10,.96);color:#cfe6a2;font:7.5px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1.2px;cursor:pointer;box-shadow:0 0 20px rgba(185,211,138,.14)}
.market-orb i{font-style:normal;font-size:12px;color:#e6ffb0}.market-orb b{font-weight:400}.market-orb:hover{background:#d8f0a8;color:#0a1609}.market-orb:hover i{color:#0a1609}.market-orb.hidden{display:none}
.market-panel{position:fixed;left:16px;bottom:16px;z-index:9001;width:min(520px,calc(100vw - 32px));max-height:min(82vh,760px);display:flex;flex-direction:column;background:rgba(3,10,7,.985);border:1px solid #8ca66a;color:#d9edb3;font:10px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;box-shadow:0 0 0 1px #000,6px 6px 0 rgba(0,0,0,.6),0 0 32px rgba(185,211,138,.12)}
.market-panel[hidden]{display:none}
.market-panel>header{display:flex;align-items:center;gap:8px;padding:6px 8px;background:linear-gradient(90deg,rgba(62,78,36,.98),rgba(14,24,12,.98));border-bottom:1px solid #6f874f;color:#efffd0}
.market-brand{font-size:9px;letter-spacing:1.6px;font-weight:700}.market-sub{flex:1;color:#a9c685;font-size:6.5px;letter-spacing:1px}
.market-panel>header button{width:20px;height:19px;border:1px solid #6f874f;background:rgba(10,24,10,.9);color:#d9edb3;font:12px/1 ui-monospace,monospace;cursor:pointer}
.market-panel>header button:hover{background:#d9edb3;color:#0a1609}
.market-body{flex:1;overflow:auto;padding:8px;display:flex;flex-direction:column;gap:9px;scrollbar-color:#6f874f #020805;scrollbar-width:thin}
.market-block{border:1px solid rgba(185,211,138,.22);background:rgba(7,18,10,.65);padding:7px;display:flex;flex-direction:column;gap:6px}
.market-head{display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(185,211,138,.14);padding-bottom:4px;color:#a9c685;font-size:6.8px;letter-spacing:1.2px}
.market-head b{color:#efffd0;font-weight:700}.market-head span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.market-refresh{padding:3px 5px;border:1px solid rgba(185,211,138,.25);background:transparent;color:#cfe6a2;font:inherit;font-size:6px;letter-spacing:.8px;cursor:pointer}.market-refresh:hover{background:#d9edb3;color:#0a1609}
.market-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.market-action{display:grid;grid-template-columns:20px 1fr;grid-template-rows:auto auto;gap:1px 5px;padding:6px;text-align:left;border:1px solid rgba(185,211,138,.22);background:rgba(12,28,12,.7);color:#d9edb3;font:inherit;cursor:pointer;align-content:center}
.market-action i{grid-row:span 2;display:grid;place-items:center;font-style:normal;font-size:15px;color:#e6ffb0}
.market-action b{font-size:7.5px;letter-spacing:.8px;font-weight:400}.market-action span{font-size:6px;color:#87a56b;letter-spacing:.3px}
.market-action:hover{border-color:#b9d38a;background:rgba(30,48,20,.9)}.market-action.file{position:relative}.market-action.file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.market-stat{border:1px solid rgba(185,211,138,.16);padding:6px;display:flex;flex-direction:column;gap:2px}
.market-stat span{font-size:6px;letter-spacing:1px;color:#87a56b}.market-stat b{font-size:7.5px;color:#e6ffb0;font-weight:400}.market-stat em{font-style:normal;font-size:6px;color:#6f8f5c}
.market-fields{display:flex;flex-direction:column;gap:4px}
.market-fields label{display:flex;flex-direction:column;gap:2px}.market-fields span{font-size:6px;letter-spacing:1px;color:#87a56b}
.market-fields input{border:1px solid rgba(185,211,138,.25);background:#020805;color:#d9edb3;font:8px/1.4 ui-monospace,monospace;padding:5px;outline:0}
.market-fields input:focus{border-color:#b9d38a;box-shadow:inset 0 0 12px rgba(185,211,138,.08)}
.market-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.market-primary{padding:5px 7px;border:1px solid #8ca66a;background:rgba(185,211,138,.1);color:#e6ffb0;font:inherit;font-size:6.5px;letter-spacing:.8px;cursor:pointer}.market-primary:hover{background:#d9edb3;color:#0a1609}
.market-link{margin-left:auto;color:#a9c685;font-size:6.5px;text-decoration:none;letter-spacing:.5px}.market-link:hover{color:#e6ffb0;text-decoration:underline}
.market-log{margin:0;padding:5px;max-height:76px;overflow:auto;border:1px solid rgba(185,211,138,.14);background:#020805;color:#9fbc7a;font:7px/1.5 ui-monospace,monospace;white-space:pre-wrap}
.market-list{display:flex;flex-direction:column;gap:3px;max-height:230px;overflow:auto}
.market-empty{color:#6f8f5c;font-size:7px;letter-spacing:.5px;padding:5px 2px}
.market-item{display:grid;grid-template-columns:1fr auto;gap:1px 5px;align-items:baseline;padding:5px 6px;border:1px solid rgba(185,211,138,.18);background:rgba(8,20,10,.7);color:#d9edb3;font:inherit;text-align:left;cursor:pointer}
.market-item b{font-size:8px;font-weight:400;letter-spacing:.5px}.market-item span{grid-column:2;grid-row:1;color:#87a56b;font-size:6px;letter-spacing:.7px}.market-item em{grid-column:1;font-style:normal;color:#a9c685;font-size:6.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.market-item i{grid-column:2;grid-row:2;font-style:normal;font-size:6px;color:#e6ffb0;text-align:right;letter-spacing:.8px}
.market-item:hover{border-color:#b9d38a;background:rgba(28,44,18,.9)}
.market-foot{margin:0;color:#5f7a4d;font-size:6.2px;line-height:1.45;letter-spacing:.3px}
@media(max-width:700px){.market-panel{left:8px;right:8px;bottom:8px;width:auto}.market-orb{left:10px;bottom:10px}}

/* vaporwave 80s CRT skin */
.desk-sun,.desk-floor{display:none}
.boot-sun,.boot-grid{display:none}
.boot-art{margin:0;color:#9ff8ff;font:10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre;overflow:hidden;text-shadow:0 0 12px rgba(111,247,255,.45)}
.crt-bay[data-frame="vaporwave"] .desk-sun,.crt-bay[data-frame="vaporwave"] .desk-floor{display:block}
.crt-bay[data-frame="vaporwave"] .desk-wallpaper{background:
  radial-gradient(ellipse at 50% 18%,rgba(255,111,199,.2),transparent 56%),
  linear-gradient(180deg,#090313 0%,#1b0735 42%,#4b0f5a 60%,#10051f 61%,#04020a 100%);
  overflow:hidden}
.crt-bay[data-frame="vaporwave"] .desk-sun{position:absolute;left:50%;top:18%;width:min(38vw,430px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:linear-gradient(180deg,#fff4bd 0%,#ffcf6e 28%,#ff6fc7 62%,#9b4dff 100%);opacity:.5;box-shadow:0 0 90px rgba(255,111,199,.55),0 0 170px rgba(155,77,255,.25);mask-image:linear-gradient(180deg,#000 0 55%,transparent 56%)}
.crt-bay[data-frame="vaporwave"] .desk-floor{position:absolute;left:-16%;right:-16%;bottom:38px;height:36%;background:repeating-linear-gradient(90deg,rgba(111,247,255,.32) 0 1px,transparent 1px 8%),repeating-linear-gradient(0deg,rgba(255,157,226,.28) 0 1px,transparent 1px 8%);transform:perspective(180px) rotateX(56deg);transform-origin:bottom;opacity:.35;mask-image:linear-gradient(180deg,transparent,#000 34%)}
.crt-bay[data-frame="vaporwave"] .desk-watermark{color:rgba(255,157,226,.09);text-shadow:0 0 22px rgba(255,111,199,.2)}
.crt-bay[data-frame="vaporwave"] .desk-hint{color:#b86ee8}
.crt-bay[data-frame="vaporwave"] .win-bar{background:linear-gradient(90deg,#ff6fc7,#b86ee8 55%,#6ff7ff);border-bottom-color:#ffb3ec}
.crt-bay[data-frame="vaporwave"] .win-glyph{border-color:rgba(40,0,54,.5);background:rgba(255,255,255,.25)}
.crt-bay[data-frame="vaporwave"] .crt-screen{background:
  radial-gradient(ellipse at 50% 40%,rgba(255,111,199,.1),transparent 62%),
  radial-gradient(ellipse at 18% 0%,rgba(111,247,255,.08),transparent 48%),
  repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0 1px,transparent 1px 4px),
  linear-gradient(180deg,#0a0314,#030208 60%,#10031b)}
.crt-bay[data-frame="vaporwave"] .boot-brand{background:linear-gradient(180deg,#fff 0%,#fff 28%,#a8f7ff 44%,#ff9de2 55%,#fff 74%,#b86ee8 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 14px rgba(255,111,199,.35))}
.crt-bay[data-frame="vaporwave"] .desk-boot{background:
  radial-gradient(ellipse at 50% 72%,rgba(255,111,199,.22),transparent 52%),
  linear-gradient(180deg,#070211 0%,#17052f 36%,#4b0f5a 57%,#0b0417 58%,#030208 100%)}
.crt-bay[data-frame="vaporwave"] .boot-sun{display:block;position:absolute;right:8%;top:9%;width:190px;aspect-ratio:1;border-radius:50%;background:linear-gradient(180deg,#fff4bd,#ffcf6e 30%,#ff6fc7 66%,#9b4dff);opacity:.55;box-shadow:0 0 60px rgba(255,111,199,.55);mask-image:linear-gradient(180deg,#000 0 56%,transparent 57%);z-index:0}
.crt-bay[data-frame="vaporwave"] .boot-grid{display:block;position:absolute;left:-12%;right:-12%;bottom:0;height:38%;background:repeating-linear-gradient(90deg,rgba(111,247,255,.28) 0 1px,transparent 1px 12px),repeating-linear-gradient(0deg,rgba(255,157,226,.24) 0 1px,transparent 1px 12px);transform:perspective(190px) rotateX(58deg);transform-origin:bottom;opacity:.28;z-index:0;mask-image:linear-gradient(180deg,transparent,#000 34%)}
.crt-bay[data-frame="vaporwave"] .desk-boot>*:not(.boot-sun):not(.boot-grid){position:relative;z-index:2}
.crt-bay[data-frame="vaporwave"] #desk-boot-log{color:#d9fbff;text-shadow:0 0 9px rgba(111,247,255,.55),0 0 22px rgba(255,111,199,.22)}
.crt-bay[data-frame="vaporwave"] .boot-foot{border-top-color:rgba(255,157,226,.25);color:#b86ee8}
.crt-bay[data-frame="vaporwave"] .boot-foot b{color:#a8f7ff}
.crt-bay[data-frame="vaporwave"] .boot-line{border-color:#b86ee8;background:#080212}
.crt-bay[data-frame="vaporwave"] .boot-line i{background:linear-gradient(90deg,#6ff7ff,#ff9de2,#ffcf6e);box-shadow:0 0 12px rgba(255,157,226,.55)}
.crt-bay[data-frame="vaporwave"] .crt-node.active{box-shadow:0 0 0 3px var(--crt-faint),0 0 24px rgba(255,157,226,.5)}
.crt-bay[data-frame="vaporwave"] .ai-panel,.crt-bay[data-frame="vaporwave"] .ai-orb{--ai:#a8f7ff;--ai-dim:#5c8fb0;--ai-accent:#ff9de2}

@media(max-width:700px){.crt-bay[data-frame="vaporwave"] .desk-sun{width:68vw;top:22%}.crt-bay[data-frame="vaporwave"] .boot-sun{width:120px;right:5%;top:7%}}

/* resizable windows + fullscreen bezel */
.crt-full{position:absolute;right:9px;top:7px;z-index:96;padding:4px 7px;border:1px solid var(--crt-dim);background:rgba(2,12,11,.9);color:var(--crt);font:7px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1px;cursor:pointer}
.crt-full:hover{background:var(--crt);color:#02100d;border-color:var(--crt)}
.crt-bezel{position:relative}
.win-resize{position:absolute;right:0;bottom:17px;z-index:9;width:18px;height:18px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 0 46%,var(--crt-dim) 47% 52%,transparent 53% 63%,var(--crt) 64% 69%,transparent 70%);opacity:.8}
.win-status{position:relative;z-index:1;pointer-events:none}
.win-resize:hover{opacity:1;background:linear-gradient(135deg,transparent 0 42%,var(--crt) 43% 52%,transparent 53% 61%,var(--crt) 62% 72%,transparent 73%)}
.crt-win.max .win-resize{display:none}
.crt-desktop:fullscreen{width:100vw;height:100vh;display:block;background:#000;border-radius:0}
.crt-desktop:fullscreen .crt-bezel{width:100%;height:100%;padding:0;border:0;border-radius:0;background:#000}
.crt-desktop:fullscreen .crt-screen{width:100%;height:100vh;min-height:0;max-height:none;border-radius:0}
.crt-desktop:fullscreen .crt-full{right:14px;top:12px}
.crt-desktop:fullscreen .desk-windows{inset:0 0 42px 0}
.crt-desktop:-webkit-full-screen{width:100vw;height:100vh;display:block;background:#000;border-radius:0}
.crt-desktop:-webkit-full-screen .crt-bezel{width:100%;height:100%;padding:0;border:0;border-radius:0;background:#000}
.crt-desktop:-webkit-full-screen .crt-screen{width:100%;height:100vh;min-height:0;max-height:none;border-radius:0}
.crt-desktop:-webkit-full-screen .crt-full{right:14px;top:12px}
.crt-desktop:-webkit-full-screen .desk-windows{inset:0 0 42px 0}

/* PHANTOM window: parallel futures + ranked tokens */
.win-phantom{--wx:56%;--wy:62.5%;--ww:42.4%;--wh:33%;z-index:16}
.win-phantom .win-body{gap:5px}
.phantom-summary{border:1px solid var(--crt-faint);padding:3px 5px;color:var(--crt);font-size:7px;letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.phantom-split{display:grid;grid-template-columns:1.15fr .85fr;gap:5px;min-height:0;flex:1}
.phantom-split section{display:flex;flex-direction:column;gap:3px;min-height:0}
.phantom-split h4{margin:0;color:var(--crt-dim);font-size:6.5px;letter-spacing:1.4px;font-weight:400}
.phantom-branches{display:flex;flex-direction:column;gap:4px;overflow:auto;max-height:150px;scrollbar-width:thin;scrollbar-color:var(--crt-dim) transparent}
.phantom-branch{border:1px solid var(--crt-faint);background:rgba(0,10,9,.55);padding:4px 5px;display:flex;flex-direction:column;gap:3px}
.phantom-branch header{display:flex;justify-content:space-between;gap:5px;font-size:7px;letter-spacing:1px}
.phantom-branch header b{color:var(--crt);font-weight:400}
.phantom-branch header span{color:var(--crt-dim)}
.phantom-branch p{margin:0;color:#7fa7a2;font-size:6.5px;line-height:1.35}
.phantom-actions{display:flex;align-items:center;gap:3px;flex-wrap:wrap}
.phantom-actions button{padding:2px 5px;border:1px solid var(--crt-dim);background:rgba(84,243,214,.06);color:var(--crt);font:inherit;font-size:6.5px;letter-spacing:.6px;cursor:pointer}
.phantom-actions button:hover{background:var(--crt);color:#02100d}
.phantom-actions i{font-style:normal;color:var(--crt-dim);font-size:7px}
.phantom-branch small{color:var(--crt-dim);font-size:6px;letter-spacing:.4px;line-height:1.3}
.phantom-predict{display:flex;flex-direction:column;gap:2px;overflow:auto;max-height:150px;scrollbar-width:thin;scrollbar-color:var(--crt-dim) transparent}
.phantom-predict-row{display:flex;justify-content:space-between;gap:6px;align-items:baseline;padding:3px 5px;border:1px solid transparent;background:transparent;color:var(--crt);font:inherit;font-size:7.5px;text-align:left;cursor:pointer}
.phantom-predict-row:hover{border-color:var(--crt-dim);background:rgba(84,243,214,.08)}
.phantom-predict-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.phantom-predict-row b{color:var(--crt-dim);font-weight:400;font-size:6.5px}
@media(max-width:960px){.win-phantom{--wx:4%;--wy:63%;--ww:56%;--wh:32%}}

/* PHANTOM ranked autocomplete stack */
.ai-ghost{flex-direction:column;align-items:stretch;gap:0;padding:0;z-index:10002}
.ai-ghost::before{display:none}
.ai-ghost header{display:flex;align-items:center;gap:6px;padding:3px 6px;border-bottom:1px solid rgba(217,184,255,.22);background:rgba(30,20,44,.9)}
.ai-ghost header b{font-size:7px;letter-spacing:1.6px;color:var(--ai-accent)}
.ai-ghost header span{flex:1;font-size:6px;letter-spacing:1px;color:#8d73a8}
.ai-ghost header kbd{font-size:6px;padding:1px 4px;border:1px solid var(--ai-dim);color:var(--ai)}
.ai-ghost-list{display:flex;flex-direction:column;max-height:186px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--ai-dim) transparent}
.ai-ghost-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto auto;gap:6px;align-items:baseline;width:100%;padding:3px 6px;border:0;border-bottom:1px dotted rgba(157,247,255,.12);background:transparent;color:#d7c4f2;font:8.5px/1.35 ui-monospace,monospace;text-align:left;cursor:pointer}
.ai-ghost-row i{font-style:normal;font-size:6px;color:#6f5b8c}
.ai-ghost-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-ghost-row em{font-style:normal;font-size:6px;letter-spacing:.8px;color:#7d93b5}
.ai-ghost-row b{font-weight:400;font-size:6px;color:#6f5b8c}
.ai-ghost-row:hover,.ai-ghost-row.on{background:rgba(217,184,255,.16);color:#fff}
.ai-ghost-row.on i,.ai-ghost-row.on em,.ai-ghost-row.on b{color:var(--ai-accent)}
.ai-ghost-row.kind-learned em{color:#7dffb0}
.ai-ghost-row.kind-history em{color:#ffd28a}
.ai-ghost-row.kind-qwen em{color:#8af7ff}
.ai-ghost footer{display:flex;align-items:center;gap:6px;padding:3px 6px;border-top:1px solid rgba(217,184,255,.16);color:#8d73a8;font-size:5.8px;letter-spacing:.9px}
.ai-ghost footer span{flex:0 0 auto}
.ai-ghost footer b{flex:1;min-width:0;text-align:right;color:#a98fd0;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

