:root{
  --bg:#060E1C; --bg2:#0A1628; --panel:#0E1D33; --panel2:#13243F;
  --ink:#E5EEF8; --muted:#8FA6C0; --line:#1E3354;
  --cyan:#22D3EE; --amber:#FCD34D; --red:#F87171; --green:#34D399; --violet:#A78BFA;
}
*{box-sizing:border-box}
body{margin:0; background:var(--bg); color:var(--ink);
  font-family:"Manrope","Inter",system-ui,Segoe UI,Roboto,sans-serif; line-height:1.55; padding:0 0 80px}
a{color:var(--cyan)}
img{max-width:100%}
header{padding:38px 20px 18px; text-align:center; background:linear-gradient(180deg,var(--bg2),transparent); border-bottom:1px solid var(--line)}
header .tag{color:var(--cyan); font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:1px; text-transform:uppercase}
header h1{margin:6px 0 4px; font-size:28px; letter-spacing:-.5px}
header p{color:var(--muted); margin:6px auto 0; font-size:15px; max-width:720px}
.wrap{max-width:1160px; margin:0 auto; padding:0 20px}

.railwrap{max-width:1160px;margin:18px auto 0;padding:0 20px}
.rail{display:flex;gap:8px;flex-wrap:wrap;align-items:stretch}
.rail a{flex:1 1 120px;min-width:120px;text-decoration:none;display:block;border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:var(--panel);transition:.14s}
.rail a:hover{border-color:var(--cyan);transform:translateY(-2px)}
.rail a .rn{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--muted)}
.rail a .rt{font-size:13px;color:var(--ink);font-weight:700;margin-top:2px;line-height:1.25}
.rail a.cur{border-color:var(--cyan);background:linear-gradient(180deg,rgba(34,211,238,.12),transparent)}
.rail a.cur .rn{color:var(--cyan)}
.rail a.done .rt::after{content:" ✓";color:var(--green)}
@media(max-width:760px){.rail a{flex:1 1 45%;min-width:0}}

