    :root{color-scheme:dark;--bg:#0b1324;--panel:#111d32;--panel2:#17253d;--line:#2b3b55;--text:#edf5ff;--muted:#a9bdd3;--mint:#72e4c0;--gold:#f8cb76;--coral:#ff948c;--blue:#80bfff}
    *{box-sizing:border-box}
    body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 0%,#1c3152 0,transparent 33%),radial-gradient(circle at 95% 85%,#153d41 0,transparent 32%),var(--bg);color:var(--text);font-family:Tahoma,"Segoe UI",sans-serif;line-height:1.85}
    button{font:inherit;cursor:pointer}
    button:focus-visible{outline:3px solid var(--mint);outline-offset:3px}
    .wrap{width:min(1060px,calc(100% - 32px));margin:auto;padding:28px 0 70px}
    .course-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:30px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#0e1a2dcc;backdrop-filter:blur(8px);position:sticky;top:10px;z-index:20;box-shadow:0 14px 35px #0004}
    .brand{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:800;white-space:nowrap}
    .brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,var(--mint),#4e9ecf);color:#07232c}
    .course-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
    .course-tab{border:1px solid var(--line);background:#14223a;color:var(--muted);border-radius:12px;padding:7px 15px}
    .course-tab:hover{border-color:var(--mint);color:#fff}
    .course-tab[aria-pressed="true"]{background:#23534f;border-color:var(--mint);color:#fff;box-shadow:inset 0 0 0 1px #72e4c055}
    header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px}
    .eyebrow{margin:0 0 8px;color:var(--mint);font-size:.82rem;letter-spacing:.02em;font-weight:700}
    h1{font-size:clamp(1.8rem,4vw,3.15rem);line-height:1.45;margin:0 0 12px;letter-spacing:-.04em}
    .intro{max-width:720px;color:var(--muted);margin:0;font-size:.95rem}
    .badge{white-space:nowrap;border:1px solid #376b69;color:var(--mint);border-radius:999px;padding:5px 14px;background:#173233;font-size:.82rem}
    .toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:22px 0 18px}
    .chips{display:flex;gap:8px;flex-wrap:wrap}
    .chip,.ghost{border:1px solid var(--line);background:#14223a;color:var(--muted);border-radius:12px;padding:7px 13px}
    .chip[aria-pressed="true"]{background:#23534f;border-color:var(--mint);color:#fff}
    .ghost:hover,.chip:hover{border-color:var(--mint);color:#fff}
    .counter{color:var(--muted);font-size:.9rem}
    .progress{height:7px;background:#1b2a43;border-radius:999px;overflow:hidden;margin-bottom:18px}
    .progress>span{display:block;width:0;height:100%;border-radius:999px;background:linear-gradient(90deg,#4bc9b2,#b5f5c5);transition:width .3s}
    .stage{perspective:1200px}
    .card{display:block;position:relative;width:100%;height:450px;border:0;padding:0;text-align:right;color:var(--text);background:transparent;border-radius:26px;perspective:inherit}
    .card-inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
    .card.is-flipped .card-inner{transform:rotateY(180deg)}
    .face{position:absolute;inset:0;display:flex;flex-direction:column;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:auto;border:1px solid #36506e;border-radius:26px;padding:clamp(22px,4.5vw,42px);box-shadow:0 25px 60px #0005}
    .front{background:linear-gradient(145deg,#192d4b 0%,#15253e 60%,#15363d 100%)}
    .back{background:linear-gradient(145deg,#163a40 0%,#15283f 70%);transform:rotateY(180deg)}
    .face-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.82rem}
    .topic{color:var(--mint);font-weight:700}
    .question{margin:auto 0;max-width:800px;font-size:clamp(1.4rem,3vw,2.2rem);line-height:1.8;font-weight:700;white-space:pre-line}
    .hint{color:var(--muted);font-size:.85rem;margin:0}
    .answer-title{color:var(--mint);font-size:.78rem;font-weight:700;margin:14px 0 4px}
    .answer{margin:0 0 12px;font-size:clamp(.96rem,2vw,1.1rem);font-weight:600;white-space:pre-line}
    .schema-label{color:var(--gold);font-size:.76rem;font-weight:700;margin:0 0 7px}
    .schema{display:flex;flex-wrap:wrap;align-items:stretch;gap:7px;direction:rtl;margin-bottom:12px}
    .node{flex:1 1 125px;display:grid;place-items:center;min-height:48px;padding:7px 12px;text-align:center;border:1px solid #416d73;background:#1c4249;color:#ebfffa;border-radius:12px;font-size:.87rem;line-height:1.6;white-space:pre-line}
    .arrow{align-self:center;color:var(--gold);font-size:1.25rem;font-weight:700}
    .why{margin:0;border-right:3px solid var(--gold);padding:2px 12px 2px 0;color:#d9e8ed;font-size:.88rem;white-space:pre-line}
    .controls{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}
    .primary{border:0;background:var(--mint);color:#082b2b;font-weight:800;padding:11px 24px;border-radius:13px}
    .primary:hover{background:#a7f4d9}
    .secondary{border:1px solid var(--line);background:#1b2c46;color:var(--text);padding:10px 18px;border-radius:13px}
    .secondary:hover{border-color:var(--mint)}
    .secondary[disabled]{opacity:.35;cursor:not-allowed}
    .known[aria-pressed="true"]{border-color:var(--mint);color:var(--mint)}
    .stats{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:.82rem;margin-top:23px;border-top:1px solid var(--line);padding-top:18px}
    .stats strong{color:var(--mint)}
    code{font-family:Consolas,"Courier New",monospace;color:#ffda9f;direction:ltr;unicode-bidi:isolate;white-space:normal}
    .course-summary{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
    .summary-pill{border:1px solid var(--line);background:#101d31;border-radius:999px;color:var(--muted);padding:3px 11px;font-size:.78rem}
    @media(max-width:700px){.wrap{padding-top:12px}.course-nav{position:static;display:block}.brand{margin-bottom:10px}.course-tabs{justify-content:flex-start}header{display:block}.badge{display:inline-block;margin-top:16px}.card{height:530px}.face{padding:22px}.schema{gap:5px}.node{flex-basis:105px;min-height:45px;font-size:.77rem}.arrow{font-size:1rem}.controls{gap:8px}.controls button{padding:9px 13px}}
    @media(prefers-reduced-motion:reduce){.card-inner{transition:none}.progress>span{transition:none}}
