@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{color-scheme:light;--bg:#f7f8fb;--panel:#fff;--glass:rgba(255,255,255,.86);--text:#0f1728;--muted:#5e6b7f;--line:rgba(14,26,43,.13);--soft:#edf3fa;--accent:#1262a5;--shadow:0 18px 55px rgba(21,33,54,.07);--warn:#fff1dc;--warntext:#704013}
html[data-theme=dark]{color-scheme:dark;--bg:#081120;--panel:#0d1b31;--glass:rgba(13,27,49,.92);--text:#f5f7fb;--muted:#b9c4d6;--line:rgba(255,255,255,.16);--soft:#182b44;--accent:#63d2ff;--shadow:0 18px 55px rgba(0,0,0,.25);--warn:#392918;--warntext:#ffd6a0}*{box-sizing:border-box}body{margin:0;color:var(--text);font:14px/1.6 Inter,system-ui,sans-serif;background:radial-gradient(ellipse at 5% 0%,#ff7a1a19,transparent 45%),radial-gradient(ellipse at 95% 5%,#1c8fff14,transparent 40%),var(--bg);min-height:100vh}header{max-width:1540px;width:calc(100% - 40px);margin:18px auto 0;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:17px 22px;border:1px solid var(--line);border-radius:24px;background:var(--glass);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.brand{display:flex;gap:13px;align-items:center}.brand strong{font-size:20px;letter-spacing:-.5px}.brand strong span{font-weight:500}.brand small{display:block;font-size:10px;color:var(--muted);letter-spacing:.05em}.mark{display:grid;place-items:center;width:43px;height:43px;border-radius:14px;background:linear-gradient(135deg,#ff7a1a,#ff9c52);color:#172033;font-size:29px}.head{display:flex;align-items:center;justify-content:space-between;gap:15px}#status{font-size:12px;color:var(--muted)}main{max-width:1600px;margin:auto;padding:25px 3%}h1{font-size:clamp(26px,3vw,43px);line-height:1.2;letter-spacing:-.045em;margin:22px 0 15px}h2{font-size:21px;line-height:1.4}h3{font-size:16px}p,.subtle{color:var(--muted)}a{color:var(--accent);text-underline-offset:3px}nav,.toolbar,.legend,.filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}nav{border:1px solid var(--line);border-radius:19px;padding:7px;background:var(--glass);backdrop-filter:blur(18px)}button,.button,input,select,textarea{font:inherit;border:1px solid var(--line);border-radius:11px;padding:9px 12px;color:var(--text);background:var(--panel);min-height:40px}button,.button{cursor:pointer;font-weight:600}button:hover,.button:hover{border-color:#ff7a1a;background:var(--soft)}button:disabled{opacity:.5;cursor:wait}nav button{border:0;background:transparent;color:var(--muted);font-size:12px}nav button.active,.primary{background:linear-gradient(135deg,#ff7a1a,#ff9c52);color:#172033;border-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ff7a1a;outline-offset:3px}.toolbar #saved{max-width:420px;flex:1;min-width:220px}.legend span{border:1px solid var(--line);border-left:7px solid var(--domain);border-radius:9px;background:var(--glass);padding:10px;font-size:11px;flex:1;min-width:155px}section{background:var(--panel);padding:24px;border:1px solid var(--line);border-radius:24px;margin:16px 0;box-shadow:var(--shadow)}.hint{background:var(--soft);padding:13px;border:1px solid var(--line);border-radius:13px;font-size:13px}.warning{background:var(--warn);color:var(--warntext);padding:12px;border-radius:11px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:15px}.card{border:1px solid var(--line);border-radius:18px;padding:19px}.domain{border-top:6px solid var(--domain)}.scroll{overflow:auto;max-height:65vh;border:1px solid var(--line);border-radius:13px}table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}th,td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}thead th{position:sticky;top:0;z-index:3;background:var(--soft);min-width:175px}td.outcome{position:sticky;left:0;z-index:2;background:var(--panel);min-width:290px;max-width:390px;border-left:7px solid var(--domain)}.outcome strong{display:block}.outcome summary{color:var(--muted);cursor:pointer}.cell button{font-size:11px;width:100%;min-width:140px}.subcourse{background:var(--soft)}.s-introduced{background:#e8f1ff;color:#1c4072}.s-practised{background:#e3f4ec;color:#194936}.s-assessed{background:#cbeadf;color:#124530}.s-gap{background:#fff0dd;color:#704013}.s-excluded{background:#eeeef3;color:#454458}html[data-theme=dark] .s-introduced{background:#1b3557;color:#c9e0ff}html[data-theme=dark] .s-practised{background:#173b32;color:#bcebd4}html[data-theme=dark] .s-assessed{background:#1b4937;color:#c4f7db}html[data-theme=dark] .s-gap{background:#483118;color:#ffd6a0}html[data-theme=dark] .s-excluded{background:#303047;color:#deddec}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:24px;padding:25px;width:94%;max-width:900px;max-height:90vh}dialog::backdrop{background:#050d1a99;backdrop-filter:blur(5px)}.field{display:block;margin:14px 0}.field input,.field select,.field textarea{display:block;width:100%;margin-top:5px}textarea{min-height:100px;width:100%}.source{white-space:pre-wrap;background:var(--soft);padding:15px;border-radius:13px;max-height:300px;overflow:auto}.subtle{font-size:11px}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--text);color:var(--bg);padding:15px;border-radius:15px;z-index:30;width:92%;max-width:850px}footer{text-align:center;color:var(--muted);font-size:11px;padding:20px}@media(max-width:700px){header{width:calc(100% - 24px);padding:12px;border-radius:18px}header>.head{width:100%}main{padding:16px 12px}nav{flex-wrap:nowrap;overflow:auto}nav button{white-space:nowrap}section{padding:16px;border-radius:18px}.toolbar{display:grid;grid-template-columns:1fr 1fr}.toolbar #saved{grid-column:1/-1;min-width:0;width:100%}.toolbar button,.toolbar .button{font-size:12px;text-align:center}td.outcome{min-width:230px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* v6: navy/orange workspace, source domain colors, restrained glass */
:root,[data-theme="light"]{--bg:#f6f5f1;--panel:#fff;--ink:#192642;--muted:#566176;--line:#d9dce2;--accent:#c95000;--glass:rgba(255,255,255,.93);color-scheme:light}[data-theme="dark"]{--bg:#101725;--panel:#192235;--ink:#edf1f8;--muted:#b5c0d2;--line:#39445a;--accent:#ff984d;--glass:rgba(25,34,53,.95);color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:system-ui,sans-serif;font-size:16px}header{background:#192642;color:white;position:sticky;top:0;z-index:20;padding:1rem 2rem}.brand small{color:#cad3e3}main{max-width:1600px;padding:1.5rem;margin:auto}h1{font-size:clamp(1.5rem,2vw,2rem);margin:0 0 .5rem}h2{font-size:clamp(1.25rem,1.5vw,1.75rem)}h3{font-size:1.125rem}nav{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.5rem 0}nav button.active{background:var(--ink);color:var(--panel)}button,.button,input,select,textarea{font:inherit}button,.button{min-height:44px;border:1px solid var(--line);border-radius:.5rem;padding:.5rem .75rem;background:var(--panel);color:var(--ink);cursor:pointer}button:hover{border-color:var(--accent)}button:active{transform:translateY(1px)}button.primary{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:700}[data-theme="dark"] button.primary{color:#192642}input,select,textarea{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:.5rem;max-width:100%;padding:.75rem}a{color:var(--ink);text-decoration:underline}.hint,.subtle{color:var(--muted)}.toolbar,.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.card,#identity{background:var(--panel);border:1px solid var(--line);border-radius:.75rem;padding:1rem}.matrix-scroll,.chart-scroll{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:.75rem;background:var(--panel)}.matrix-scroll{max-height:70vh}.v6-matrix{border-collapse:separate;border-spacing:0;width:100%;font-size:.875rem}.v6-matrix th,.v6-matrix td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:.75rem;min-width:180px;background:var(--panel);vertical-align:top}.v6-matrix thead th{position:sticky;top:0;z-index:5;min-width:200px}.v6-matrix thead th:first-child{left:0;z-index:7;min-width:250px}.v6-matrix .outcome{position:sticky;left:0;z-index:3;min-width:250px;text-align:left}.v6-matrix .group th{background:color-mix(in srgb,var(--domain) 65%,var(--panel));color:var(--ink);padding:.5rem .75rem}.group button{background:transparent;border:0;font-weight:700;text-align:left}.module-link{width:100%;font-weight:700;background:transparent}.v6-matrix small{display:block;margin:.5rem 0;color:var(--muted)}.mapping-cell{width:100%;min-height:70px;display:flex;gap:.5rem;flex-wrap:wrap;align-content:center;justify-content:center}.tag{display:inline-block;border-radius:999px;padding:.25rem .5rem;font-size:.75rem;line-height:1.5;color:#192642;background:#e5e8ed}.tag.introduced{background:#ffe6a5}.tag.practised{background:#c5e5f8}.tag.mastery{background:#bae6c9}.tag.tested{background:#e1e3e8}details{margin:.75rem 0}summary{cursor:pointer;line-height:1.6}details p{margin:.75rem 0;white-space:normal;max-width:70ch}.v6-matrix details p{min-width:220px}dialog{width:min(640px,calc(100vw - 2rem));max-height:90dvh;margin:auto;border:1px solid var(--line);border-radius:1.25rem;background:var(--glass);color:var(--ink);backdrop-filter:blur(22px);box-shadow:0 20px 70px #0003;padding:1.5rem;overflow:auto}dialog::backdrop{background:rgba(15,25,40,.3);backdrop-filter:blur(2px)}dialog .head{position:sticky;top:-1.5rem;background:var(--glass);z-index:4;padding:.5rem 0;gap:1rem}dialog h2{margin:0}dialog .field{display:block;margin:1rem 0}dialog textarea{min-height:85px;resize:vertical;width:100%}dialog select{width:100%;margin-top:.5rem}.alignment-steps section{margin:1rem 0;padding-bottom:.5rem;border-bottom:1px solid var(--line)}.breadcrumb{font-size:.875rem;line-height:1.6}.choice{display:block;width:100%;text-align:left;margin:.5rem 0}#form>button.primary{width:100%;margin-top:1rem}.graph-legend{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.graph-legend button{display:flex;gap:.5rem;align-items:center;font-size:.875rem}.graph-legend button[aria-pressed="false"]{opacity:.5}.dot{width:14px;height:14px;border-radius:50%;background:var(--domain);border:1px solid var(--ink)}svg.curriculum-chart{display:block;max-width:none;font:14px system-ui;fill:var(--ink)}.graph-point{cursor:pointer}.graph-point:focus{outline:2px solid var(--accent)}.warning{padding:1rem;background:var(--panel);border:1px solid var(--line);border-radius:.5rem}footer{margin-top:2rem}#notice{background:var(--panel);color:var(--ink);border:1px solid var(--line)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media(max-width:700px){main{padding:1rem}header{padding:.75rem;flex-wrap:wrap;gap:.5rem}.toolbar>*{flex:1 1 145px}dialog{padding:1rem;width:calc(100vw - 1rem)}.v6-matrix .outcome,.v6-matrix thead th:first-child{min-width:170px}.head{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