.topnav{max-width:1160px;margin:14px auto 0;padding:0 20px}
.nav-back{display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-family:"JetBrains Mono",monospace;font-size:13px;padding:7px 14px;border-radius:9px;border:1px solid var(--line);background:var(--panel);color:var(--muted)}
.nav-back:hover{border-color:var(--cyan);color:var(--cyan);background:rgba(34,211,238,.06)}
.modnav{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;max-width:1160px;margin:38px auto 0;padding:18px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,var(--panel),var(--bg2))}
.modnav .mn-label{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.modnav .mn-title{font-size:15px;color:var(--ink);font-weight:700}
.nav-next{display:inline-flex;align-items:center;gap:9px;text-decoration:none;padding:12px 20px;border-radius:11px;background:var(--cyan);color:#04222b;font-weight:700;font-size:14px}
.nav-next:hover{filter:brightness(1.08)}
.nav-prev{display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-family:"JetBrains Mono",monospace;font-size:13px;padding:9px 16px;border-radius:9px;border:1px solid var(--line);background:var(--panel2);color:var(--muted)}
.nav-prev:hover{border-color:var(--cyan);color:var(--cyan)}
@media(max-width:620px){.modnav{flex-direction:column;align-items:stretch}}

.section{margin-top:46px}
.sec-head{display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; margin-bottom:6px}
.sec-num{font-family:"JetBrains Mono",monospace; font-size:13px; color:var(--cyan); border:1px solid var(--line); border-radius:8px; padding:4px 10px; background:var(--bg2)}
.sec-head h2{font-size:23px; margin:0; letter-spacing:-.3px}
.sec-sub{color:var(--muted); font-size:14.5px; margin:4px 0 0; max-width:820px; line-height:1.6}
.badges{display:flex; gap:7px; flex-wrap:wrap; margin:12px 0 2px}
.b{font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.04em; text-transform:uppercase; padding:4px 10px; border-radius:999px; border:1px solid var(--line)}
.b.fgos{color:var(--green); background:rgba(52,211,153,.08); border-color:rgba(52,211,153,.35)}
.b.fop{color:var(--violet); background:rgba(167,139,250,.08); border-color:rgba(167,139,250,.35)}
.b.exam{color:var(--amber); background:rgba(252,211,77,.08); border-color:rgba(252,211,77,.35)}

.intro{background:var(--panel); border:1px solid var(--line); border-left:4px solid var(--amber); border-radius:14px; padding:20px 22px; margin-top:26px}
.intro p{margin:8px 0; font-size:15px; color:#d7e3f2; line-height:1.7}
.intro p:first-child{margin-top:0}
.intro b{color:var(--ink)}
.intro .hook{font-size:16px;color:var(--ink)}

.theory{background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:20px 22px; margin-top:18px}
.theory h4{font-size:15px; color:var(--cyan); margin:18px 0 6px; border-left:3px solid var(--cyan); padding-left:10px}
.theory h4:first-child{margin-top:4px}
.theory p{font-size:14.5px; line-height:1.7; color:#d7e3f2; margin:8px 0}
.theory b{color:var(--ink)}
.theory i{color:#cfe0f1}
.theory code,.mono{font-family:"JetBrains Mono",monospace; font-size:.92em; background:var(--bg2); border:1px solid var(--line); border-radius:5px; padding:1px 6px; color:var(--amber)}
.theory ul,.theory ol{margin:8px 0; padding-left:20px}
.theory li{font-size:14.5px; line-height:1.7; color:#d7e3f2; margin:4px 0}
.callout{background:var(--bg2); border:1px solid var(--line); border-left:3px solid var(--violet); border-radius:10px; padding:12px 14px; margin:14px 0; font-size:13.5px; color:#cdddef}
.callout .ct{font-family:"JetBrains Mono",monospace; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--violet); display:block; margin-bottom:4px}
.callout.amber{border-left-color:var(--amber)} .callout.amber .ct{color:var(--amber)}
.callout.cyan{border-left-color:var(--cyan)} .callout.cyan .ct{color:var(--cyan)}
.callout.green{border-left-color:var(--green)} .callout.green .ct{color:var(--green)}
.callout.red{border-left-color:var(--red)} .callout.red .ct{color:var(--red)}

.fig{margin:16px 0 6px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:16px;text-align:center}
.fig svg{width:100%;height:auto;max-width:760px;display:block;margin:0 auto}
.fig .cap{margin-top:10px;font-size:12.5px;color:var(--muted);font-family:"JetBrains Mono",monospace}
.fig .cap b{color:var(--amber)}

.agrid{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; margin-top:16px}
.acard{background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:16px; border-top:3px solid var(--cyan); transition:.15s}
.acard:hover{border-color:var(--cyan); transform:translateY(-2px); box-shadow:0 8px 28px rgba(34,211,238,.16)}
.acard .ico{font-size:26px; line-height:1; margin-bottom:8px}
.acard h5{margin:0 0 4px; font-size:16px}
.acard .ana{font-family:"JetBrains Mono",monospace; font-size:12px; color:var(--amber); margin:0 0 8px}
.acard p{margin:0; font-size:13px; color:var(--muted); line-height:1.55}

.tblbox{margin:16px 0 6px; overflow:auto; border:1px solid var(--line); border-radius:12px}
table.dt{width:100%; border-collapse:collapse; font-size:13.5px; min-width:520px}
table.dt th{background:var(--panel2); color:var(--amber); text-align:left; padding:9px 12px; border-bottom:1px solid var(--line); font-weight:700; font-size:12.5px}
table.dt td{padding:9px 12px; border-bottom:1px solid var(--line); color:#d7e3f2; vertical-align:top}
table.dt tr:last-child td{border-bottom:none}
table.dt tr:nth-child(even) td{background:rgba(255,255,255,.02)}
table.dt td:first-child{color:var(--cyan); font-family:"JetBrains Mono",monospace; white-space:nowrap}
table.dt td.txt:first-child{color:#d7e3f2;font-family:inherit;white-space:normal}

.iv{background:var(--panel); border:1px solid var(--line); border-radius:16px; margin-top:18px; overflow:hidden}
.iv-head{display:flex; align-items:center; gap:12px; padding:14px 18px; background:linear-gradient(180deg,var(--panel2),transparent); border-bottom:1px solid var(--line)}
.iv-head .iv-ico{font-size:22px; line-height:1}
.iv-head .iv-t{flex:1}
.iv-head h3{margin:0; font-size:17px}
.iv-head .iv-s{font-size:12px; color:var(--muted); font-family:"JetBrains Mono",monospace; margin-top:2px}
.iv-head .iv-tag{font-family:"JetBrains Mono",monospace; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--cyan); border:1px solid var(--line); border-radius:999px; padding:4px 10px;white-space:nowrap}
.iv-body{padding:18px}
.btn{cursor:pointer; font-family:inherit; font-size:13.5px; font-weight:600; border-radius:9px; padding:9px 16px; border:1px solid var(--line); background:var(--panel2); color:var(--ink); transition:.13s}
.btn:hover{border-color:var(--cyan); color:var(--cyan)}
.btn.primary{background:var(--cyan); color:#04222b; border-color:var(--cyan)}
.btn.primary:hover{filter:brightness(1.08); color:#04222b}
.btn:disabled{opacity:.45; cursor:not-allowed}
.btnrow{display:flex; gap:10px; flex-wrap:wrap; margin-top:14px}
.feed{margin-top:14px; font-size:13.5px; min-height:22px; font-family:"JetBrains Mono",monospace}
.feed.good{color:var(--green)} .feed.warn{color:var(--amber)} .feed.bad{color:var(--red)}

.errbox{margin-top:26px;padding:16px 18px;border:1px solid rgba(248,113,113,.4);border-radius:12px;background:rgba(248,113,113,.07);color:var(--red);font-size:13.5px;display:none}
.errbox.show{display:block}

/* ===== Amdahl Calculator ===== */
.amdahl-wrap{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:16px}
.amdahl-controls{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px;align-items:end}
.amdahl-controls .ac-group{display:flex;flex-direction:column;gap:4px}
.amdahl-controls .ac-label{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.amdahl-controls input[type="range"]{width:200px;accent-color:var(--cyan)}
.amdahl-controls .ac-val{font-family:"JetBrains Mono",monospace;font-size:14px;color:var(--cyan);font-weight:700}
.amdahl-result{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.amdahl-box{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px;text-align:center}
.amdahl-box .ab-val{font-family:"JetBrains Mono",monospace;font-size:22px;font-weight:700}
.amdahl-box .ab-label{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--muted);text-transform:uppercase;margin-top:4px}
.amdahl-box.speedup .ab-val{color:var(--green)}
.amdahl-box.efficiency .ab-val{color:var(--amber)}
.amdahl-box.limit .ab-val{color:var(--red)}
.amdahl-chart{margin-top:14px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px}

/* ===== Flynn Taxonomy ===== */
.flynn-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.flynn-card{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:16px;cursor:pointer;transition:.15s}
.flynn-card:hover{border-color:var(--cyan);transform:translateY(-2px)}
.flynn-card.active{border-color:var(--cyan);background:rgba(34,211,238,.08)}
.flynn-card .fc-title{font-family:"JetBrains Mono",monospace;font-size:16px;color:var(--cyan);font-weight:700;margin-bottom:6px}
.flynn-card .fc-sub{font-size:12px;color:var(--muted);margin-bottom:8px}
.flynn-card .fc-desc{font-size:13px;color:#d7e3f2;line-height:1.6;display:none}
.flynn-card.active .fc-desc{display:block}
@media(max-width:620px){.flynn-grid{grid-template-columns:1fr}}

/* ===== TOP500 ===== */
.top500-table{margin-top:14px}
.top500-table table.dt td:first-child{color:var(--amber);font-weight:700}
.top500-table table.dt td:nth-child(2){color:var(--cyan)}

/* ===== Pipeline Visualizer ===== */
.pipe-wrap{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:16px}
.pipe-stages{display:flex;gap:4px;margin-bottom:14px;flex-wrap:wrap}
.pipe-stage{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px 14px;text-align:center;flex:1;min-width:80px;transition:.2s}
.pipe-stage.active{border-color:var(--cyan);background:rgba(34,211,238,.1)}
.pipe-stage .ps-name{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--cyan);font-weight:600}
.pipe-stage .ps-time{font-size:11px;color:var(--muted);margin-top:2px}
.pipe-timeline{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px;min-height:120px;position:relative;overflow-x:auto}
.pipe-row{display:flex;align-items:center;gap:2px;margin-bottom:6px;height:28px}
.pipe-row .pr-label{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--muted);width:60px;flex-shrink:0}
.pipe-block{height:24px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-family:"JetBrains Mono",monospace;font-size:10px;color:#fff;font-weight:600;transition:.3s}
.pipe-block.t0{background:var(--cyan)}
.pipe-block.t1{background:var(--amber);color:#04222b}
.pipe-block.t2{background:var(--green)}
.pipe-block.t3{background:var(--violet)}
.pipe-block.t4{background:var(--red)}

/* ===== Gantt Scheduler ===== */
.gantt-wrap{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:16px}
.gantt-processes{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.gp-card{background:var(--panel);border:2px solid var(--line);border-radius:10px;padding:12px 16px;cursor:grab;transition:.15s;min-width:140px}
.gp-card:hover{border-color:var(--cyan);transform:translateY(-2px)}
.gp-card.dragging{opacity:.5;cursor:grabbing}
.gp-card.placed{opacity:.4;pointer-events:none}
.gp-name{font-weight:700;font-size:14px;color:var(--ink);margin-bottom:4px}
.gp-time{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--cyan)}
.gp-io{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--amber);margin-top:2px}
.gantt-timeline{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:14px}
.gt-labels{display:flex;gap:8px;margin-bottom:6px}
.gt-lbl{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--muted);width:80px;flex-shrink:0}
.gt-rows{display:flex;flex-direction:column;gap:4px}
.gt-row{height:36px;border:1px dashed var(--line);border-radius:6px;display:flex;align-items:center;padding:0 8px;position:relative;min-width:300px}
.gt-row.gt-cpu{background:rgba(34,211,238,.05)}
.gt-row.gt-io{background:rgba(252,211,77,.05)}
.gt-row.drag-over{border-color:var(--cyan);background:rgba(34,211,238,.12)}
.gt-block{height:28px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:600;margin-right:2px;padding:0 8px}
.gt-block.p1{background:var(--cyan);color:#04222b}
.gt-block.p2{background:var(--amber);color:#04222b}
.gt-block.p3{background:var(--green);color:#04222b}
.gt-block.io{opacity:.6;border:1px dashed currentColor}
.gt-ticks{display:flex;gap:0;margin-top:4px;padding-left:80px}
.gt-tick{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--muted);width:40px;text-align:center}
.gantt-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.gs-item{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px;text-align:center}
.gs-label{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--muted);text-transform:uppercase;display:block;margin-bottom:4px}
.gs-val{font-family:"JetBrains Mono",monospace;font-size:16px;font-weight:700;color:var(--cyan)}

/* ===== Deadlock Simulator ===== */
.dl-wrap{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:16px}
.dl-scene{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:14px}
.dl-resources{display:flex;gap:16px;justify-content:center;margin-bottom:20px}
.dl-res{background:var(--bg2);border:2px solid var(--line);border-radius:12px;padding:16px 24px;text-align:center;transition:.2s;min-width:120px}
.dl-res.owned{border-color:var(--amber)}
.dl-res.waiting{border-color:var(--red);animation:dlPulse 1s infinite}
@keyframes dlPulse{0%,100%{box-shadow:0 0 0 0 rgba(248,113,113,.4)}50%{box-shadow:0 0 0 8px rgba(248,113,113,0)}}
.dr-icon{font-size:32px;margin-bottom:6px}
.dr-name{font-weight:700;font-size:14px;color:var(--ink)}
.dr-owner{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--muted);margin-top:4px}
.dl-processes{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dl-proc{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:14px}
.dp-name{font-weight:700;font-size:14px;color:var(--cyan);margin-bottom:10px}
.dp-steps{display:flex;flex-direction:column;gap:4px}
.dp-step{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--muted);padding:6px 10px;border-radius:6px;background:var(--panel);transition:.15s}
.dp-step.active{background:rgba(34,211,238,.15);color:var(--cyan)}
.dp-step.done{background:rgba(52,211,153,.1);color:var(--green);text-decoration:line-through}
.dp-step.blocked{background:rgba(248,113,113,.15);color:var(--red)}
.dl-status{margin-top:14px;padding:12px;background:var(--bg2);border-radius:8px;font-family:"JetBrains Mono",monospace;font-size:13px;text-align:center;color:var(--muted)}
.dl-status.deadlock{color:var(--red);background:rgba(248,113,113,.1)}
.dl-status.success{color:var(--green);background:rgba(52,211,153,.1)}
.dl-controls{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.dl-opt{display:flex;align-items:center;gap:8px;font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--muted)}
.dl-opt select{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:6px 10px;color:var(--ink);font-family:inherit;font-size:12px}

/* ===== Gantt Simulator (page 7.2) ===== */
.gantt-sim-controls{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:16px;align-items:end}
.gantt-sim-controls .gs-field{display:flex;flex-direction:column;gap:4px;flex:1;min-width:180px}
.gantt-sim-controls .gs-field label{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.gantt-sim-controls .gs-field input{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:9px 12px;color:var(--ink);font-family:"JetBrains Mono",monospace;font-size:14px}
.gantt-sim-controls .gs-field input:focus{border-color:var(--cyan);outline:none}
.gantt-sim-result{margin-top:16px}
.gantt-sim-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.gantt-sim-chart{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:16px;overflow-x:auto}
.gs-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;height:36px}
.gs-label{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--cyan);width:80px;flex-shrink:0;text-align:right}
.gs-bar-area{position:relative;height:30px;background:var(--panel);border:1px solid var(--line);border-radius:6px;min-width:200px}
.gs-bar{position:absolute;height:26px;top:2px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:600;color:#04222b;transition:.2s}
.gs-bar:hover{filter:brightness(1.15);transform:scaleY(1.1)}
.gs-ticks{position:relative;height:20px;margin-top:4px}
.gs-tick{position:absolute;font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--muted);transform:translateX(-50%)}
.gantt-sim-detail{margin-top:14px;padding:14px;background:var(--bg2);border:1px solid var(--line);border-radius:10px;font-size:13px;line-height:1.7;color:#d7e3f2}
.gantt-sim-detail b{color:var(--cyan)}
.q-input{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 12px;color:var(--ink);font-family:"JetBrains Mono",monospace;font-size:14px}
.q-input:focus{border-color:var(--cyan);outline:none}
@media(max-width:560px){
  .gantt-sim-controls{flex-direction:column}
  .gantt-sim-stats{grid-template-columns:1fr}
  .gs-row{flex-direction:column;align-items:flex-start;height:auto;gap:4px}
  .gs-label{width:auto;text-align:left}
}

/* ===== Exam/Quest/Test ===== */
.quest{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;margin-top:18px}
.quest h3{margin:0 0 14px;font-size:17px}
.q{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:10px}
.q .q-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.q .q-num{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--amber);font-weight:700}
.q .q-xp{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--green);margin-left:auto}
.q .q-text{font-size:14px;color:#d7e3f2;line-height:1.6;margin-bottom:10px}
.q .q-opts{display:flex;flex-direction:column;gap:6px}
.q .q-opt{cursor:pointer;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:13px;color:var(--ink);transition:.12s}
.q .q-opt:hover{border-color:var(--cyan)}
.q .q-opt.correct{border-color:var(--green);background:rgba(52,211,153,.1);color:var(--green)}
.q .q-opt.wrong{border-color:var(--red);background:rgba(248,113,113,.1);color:var(--red)}
.q .q-opt.disabled{pointer-events:none;opacity:.7}
.q .q-feed{margin-top:8px;font-size:13px;line-height:1.6;display:none}
.q .q-feed.show{display:block}
.quest-bar{display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px;background:var(--bg2);border-radius:10px;font-family:"JetBrains Mono",monospace;font-size:13px}
.quest-bar .qb-xp{color:var(--green);font-weight:700}
.quest-bar .qb-prog{flex:1;height:6px;background:var(--line);border-radius:3px;overflow:hidden}
.quest-bar .qb-fill{height:100%;background:var(--cyan);border-radius:3px;transition:.3s}

.testbar{display:flex;align-items:center;gap:12px;margin:14px 0;padding:12px;background:var(--bg2);border-radius:10px;font-family:"JetBrains Mono",monospace;font-size:13px;flex-wrap:wrap}
.testbar .tb-score{color:var(--green);font-weight:700}
.testbar .tb-prog{flex:1;height:6px;background:var(--line);border-radius:3px;overflow:hidden;min-width:100px}
.testbar .tb-fill{height:100%;background:var(--cyan);border-radius:3px;transition:.3s}

.ext{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;margin-top:18px}
.ext h3{margin:0 0 10px;font-size:17px}
.ext textarea{width:100%;min-height:120px;background:var(--bg2);border:1px solid var(--line);border-radius:9px;padding:12px;color:var(--ink);font-family:"JetBrains Mono",monospace;font-size:13px;resize:vertical;outline:none}
.ext textarea:focus{border-color:var(--cyan)}
.ext .ext-criteria{margin-top:14px;display:none}
.ext .ext-criteria.show{display:block}
.ext .ext-criteria h4{font-size:14px;color:var(--amber);margin:0 0 8px}
.ext .ext-criteria li{font-size:13px;color:#d7e3f2;line-height:1.6;margin:4px 0}

@media(max-width:560px){
  header h1{font-size:22px}
  .wrap{padding:0 13px}
  .sec-head h2{font-size:20px}
  .btn{padding:12px 18px;font-size:14px;min-height:44px}
  .btnrow{flex-direction:column}
  .btnrow .btn{width:100%}
  .amdahl-controls{flex-direction:column}
  .amdahl-result{grid-template-columns:1fr}
  .tblbox{margin-left:-13px;margin-right:-13px;border-radius:0;border-left:none;border-right:none}
  .pipe-stages{flex-direction:column}
  .gantt-processes{flex-direction:column}
  .gantt-stats{grid-template-columns:1fr}
  .dl-processes{grid-template-columns:1fr}
  .dl-controls{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none !important; transition:none !important}
}
