:root{--bg:#f5f9fa;--paper:#fff;--ink:#153447;--muted:#596f7d;--teal:#087f84;--line:#d8e3e8;--pale:#e3f4f1;--coral:#cf655d; color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 system-ui,-apple-system,sans-serif}body.dark{--bg:#0e2330;--paper:#163342;--ink:#eef7fa;--muted:#b3c9d3;--teal:#76d6cf;--line:#375563;--pale:#244c51;color-scheme:dark}header{display:flex;align-items:center;gap:25px;max-width:1200px;margin:auto;padding:24px 32px;border-bottom:1px solid var(--line)}header img{display:block;background:#fff;border-radius:5px;padding:4px}header span{font-size:11px;font-weight:750;letter-spacing:2px;color:var(--muted)}header button{margin-left:auto}main{max-width:1120px;margin:48px auto 80px;padding:0 28px;min-height:65vh}h1{font-size:clamp(32px,4vw,52px);line-height:1.14;letter-spacing:-1.5px;max-width:850px;margin:16px 0 24px}h2{font-size:26px;line-height:1.3;margin-top:0}h3{font-size:21px;line-height:1.4}p{max-width:80ch}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:2px;font-weight:750;color:var(--teal)}.lead{font-size:20px;color:var(--muted);max-width:750px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:36px}.card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:28px}.card{display:flex;flex-direction:column;align-items:flex-start;position:relative;overflow:hidden}.card:before{content:'';position:absolute;height:4px;left:0;right:0;top:0;background:var(--teal)}.card h2{margin:15px 0 5px}.card p{color:var(--muted);margin-bottom:24px}.card button{margin-top:auto}.badge{font-size:12px;padding:4px 10px;border-radius:30px;background:var(--pale);color:var(--teal);font-weight:650}.meta{display:flex;gap:10px;flex-wrap:wrap}.panel{margin:22px 0}.callout{border-left:4px solid var(--teal);background:var(--pale);padding:18px 22px;border-radius:0 12px 12px 0;margin:22px 0}.small{font-size:14px;color:var(--muted)}button,.button{border:1px solid var(--line);border-radius:10px;padding:11px 17px;background:var(--paper);color:var(--ink);font:600 15px/1.3 system-ui;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.button:hover{border-color:var(--teal);background:var(--pale)}button.primary{background:var(--teal);border-color:var(--teal);color:white}body.dark button.primary{color:#102c36}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--coral);outline-offset:4px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.toolbar{position:sticky;top:0;z-index:3;background:var(--bg);padding:12px 0;border-bottom:1px solid var(--line)}.clock{font-variant-numeric:tabular-nums;font-size:22px;font-weight:750}.steps{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.steps button[aria-current=step]{background:var(--pale);border-color:var(--teal)}video{width:100%;aspect-ratio:16/9;border-radius:12px;background:#112d3b}audio{width:100%;margin:20px 0}.options{display:grid;gap:12px;margin:24px 0}.option{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.option:has(input:checked){border-color:var(--teal);background:var(--pale)}.option input{margin-top:8px;accent-color:var(--teal);flex-shrink:0}.feedback{padding:14px 18px;background:var(--pale);border-radius:10px;margin:16px 0;min-height:0}.feedback:empty{display:none}textarea{width:100%;min-height:150px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:inherit}.progress{height:5px;background:var(--line);margin:18px 0}.progress i{display:block;height:100%;background:var(--teal)}summary{cursor:pointer;font-weight:650;padding:10px 0}details p{margin:8px 0 20px}.ending{display:none}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:8px;background:var(--paper);z-index:10}footer{border-top:1px solid var(--line);text-align:center;padding:26px;font-size:13px;color:var(--muted)}a{color:var(--teal)}@media(max-width:680px){header{padding:18px;gap:12px}header span{display:none}main{padding:0 18px;margin-top:30px}.grid{grid-template-columns:1fr}.card,.panel{padding:22px}h1{letter-spacing:-.8px}.toolbar .small{display:none}.clock{font-size:18px}.row button{padding:10px 12px}}@media print{header,footer,button,.toolbar,.steps,video,audio{display:none}main{max-width:none;margin:0}.panel{break-inside:avoid}body{background:white;color:black}}

.law-exercise{margin:24px 0;padding:22px;border:1px solid var(--line,#cededc);border-radius:16px;background:var(--bg,#f5f9fa)}.law-passage{line-height:2.8;padding:16px;border-left:3px solid #087F84}.law-token{display:inline;font:inherit;line-height:1.8;padding:3px 5px;margin:2px 0;border:1px solid currentColor;border-radius:5px;background:transparent;color:inherit;cursor:pointer}.law-token[aria-pressed=true]{background:#087F84;color:#fff;border-color:#087F84;box-shadow:0 2px 0 #153447}.law-token:focus-visible{outline:3px solid #db734f;outline-offset:3px}.law-exercise [hidden]{display:none}

.inline-media{margin:32px 0;padding:24px;background:var(--bg);border:1px solid var(--line);border-radius:16px}.embedded-media{margin:20px 0}.embedded-media h4{margin:0 0 12px}.embedded-media video{display:block;max-height:480px}.embedded-media audio{display:block;width:100%}#inline-media,#law-marking{scroll-margin-top:110px}@media(max-width:600px){.inline-media{padding:16px}.law-exercise{padding:16px}.law-passage{padding:10px}}

.marking-mount{scroll-margin-top:110px}

.reading-panel{max-width:860px;margin-inline:auto}.reading-section{margin:32px 0}.reading-section>.lesson-paragraph{line-height:1.8}.reading-section>.marking-mount{margin:24px 0 36px}.reading-panel .inline-media{margin:28px 0 36px}

.norm-analysis{margin:32px 0}.norm-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#F8FBFC}.norm-scroll img{display:block;width:100%;min-width:740px;height:auto}.norm-analysis figcaption{font-size:14px;color:var(--muted);margin-top:12px}.unit-slides{margin:28px 0 38px}.unit-slides>img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:12px;margin-bottom:16px}.unit-slides .row{justify-content:space-between}

.inline-lesson-slide{margin:28px 0 36px}.inline-lesson-slide img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:10px}.inline-lesson-slide figcaption{font-size:13px;color:var(--muted);margin-top:8px}.slide-downloads{border-top:1px solid var(--line);margin-top:32px;padding-top:16px}
