@property --lvl{syntax: "<number>"; inherits: false; initial-value: 0;}@property --t{syntax: "<number>"; inherits: false; initial-value: 1;}@property --p{syntax: "<number>"; inherits: true; initial-value: 0;}:root{color-scheme:light;--bg: #ffffff;--surface: #f9f5fa;--surface-2: #f0edf1;--surface-3: #e4e1e6;--border: #dfdce0;--line: #c8c5ca;--outline: #7c7b82;--ink: #1b1b1f;--ink-2: #3b3b3f;--muted: #5e5e64;--brand: #154fe2;--on-brand: #ffffff;--brand-soft: #dce1ff;--brand-on-soft: #002681;--brand-vivid: #537aff;--brand-lip: #00309a;--ce: #00696c;--ce-fill: #00bec3;--on-ce: #002021;--ce-soft: #a8eff1;--ce-on-soft: #003738;--ce-vivid: #009297;--co: #8634be;--co-fill: #8634be;--on-co: #ffffff;--co-soft: #f3daff;--co-on-soft: #4d0079;--co-vivid: #af5ee8;--ee: #7d5700;--ee-fill: #e19f00;--on-ee: #271900;--ee-soft: #ffdeab;--ee-on-soft: #422c00;--ee-vivid: #ae7a00;--eo: #ab276e;--eo-fill: #ab276e;--on-eo: #ffffff;--eo-soft: #ffd9e5;--eo-on-soft: #63003b;--eo-vivid: #dc4f94;--ok: #006d42;--ok-fill: #007a4b;--on-ok: #ffffff;--ok-soft: #b6f0c9;--ok-on-soft: #003920;--ok-vivid: #00975e;--err: #b12d20;--err-fill: #8e120a;--on-err: #ffffff;--err-soft: #ffdad5;--err-on-soft: #690001;--err-vivid: #e45240;--lvl-a1: #e6f9b1;--lvl-a2: #cee78e;--lvl-b1: #d2f0ff;--lvl-b2: #9ee0ff;--warn: var(--ink);--warn-soft: var(--surface-3);--focus: var(--brand);--scrim: rgb(12 12 20 / .32);--spot-blob: #ffffff;--accent: var(--brand);--accent-ink: var(--on-brand);--accent-soft: var(--brand-soft);--dim: var(--muted);--faint: var(--muted);--error: var(--err);--error-soft: var(--err-soft);--shadow: 0 12px 32px rgb(20 16 40 / .14);--elev-1: 0 1px 2px rgb(20 16 40 / .1), 0 1px 3px rgb(20 16 40 / .08);--elev-2: 0 4px 12px rgb(20 16 40 / .1);--elev-3: 0 12px 32px rgb(20 16 40 / .16);--dur-100: .1s;--dur-150: .15s;--dur-200: .2s;--dur-300: .3s;--dur-450: .45s;--dur-700: .7s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-standard-in: cubic-bezier(.3, 0, 1, 1);--ease-emph-out: cubic-bezier(.05, .7, .1, 1);--spring-bouncy: linear(0, .007 1.2%, .029 2.5%, .07 4%, .123 5.5%, .248 8.3%, .531 14%, .649 16.5%, .756 19%, .848 21.5%, .924 24%, .985 26.5%, 1.03 29%, 1.064 31.7%, 1.089 35.5%, 1.094 39.7%, 1.081 44.7%, 1.019 58.8%, .998 67.2%, .991 78%, 1);--spring-bouncy-dur: .36s;--spring-gentle: linear(0, .006 1.3%, .025 2.8%, .055 4.3%, .098 6%, .198 9.2%, .535 18.8%, .631 22%, .716 25.2%, .784 28.2%, .843 31.3%, .893 34.7%, .932 38%, .963 41.7%, .987 45.7%, 1.003 50.2%, 1.012 55.2%, 1.015 64.8%, 1);--spring-gentle-dur: .44s;--spring-calm: linear(0, .006 1.3%, .022 2.7%, .049 4.2%, .089 5.8%, .176 8.8%, .491 18.7%, .585 22%, .666 25.3%, .733 28.5%, .792 31.8%, .842 35.3%, .884 39%, .92 43.2%, .949 47.8%, .971 53%, .986 58.8%, 1 73.3%, 1);--spring-calm-dur: .32s;--route-dur: .22s;--stagger: 30ms;--seq: 90ms;--lift: 8px;--r-xs: 4px;--r-s: 8px;--r-m: 12px;--r-l: 16px;--r-card: 20px;--r-sheet: 28px;--r-full: 999px;--font: "Google Sans", "Google Sans Text", "Product Sans", Roboto, system-ui, -apple-system, sans-serif;--rail: 88px;--topbar: 56px;--tabbar: 64px;--page-x: clamp(16px, 4vw, 48px)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #131316;--surface: #1b1b1f;--surface-2: #232327;--surface-3: #2c2c2f;--border: #39393c;--line: #47464a;--outline: #84838a;--ink: #f0edf1;--ink-2: #d6d3d8;--muted: #b1b0b7;--brand: #90a7ff;--on-brand: #001551;--brand-soft: #313b65;--brand-on-soft: #e4e7ff;--brand-vivid: #90a7ff;--brand-lip: #3c6afc;--ce: #4cd9de;--ce-fill: #00bec3;--on-ce: #002021;--ce-soft: #004547;--ce-on-soft: #b3f4f6;--ce-vivid: #00bec3;--co: #e3b5ff;--co-fill: #d290ff;--on-co: #2f004c;--co-soft: #4c345d;--co-on-soft: #f7e1ff;--co-vivid: #d290ff;--ee: #fabc49;--ee-fill: #e19f00;--on-ee: #271900;--ee-soft: #533901;--ee-on-soft: #ffe4be;--ee-vivid: #e19f00;--eo: #ffb0cf;--eo-fill: #ff82ba;--on-eo: #3d0023;--eo-soft: #5e2e43;--eo-on-soft: #ffe0ea;--eo-vivid: #ff82ba;--ok: #77daa1;--ok-fill: #85e9ae;--on-ok: #002111;--ok-soft: #13462d;--ok-on-soft: #bff5d0;--ok-vivid: #00c47b;--err: #ffb4a8;--err-fill: #fb8c7c;--on-err: #410000;--err-soft: #622f27;--err-on-soft: #ffe2dd;--err-vivid: #ff8a79;--lvl-a1: #2a3410;--lvl-a2: #374514;--lvl-b1: #083544;--lvl-b2: #00465b;--scrim: rgb(0 0 0 / .55);--spot-blob: #131316;--shadow: 0 12px 32px rgb(0 0 0 / .5);--elev-1: 0 1px 2px rgb(0 0 0 / .4);--elev-2: 0 4px 12px rgb(0 0 0 / .45);--elev-3: 0 12px 32px rgb(0 0 0 / .55)}}:root[data-theme=dark]{color-scheme:dark;--bg: #131316;--surface: #1b1b1f;--surface-2: #232327;--surface-3: #2c2c2f;--border: #39393c;--line: #47464a;--outline: #84838a;--ink: #f0edf1;--ink-2: #d6d3d8;--muted: #b1b0b7;--brand: #90a7ff;--on-brand: #001551;--brand-soft: #313b65;--brand-on-soft: #e4e7ff;--brand-vivid: #90a7ff;--brand-lip: #3c6afc;--ce: #4cd9de;--ce-fill: #00bec3;--on-ce: #002021;--ce-soft: #004547;--ce-on-soft: #b3f4f6;--ce-vivid: #00bec3;--co: #e3b5ff;--co-fill: #d290ff;--on-co: #2f004c;--co-soft: #4c345d;--co-on-soft: #f7e1ff;--co-vivid: #d290ff;--ee: #fabc49;--ee-fill: #e19f00;--on-ee: #271900;--ee-soft: #533901;--ee-on-soft: #ffe4be;--ee-vivid: #e19f00;--eo: #ffb0cf;--eo-fill: #ff82ba;--on-eo: #3d0023;--eo-soft: #5e2e43;--eo-on-soft: #ffe0ea;--eo-vivid: #ff82ba;--ok: #77daa1;--ok-fill: #85e9ae;--on-ok: #002111;--ok-soft: #13462d;--ok-on-soft: #bff5d0;--ok-vivid: #00c47b;--err: #ffb4a8;--err-fill: #fb8c7c;--on-err: #410000;--err-soft: #622f27;--err-on-soft: #ffe2dd;--err-vivid: #ff8a79;--lvl-a1: #2a3410;--lvl-a2: #374514;--lvl-b1: #083544;--lvl-b2: #00465b;--scrim: rgb(0 0 0 / .55);--spot-blob: #131316;--shadow: 0 12px 32px rgb(0 0 0 / .5);--elev-1: 0 1px 2px rgb(0 0 0 / .4);--elev-2: 0 4px 12px rgb(0 0 0 / .45);--elev-3: 0 12px 32px rgb(0 0 0 / .55)}:root[data-palette=indigo]{--brand: #3241f8;--on-brand: #ffffff;--brand-soft: #e0e0ff;--brand-on-soft: #000ba6;--brand-vivid: #6975ff;--brand-lip: #0010c6}@media(prefers-color-scheme:dark){:root[data-palette=indigo]:not([data-theme=light]){--brand: #9ca4ff;--on-brand: #000469;--brand-soft: #363a64;--brand-on-soft: #e0e0ff;--brand-vivid: #9ca4ff;--brand-lip: #4f5cf5}}:root[data-palette=indigo][data-theme=dark]{--brand: #9ca4ff;--on-brand: #000469;--brand-soft: #363a64;--brand-on-soft: #e0e0ff;--brand-vivid: #9ca4ff;--brand-lip: #4f5cf5}[data-skill=ce]{--skill: var(--ce);--skill-fill: var(--ce-fill);--on-skill: var(--on-ce);--skill-soft: var(--ce-soft);--skill-on-soft: var(--ce-on-soft);--skill-vivid: var(--ce-vivid)}[data-skill=co]{--skill: var(--co);--skill-fill: var(--co-fill);--on-skill: var(--on-co);--skill-soft: var(--co-soft);--skill-on-soft: var(--co-on-soft);--skill-vivid: var(--co-vivid)}[data-skill=ee]{--skill: var(--ee);--skill-fill: var(--ee-fill);--on-skill: var(--on-ee);--skill-soft: var(--ee-soft);--skill-on-soft: var(--ee-on-soft);--skill-vivid: var(--ee-vivid)}[data-skill=eo]{--skill: var(--eo);--skill-fill: var(--eo-fill);--on-skill: var(--on-eo);--skill-soft: var(--eo-soft);--skill-on-soft: var(--eo-on-soft);--skill-vivid: var(--eo-vivid)}[data-skill=br]{--skill: var(--brand);--skill-fill: var(--brand);--on-skill: var(--on-brand);--skill-soft: var(--brand-soft);--skill-on-soft: var(--brand-on-soft);--skill-vivid: var(--brand-vivid)}:root[data-colour=quiet] [data-skill],body[data-register=exam] [data-skill]{--skill: var(--ink);--skill-fill: var(--surface-3);--on-skill: var(--ink);--skill-soft: var(--surface-2);--skill-on-soft: var(--ink);--skill-vivid: var(--ink)}:root[data-colour=quiet],body[data-register=exam]{--lvl-a1: var(--surface-2);--lvl-a2: var(--surface-2);--lvl-b1: var(--surface-2);--lvl-b2: var(--surface-2)}:root[data-answers=hc]{--ok: #00629d;--ok-fill: #00629d;--on-ok: #ffffff;--err: #a65500;--err-fill: #a65500;--on-err: #ffffff;--ok-soft: var(--surface-2);--err-soft: var(--surface-2);--ok-on-soft: var(--ink);--err-on-soft: var(--ink)}@media(prefers-color-scheme:dark){:root[data-answers=hc]:not([data-theme=light]){--ok: #99cbff;--ok-fill: #99cbff;--on-ok: #131316;--err: #ff8e2b;--err-fill: #ff8e2b;--on-err: #131316}}:root[data-answers=hc][data-theme=dark]{--ok: #99cbff;--ok-fill: #99cbff;--on-ok: #131316;--err: #ff8e2b;--err-fill: #ff8e2b;--on-err: #131316}:root[data-rm="1"]{--spring-bouncy: var(--ease-standard);--spring-gentle: var(--ease-standard);--spring-calm: var(--ease-standard);--spring-bouncy-dur: .15s;--spring-gentle-dur: .15s;--spring-calm-dur: .15s;--route-dur: .15s;--dur-300: .15s;--dur-450: .15s;--dur-700: .15s;--lift: 0px;--stagger: 0ms;--seq: 0ms}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}@media(min-width:900px){body{grid-template-columns:var(--rail) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}}body[data-chrome=focus]{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}[hidden]{display:none!important}a{color:inherit;text-decoration:none}.fr{font-weight:500}.num{font-variant-numeric:tabular-nums}.dim{color:var(--dim)}.small{font-size:13px}.kicker{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.kicker.accent{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}section.screen:focus{outline:none}.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:var(--bg);padding:8px 12px;border-radius:8px;z-index:10}.skip:focus{left:8px}button,select{font:inherit;height:44px;padding:0 18px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--ink);font-weight:500;cursor:pointer;transition:background .15s ease-out,border-color .15s ease-out,color .15s ease-out}button:hover{background:var(--surface)}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}button.primary:hover{filter:brightness(1.08);background:var(--accent)}button.quiet{border-color:transparent;color:var(--muted)}button.icon{width:40px;height:40px;padding:0;border-color:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;border-radius:50%}button.icon:hover{color:var(--ink);background:var(--surface-2)}button svg.ic,a svg.ic,span svg.ic{width:20px;height:20px;display:block}select{padding:0 12px}nav.rail{border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:stretch;padding:14px 8px;gap:4px;background:var(--bg)}nav.rail .brand{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0 18px;color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}nav.rail .brand b{font-size:15px;letter-spacing:.02em}nav.rail a.item,nav.tabbar a.item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:12px;color:var(--muted);font-size:11px;font-weight:500;letter-spacing:.02em;transition:background .15s ease-out,color .15s ease-out}nav.rail a.item:hover{background:var(--surface);color:var(--ink)}nav.rail a.item[aria-current=page],nav.tabbar a.item[aria-current=page]{color:var(--accent)}nav.rail a.item[aria-current=page]{background:var(--accent-soft)}nav.rail a.item svg.ic,nav.tabbar a.item svg.ic{width:22px;height:22px}nav.tabbar{grid-column:1 / -1;display:flex;justify-content:space-around;align-items:stretch;border-top:1px solid var(--border);background:var(--bg);padding:4px 4px calc(4px + env(safe-area-inset-bottom))}nav.tabbar a.item{flex:1;padding:6px 2px;gap:3px;font-size:10px}@media(max-width:899px){nav.rail{display:none}}body[data-chrome=focus] nav.rail,body[data-chrome=focus] nav.tabbar{display:none}body[data-chrome=bare]{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}body[data-chrome=bare] nav.rail,body[data-chrome=bare] nav.tabbar,body[data-chrome=bare] header.app{display:none}#screen-login{display:grid;place-items:center;padding:24px}#screen-login[hidden]{display:none}.login{width:min(360px,100%);display:flex;flex-direction:column;gap:18px;align-items:center;text-align:center}.login .lockup{margin-bottom:8px}.login .logo{width:72px;height:72px}.login form{display:flex;flex-direction:column;gap:10px;width:100%}.login input{font:inherit;font-size:17px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);text-align:center}.login .err{color:var(--error);font-size:14px;min-height:1.4em;margin:0}.login .gbtn{min-height:44px;display:flex;justify-content:center}.gbtn{color-scheme:light}.login .dev-login{display:flex;gap:8px;width:100%}.login .dev-login input{flex:1;text-align:left;font-size:14px;padding:8px 12px}#screen-welcome{display:grid;grid-template-columns:minmax(0,1fr);place-items:start center;padding:40px 24px;overflow:auto}#screen-welcome[hidden]{display:none}.welcome{width:min(460px,100%);display:flex;flex-direction:column;gap:14px}.welcome h2{margin:6px 0 0;font-size:26px;letter-spacing:-.01em;overflow-wrap:anywhere}.welcome p.sub{margin:0 0 8px;color:var(--ink-2);overflow-wrap:anywhere}.profile-form{display:grid;gap:16px;width:100%}.profile-form label,.profile-form .field{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--ink-2);font-weight:500}.profile-form .hint{display:block;font-size:12px;font-weight:400;color:var(--muted)}.profile-form input{font:inherit;font-size:16px;height:44px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}.profile-form input[type=date]{min-width:0}.profile-form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-form .seg{align-self:flex-start}.profile-form .err{color:var(--error);font-size:14px;min-height:1.4em;margin:0}#screen-legal{display:block;padding:40px 24px;overflow:auto}#screen-legal[hidden]{display:none}.legal{width:min(680px,100%);margin:0 auto;display:flex;flex-direction:column;gap:10px}.legal .bar{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:14px}#legal-back{margin-left:-10px}.legal .bar a{color:var(--ink-2);text-decoration:none}.legal .bar a:hover{text-decoration:underline}.legal h2{margin:8px 0 0;font-size:26px;letter-spacing:-.01em}.legal h3{margin:22px 0 6px;font-size:16px}.legal p,.legal li{margin:0 0 10px;font-size:15px;line-height:1.55;color:var(--ink-2)}.legal p.lede{font-size:17px;color:var(--ink)}.legal ul{margin:0;padding-left:20px}.legal a{color:var(--accent)}.legal mark.fill{background:transparent;color:var(--accent);border-bottom:1px dashed var(--accent);font-style:italic}.legal .draft{margin:0;padding:10px 12px;border:1px dashed var(--line);border-radius:10px;font-size:13px;color:var(--muted)}.legal .draft[hidden]{display:none}.packs{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 12px}.packs .pack{display:flex;flex-direction:column;align-items:flex-start;gap:2px;height:auto;min-width:150px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.packs .pack b{font-size:20px}.packs .pack:hover{border-color:var(--ink);background:var(--surface)}.packs .pack:disabled{opacity:.55;cursor:default}.packs .pack.busy{border-color:var(--accent)}.legal-links{margin:28px 0 0}.legal-links a{color:inherit}.profile-form .actions{display:flex}@media(max-width:480px){.profile-form .two{grid-template-columns:1fr}}.settings .profile-form{padding:12px 0 16px}.settings .r .profile-form .seg{margin-left:0}#account-body .pg,#admin-body .pg{margin-top:24px}#account-body.row-list{display:block}.admin-actions{display:inline-flex;gap:6px;align-items:center}.admin-actions input{width:72px;height:32px;font:inherit;font-size:14px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}.admin-actions button,.admin-invite button,.admin-invites button{height:32px;padding:0 10px;font-size:13px}.admin-invite{display:flex;gap:8px;max-width:420px;margin:8px 0}.admin-invite input{flex:1;height:36px;font:inherit;font-size:14px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}.admin-invites{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column}.admin-invites li{display:flex;align-items:center;gap:12px;padding:6px 0;border-top:1px solid var(--border);font-size:14px}.admin-invites li span:first-child{flex:1}.credit-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;border:1px solid var(--warn);border-radius:12px;color:var(--ink-2);font-size:14px;margin-bottom:16px}.credit-strip[hidden]{display:none}.credit-strip a{color:var(--ink);font-weight:500}#me{width:32px;height:32px;border-radius:50%;padding:0;overflow:hidden;display:inline-grid;place-items:center;font-size:12px;font-weight:700;letter-spacing:0;color:var(--ink);background:var(--surface-2);border:1px solid var(--border)}#me img{width:100%;height:100%;object-fit:cover;display:block}#me[hidden],body[data-chrome=focus] #me{display:none}.settings .account{display:flex;align-items:center;gap:12px}.settings .account img{width:36px;height:36px;border-radius:50%}.frame{display:flex;flex-direction:column;min-height:0;min-width:0}header.app{height:var(--topbar);flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 var(--page-x);border-bottom:1px solid var(--border);font-size:14px}header.app .left{display:flex;align-items:center;gap:12px;min-width:0}header.app .page-title{margin:0;font-size:18px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}header.app #session-module{color:var(--ink-2);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}header.app .right{display:flex;align-items:center;gap:16px;color:var(--muted)}header.app .right b{color:var(--ink-2);font-weight:500}header.app .right>:empty:not(button):not(a){display:none}header.app .kicker{white-space:nowrap}body[data-chrome=focus] #theme-toggle{display:none}#topbar-back{margin-left:-10px}@media(max-width:720px){header.app #session-module{display:none}header.app #cost-month{display:none}header.app .right{gap:10px;font-size:13px}}main{flex:1;min-height:0;display:flex;flex-direction:column}section.screen{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.page{width:100%;max-width:1100px;margin:0 auto;padding:24px var(--page-x) 40px;display:flex;flex-direction:column;gap:26px}.page.narrow{max-width:720px}.page-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}.page-head h2{margin:0;font-size:24px;font-weight:500}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px 20px}.card.accent{border-color:var(--accent)}.tile{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;font-size:13px}.tile .big{font-size:28px;line-height:1.1;color:var(--ink)}.tile .unit{font-size:15px;color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips button.chip{height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:500;background:transparent}.chips button.chip[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.chips span{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:8px;background:var(--surface-2);font-size:13px;color:var(--ink-2)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.seg button{height:36px;padding:0 14px;border:0;border-radius:0;color:var(--muted);font-size:14px}.seg button+button{border-left:1px solid var(--line)}.seg button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%,12px);opacity:0;pointer-events:none;z-index:20;max-width:min(520px,calc(100% - 32px));background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:999px;font-size:14px;box-shadow:var(--shadow);transition:opacity .15s ease-out,transform .15s ease-out}.toast.on{opacity:1;transform:translate(-50%)}.toast[data-kind=error]{background:var(--err-fill);color:var(--on-err)}@media(max-width:899px){.toast{bottom:calc(var(--tabbar) + 14px + env(safe-area-inset-bottom))}body[data-chrome=focus] .toast{bottom:calc(18px + env(safe-area-inset-bottom))}}mark.said{background:transparent;color:inherit;text-decoration:underline;text-decoration-color:var(--error);text-decoration-thickness:2px;text-underline-offset:3px}mark.fix{background:var(--ok-soft);color:var(--ok);border-radius:4px;padding:0 4px}.row-list{display:flex;flex-direction:column}.row-list .r{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-top:1px solid var(--border);font-size:15px;color:var(--ink-2)}.row-list .r:last-child{border-bottom:1px solid var(--border)}.row-list .r .sub{display:block;font-size:13px;color:var(--muted)}.row-list .r .val{color:var(--muted);font-size:14px;white-space:nowrap}.ok{color:var(--ok)}.warn{color:var(--warn)}.bad{color:var(--error)}.today-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:16px;align-items:stretch}@media(max-width:860px){.today-hero{grid-template-columns:1fr}}.continue{display:flex;flex-direction:column;gap:10px}.continue h2{margin:0;font-size:clamp(22px,3vw,30px);line-height:1.15;font-weight:500}.continue .last{margin:0;font-size:15px;line-height:1.5;color:var(--muted)}.continue .actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding-top:6px}.continue .variant{font-size:13px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.ring-card{display:flex;align-items:center;gap:18px}.ring-card svg{flex:none;width:96px;height:96px}.ring-card .txt{display:flex;flex-direction:column;gap:4px;min-width:0}.ring-card .txt .v{font-size:22px;color:var(--ink)}.ring-card .txt .s{font-size:13px;color:var(--muted);line-height:1.4}.nudges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media(max-width:760px){.nudges{grid-template-columns:1fr}}.nudge{display:flex;flex-direction:column;gap:4px;padding:14px 16px;text-align:left;height:auto;align-items:flex-start;border-radius:16px;border:1px solid var(--border);background:var(--surface);font-weight:400}.nudge:hover{border-color:var(--line);background:var(--surface)}.nudge .t{font-size:16px;color:var(--ink);font-weight:500}.nudge .why{font-size:13px;color:var(--muted);line-height:1.4}.today-block{display:flex;flex-direction:column;gap:10px}.today-block .head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.skill-row{display:grid;grid-template-columns:240px minmax(0,1fr) 140px 90px;gap:24px;align-items:center;padding:14px 0;border-top:1px solid var(--border)}.skill-row:last-child{border-bottom:1px solid var(--border)}@media(max-width:860px){.skill-row{grid-template-columns:1fr 1fr;gap:10px 16px}.skill-row .bar{grid-column:1 / -1}}.skill-row .skill-name{display:block;font-size:19px;color:var(--ink-2)}.skill-row .skill-sub{font-size:13px;color:var(--muted)}.skill-row .skill-src{display:block;font-size:12px;color:var(--dim)}.skill-row .bar{position:relative;height:10px;background:var(--border);border-radius:5px}.skill-row .fill{position:absolute;left:0;top:0;height:10px;background:var(--dim);border-radius:5px;transition:width .25s ease-out}.skill-row .fill.ok{background:var(--ok)}.skill-row .tick{position:absolute;top:-5px;width:2px;height:20px;background:var(--ink)}.right{text-align:right}.recent-row{display:grid;grid-template-columns:150px minmax(0,1fr) 90px 120px 70px;gap:16px;padding:10px 0;border-top:1px solid var(--border);font-size:14px;color:var(--ink-2)}.recent-row:hover{background:var(--surface)}@media(max-width:860px){.recent-row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"date what what" "min detail usd";gap:4px 12px}.recent-row>:nth-child(1){grid-area:date}.recent-row>:nth-child(2){grid-area:what}.recent-row>:nth-child(3){grid-area:min;font-size:13px;color:var(--muted)}.recent-row>:nth-child(4){grid-area:detail;font-size:13px;color:var(--muted)}.recent-row>:nth-child(5){grid-area:usd;font-size:13px}}.recent-row .tag{font-size:12px;color:var(--dim);text-transform:uppercase;letter-spacing:.08em;margin-right:8px}.course-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:28px;align-items:start}@media(max-width:860px){.course-grid{grid-template-columns:1fr}}.path{display:flex;flex-direction:column;gap:22px}.level{display:flex;flex-direction:column;gap:12px}.level .lh{display:flex;align-items:center;gap:12px}.level .lh .lv{font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--ink)}.level .lh .rule{flex:1;border-top:1px solid var(--border)}.level .lh .meta{font-size:13px;color:var(--muted)}.nodes{display:flex;flex-wrap:wrap;gap:10px}.node{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);background:var(--bg);color:var(--muted);font-size:14px;font-weight:500;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:transform .15s ease-out,border-color .15s ease-out}.node:hover{transform:translateY(-1px);border-color:var(--ink);color:var(--ink);background:var(--bg)}.node.done{background:var(--ink);color:var(--bg);border-color:var(--ink)}.node.passed{background:var(--surface-2);color:var(--muted);border-color:var(--surface-2)}.node.current{border:3px solid var(--accent);color:var(--accent);width:54px;height:54px;font-size:16px;font-weight:700}.node.selected{box-shadow:0 0 0 3px var(--accent-soft)}.node:focus-visible{border-radius:50%}.node.done.current{background:var(--bg)}.node{position:relative}.node .ring{position:absolute;top:-1.5px;right:-1.5px;bottom:-1.5px;left:-1.5px;width:calc(100% + 3px);height:calc(100% + 3px);pointer-events:none}.node .ring circle{stroke:var(--accent);opacity:.9}.node.current .ring{top:-3px;right:-3px;bottom:-3px;left:-3px;width:calc(100% + 6px);height:calc(100% + 6px)}.node.current .ring circle{stroke:var(--ok)}.node .lbl{position:relative}.node.started{color:var(--ink)}.sheet{position:sticky;top:0;display:flex;flex-direction:column;gap:10px}.sheet h3{margin:0;font-size:20px;font-weight:500;line-height:1.2}.sheet .desc{margin:0;font-size:14px;line-height:1.5;color:var(--muted)}.sheet .actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:6px}.mprog-line{display:flex;align-items:center;gap:10px;margin:2px 0 10px;font-size:13px;color:var(--ink-2)}.mprog-line .bar{flex:0 0 160px;max-width:40%;height:5px;border-radius:3px;background:var(--surface-2);overflow:hidden;display:block}.mprog-line .bar .fill{display:block;height:100%;background:var(--accent);border-radius:3px}.mprog-line .num{white-space:nowrap;font-variant-numeric:tabular-nums}#today-continue .next-lesson{display:block;margin-top:6px;color:var(--ink)}.sheet .mprog{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-2)}.sheet .mprog .bar{flex:1;height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}.sheet .mprog .bar .fill{height:100%;background:var(--accent);border-radius:3px;transition:width .24s ease-out}.sheet .mprog .num{white-space:nowrap;font-variant-numeric:tabular-nums}.sheet .r.disclose{cursor:pointer;-webkit-user-select:none;user-select:none}.sheet .r.disclose:hover>span:first-child{color:var(--ink)}.sheet .r.disclose .val{display:inline-flex;align-items:center;gap:4px}.sheet .r.disclose .chev{width:16px;height:16px;transition:transform .16s ease-out}.sheet .r.disclose[aria-expanded=true] .chev{transform:rotate(180deg)}.sheet .lessons-wrap{padding:0 0 10px}.sheet .lessons-wrap[hidden]{display:none}.sheet ol.lessons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.sheet ol.lessons li{display:grid;grid-template-columns:22px 22px 1fr auto;gap:8px;align-items:center;padding:5px 0;font-size:13px;line-height:1.35;color:var(--ink-2);border-top:1px dashed var(--border)}.sheet ol.lessons li:first-child{border-top:0}.sheet ol.lessons li.is-covered .t,.sheet ol.lessons li.is-done .t{color:var(--muted)}.sheet ol.lessons li.is-planned .t{color:var(--ink);font-weight:500}.sheet ol.lessons li.not-point .n{opacity:.6}.sheet ol.lessons .n{color:var(--dim);font-variant-numeric:tabular-nums;font-size:12px}.sheet ol.lessons .k{color:var(--muted);font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.sheet ol.lessons .k a{color:inherit}.sheet ol.lessons .tag{display:inline-block;margin-left:4px;padding:0 6px;border:1px solid var(--border);border-radius:999px;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);vertical-align:1px}.sheet ol.lessons .tag.accent{border-color:var(--accent);color:var(--accent)}.sheet ol.lessons .mark{width:20px;height:20px;padding:0;border-radius:50%;border:1.5px solid var(--line);background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.sheet ol.lessons .mark:hover{border-color:var(--ink);background:transparent}.sheet ol.lessons .mark .ic{width:12px;height:12px}.sheet ol.lessons .mark.covered{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.sheet ol.lessons .mark.done{background:var(--ink);border-color:var(--ink);color:var(--bg)}.sheet ol.lessons .mark:disabled{opacity:.5}@media(max-width:860px){.sheet{position:fixed;top:auto;left:0;right:0;bottom:0;z-index:5;border-radius:18px 18px 0 0;box-shadow:var(--shadow);max-height:70vh;overflow-y:auto;padding-bottom:calc(18px + var(--tabbar) + env(safe-area-inset-bottom))}.sheet:before{content:"";width:36px;height:4px;border-radius:2px;background:var(--line);align-self:center;margin:-6px 0 4px}.sheet:not(.open){display:none}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;background:#00000059}.sheet-backdrop:not(.open){display:none}}@media(min-width:861px){.sheet-backdrop{display:none}}.sheet .close{position:absolute;top:8px;right:8px}.practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media(max-width:760px){.practice-grid{grid-template-columns:1fr}}.pcard{display:flex;flex-direction:column;gap:10px}.pcard .ph{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.pcard .ph .t{font-size:19px;font-weight:500;display:inline-flex;align-items:center;gap:8px}.pcard .ph .t svg.ic{color:var(--muted)}.pcard .why{margin:0;font-size:14px;line-height:1.45;color:var(--muted)}.pcard .go{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:4px}.pcard .go .est{font-size:13px;color:var(--muted)}.pcard .go .variant{font-size:13px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.practice-foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.settings .r{align-items:center;flex-wrap:wrap}.settings .r .seg{margin-left:auto}.settings .r a.val{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px;color:var(--ink-2)}.settings .r .lbl{display:flex;flex-direction:column;gap:2px}.settings .about{font-size:13px;color:var(--muted);line-height:1.5}.settings .about a{color:inherit}#screen-session{position:relative;overflow:hidden}#captions{flex:1;min-height:0;width:min(900px,calc(100% - 48px));margin:0 auto;padding:24px 0 40px;display:flex;flex-direction:column;justify-content:flex-end;gap:26px;overflow-y:auto}#captions:empty:before{content:"Appuyez sur Démarrer, autorisez le micro, et parlez.";display:block;text-align:center;color:var(--dim);font-size:16px;padding:40px 0}#captions[data-mode=off] .turn{display:none}#captions[data-mode=off]:not(:empty):after{content:"captions off";display:block;text-align:center;color:var(--faint);font-size:13px;padding:12px 0}.turn{display:grid;grid-template-columns:90px minmax(0,1fr);gap:18px;align-items:baseline}@media(max-width:600px){.turn{grid-template-columns:1fr;gap:4px}}.turn .who{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.turn.current .who{color:var(--ink)}.turn .body{display:flex;flex-direction:column;gap:6px;min-width:0}.turn p{margin:0;line-height:1.35}.turn.assistant .fr{font-size:24px;color:var(--dim)}.turn.assistant.current .fr{font-size:30px}.turn.assistant .fr .w{color:transparent;transition:color .12s;cursor:pointer;border-radius:4px}.turn.assistant .fr .w.on{color:var(--dim)}.turn.assistant.current .fr .w.on{color:var(--ink)}.turn.assistant .fr .w:hover{background:var(--surface-2)}.turn.assistant .en{font-size:15px;color:var(--dim);line-height:1.4}.turn.assistant.current .en{font-size:16px;color:var(--muted)}.turn.assistant[data-mode=fr] .en,.turn.assistant[data-mode=delayed] .en{display:none}.turn.interrupted .fr:after{content:" —";color:var(--dim)}.turn.user .me{font-size:20px;color:var(--muted)}.turn.user.current .me{font-size:22px;color:var(--ink-2)}.turn.user .note{font-size:13px;color:var(--ink-2);display:none}.turn.user .note[data-on]{display:block}.err{text-decoration:underline dotted var(--muted);text-decoration-thickness:2px;text-underline-offset:5px;cursor:pointer}.err.s1{text-decoration-color:var(--line)}#caption-modes{display:flex;gap:2px;background:var(--surface-2);border-radius:10px;padding:3px}#caption-modes button{height:36px;padding:0 12px;border:0;border-radius:8px;color:var(--muted);font-size:13px;font-weight:600}#caption-modes button[data-on]{background:var(--ink);color:var(--bg);font-weight:700}#card{position:absolute;right:32px;bottom:110px;width:min(320px,calc(100% - 32px));background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;font-size:15px;line-height:1.45}#card .row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}#card .big{font-size:26px;color:var(--ink)}#card .said{font-size:16px;color:var(--muted);text-decoration:line-through}#card .tag{font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}#card b{color:var(--ink)}#card p{margin:0;color:var(--ink-2)}#card p.l1{color:var(--error)}#card .close{position:absolute;top:6px;right:8px;height:28px;width:28px;padding:0;border:0;color:var(--muted);font-size:18px}.ask-panel{position:absolute;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--bg);border-left:1px solid var(--border);box-shadow:var(--shadow);display:flex;flex-direction:column;z-index:6}.ask-panel .ask-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.ask-context{border-bottom:1px solid var(--border);font-size:14px;line-height:1.45;color:var(--muted);flex:none}.ask-context .ctx-toggle{width:100%;height:auto;padding:10px 16px;border:0;border-radius:0;background:none;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);text-align:left}.ask-context .ctx-toggle:hover{background:var(--surface)}.ask-context .ctx-toggle .ic{width:16px;height:16px;transition:transform .15s ease-out}.ask-context .ctx-toggle[aria-expanded=false] .ic{transform:rotate(-90deg)}.ask-context .ctx-body{padding:0 16px 12px;display:flex;flex-direction:column;gap:4px;max-height:38vh;overflow-y:auto}.ask-context .ctx-toggle[aria-expanded=false]+.ctx-body{display:none}.ask-context .who{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-right:6px}.ask-context .fr{color:var(--ink-2)}.ask-context mark.said,.ask-context mark.fix{font-size:14px}.ask-thread{flex:1;min-height:0;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:12px}.ask-thread:empty:before{content:"Ask about the last thing said, a word, a rule, how to say something. The answer lands here and in Help.";color:var(--dim);font-size:14px;line-height:1.5}.ask-thread .msg{font-size:15px;line-height:1.5;color:var(--ink-2)}.ask-thread .msg.user{align-self:flex-end;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:8px 12px;max-width:90%}.ask-thread .msg.assistant{border-left:3px solid var(--border);padding-left:12px}.ask-thread .msg p,.ask-thread .msg ul{margin:0 0 6px}.ask-thread .msg ul{padding-left:18px}.ask-thread .msg code{font-family:ui-monospace,Menlo,monospace;font-size:13px;background:var(--surface-2);padding:1px 5px;border-radius:4px}.ask-thread .msg .meta{display:block;font-size:12px;color:var(--dim)}.ask-form{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.ask-form textarea{font:inherit;font-size:15px;line-height:1.45;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);resize:vertical}.ask-form .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}@media(max-width:860px){.ask-panel{top:auto;left:0;width:100%;max-height:min(78vh,100%);border-left:0;border-top:1px solid var(--border);border-radius:18px 18px 0 0}.ask-form .row>span:last-child{display:none}}@media(max-height:700px){.ask-context .ctx-body{max-height:14vh}.ask-form textarea{min-height:0}}#ask[aria-expanded=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}footer.session{min-height:64px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 24px;border-top:1px solid var(--border);font-size:13px;color:var(--muted);padding-bottom:env(safe-area-inset-bottom)}footer.session .controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}@media(max-width:960px){footer.session{height:auto;flex-wrap:wrap;padding:10px 16px calc(10px + env(safe-area-inset-bottom));row-gap:8px}footer.session .controls{gap:8px}#mic{width:auto}#mic .wave{display:none}#caption-modes button{padding:0 9px}#session-reviews{display:none}}footer.session label.pace{display:inline-flex;align-items:center;gap:6px}#mic{position:relative;width:150px;padding:0 12px;display:flex;align-items:center;gap:8px}#mic .wave{width:108px;height:40px}#mic[data-muted]{color:var(--faint)}#status{flex:1 1 120px;min-width:120px;line-height:1.25}#status[data-kind=live]{color:var(--ink-2)}#status[data-kind=paused]{color:var(--ink);font-weight:500}#pause[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}#status[data-kind=error]{color:var(--error)}.speaking{display:inline-flex;align-items:center;gap:8px}.speaking:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--line)}.speaking[data-on]:before{background:var(--accent)}.exam{flex:1;min-height:0;display:grid;grid-template-columns:minmax(280px,520px) minmax(0,1fr);gap:32px;padding:24px clamp(16px,3vw,40px);overflow-y:auto}@media(max-width:1180px){.exam{grid-template-columns:minmax(0,1fr)}}.exam .ad{background:var(--surface-2);border-radius:8px;padding:26px 30px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}.exam .ad-title{margin:0;font-size:26px;font-weight:700;line-height:1.15}.exam .ad>p{margin:0;font-size:17px;line-height:1.55;white-space:pre-line}.exam .consigne{margin:18px 0 0;font-size:15px;line-height:1.55;color:var(--muted)}.exam .consigne b{color:var(--ink-2)}.exam-right{display:flex;flex-direction:column;gap:16px}.exam-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px 20px;display:flex;flex-direction:column;gap:6px;font-size:13px}.stat-card .big{font-size:42px;line-height:1;color:var(--ink)}@media(max-width:430px){.stat-card .big{font-size:34px}.stat-card{padding:14px 16px}}@media(max-width:340px){.exam-stats,.exam-stats.four{grid-template-columns:minmax(0,1fr)}}.stat-card.row{flex-direction:row;align-items:center;justify-content:space-between;font-size:15px}.stat-card.row div{display:flex;flex-direction:column;gap:2px}.stat-card.row .dim{font-size:13px}.stat-card.drill .head{display:flex;justify-content:space-between;align-items:baseline}.drill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;font-size:15px}@media(max-width:600px){.drill-grid{grid-template-columns:1fr}}#exam-list{display:flex;flex-direction:column;gap:6px;padding-top:6px}#exam-list .item{display:flex;align-items:center;gap:10px;color:var(--dim)}#exam-list .item[data-on]{color:var(--ink-2)}#exam-list .item:before{content:"—";color:var(--line);width:14px}#exam-list .item[data-on]:before{content:"✓";color:var(--ok)}#screen-session[data-exam] #captions{flex:0 0 auto;max-height:30vh}@media(max-width:1180px){#exam-panel{padding-top:0;row-gap:16px}#exam-panel .exam-right{display:contents}#exam-panel .exam-stats{order:-1;position:sticky;top:0;z-index:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-block:8px;background:var(--bg)}#exam-panel .exam-stats .stat-card{flex-direction:row;align-items:center;gap:8px;padding:6px 12px;min-width:0;border-radius:var(--r-m)}#exam-panel .exam-stats .big{font-size:24px;flex:none}#exam-panel .exam-stats .dim{font-size:12px;line-height:1.2;min-width:0}}@media(max-width:899px){#exam-panel .ad{padding:18px 20px}#screen-session[data-exam] #captions{padding:6px 0;gap:8px;max-height:22vh}#screen-session[data-exam] #captions:empty:before,#screen-session[data-exam] #captions[data-mode=off]:not(:empty):after{padding:0}}#screen-session[data-exam] #caption-modes{opacity:.5;pointer-events:none}#screen-placement,#screen-drill,#screen-writing,#screen-help,#screen-progress,#screen-debrief{padding:24px var(--page-x) 40px;gap:22px}#screen-placement>*,#screen-drill>*,#screen-writing>*,#screen-help>*,#screen-progress>*{width:100%;max-width:1100px;margin-inline:auto}.stages{font-size:14px;color:var(--dim);display:inline-flex;gap:10px;flex-wrap:wrap}.stages .now{color:var(--ink);font-weight:600}.stages .past{color:var(--muted)}.placement{display:flex;flex-direction:column;gap:18px;max-width:900px}.pl-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.passage{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px 24px;display:flex;flex-direction:column;gap:10px}.passage h3{margin:0;font-size:19px;font-weight:500}.passage p{margin:0;font-size:17px;line-height:1.6;color:var(--ink-2);white-space:pre-line}.passage textarea{font:inherit;font-size:16px;line-height:1.5;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink);resize:vertical}.passage .wc{font-size:13px;color:var(--dim);align-self:flex-end}.mcq{border:0;padding:18px 0 6px;margin:0;display:flex;flex-direction:column;gap:8px}.mcq+.mcq{border-top:1px solid var(--border)}.mcq legend{float:left;width:100%;font-size:16px;font-weight:500;color:var(--ink);padding:0 0 10px}.mcq label{display:flex;gap:12px;align-items:center;font-size:15px;color:var(--ink-2);cursor:pointer;padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg);transition:border-color .15s ease-out,background .15s ease-out}.mcq label:hover{border-color:var(--line);background:var(--surface)}.mcq label:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.mcq input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border:2px solid var(--line);border-radius:50%;background:var(--bg);flex:none;display:grid;place-content:center;cursor:pointer;transition:border-color .15s ease-out}.mcq input[type=radio]:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);transform:scale(0);transition:transform .12s ease-out}.mcq input[type=radio]:checked{border-color:var(--accent)}.mcq input[type=radio]:checked:before{transform:scale(1)}.mcq input[type=radio]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mcq .opts{display:flex;flex-direction:column;gap:8px}.mcq.tf .opts{flex-direction:row}.mcq.tf .opts>*{flex:1;justify-content:flex-start}.tf-note{margin:4px 0 0;font-size:15px;line-height:1.5;color:var(--muted)}.tf-note b{color:var(--ink);font-weight:500}#pl-form{display:flex;flex-direction:column;gap:6px}#pl-form>button{align-self:flex-start;margin-top:12px}#pl-form.writing{gap:18px}.pl-run>:not(:first-child){flex:none;white-space:nowrap}.pl-run{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--border);font-size:15px;color:var(--ink-2)}.exam-stats.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:860px){.exam-stats.four{grid-template-columns:repeat(2,minmax(0,1fr))}}.debrief-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}.debrief-head .title{font-size:22px;color:var(--ink)}.debrief-head .tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.debrief-head .tools>span:empty{display:none}@media(max-width:600px){.debrief-head .tools>:is(button.quiet,.btn.quiet){padding-inline:16px 6px}.debrief-head .tools:not(:has(>:not(button.quiet,.btn.quiet,:empty))){margin-left:-16px}}.setup{display:flex;flex-direction:column;gap:14px;max-width:720px}.setup .lead{margin:0;font-size:16px;line-height:1.55;color:var(--muted)}.setup .opt{display:flex;flex-direction:column;gap:8px}.setup .opt .k{font-size:13px;color:var(--muted)}.setup button.primary{align-self:flex-start;margin-top:6px}.set-progress{display:inline-flex;gap:4px;align-items:center}.set-progress i{display:block;width:18px;height:4px;border-radius:2px;background:var(--surface-2)}.set-progress i.done{background:var(--ink-2)}.set-progress i.now{background:var(--accent)}.passage .script{white-space:pre-line;font-size:16px;color:var(--ink-2)}.passage .script b{color:var(--ink);font-weight:600}.passage audio{width:100%;margin-top:8px}.passage .expl{font-size:14px;margin:2px 0 0}.passage .play{display:inline-flex;align-items:center;gap:10px;align-self:flex-start}.passage .play[disabled]{opacity:.6}.mcq.done{gap:4px}.mcq.done .legend{font-size:16px;color:var(--ink);padding-bottom:4px}.mcq.done .choice{font-size:15px;color:var(--dim);display:flex;gap:12px;align-items:center;padding:8px 14px;border:1px solid var(--border);border-radius:12px}.mcq.done .choice:before{content:"";width:18px;height:18px;border-radius:50%;border:2px solid var(--line);flex:none;box-sizing:border-box}.mcq.done .choice.is-answer{color:var(--ok);font-weight:600;border-color:var(--ok);background:var(--ok-soft)}.mcq.done .choice.is-answer:before{background:var(--ok);border-color:var(--ok)}.mcq.done .choice.wrong{color:var(--error);border-color:var(--error);background:var(--error-soft)}.mcq.done .choice.wrong:before{background:var(--error);border-color:var(--error)}.mcq.done.ko .legend:after{content:" ✗";color:var(--error)}.drill-run-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.drill-run-head .keys{font-size:12px;color:var(--dim)}@media(hover:none)and (pointer:coarse){.drill-run-head .keys,.ask-form .row>span:last-child,.writing-keys{display:none}}kbd{font:inherit;font-size:11px;padding:1px 6px;border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;color:var(--muted)}.passage.task .consigne{font-size:15px}.passage.task .opening{font-size:18px}.writing-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:20px;align-items:start}@media(max-width:860px){.writing-grid{grid-template-columns:minmax(0,1fr)}.writing-grid .task-side{order:-1}}.writing-grid>*{min-width:0}.writing .editor-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:15px;padding:4px 2px;flex-wrap:wrap}.editor-meters{display:flex;align-items:center;gap:16px;flex-wrap:wrap}@media(max-width:860px){#writing-form{display:flex;flex-direction:column;gap:12px}.writing .editor-bar{display:contents}.writing .editor-gap{display:none}.writing .editor-meters{position:sticky;top:-24px;z-index:3;padding-block:8px;background:var(--bg);flex-wrap:nowrap;gap:12px;font-size:14px}.writing .editor-meters .meter svg{width:22px;height:22px}#writing-form #writing-clock{font-size:18px}.writing .writing-grid{order:0}.writing .editor-bar>button[type=submit]{order:1;align-self:stretch}.writing textarea{height:40vh;min-height:200px;scroll-margin-top:56px}}.writing .meter{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.writing .meter svg{width:30px;height:30px}.writing #writing-clock{font-size:22px;color:var(--ink)}.writing #writing-clock.late{color:var(--error)}.writing #writing-wc.ok{color:var(--ok)}.writing textarea{width:100%;font:inherit;font-size:17px;line-height:1.6;padding:16px 18px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--ink);resize:vertical}.writing textarea:disabled{opacity:.6}.task-side details summary{cursor:pointer;font-size:14px;color:var(--muted)}.errors{display:flex;flex-direction:column}.err-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr);gap:16px;padding:10px 0;border-top:1px solid var(--border);font-size:15px}.err-row .said{color:var(--ink-2);text-decoration:line-through;text-decoration-color:var(--err)}.err-row .fix{color:var(--ok);font-weight:600}@media(max-width:760px){.err-row{grid-template-columns:1fr;gap:4px}}.score-cols.two{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){.score-cols.two{grid-template-columns:1fr}}.score-cols pre.text,.marked{white-space:pre-wrap;font:inherit;font-size:15px;line-height:1.7;color:var(--ink-2);margin:8px 0 0;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 18px}.help-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}@media(max-width:860px){.help-grid{grid-template-columns:1fr}}#help-thread{display:flex;flex-direction:column;gap:14px;min-height:120px}#help-thread .msg{display:flex;flex-direction:column;gap:6px;max-width:760px;font-size:16px;line-height:1.55;color:var(--ink-2)}#help-thread .msg.user{align-self:flex-end;align-items:flex-end;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px 16px}#help-thread .msg.assistant{border-left:3px solid var(--border);padding-left:16px}#help-thread .msg p,#help-thread .msg ul{margin:0}#help-thread .msg ul{padding-left:20px}#help-thread .msg img{max-width:min(420px,100%);border-radius:10px;border:1px solid var(--border)}#help-thread .msg code{font-family:ui-monospace,Menlo,monospace;font-size:14px;background:var(--surface-2);padding:1px 5px;border-radius:4px}#help-thread .msg .meta{font-size:12px;color:var(--dim)}#help-form{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--border);padding-top:16px}#help-form textarea{font:inherit;font-size:16px;line-height:1.5;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);resize:vertical;min-height:64px}#help-form .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}#help-form .pick{display:inline-flex;align-items:center;height:40px;padding:0 14px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-size:14px;color:var(--ink-2)}#help-form .pick input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}#help-form .pick{position:relative}#help-form .pick:focus-within{outline:2px solid var(--accent);outline-offset:2px}#help-preview{display:flex;align-items:flex-start;gap:8px}#help-preview img{max-height:140px;max-width:100%;border-radius:10px;border:1px solid var(--border)}#screen-help.drop{outline:2px dashed var(--accent);outline-offset:-12px}.recent-row.help{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date usd" "what what";gap:4px 12px}.recent-row.help>:nth-child(3){grid-area:usd;font-size:13px;color:inherit}.recent-row.help.now{background:var(--surface);padding-inline:8px;border-radius:var(--r-s)}#progress-body{display:flex;flex-direction:column;gap:34px;max-width:1100px}.pg{display:flex;flex-direction:column;gap:12px}.pg p{margin:0;font-size:15px;line-height:1.55;color:var(--ink-2)}.pg ul{margin:0;padding-left:18px;font-size:14px;line-height:1.5;color:var(--ink-2)}.pg ul.dim li{color:var(--muted)}.stat-card .unit{font-size:20px;color:var(--muted);white-space:nowrap}@media(max-width:360px){.stat-card .unit{font-size:16px;white-space:normal}}.stat-card .plan{height:4px;background:var(--surface-2);border-radius:2px;margin-top:6px;overflow:hidden}.stat-card .plan div{height:4px;background:var(--accent);border-radius:2px;transition:width .25s ease-out}.chart{width:100%;height:auto;display:block}.legend{display:inline-flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:var(--muted);align-items:center}.legend>span{white-space:nowrap}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.strip-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:13px}.strip{flex:0 0 auto;max-width:100%}.skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px}@media(max-width:760px){.skill-grid{grid-template-columns:1fr}}.skill-chart{display:flex;flex-direction:column;gap:6px;font-size:14px}.modules{display:flex;flex-wrap:wrap;gap:6px}.mod{display:inline-flex;align-items:center;justify-content:center;width:34px;height:30px;border-radius:8px;font-size:12px;font-variant-numeric:tabular-nums;border:1px solid var(--border);color:var(--dim);background:var(--surface)}.mod.done,.mod.passed{background:var(--ink-2);color:var(--bg);border-color:var(--ink-2)}.mod.passed{opacity:.55}.mod.current{background:var(--bg);color:var(--accent);border:2px solid var(--accent);font-weight:700}.tbl{overflow-x:auto;background:linear-gradient(to right,var(--bg) 40%,transparent) left / 40px 100% no-repeat local,linear-gradient(to left,var(--bg) 40%,transparent) right / 40px 100% no-repeat local,linear-gradient(to right,color-mix(in srgb,var(--ink) 16%,transparent),transparent) left / 12px 100% no-repeat scroll,linear-gradient(to left,color-mix(in srgb,var(--ink) 16%,transparent),transparent) right / 12px 100% no-repeat scroll}.tbl table{border-collapse:collapse;font-size:14px;color:var(--ink-2);min-width:100%}.tbl th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);padding:6px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.tbl td{padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.tbl th.right,.tbl td.right{text-align:right}@media(max-width:600px){.tbl td:first-child{white-space:normal;min-width:150px;overflow-wrap:anywhere}.tbl.prices table,.tbl.prices tbody{display:block}.tbl.prices tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:8px 0;border-bottom:1px solid var(--border)}.tbl.prices td{padding:0;border:0;min-width:0}.tbl.prices td:nth-child(3){grid-column:1 / -1;white-space:normal}.tbl.prices td:empty{display:none}}.watch{display:flex;flex-direction:column}.watch .w{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-top:1px solid var(--border);font-size:15px;color:var(--ink-2)}.watch .w b{color:var(--ink);text-align:right;display:inline-flex;align-items:center;gap:8px;flex:none;white-space:nowrap}.watch .w b:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--line);flex:none}.watch .w.good b:before{background:var(--ok)}.watch .w.bad b{color:var(--error)}.watch .w.bad b:before{background:var(--error)}.pg a{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}.export-row{display:flex;gap:10px;flex-wrap:wrap}.debrief-block{display:flex;flex-direction:column;gap:14px}.summary-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}@media(max-width:760px){.summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:480px){.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.tile .kicker{letter-spacing:.06em}}.rule-group{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px 20px;display:flex;flex-direction:column;gap:8px}.rule-group .rh{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.rule-group .rh .rname{font-size:16px;font-weight:500;color:var(--ink)}.rule-group .rh .rc{font-size:13px;color:var(--muted)}.rule-group .ex{font-size:19px;line-height:1.5;color:var(--ink-2)}.rule-group .ex .arrow{color:var(--dim);margin:0 6px}.rule-group .why{font-size:13px;color:var(--muted);line-height:1.5;display:flex;flex-wrap:wrap;gap:4px 14px}.rule-group .why .hot{color:var(--error)}.rule-group details summary{cursor:pointer;font-size:13px;color:var(--muted);list-style:none}.rule-group details summary::-webkit-details-marker{display:none}.rule-group details summary:after{content:" ▾"}.rule-group details[open] summary:after{content:" ▴"}.rule-group .more{display:flex;flex-direction:column;gap:8px;padding-top:6px}.rule-group .more .ex{font-size:16px}.rule-group .pron{font-size:14px;color:var(--muted)}.rule-group .pron b{color:var(--ink-2);font-weight:500}.score-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px 24px;display:flex;flex-direction:column;gap:16px}.score-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.score-main>.dim{white-space:nowrap}.score-main .num{font-size:48px;line-height:1;color:var(--ink)}.score-main .nclc{margin-left:12px;font-size:16px;color:var(--ink-2)}@media(max-width:480px){.score-main .nclc{margin-left:0;flex-basis:100%}}.criteria{display:flex;flex-direction:column;gap:8px}.criteria .c{display:grid;grid-template-columns:220px minmax(0,1fr) 70px;gap:14px;align-items:center;font-size:14px;color:var(--ink-2)}@media(max-width:700px){.criteria .c{grid-template-columns:minmax(0,1fr) auto}.criteria .c .bar{grid-column:1 / -1;order:1}.criteria .c .note{order:2}}.criteria .bar{height:8px;background:var(--border);border-radius:4px;position:relative}.criteria .bar div{position:absolute;left:0;top:0;height:8px;background:var(--dim);border-radius:4px}.criteria .note{grid-column:1 / -1;font-size:13px;color:var(--muted);margin:-4px 0 4px}.score-card p{margin:0;font-size:15px;line-height:1.55;color:var(--ink-2)}.score-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}@media(max-width:760px){.score-cols{grid-template-columns:1fr}}.score-cols ul{margin:6px 0 0;padding-left:18px;font-size:14px;line-height:1.5;color:var(--ink-2)}.score-card pre{white-space:pre-wrap;font:inherit;font-size:14px;color:var(--muted);margin:8px 0 0}#debrief-praise ul,#debrief-lesson ul,#debrief-srs p{margin:0;padding-left:18px;color:var(--ink-2);font-size:15px;line-height:1.5}#debrief-lesson li.ok{color:var(--ink)}#debrief-lesson li.dim{color:var(--muted)}#debrief-srs p{padding-left:0}#debrief-srs .k{color:var(--dim);text-transform:uppercase;letter-spacing:.08em;font-size:12px;margin-right:8px}#debrief-transcript{display:flex;flex-direction:column;gap:10px}#debrief-transcript .t{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;font-size:15px;color:var(--ink-2);overflow-wrap:anywhere}#debrief-transcript .t.assistant .fr{color:var(--muted)}#debrief-transcript .who{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.today-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:8px;align-items:center}html{background:var(--bg)}body{font-family:var(--font);background:var(--bg);color:var(--ink)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ms{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:22px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;width:1em;height:1em;overflow:hidden;flex:none;font-variation-settings:"FILL" 0,"wght" 450,"GRAD" 0,"opsz" 24;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;vertical-align:-.2em}html:not(.icons-ready) .ms{color:transparent!important}.ms.fill{font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24}.logo{display:block}nav.rail{width:var(--rail);border-right:1px solid var(--border);padding:18px 6px 14px;gap:2px;background:var(--surface);align-items:stretch}nav.rail .brand{padding:4px 0 22px;gap:0;font-size:inherit;letter-spacing:0;text-transform:none}nav.rail a.item,nav.tabbar a.item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 2px 8px;border-radius:var(--r-m);color:var(--muted);font-size:12px;font-weight:500;letter-spacing:0;background:none}nav.rail a.item:hover{background:none;color:var(--ink)}nav.rail a.item[aria-current=page],nav.tabbar a.item[aria-current=page]{color:var(--ink);font-weight:600;background:none}.pill{width:56px;height:32px;border-radius:16px;display:grid;place-items:center;position:relative}.pill:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--brand-soft);transform:scaleX(0);opacity:0;transition:transform var(--spring-gentle-dur) var(--spring-gentle),opacity var(--dur-150) var(--ease-standard)}a.item:hover .pill:before{opacity:.45;transform:none;background:var(--surface-3)}.pill .ms{position:relative;transition:font-variation-settings var(--dur-200) var(--ease-standard),color var(--dur-150) var(--ease-standard)}a.item[aria-current=page] .pill:before{transform:none;opacity:1;background:var(--brand-soft)}a.item[aria-current=page] .pill .ms{font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24;color:var(--brand-on-soft)}nav.rail .foot{margin-top:auto}nav.tabbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--surface);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}nav.tabbar a.item{padding:2px 0 4px;font-size:12px}nav.tabbar .pill{width:60px}@media(min-width:900px){nav.tabbar{display:none}}header.app{border-bottom:1px solid var(--border);background:var(--bg)}header.app .page-title{font-weight:600}.credit-chip{height:32px;padding:0 12px;border-radius:16px;background:var(--surface-2);color:var(--ink);display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:13px}.credit-chip:before{content:"";width:8px;height:8px;border-radius:4px;background:var(--ok-vivid)}.credit-chip.low:before{background:var(--ink);box-shadow:0 0 0 2px var(--surface-2),0 0 0 3px var(--outline)}.credit-chip[hidden]{display:none}button,select{border-radius:var(--r-full);border-color:var(--line)}button:hover{background:var(--surface-2)}button:disabled{opacity:1;background:var(--surface-2);color:var(--muted);border-color:var(--surface-2);box-shadow:none}button.quiet:disabled{background:transparent;border-color:transparent;opacity:.5}a.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:fit-content;height:44px;padding:0 18px;border:1px solid var(--line);border-radius:var(--r-full);background:transparent;color:var(--ink);font-weight:500;text-align:center;transition:background-color var(--dur-150) var(--ease-standard),border-color var(--dur-150) var(--ease-standard),color var(--dur-150) var(--ease-standard)}.btn:hover{background:var(--surface-2)}button.primary,.btn.primary{background:var(--brand);color:var(--on-brand);border-color:transparent;font-weight:600;box-shadow:0 3px 0 var(--brand-lip);margin-bottom:3px;transition:transform var(--spring-bouncy-dur) var(--spring-bouncy),box-shadow var(--spring-bouncy-dur) var(--spring-bouncy),border-radius var(--spring-bouncy-dur) var(--spring-bouncy),background-color var(--dur-150) var(--ease-standard),color var(--dur-150) var(--ease-standard)}button.primary:hover,.btn.primary:hover{filter:none;background:color-mix(in srgb,var(--brand) 92%,var(--ink))}button.primary:active:not(:disabled),.btn.primary:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 0 transparent;border-radius:14px;transition-duration:var(--dur-100);transition-timing-function:var(--ease-standard)}button.primary:disabled{box-shadow:none;background:var(--surface-3);color:var(--muted)}button.primary .price,.btn .price{font-weight:400}button.skill,.btn.skill{background:var(--skill-fill);color:var(--on-skill);border-color:transparent;box-shadow:0 3px color-mix(in srgb,var(--skill-fill) 58%,#000);margin-bottom:3px;font-weight:600}button.skill:hover{background:var(--skill-fill);filter:brightness(1.05)}:root[data-colour=quiet] button.skill{background:var(--brand);color:var(--on-brand);box-shadow:0 3px 0 var(--brand-lip)}button.tonal,.btn.tonal{background:var(--surface-2);color:var(--ink);border-color:transparent;box-shadow:0 3px 0 var(--line);margin-bottom:3px}button.tonal:active:not(:disabled),button.skill:active:not(:disabled),.btn.tonal:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 0 transparent;transition-duration:var(--dur-100)}button.quiet,.btn.quiet{border-color:transparent;color:var(--ink-2)}button.icon{color:var(--ink-2);transition:background-color var(--dur-150) var(--ease-standard),transform var(--spring-bouncy-dur) var(--spring-bouncy)}button.icon:active:not(:disabled){transform:scale(.92);transition-duration:var(--dur-100)}body[data-register=calm] button.primary,body[data-register=exam] button.primary,body[data-register=calm] button.skill,body[data-register=exam] button.skill,body[data-register=calm] button.tonal,body[data-register=exam] button.tonal,body[data-register=calm] .btn.primary,body[data-register=exam] .btn.primary,body[data-register=calm] .btn.tonal,body[data-register=exam] .btn.tonal{box-shadow:none;margin-bottom:0}body[data-register=calm] button.primary,body[data-register=exam] button.primary,body[data-register=calm] button.skill,body[data-register=exam] button.skill,body[data-register=calm] button.tonal,body[data-register=exam] button.tonal,body[data-register=calm] button.icon,body[data-register=exam] button.icon,body[data-register=calm] .btn.primary,body[data-register=exam] .btn.primary,body[data-register=calm] .btn.tonal,body[data-register=exam] .btn.tonal{transition:transform var(--spring-calm-dur) var(--spring-calm),background-color var(--dur-150) var(--ease-standard),color var(--dur-150) var(--ease-standard)}body[data-register=calm] button.primary:active:not(:disabled),body[data-register=exam] button.primary:active:not(:disabled),body[data-register=calm] .btn.primary:active:not(:disabled),body[data-register=exam] .btn.primary:active:not(:disabled){transform:scale(.98);border-radius:var(--r-full)}body[data-register=calm] button.skill:active:not(:disabled),body[data-register=exam] button.skill:active:not(:disabled),body[data-register=calm] button.tonal:active:not(:disabled),body[data-register=exam] button.tonal:active:not(:disabled),body[data-register=calm] .btn.tonal:active:not(:disabled),body[data-register=exam] .btn.tonal:active:not(:disabled){transform:scale(.98)}.seg{border:0;border-radius:var(--r-full);background:var(--surface-2);padding:3px;gap:2px;overflow:visible}.seg button{height:34px;border-radius:var(--r-full);padding:0 14px;color:var(--ink-2);background:none;border:0}.seg button+button{border-left:0}.seg button[aria-pressed=true]{background:var(--bg);color:var(--ink);font-weight:600;box-shadow:var(--elev-1)}.chips button.chip{border-radius:var(--r-full);color:var(--ink-2)}.chips button.chip[aria-pressed=true]{border-color:transparent;color:var(--brand-on-soft);background:var(--brand-soft);font-weight:600}.pchip{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px 0 6px;border-radius:12px;font-size:12px;font-weight:700;letter-spacing:.02em;background:var(--pc-soft);color:var(--pc-on-soft);white-space:nowrap}.pchip .ms{font-size:16px}.pchip.ce{--pc-soft: var(--ce-soft);--pc-on-soft: var(--ce-on-soft)}.pchip.co{--pc-soft: var(--co-soft);--pc-on-soft: var(--co-on-soft)}.pchip.ee{--pc-soft: var(--ee-soft);--pc-on-soft: var(--ee-on-soft)}.pchip.eo{--pc-soft: var(--eo-soft);--pc-on-soft: var(--eo-on-soft)}.tag-chip{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:11px;font-size:12px;font-weight:600;background:var(--surface-2);color:var(--ink-2);white-space:nowrap}.tag-chip.warn{background:var(--warn-soft);color:var(--warn);box-shadow:inset 0 0 0 1px var(--outline)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card)}.tile,.nudge,.rule-group,.score-card,.stat-card,.passage{border-radius:var(--r-card)}.toast{border-radius:var(--r-l);transition:opacity var(--dur-150) var(--ease-standard),transform var(--spring-gentle-dur) var(--spring-gentle)}.sk{border-radius:var(--r-card);background:var(--surface-2);position:relative;overflow:hidden;min-height:18px}.sk:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--bg) 60%,transparent),transparent);transform:translate(-100%);animation:shimmer 1.1s linear infinite}:root[data-rm="1"] .sk:after{animation:none}@keyframes shimmer{to{transform:translate(100%)}}.sk-wrap{display:flex;flex-direction:column;gap:14px;opacity:0;animation:sk-in var(--dur-150) var(--ease-standard) .2s forwards}@keyframes sk-in{to{opacity:1}}.loader{display:inline-flex;align-items:baseline;gap:1px;font-size:22px;font-weight:700;color:var(--brand);line-height:1}.loader .acc{display:inline-block;transform:translateY(-10px);opacity:0;animation:accdrop .9s var(--ease-emph-out) infinite}@keyframes accdrop{0%{transform:translateY(-12px);opacity:0}40%{transform:translateY(0);opacity:1}80%{opacity:1}to{opacity:0}}:root[data-rm="1"] .loader .acc{animation:none;transform:none;opacity:1}.loadline{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:14px;padding:18px 0}.retry{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border-radius:var(--r-l);background:var(--surface-2);color:var(--ink-2);font-size:14px}.retry .ms{color:var(--ink)}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--dur-150)}main#main{view-transition-name:screen}nav.rail,nav.tabbar{view-transition-name:nav}header.app{view-transition-name:topbar}::view-transition-group(nav),::view-transition-group(topbar){animation:none}::view-transition-old(screen){animation:var(--dur-150) var(--ease-standard) both vt-out}::view-transition-new(screen){animation:var(--route-dur) var(--ease-standard) both vt-in}:root[data-nav=back]::view-transition-old(screen){animation-name:vt-out-back}:root[data-nav=back]::view-transition-new(screen){animation-name:vt-in-back}:root[data-nav=fade]::view-transition-old(screen){animation:var(--dur-150) var(--ease-standard) both vt-fade-out}:root[data-nav=fade]::view-transition-new(screen){animation:.18s var(--ease-standard) both vt-fade-in}::view-transition-group(morph){animation-duration:var(--dur-450);animation-timing-function:var(--spring-gentle)}::view-transition-image-pair(morph){overflow:clip;animation:morphr var(--dur-450) var(--spring-gentle) both}::view-transition-old(morph),::view-transition-new(morph){width:auto;height:auto;left:0;top:0}::view-transition-old(morph){animation:var(--dur-150) var(--ease-standard) both vt-fade-out}::view-transition-new(morph){animation:var(--dur-300) var(--ease-standard) 90ms both vt-fade-in}@keyframes morphr{0%{border-radius:var(--r-card)}to{border-radius:0}}@keyframes vt-in{0%{opacity:0;transform:translate(24px)}}@keyframes vt-out{to{opacity:0;transform:translate(-24px)}}@keyframes vt-in-back{0%{opacity:0;transform:translate(-24px)}}@keyframes vt-out-back{to{opacity:0;transform:translate(24px)}}@keyframes vt-fade-in{0%{opacity:0}}@keyframes vt-fade-out{to{opacity:0}}:root[data-rm="1"]::view-transition-old(screen){animation:var(--dur-150) var(--ease-standard) both vt-fade-out}:root[data-rm="1"]::view-transition-new(screen){animation:var(--dur-150) var(--ease-standard) both vt-fade-in}:root[data-rm="1"]::view-transition-group(*){animation:none}.enter{animation:enter-up var(--spring-gentle-dur) var(--spring-gentle) both;animation-delay:calc(var(--i, 0) * var(--stagger))}@keyframes enter-up{0%{opacity:0;transform:translateY(var(--lift))}}.draw path{stroke-dasharray:30;stroke-dashoffset:30;transition:stroke-dashoffset var(--dur-300) var(--ease-emph-out)}.draw.on path{stroke-dashoffset:0}:root[data-rm="1"] .toast,:root[data-rm="1"] .node,:root[data-rm="1"] .chev,:root[data-rm="1"] .ctx-toggle .ic,:root[data-rm="1"] .mcq input:before{transition-property:opacity,color,background-color,border-color!important}.settings .r.group-h{border-top:0;padding-top:18px}.settings .r .seg{flex-wrap:wrap}.settings .r .lbl.account{flex-direction:row;align-items:center;gap:12px}.cele{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:24px;background:var(--scrim);opacity:0;transition:opacity var(--dur-200) var(--ease-standard)}.cele.on{opacity:1}.cele-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.cele-card{position:relative;width:100%;max-width:360px;border-radius:var(--r-sheet);background:var(--bg);padding:28px 22px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;transform:translateY(24px) scale(.96);transition:transform var(--spring-gentle-dur) var(--spring-gentle);box-shadow:var(--elev-3)}.cele.on .cele-card{transform:none}.cele-card h3{margin:0;font-size:22px;line-height:1.2}.cele-card p{margin:0;color:var(--ink-2);font-size:15px}.cele-tick{width:52px;height:52px;border-radius:26px;background:var(--ok-fill);padding:10px}.cele-tick path{fill:none;stroke:var(--on-ok);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30;stroke-dashoffset:30;transition:stroke-dashoffset var(--dur-300) var(--ease-emph-out) .2s}.cele.on .cele-tick path{stroke-dashoffset:0}:root[data-rm="1"] .pill:before,:root[data-rm="1"] button,:root[data-rm="1"] .btn,:root[data-rm="1"] .rbar .band,:root[data-rm="1"] .rbar .edge,:root[data-rm="1"] .lchip,:root[data-rm="1"] .objs .tk,:root[data-rm="1"] .cbox,:root[data-rm="1"] .cele-card,:root[data-rm="1"] .presence .fmark,:root[data-rm="1"] .step,:root[data-rm="1"] .dring .arc,:root[data-rm="1"] #drill-progress .prog .fill,:root[data-rm="1"] .bigring .arc{transition-property:opacity,color,background-color,border-color,box-shadow!important}:root[data-rm="1"] .pill:before{transform:none}:root[data-rm="1"] .objs .tk{transform:none}:root[data-rm="1"] .lchip{transform:translate(-50%)}:root[data-rm="1"] .cele-card{transform:none}:root[data-rm="1"] .step.pre{transform:none}:root[data-rm="1"] button.primary:active:not(:disabled),:root[data-rm="1"] .btn.primary:active:not(:disabled),:root[data-rm="1"] button.tonal:active:not(:disabled),:root[data-rm="1"] button.skill:active:not(:disabled),:root[data-rm="1"] button.icon:active:not(:disabled),:root[data-rm="1"] .btn.tonal:active:not(:disabled){transform:none}.login .logo{animation:enter-up var(--spring-gentle-dur) var(--spring-gentle) both}dialog.cdlg{width:min(420px,calc(100% - 32px));padding:20px;border:0;border-radius:var(--r-sheet);background:var(--bg);color:var(--ink);box-shadow:var(--elev-3, var(--shadow))}dialog.cdlg::backdrop{background:var(--scrim)}dialog.cdlg h2{margin:0 0 8px;font-size:20px;text-wrap:balance}dialog.cdlg p{margin:0 0 16px;color:var(--ink-2);font-size:15px}dialog.cdlg .row{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}dialog.cdlg button{min-height:44px}.login .err,.profile-form .err{text-decoration:none;cursor:default}@media(pointer:coarse){.seg button,.chips button.chip,button.chip,#caption-modes button,.plist .pa a,.plist .pa button,.mic-check button,.stale button,.step-card .sa button,.exam-row button,.credit-chip,.admin-actions button,.admin-invite button,.admin-invites button,.off-r button,.clip-row button,.ep-starts button,a.btn,.reader-nav a,.nowcard .short,.mk-eo,.pace-row select,.admin-invite input,.admin-actions input,.login .dev-login input{min-height:44px}button.icon{min-width:44px;min-height:44px}.stand-toggle{min-height:44px}.wrow .add{min-height:44px;margin-block:-6px}.wsec .wrow .hear{width:44px;height:44px;margin:-5px;padding:5px;background-clip:content-box}#me{width:44px;height:44px;margin:-6px;padding:6px;border:0;background-clip:content-box}#me img{border-radius:50%}.fold>summary,.score-card details>summary,.passage.review details>summary,.rn-rev summary{padding-block:12px;margin-block:-12px}.fold[open]>summary,.score-card details[open]>summary,.passage.review details[open]>summary,.rn-rev details[open]>summary{margin-bottom:0}.hwrow a.right,.legal .bar a,.wk-nav a,.settings .r a.val,.reader-foot .row a,.blk-h a.meta{display:inline-block;padding-block:14px;margin-block:-14px}.mfoot a.small,.ep-fams td a,.sit-learn a{display:inline-block;padding-block:13px;margin-block:-5px}.sit-task summary{padding-block:13px;margin-block:-6px}.eh-link{display:inline-block;padding-top:22px;margin-top:-22px}.hwrow a.right,.blk-h a.meta,.ep-fams td a{padding-inline:8px;margin-inline:-8px}.settings a.val{padding-inline:4px;margin-inline:-4px}}@media(max-width:767px),(pointer:coarse){:is(#pace,#voice-pick,#ask-text,#dev-email,#plan-official .off-grid input,.off-grid input,.admin-invite input,.admin-actions input){font-size:16px}}@media(max-width:600px){button,a.btn{height:auto;min-height:44px;padding-block:8px;line-height:1.25}}@media(hover:none)and (pointer:coarse){.dt-hint,#help-form .row>.dim{display:none}}.welcome-spot .spot{display:block;width:112px;height:90px;color:var(--brand);margin:4px 0 -4px}.rv-empty.nothing-due .spot{width:104px;height:83px;color:var(--ok)}.offline-strip{position:fixed;z-index:30;left:50%;top:calc(10px + env(safe-area-inset-top,0px));transform:translate(-50%);display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:6px 16px 6px 8px;border-radius:var(--r-l);background:var(--surface-3);color:var(--ink);box-shadow:var(--elev-2, var(--shadow));font-size:14px}.offline-strip .spot{width:44px;height:35px;flex:none;color:var(--ink-2)}::highlight(fm-hear){background-color:var(--brand-soft);color:var(--brand-on-soft);text-decoration:underline 2px var(--brand)}.settings .voice-pick{display:inline-flex;align-items:center;gap:8px;white-space:normal}.settings .voice-pick select{max-width:min(240px,46vw)}.page.today{gap:22px;padding-top:18px}.today-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.today-head .eyebrow{font-size:14px;color:var(--muted)}.today-head .eyebrow b{color:var(--ink);font-weight:600}.today-head .hello{margin:4px 0 0;font-size:clamp(24px,3.2vw,32px);line-height:1.15;font-weight:600;text-wrap:balance}.today-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px 36px;align-items:start}@media(max-width:860px){.today-grid{grid-template-columns:1fr;gap:22px}}.today-grid>.col-l,.today-grid>.col-r{display:flex;flex-direction:column;gap:24px;min-width:0}.nowcard{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--r-card);background:var(--skill-soft);color:var(--skill-on-soft);padding:18px 18px 16px;display:flex;flex-direction:column;gap:10px;min-height:220px}.nowcard .glyph{position:absolute;z-index:-1;right:-10px;bottom:44px;font-size:172px;line-height:1;font-weight:700;color:var(--skill-on-soft);opacity:.07;pointer-events:none;transform:rotate(-8deg);-webkit-user-select:none;user-select:none}.nowcard .spot{position:absolute;z-index:-1;right:10px;top:14px;width:128px;height:100px;color:var(--skill-on-soft)}.now-top{display:flex;align-items:center;gap:10px}.disc{width:36px;height:36px;border-radius:18px;display:grid;place-items:center;background:var(--skill-fill);color:var(--on-skill);flex:none}.disc .ms{font-size:20px;font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 20}.nowcard .kicker{font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:none;color:inherit}.nowcard h2{font-size:clamp(22px,2.6vw,30px);line-height:1.12;font-weight:700;margin:4px 0 0;max-width:64%;text-wrap:balance}.nowcard .sub{font-size:14px;line-height:1.45;max-width:68%;margin:0}.nowcard .why{display:flex;gap:6px;align-items:flex-start;font-size:13px;line-height:1.45;margin:2px 0 4px;max-width:90%}.nowcard .why .ms{font-size:18px;margin-top:-1px}.nowcard .actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.nowcard .actions button.primary,.nowcard .actions button.skill{height:48px;padding:0 22px;font-size:16px}.nowcard .alt{background:color-mix(in srgb,var(--bg) 55%,transparent);color:var(--skill-on-soft);border-color:transparent;height:40px}.nowcard .alt:hover{background:color-mix(in srgb,var(--bg) 75%,transparent)}.nowcard .short{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;padding:10px 2px 0;margin-top:2px;border-top:1px solid color-mix(in srgb,var(--skill-on-soft) 18%,transparent);color:inherit}.nowcard .short b{font-weight:600}.nowcard .short .ms{font-size:18px}@media(max-width:520px){.nowcard h2{max-width:72%}.nowcard .sub{max-width:100%}.nowcard .spot{width:100px;height:80px;opacity:.45}.now-top{padding-right:92px}}.spot .blob{fill:var(--spot-blob);opacity:.55}.spot g{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.stale{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:var(--r-l);border:1px solid var(--border);background:var(--surface);font-size:14px}.stale .ms{color:var(--ink-2)}.stale .t{flex:1;min-width:180px;color:var(--ink);font-weight:500}.stale button,.stale .btn{height:36px}.stale.talk{color:var(--ink);text-decoration:none}.stale.talk:hover{background:var(--surface-2)}.blk{display:flex;flex-direction:column;gap:12px}.blk-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.k{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.blk-h .k{color:var(--ink)}.blk-h .meta{font-size:13px;color:var(--muted)}.blk-h a.meta:hover{color:var(--ink)}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.day{min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}.day.today{color:var(--ink)}.dring{position:relative;width:min(40px,100%);aspect-ratio:1}.dring svg{width:100%;height:100%;transform:rotate(-90deg);overflow:visible}.dring circle{fill:none;stroke-width:4.5}.dring .track{stroke:var(--surface-3)}.dring.plan .track{stroke:var(--line);stroke-dasharray:3 3.6;stroke-width:2}.dring.rest .track{stroke:none}.dring.rest:after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px;border-radius:3px;background:var(--line)}.dring .arc{stroke-linecap:butt;transition:stroke-dashoffset var(--spring-gentle-dur) var(--spring-gentle)}.dring .arc.ce{stroke:var(--ce)}.dring .arc.co{stroke:var(--co)}.dring .arc.ee{stroke:var(--ee)}.dring .arc.eo{stroke:var(--eo)}.dring .arc.br{stroke:var(--brand)}:root[data-colour=quiet] .dring .arc{stroke:var(--ink-2)}.dring .tick{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--ink)}.dring .tick svg{width:16px;height:16px;transform:none}.dring .tick path{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.day.today .dring:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid var(--brand)}.day .m{font-size:11px;font-weight:500;color:var(--muted);min-height:14px}.stand{display:flex;flex-direction:column}.srow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:12px 0;border-top:1px solid var(--border)}.srow:first-child{border-top:0;padding-top:2px}.srow .nm{display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px;min-width:0}.srow .nm .en{font-weight:400;color:var(--muted);font-size:13px}.srow .bd{font-weight:600;font-size:14px;text-align:right}.srow .bar{grid-column:1 / -1}.srow .note{grid-column:1 / -1;font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.srow .moved{color:var(--ink-2);font-weight:500}.srow.none .nm>span:first-of-type,.srow.none .bd{color:var(--muted)}.rbar{position:relative;height:12px;border-radius:6px;background:var(--surface-2);overflow:hidden}.rbar .band,.rbar .edge{position:absolute;top:0;bottom:0;left:0;width:100%;transform-origin:0 50%;transition:transform var(--spring-gentle-dur) var(--spring-gentle)}.rbar .band{background:var(--pc-soft);transform:translate(calc(var(--f) * 1%)) scaleX(calc((var(--to) - var(--f)) / 100))}.rbar .edge:before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:2.5px;border-radius:2px;background:var(--pc)}.rbar .edge.l{transform:translate(calc(var(--f) * 1%))}.rbar .edge.r{transform:translate(calc(var(--to) * 1%))}.rbar .goal{position:absolute;top:0;bottom:0;width:2px;background:var(--ink);border-radius:1px}.rbar.none{background:repeating-linear-gradient(90deg,var(--surface-2) 0 6px,transparent 6px 10px)}.rbar.ce{--pc: var(--ce);--pc-soft: var(--ce-soft)}.rbar.co{--pc: var(--co);--pc-soft: var(--co-soft)}.rbar.ee{--pc: var(--ee);--pc-soft: var(--ee-soft)}.rbar.eo{--pc: var(--eo);--pc-soft: var(--eo-soft)}:root[data-colour=quiet] .rbar{--pc: var(--ink-2);--pc-soft: var(--surface-3)}.stand-foot{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);padding-top:4px;gap:10px;flex-wrap:wrap}.stand-toggle{align-self:flex-start;height:32px;padding:0 12px;margin-left:-12px;font-size:13px}.weakest{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px}.weakest b{font-weight:600}#today-stand-rows:not(:empty){margin-top:8px}.also{display:flex;flex-direction:column}.also a{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--border);font-size:15px;color:var(--ink)}.also a:first-child{border-top:0}.also a .ms{color:var(--muted)}.also a .go{margin-left:auto;color:var(--muted)}.also a:hover .go{color:var(--ink)}.credit-strip{border-color:var(--outline);background:var(--warn-soft);color:var(--warn);border-radius:var(--r-l)}.more-list{display:flex;flex-direction:column}.more-list a{display:flex;align-items:center;gap:14px;padding:14px 4px;border-top:1px solid var(--border);font-size:16px;color:var(--ink)}.more-list a:first-child{border-top:0}.more-list a .ms{color:var(--ink-2)}.more-list a .sub{display:block;font-size:13px;color:var(--muted)}.more-list a .go{margin-left:auto;color:var(--muted)}#screen-session{position:relative;overflow:hidden;display:flex;flex-direction:column}.brief{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.brief[hidden]{display:none}.bhead{position:relative;overflow:hidden;isolation:isolate;background:var(--skill-soft);color:var(--skill-on-soft);padding:20px var(--page-x) 24px}.bhead-in{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:6px}.bhead .kick{font-size:13px;font-weight:600}.bhead h1{margin:0;font-size:clamp(24px,3.4vw,32px);line-height:1.12;font-weight:700;max-width:70%;text-wrap:balance}.bhead .bsub{margin:0;font-size:14px;line-height:1.45;max-width:70%}.bhead .spot-holder{position:absolute;z-index:-1;right:max(14px,calc(50% - 360px));bottom:10px;width:118px;height:94px;color:var(--skill-on-soft)}.bhead .spot-holder .spot{display:block;width:100%;height:100%}@media(max-width:520px){.bhead h1,.bhead .bsub{max-width:72%}.bhead .spot-holder{width:96px;height:76px;opacity:.45}}@media(max-width:360px){.bhead .spot-holder{width:68px;height:54px}}.bbody{width:100%;max-width:720px;margin:0 auto;padding:20px var(--page-x) 32px;display:flex;flex-direction:column;gap:18px}.points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.points li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px 0;border-top:1px solid var(--border)}.points li:first-child{border-top:0;padding-top:4px}.points .n{width:28px;height:28px;border-radius:14px;background:var(--brand-soft);color:var(--brand-on-soft);display:grid;place-items:center;font-weight:700;font-size:14px}.points b{display:block;font-size:15px;font-weight:600}.points .mins{font-size:13px;color:var(--muted);padding-top:4px;white-space:nowrap}.woven{border-radius:var(--r-l);background:var(--surface);border:1px solid var(--border);padding:12px 14px;display:flex;flex-direction:column;gap:6px}.woven[hidden]{display:none}.woven .pairs{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px;color:var(--ink-2)}.woven .pairs .fr{font-weight:500;color:var(--ink)}.simnote{border-radius:var(--r-l);background:var(--surface);border:1px solid var(--border);padding:12px 14px;font-size:14px;line-height:1.5;color:var(--ink-2);display:flex;flex-direction:column;gap:8px}.simnote[hidden]{display:none}.mic-check{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-l);border:1px solid var(--border)}.mic-check .state{flex:1;font-size:14px;color:var(--ink-2)}.mic-check .state b{font-weight:600;color:var(--ink)}.mic-check .okmark{display:inline-flex;align-items:center;gap:6px;color:var(--ok);font-weight:600;font-size:14px}.mic-check .okmark svg{width:18px;height:18px}.mic-check .okmark path{fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.mic-check button{height:36px}.meter{display:inline-flex;align-items:center;gap:3px;height:26px;flex:none}.meter i{width:4px;height:100%;border-radius:2px;background:var(--eo-vivid);transform:scaleY(.12);transform-origin:50% 50%}:root[data-colour=quiet] .meter i,body[data-register=exam] .meter i{background:var(--ink-2)}.aidecard{border-radius:var(--r-l);background:var(--brand-soft);color:var(--brand-on-soft);padding:12px 14px;font-size:13px;line-height:1.45;display:flex;gap:10px}.aidecard b{font-weight:600}.aidecard[hidden]{display:none}.lenrow{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.lenrow .left{font-size:13px;color:var(--muted)}.lenrow .seg button{height:38px}.lenrow .seg button .price{font-weight:400;color:var(--muted);margin-left:4px}.pace-row{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-2)}.pace-row select{height:36px}button.big{height:52px;font-size:17px;align-self:stretch}@media(min-width:600px){button.big{align-self:flex-start;min-width:260px}}.live{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--bg);position:relative}.live[hidden]{display:none}.lhead{position:relative;flex:none;overflow:hidden;isolation:isolate;background:var(--skill-soft);color:var(--skill-on-soft);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:8px 16px 10px;transition:opacity var(--dur-200) var(--ease-standard)}.lhead .presence{grid-column:2}.lhead .ringwrap{grid-column:3;justify-self:end}.presence{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;justify-self:center;cursor:pointer;--ms: 26px;-webkit-tap-highlight-color:transparent}.presence .glow{position:absolute;z-index:-1;left:50%;top:42%;width:190px;height:190px;margin:-95px 0 0 -95px;border-radius:50%;background:radial-gradient(closest-side,var(--glow-c, transparent),transparent);opacity:calc(.22 + var(--lvl) * .78);transform:scale(calc(.8 + var(--lvl) * .4));pointer-events:none}.presence .mk{display:block;color:var(--ink-2);transform:scale(calc(1 + var(--lvl) * .06));transition:color var(--dur-150) var(--ease-standard)}.presence .fmark{display:block;width:calc(var(--ms) * 1.4);height:auto;transition:opacity var(--dur-200),transform var(--spring-calm-dur) var(--spring-calm)}.presence .pst{font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--skill-on-soft);opacity:.85;height:14px;white-space:nowrap}.presence .done{position:absolute;left:50%;top:2px;width:26px;height:26px;margin-left:-13px;opacity:0}.presence .done path{fill:none;stroke:var(--ok);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30;stroke-dashoffset:30;transition:stroke-dashoffset var(--dur-300) var(--ease-emph-out) .15s}.presence[data-state=tutor]{--glow-c: color-mix(in srgb, var(--brand-vivid) 85%, transparent)}.presence[data-state=tutor] .mk{color:var(--brand)}.presence[data-state=you]{--glow-c: color-mix(in srgb, var(--eo-vivid) 90%, transparent)}.presence[data-state=you] .mk{color:var(--eo)}:root[data-colour=quiet] .presence[data-state=you]{--glow-c: color-mix(in srgb, var(--ink) 22%, transparent)}:root[data-colour=quiet] .presence[data-state=you] .mk{color:var(--ink)}.presence[data-state=connecting] .fmark,.presence[data-state=thinking] .fmark{animation:fmark-pulse 1.2s var(--ease-standard) infinite}@keyframes fmark-pulse{0%,to{opacity:1}50%{opacity:.5}}.presence[data-state=ending] .fmark{opacity:0;transform:scale(.6)}.presence[data-state=ending] .done{opacity:1}.presence[data-state=ending] .done path{stroke-dashoffset:0}.presence.still .glow{opacity:.3;transform:none}.presence.still .mk{transform:none}.presence.still .fmark{animation:none!important}:root[data-rm="1"] .presence .glow,:root[data-rm="1"] .presence .mk{transform:none}:root[data-rm="1"] .presence .fmark{animation:none}body[data-register=exam] .presence .glow{display:none}body[data-register=exam] .presence .mk{transform:none;color:var(--ink-2)}body[data-register=exam] .presence .fmark{animation:none}.ringwrap{position:relative;display:grid;place-items:center;width:36px;height:36px}.ringwrap[hidden]{display:none}.ringt{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(var(--skill-on-soft) calc(var(--t) * 360deg),color-mix(in srgb,var(--skill-on-soft) 18%,transparent) 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3.5px))}.ringwrap .rl{position:relative;font-size:11px;font-weight:700}.ringwrap.over .ringt{background:color-mix(in srgb,var(--skill-on-soft) 30%,transparent)}.objside{display:none}.objlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.objlist li{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.35}.objlist .n{flex:none;width:22px;height:22px;border-radius:11px;background:color-mix(in srgb,var(--skill-on-soft) 14%,transparent);color:var(--skill-on-soft);display:grid;place-items:center;font-size:12px;font-weight:700}#captions{position:relative}.live.paused .lhead,.live.paused footer.session .r1{opacity:.55}.live.paused #captions .turn .fr,.live.paused #captions .turn .me{color:var(--ink)}.live.paused .pausenote{display:flex}.pausenote{display:none;align-self:center;margin:6px auto 0;align-items:center;gap:8px;height:30px;padding:0 12px;border-radius:15px;background:var(--surface-2);color:var(--ink);font-size:13px;font-weight:600}footer.session{position:relative}#mic{width:auto;display:inline-flex;align-items:center;gap:8px;padding:0 12px}#mic .meter{height:22px}#mic[data-muted] .meter i{background:var(--line)}#mic[data-muted] .ms{color:var(--muted)}.aide{height:40px;padding:0 14px;border-radius:20px;background:var(--brand-soft);color:var(--brand-on-soft);display:inline-flex;align-items:center;gap:6px;font-weight:600;border-color:transparent}.aide:hover{background:var(--brand-soft);filter:brightness(.97)}.aide.pulse{animation:aidepulse .6s var(--ease-standard) 2}@keyframes aidepulse{50%{opacity:.35}}.aide[hidden]{display:none}#ask{display:inline-flex;align-items:center;gap:6px}button.danger{background:var(--err-fill);color:var(--on-err);border-color:transparent;font-weight:600}button.danger:hover{background:var(--err-fill);filter:brightness(1.06)}button.danger:disabled{background:var(--surface-2);color:var(--muted)}.lchip{position:absolute;left:50%;top:-42px;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:15px;background:var(--warn-soft);color:var(--warn);border:1px solid var(--outline);font-size:13px;font-weight:600;white-space:nowrap;opacity:0;transform:translate(-50%,6px);pointer-events:none;transition:opacity var(--dur-200) var(--ease-standard),transform var(--spring-calm-dur) var(--spring-calm);z-index:3}.lchip.on{opacity:1;transform:translate(-50%)}.lchip .ms{font-size:18px}.aide-card{position:absolute;left:16px;right:16px;bottom:calc(100% + 10px);z-index:4;max-width:520px;margin:0 auto;border-radius:var(--r-l);background:var(--brand-soft);color:var(--brand-on-soft);padding:12px 16px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--elev-2)}.aide-card .fr{font-size:20px;font-weight:600}.aide-card .en{font-size:13px}.aide-card[hidden]{display:none}@media(min-width:900px){.live{display:grid;grid-template-columns:280px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.lhead{grid-row:1 / span 2;grid-column:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:18px;padding:28px 22px 22px}.live>.exam,.live>#captions,.live>#card,.live>.ask-panel{grid-column:2}.live>footer.session{grid-column:2;grid-row:2}.live>.exam:not([hidden])+#captions{display:none}.presence{--ms: 64px;margin-top:24px}.presence .glow{width:380px;height:380px;margin:-190px 0 0 -190px}.presence .pst{font-size:13px;height:18px;margin-top:8px}.presence .done{width:60px;height:60px;margin-left:-30px;top:10px}.ringwrap{width:76px;height:76px;margin-top:8px}.ringt{-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 5.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 5.5px))}.ringwrap .rl{font-size:15px}.objside:not([hidden]){display:flex;flex-direction:column;gap:10px;align-self:stretch;margin-top:12px}}@media(min-width:900px){#screen-session[data-exam] .live>.exam{grid-row:1}#screen-session[data-exam] .live>#captions{display:none}}.brief>*,.live>.lhead,.live>footer.session,.live>.exam{flex-shrink:0}.lenrow .seg{flex-wrap:nowrap}.lenrow .seg button{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;height:48px;line-height:1.1;padding:0 16px}.lenrow .seg button .price{margin-left:0;font-size:12px}footer.session{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-height:0;height:auto;padding:8px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg)}footer.session .status-line{margin:0;font-size:12px;color:var(--muted);min-height:16px;text-align:center}footer.session .status-line[data-kind=error]{color:var(--err);font-weight:600}footer.session .status-line[data-kind=paused]{color:var(--ink);font-weight:600}footer.session .r1{display:flex;align-items:center;gap:8px;flex-wrap:wrap}footer.session .r2{display:grid;grid-template-columns:1fr 1fr;gap:10px}footer.session .r2 button{height:44px}#caption-modes{margin-left:auto;display:inline-flex;gap:2px;background:var(--surface-2);border-radius:var(--r-full);padding:3px}#caption-modes button{height:32px;padding:0 10px;border:0;border-radius:var(--r-full);color:var(--ink-2);font-size:12px;font-weight:600;background:none}#caption-modes button[data-on]{background:var(--bg);color:var(--ink);box-shadow:var(--elev-1)}@media(max-width:440px){#ask .lbl,#caption-modes button[data-mode=delayed]{display:none}footer.session .r1{gap:6px}#mic{padding:0 8px;gap:6px}#mic .meter{gap:2px}.aide,#ask{padding:0 10px}#caption-modes{padding:2px}#caption-modes button{min-width:40px;padding:0 6px}}@media(max-width:360px){#caption-modes{margin-left:0}}@media(min-width:900px){footer.session{flex-direction:row;flex-wrap:wrap;align-items:center;padding:12px 28px 16px;gap:10px 14px}footer.session .status-line{order:2;flex:1 1 160px;min-width:160px;text-align:left;font-size:13px}footer.session .r1{order:1;flex:0 1 auto;flex-wrap:wrap;min-width:0}footer.session .r2{order:3;grid-template-columns:120px 120px;margin-left:auto}#caption-modes{margin-left:8px}}#status.status-line{flex:none;min-width:0}@media(min-width:900px){#status.status-line{flex:1 1 160px;min-width:160px}}#captions{gap:20px;padding:20px 0 28px}#captions:empty:before{content:"Le tuteur arrive…";color:var(--muted)}.turn .who{color:var(--muted);font-size:11px;letter-spacing:.1em}.turn.assistant .who{color:var(--brand)}.turn.user .who{color:var(--eo)}:root[data-colour=quiet] .turn.assistant .who,:root[data-colour=quiet] .turn.user .who{color:var(--ink-2)}#captions{--tutor-ink: var(--brand);--tutor-ink-2: color-mix(in srgb, var(--brand) 72%, var(--ink-2))}.turn.assistant .fr{font-size:24px;line-height:1.3;color:var(--tutor-ink-2);font-weight:400;transform-origin:0 0}.turn.assistant.current .fr{font-size:30px;color:var(--tutor-ink);font-weight:500}@media(max-width:600px){.turn.assistant .fr{font-size:19px}.turn.assistant.current .fr{font-size:24px}}.turn.assistant .fr .w{color:inherit;opacity:0;transition:opacity .12s linear,color var(--dur-150) var(--ease-standard);border-radius:4px}.turn.assistant .fr .w.on{color:inherit;opacity:1}.turn.assistant.current .fr .w.on{color:var(--tutor-ink)}.turn.assistant.current .fr .w.cur{background:linear-gradient(var(--ink-2),var(--ink-2)) no-repeat 0 100% / 100% 2.5px;animation:sweep .26s linear both}@keyframes sweep{0%{background-size:0 2.5px}}:root[data-rm="1"] .turn.assistant.current .fr .w.cur{animation:none}.turn.assistant .fr .w:hover{background-color:var(--surface-2)}.live.paused #captions .w:hover{background:none}#captions .w.playing{background:var(--brand-soft);color:var(--brand-on-soft)}.turn.assistant .en{color:var(--muted);font-size:14px}.turn.assistant.current .en{color:var(--ink-2);font-size:15px}.turn.user .me{font-size:19px;color:var(--muted);transition:color var(--dur-200) var(--ease-standard)}.turn.user.done .me{color:var(--ink-2)}.turn.user.current.done .me{color:var(--ink)}#captions .err{text-decoration:none;cursor:pointer;border-radius:3px;background:linear-gradient(var(--ink-2),var(--ink-2)) no-repeat 0 100% / 0 2px;transition:background-size var(--dur-300) var(--ease-emph-out)}#captions .err.drawn{background-size:100% 2px}#captions .err:after{content:"";display:inline-block;width:6px;height:6px;border-radius:3px;background:var(--ink-2);margin-left:3px;vertical-align:super;opacity:0;transition:opacity var(--dur-200) .25s}#captions .err.drawn:after{opacity:1}.turn.user .note{color:var(--ink-2)}#captions.spot .turn:not(.focus) .fr,#captions.spot .turn:not(.focus) .fr .w.on,#captions.spot .turn:not(.focus) .me,#captions.spot .turn:not(.focus) .who{color:var(--ink-2)}#card{border-radius:var(--r-l);background:var(--bg);border:1px solid var(--border);box-shadow:var(--elev-3);z-index:5}#card:not([hidden]){animation:cardrise var(--spring-calm-dur) var(--spring-calm) both}@keyframes cardrise{0%{opacity:0;transform:translateY(16px)}}:root[data-rm="1"] #card:not([hidden]){animation:vt-fade-in var(--dur-150) var(--ease-standard) both}#card .said{color:var(--ink-2);text-decoration:line-through;text-decoration-color:var(--err)}#card p.l1{color:var(--ink-2);font-weight:500}#card{position:absolute;top:auto;left:auto;right:24px;bottom:calc(100% + 10px);width:min(360px,calc(100% - 32px));max-height:60vh;overflow-y:auto}@media(max-width:899px){#card{left:16px;right:16px;width:auto}}#card>:first-child{padding-right:34px;flex-wrap:wrap;gap:2px 10px}#card .close{order:-1;position:sticky;top:-8px;flex:none;align-self:flex-end;width:40px;height:40px;margin:-10px -12px -40px 0;border-radius:50%;background:var(--bg);z-index:1}.presence[data-state=paused] .mk{color:var(--ink-2)}.presence[data-state=paused] .pst:before{content:"";display:inline-block;width:8px;height:9px;margin-right:5px;border-inline:3px solid currentColor}#mic.holding{background:var(--eo-soft);color:var(--eo-on-soft);border-color:transparent}#mic.holding .meter i{background:var(--eo)}.hold-hint{font-size:12px;color:var(--muted)}.chain-bar{display:contents}@media(max-width:860px){.chain-bar{display:flex;flex-direction:column;gap:8px;position:sticky;bottom:0;z-index:2;padding-block:8px calc(8px + env(safe-area-inset-bottom));background:var(--bg)}.chain-bar .stat-card{flex-direction:row;align-items:center;gap:10px;padding:6px 12px}.chain-bar .big{font-size:26px}#chain-read .bbody{padding-bottom:0}}.exam-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media(max-width:760px){.exam-grid{grid-template-columns:1fr}}.ecard{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--r-card);border:1px solid var(--border);background:var(--bg);display:flex;flex-direction:column}.ecard .eh{background:var(--skill-soft);color:var(--skill-on-soft);padding:14px 16px 12px;display:flex;align-items:center;gap:12px}.ecard .eh .t{display:flex;flex-direction:column;gap:2px;min-width:0}.ecard .eh .t b{font-size:18px;font-weight:700}.ecard .eh .t span{font-size:13px}.ecard .eh .st{margin-left:auto;text-align:right;font-size:13px;font-weight:600}.ecard .eb{padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px}.ecard .why{margin:0;font-size:14px;line-height:1.45;color:var(--ink-2)}.ecard .go{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:4px}.ecard .go .est{font-size:13px;color:var(--muted)}.exam-foot{display:flex;flex-direction:column}.exam-row{display:flex;align-items:center;gap:14px;padding:14px 4px;border-top:1px solid var(--border);font-size:15px;color:var(--ink);flex-wrap:wrap}.exam-row:last-child{border-bottom:1px solid var(--border)}.exam-row .ms{color:var(--ink-2)}.exam-row .t{flex:1;min-width:200px}.exam-row .t .sub{display:block;font-size:13px;color:var(--muted)}.exam-row button,.exam-row .btn{height:40px}.ecard .eh{position:relative}.ecard .eh .spot.hero{width:64px;height:52px;flex:none;color:var(--skill-on-soft);margin-left:4px}@media(max-width:420px){.ecard .eh .spot.hero{display:none}}.ecard .rbar{margin-top:2px}.verdict-sheet{position:sticky;bottom:0;z-index:4;margin:8px calc(-1 * var(--page-x)) -40px;padding:16px var(--page-x) calc(18px + env(safe-area-inset-bottom));border-radius:var(--r-sheet) var(--r-sheet) 0 0;display:flex;align-items:center;gap:14px;flex-wrap:wrap;transform:translateY(100%);transition:transform var(--dur-200) var(--ease-emph-out);box-shadow:var(--elev-3)}.verdict-sheet.on{transform:none}.verdict-sheet.ok{background:var(--ok-soft);color:var(--ok-on-soft)}.verdict-sheet.miss{background:var(--err-soft);color:var(--err-on-soft)}.verdict-sheet .vtxt{flex:1;min-width:160px;font-size:15px}.vpill{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px 0 10px;border-radius:16px;font-weight:700;font-size:15px}.verdict-sheet.ok .vpill{background:var(--ok-fill);color:var(--on-ok)}.verdict-sheet.miss .vpill{border:2px solid var(--err);color:var(--err-on-soft);text-decoration:underline wavy var(--err);text-underline-offset:4px}.vpill .ms{font-size:20px;font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 20;text-decoration:none}.verdict-sheet.ok button.primary{background:var(--ok-fill);color:var(--on-ok);box-shadow:0 3px color-mix(in srgb,var(--ok-fill) 55%,#000)}.verdict-sheet.miss button.primary{background:var(--err-fill);color:var(--on-err);box-shadow:0 3px color-mix(in srgb,var(--err-fill) 55%,#000)}:root[data-rm="1"] .verdict-sheet{transform:none;transition:opacity var(--dur-150) var(--ease-standard);opacity:0}:root[data-rm="1"] .verdict-sheet.on{opacity:1}.mcq.done .choice.is-answer{color:var(--ok-on-soft);border-color:var(--ok);background:var(--ok-soft)}.mcq.done .choice.is-answer:after{content:"✓ juste";margin-left:auto;font-size:12px;font-weight:700}.mcq.done .choice.wrong{color:var(--ink);border-color:var(--err);background:var(--bg);text-decoration:underline wavy var(--err);text-underline-offset:4px}.mcq.done .choice.wrong:after{content:"✕ votre réponse";display:inline-block;margin-left:auto;font-size:12px;font-weight:700;text-decoration:none;color:var(--err)}.mcq.done.ko .legend:after{content:" ✕";color:var(--err)}.mcq.done.ok .legend:after{content:" ✓";color:var(--ok)}.one-rule{border-radius:var(--r-card);background:var(--surface);border:1px solid var(--border);padding:18px 20px;display:flex;flex-direction:column;gap:10px}.one-rule .k{color:var(--ink)}.one-rule h3{margin:0;font-size:20px;line-height:1.25}.one-rule .ex{font-size:20px;line-height:1.5;color:var(--ink-2)}.one-rule .ex .arrow{color:var(--muted);margin:0 6px}.one-rule .cnt{font-size:13px;color:var(--muted)}.also-line{font-size:14px;color:var(--ink-2);line-height:1.6}.also-line b{font-weight:600;color:var(--ink)}mark.said{background:transparent;color:var(--ink-2);text-decoration:line-through;text-decoration-color:var(--err);text-decoration-thickness:2px}mark.fix{background:var(--ok-soft);color:var(--ok-on-soft);border-radius:6px;padding:0 5px;font-weight:600}.praise-chips{display:flex;flex-wrap:wrap;gap:8px}.praise-chips span{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:6px 12px;border-radius:16px;background:var(--ok-soft);color:var(--ok-on-soft);font-size:14px;line-height:1.3}.praise-chips .ms{font-size:18px}details.fold{border-top:1px solid var(--border);padding-top:12px}details.fold>summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--ink-2);list-style:none;display:flex;align-items:center;gap:6px}details.fold>summary::-webkit-details-marker{display:none}details.fold>summary .ms{transition:transform var(--dur-150) var(--ease-standard)}details.fold[open]>summary .ms{transform:rotate(90deg)}details.fold>div{padding-top:12px;display:flex;flex-direction:column;gap:12px}#screen-debrief{padding:0;gap:0}.dbh{position:relative;overflow:hidden;background:linear-gradient(170deg,var(--skill-soft) 0%,color-mix(in srgb,var(--skill-soft) 35%,var(--bg)) 100%);color:var(--skill-on-soft);padding:22px var(--page-x) 24px}.dbh.flat{background:var(--surface);color:var(--ink)}.dbh-in{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:6px}.dbh .kick{font-size:13px;font-weight:600}.dbh h1{margin:0;font-size:clamp(24px,3.2vw,30px);line-height:1.15;font-weight:700;text-wrap:balance}.dbh .meta{font-size:13px}.objs{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:8px}.objs:empty{display:none}.objs li{display:flex;gap:10px;align-items:center;font-size:15px}.objs .tk{width:24px;height:24px;flex:none;border-radius:12px;background:var(--ok-fill);display:grid;place-items:center;transform:scale(.4);opacity:0;transition:transform var(--spring-bouncy-dur) var(--spring-bouncy),opacity var(--dur-150)}.objs .tk svg{width:14px;height:14px}.objs .tk path{fill:none;stroke:var(--on-ok);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset var(--dur-200) var(--ease-emph-out) .12s}.objs li.on .tk{transform:none;opacity:1}.objs li.on .tk path{stroke-dashoffset:0}.objs li.part .tk{background:var(--surface-3)}.objs li.part .tk path{stroke:var(--ink)}.objs li.miss .tk{background:transparent;border:2px solid var(--outline)}.objs li.miss .tk path{stroke:transparent}.objs li .st{font-size:13px;opacity:.8}.dbb{width:100%;max-width:760px;margin:0 auto;padding:20px var(--page-x) 40px;display:flex;flex-direction:column;gap:20px}.step{transition:opacity var(--dur-200) var(--ease-standard),transform var(--spring-gentle-dur) var(--spring-gentle)}.step.pre{opacity:0;transform:translateY(var(--lift))}.stats{display:flex;gap:22px;flex-wrap:wrap}.stat b{display:block;font-size:28px;font-weight:700;line-height:1.1}.stat span{font-size:13px;color:var(--muted)}.nextcard{border-radius:var(--r-card);background:var(--brand-soft);color:var(--brand-on-soft);padding:16px 18px;display:flex;flex-direction:column;gap:8px}.nextcard .k{color:var(--brand-on-soft)}.nextcard .t{font-size:17px;font-weight:600}.nextcard .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.lightline{font-size:20px;font-weight:500}.lightline .fixw{border-radius:6px;padding:0 4px;transition:background-color var(--dur-200) var(--ease-standard),color var(--dur-200) var(--ease-standard)}.lightline .fixw.lit{background:var(--ok-soft);color:var(--ok-on-soft)}.nothing{display:flex;align-items:center;gap:14px}.nothing .spot{width:96px;height:76px;color:var(--ok);flex:none}#screen-debrief>*{flex-shrink:0}.objs li.miss .tk,.objs li.part .tk{transform:none;opacity:1}.nextcard .n{font-size:13px;color:var(--muted)}.asr-badge{grid-column:1 / -1;display:flex;align-items:center;gap:6px;margin:4px 0 0;font-size:13px;color:var(--ink-2)}.asr-badge .ms{font-size:18px;color:var(--muted)}.debrief-block.panel{display:flex;flex-direction:column;gap:10px}.debrief-block.panel[hidden]{display:none}.passline,.checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.passline li,.checks li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:baseline;padding:8px 0;border-top:1px solid var(--border);font-size:15px}.passline li:first-child,.checks li:first-child{border-top:0}.passline .mk,.checks .mk{font-weight:700}.passline li.ok .mk,.checks li.ok .mk{color:var(--ok)}.passline li.no .mk,.checks li.no .mk{color:var(--muted)}.passline b{font-weight:600}.checks.cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));column-gap:16px}.checks.cols li{border-top:0;padding:4px 0}.passline .sr,.checks .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}#debrief-transcript .t.has-fix{padding-bottom:6px}.tfix{list-style:none;margin:4px 0 0;padding:0 0 0 10px;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:2px;font-size:14px;grid-column:2}.tfix s{color:var(--muted);text-decoration-color:var(--err-vivid)}#screen-debrief.missing details.fold{display:none}.legend .sw{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.sw.eo{background:var(--eo)}.sw.ee{background:var(--ee)}.sw.co{background:var(--co)}.sw.ce{background:var(--ce)}.sw.br{background:var(--brand)}@media(max-width:560px){.chart .wkl{font-size:20px}.chart .wkl.odd{display:none}}.report-empty{font-size:14px;color:var(--muted);padding:8px 0}.recent{display:flex;flex-direction:column}@media(min-width:861px){.recent .recent-row{grid-template-columns:110px minmax(0,1fr) 70px 140px 70px}}.course-page{gap:18px}.course-list{display:flex;flex-direction:column;gap:22px}.lvl{position:relative;display:flex;flex-direction:column}.lvl-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:var(--r-m);background:var(--lvl-bg);color:var(--ink)}.lvl-h b{font-size:15px;letter-spacing:.04em}.lvl-h span{font-size:13px;color:var(--ink)}.lvl[data-lvl=A1]{--lvl-bg: var(--lvl-a1)}.lvl[data-lvl=A2]{--lvl-bg: var(--lvl-a2)}.lvl[data-lvl=B1]{--lvl-bg: var(--lvl-b1)}.lvl[data-lvl=B2]{--lvl-bg: var(--lvl-b2)}.mods{list-style:none;margin:0;padding:4px 0 0;position:relative}.mods:before{content:"";position:absolute;left:22px;top:8px;bottom:8px;width:4px;border-radius:2px;background:var(--lvl-bg)}.mrow{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 10px 10px 0;border-radius:var(--r-l);color:var(--ink)}.mrow:hover{background:var(--surface)}.mrow.current{background:var(--brand-soft);color:var(--brand-on-soft)}.mrow .dot{justify-self:center;position:relative;z-index:1;width:18px;height:18px;border-radius:50%;border:2.5px solid var(--outline);background:var(--bg)}.mrow .dot.yellow{border-color:var(--ee);background:var(--ee-soft)}.mrow .dot.green{border-color:var(--ok);background:var(--ok-fill)}.mrow .dot.red{border-color:var(--err);background:var(--bg);box-shadow:inset 0 0 0 3px var(--err-soft)}.mrow .dot.green:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid var(--on-ok);border-width:0 2px 2px 0;transform:rotate(45deg)}.mrow.current .dot{width:22px;height:22px;border-color:var(--brand);box-shadow:0 0 0 4px var(--bg)}.mrow .t{display:flex;flex-direction:column;gap:2px;min-width:0}.mrow .t b{font-size:15px;font-weight:600}.mrow .t span{font-size:13px;color:var(--muted)}.mrow.current .t span{color:var(--brand-on-soft)}.mrow .r{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);white-space:nowrap}.mrow .mini{width:44px;height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden}.mrow .mini i{display:block;height:100%;background:var(--brand);transform-origin:0 50%;transform:scaleX(var(--p, 0))}.mrow .chip-s{height:22px;padding:0 8px;border-radius:11px;display:inline-flex;align-items:center;font-size:11px;font-weight:700;background:var(--surface-2);color:var(--ink-2)}.mrow.current .chip-s{background:var(--bg);color:var(--brand-on-soft)}.why-now{font-size:13px}.mhead{position:relative;overflow:hidden;isolation:isolate;background:var(--skill-soft);color:var(--skill-on-soft);padding:18px var(--page-x) 22px}.mhead-in{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:6px}.mhead .kick{font-size:13px;font-weight:600}.mhead h1{margin:0;font-size:clamp(24px,3.4vw,32px);line-height:1.12;font-weight:700;max-width:70%;text-wrap:balance}.mhead .meta{font-size:14px}.mhead .spot{position:absolute;z-index:-1;right:max(14px,calc(50% - 360px));bottom:12px;width:124px;height:98px;color:var(--skill-on-soft)}.mhead .band{position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--lvl-bg)}.mhead[data-lvl=A1]{--lvl-bg: var(--lvl-a1)}.mhead[data-lvl=A2]{--lvl-bg: var(--lvl-a2)}.mhead[data-lvl=B1]{--lvl-bg: var(--lvl-b1)}.mhead[data-lvl=B2]{--lvl-bg: var(--lvl-b2)}.mhead .glyph{position:absolute;z-index:-1;right:-8px;top:-30px;font-size:150px;font-weight:700;opacity:.07;transform:rotate(-8deg)}@media(max-width:520px){.mhead h1{max-width:calc(100% - 84px)}.mhead .spot{width:80px;height:64px;right:10px;opacity:.35}}.mhead:empty{display:none}.module-body{gap:14px;padding-top:18px}.mstats{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14px;color:var(--ink-2)}.mstats b{color:var(--ink)}.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.step-card{border:1px solid var(--border);border-radius:var(--r-card);background:var(--bg);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.step-card.locked{background:var(--surface)}.step-card .sh{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center}.step-card .sn{width:30px;height:30px;border-radius:15px;display:grid;place-items:center;font-weight:700;font-size:14px;background:var(--surface-2);color:var(--ink-2)}.step-card .sn.done{background:var(--ok-fill);color:var(--on-ok)}.step-card .sn.half{background:conic-gradient(var(--brand) calc(var(--p, .5) * 360deg),var(--surface-3) 0);color:var(--ink)}.step-card .sn.lock{background:var(--surface-3);color:var(--muted)}.step-card .st{display:flex;flex-direction:column;gap:2px;min-width:0}.step-card .st b{font-size:16px;font-weight:600}.step-card .st span{font-size:13px;color:var(--muted);line-height:1.4}.step-card .sa{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.step-card .sa button,.step-card .sa .btn{height:38px}@media(max-width:600px){.step-card .sh:has(.price){grid-template-columns:32px minmax(0,1fr)}.step-card .sh:has(.price) .sa{grid-column:2;justify-content:flex-start}.step-card .sa button:has(.price){height:auto;min-height:44px;padding-block:8px;line-height:1.25}.step-card .sa .price{display:block;white-space:nowrap}.step-card .sa .psep{display:none}}.plist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.plist li{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-top:1px dashed var(--border);font-size:14px}.plist li:first-child{border-top:0}.plist .pm{width:22px;height:22px;border-radius:11px;border:2px solid var(--line);display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--muted)}.plist .pm.covered{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.plist .pm.done{background:var(--ink);border-color:var(--ink);color:var(--bg)}.plist .pa{display:flex;gap:6px}@media(max-width:360px){.plist li{grid-template-columns:26px minmax(0,1fr)}.plist .pa{grid-column:2;flex-wrap:wrap}}.plist .pa a,.plist .pa button{height:30px;padding:0 10px;font-size:12px;border-radius:15px;display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);color:var(--ink-2);background:none}.plist .pa a:hover,.plist .pa button:hover{background:var(--surface-2)}.hw{display:flex;flex-direction:column;gap:8px}.hwrow{display:flex;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--border);text-align:left;width:100%;font-size:15px;background:none;border-radius:0;height:auto;border-left:0;border-right:0;border-bottom:0}.hwrow:first-child{border-top:0}.hwrow:hover{background:none}.cbox{position:relative;width:26px;height:26px;flex:none;border-radius:13px;border:2px solid var(--outline);display:grid;place-items:center;transition:background-color var(--dur-150) var(--ease-standard),border-color var(--dur-150) var(--ease-standard),transform var(--spring-bouncy-dur) var(--spring-bouncy)}.cbox svg{width:16px;height:16px}.cbox path{fill:none;stroke:var(--on-brand);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset var(--dur-200) var(--ease-emph-out) 60ms}.hwrow .hwc{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.hwrow .hwc[tabindex]{cursor:pointer}.hwrow [aria-checked=true] .cbox{background:var(--brand);border-color:var(--brand)}.hwrow [aria-checked=true] .cbox path{stroke-dashoffset:0}.hwrow [aria-checked=true] .lbl{color:var(--muted)}.hwrow .lbl{flex:1;transition:color var(--dur-200) var(--ease-standard)}.hwrow .right{font-size:13px;color:var(--muted)}.cbox.ring:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;border:2px solid var(--brand);animation:ringout var(--dur-450) var(--ease-standard) both}@keyframes ringout{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}:root[data-rm="1"] .cbox.ring:after{content:none}.activity{border-radius:var(--r-l);background:var(--surface);border:1px solid var(--border);padding:12px 14px;font-size:14px;line-height:1.5;color:var(--ink-2)}.activity .k{color:var(--ink);display:block;margin-bottom:4px}.writebox{display:flex;flex-direction:column;gap:8px}.writebox textarea{width:100%;min-height:120px;font:inherit;font-size:16px;line-height:1.5;padding:12px 14px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--bg);color:var(--ink);resize:vertical}.writebox .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.graded{display:flex;flex-direction:column;gap:8px;border-radius:var(--r-l);background:var(--ok-soft);color:var(--ok-on-soft);padding:12px 14px;font-size:14px}.graded .fixes{display:flex;flex-direction:column;gap:4px}.graded .fixes div{color:var(--ink);background:var(--bg);border-radius:var(--r-s);padding:6px 8px}.mfoot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:6px}.mfoot>button.quiet:first-child{margin-left:-16px;padding-left:16px}.accents{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 6px}.accents::-webkit-scrollbar{display:none}.accents button{flex:none;width:44px;height:44px;padding:0;border-radius:12px;background:var(--surface-2);border:0;font-size:20px;font-weight:500;box-shadow:0 2px 0 var(--line);transition:transform var(--spring-bouncy-dur) var(--spring-bouncy)}.accents button:active{transform:translateY(2px);box-shadow:none;transition-duration:var(--dur-100)}body[data-register=calm] .accents button,body[data-register=exam] .accents button{box-shadow:none;transition:transform var(--spring-calm-dur) var(--spring-calm)}body[data-register=calm] .accents button:active,body[data-register=exam] .accents button:active{transform:scale(.96)}.accents.pinned{position:fixed;z-index:30;margin:0;padding:6px 8px;background:var(--bg);border-top:1px solid var(--border);box-shadow:var(--elev-2)}#screen-reader,#screen-words{padding:0}#screen-reader>*,#screen-words>*,#screen-module>*{flex-shrink:0}.rhead{background:var(--skill-soft);color:var(--skill-on-soft);padding:18px var(--page-x) 20px}.rhead-in{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:4px}.rhead .kick{font-size:13px;font-weight:600}.rhead h1{margin:0;font-size:clamp(22px,3vw,28px);line-height:1.15;font-weight:700;text-wrap:balance}.rhead .meta{font-size:13px}.reader{width:100%;max-width:720px;margin:0 auto;padding:18px var(--page-x) 12px;font-size:17px;line-height:1.6;color:var(--ink)}.reader h2,.reader h3,.reader h4{line-height:1.25;margin:22px 0 8px}.reader h2{font-size:22px}.reader h3{font-size:19px}.reader h4{font-size:17px}.reader p{margin:0 0 12px}.reader ul,.reader ol{margin:0 0 12px;padding-left:22px}.reader li{margin:4px 0}.reader blockquote{margin:0 0 12px;padding:8px 14px;border-left:4px solid var(--ce-soft);background:var(--surface);border-radius:0 var(--r-m) var(--r-m) 0}.reader figure{margin:8px 0 16px}.reader img{max-width:100%;height:auto;border-radius:var(--r-m);border:1px solid var(--border);background:var(--bg)}.reader .tbl{overflow-x:auto;margin:0 0 14px}.reader table{border-collapse:collapse;font-size:15px;min-width:100%}.reader th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:6px 10px;border-bottom:1px solid var(--line)}.reader td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}.reader .xlink{color:var(--ink-2)}.say{cursor:pointer;border-radius:6px;padding:0 2px;margin:0 -2px;transition:background-color var(--dur-150) var(--ease-standard);text-decoration:underline dotted var(--line);text-underline-offset:4px}.say:hover{background:var(--surface-2)}.say.playing,.say.tapped{background:var(--brand-soft);color:var(--brand-on-soft);text-decoration-color:transparent}.gloss-t{display:inline-flex;align-items:center;height:24px;min-width:32px;justify-content:center;padding:0 8px;margin:0 2px;border-radius:12px;border:1px solid var(--line);background:none;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.04em;vertical-align:1px}.gloss-t[aria-expanded=true]{background:var(--surface-2);color:var(--ink-2)}.gloss-x{color:var(--muted)}.reader-foot .covered-by{font-size:14px;font-weight:600;color:var(--ink-2)}.reader-foot{width:100%;max-width:720px;margin:0 auto;padding:8px var(--page-x) 40px;display:flex;flex-direction:column;gap:14px}.explain{border-radius:var(--r-l);background:var(--brand-soft);color:var(--brand-on-soft);padding:14px 16px;font-size:15px;line-height:1.55;display:flex;flex-direction:column;gap:8px}.explain h3,.explain h4{margin:8px 0 2px;font-size:16px}.explain p,.explain ul{margin:0}.reader-nav{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.reader-nav a{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--ink-2);max-width:48%}.reader-nav a:hover{color:var(--ink)}.words{width:100%;max-width:760px;margin:0 auto;padding:14px var(--page-x) 40px;display:flex;flex-direction:column;gap:18px}.wsec h3{margin:0 0 6px;font-size:16px}.wrow{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 6px;border-top:1px solid var(--border);transition:background-color var(--dur-150) var(--ease-standard)}.wrow:first-of-type{border-top:0}.wrow.playing{background:var(--brand-soft);color:var(--brand-on-soft);border-radius:var(--r-s)}.wrow .hear{width:34px;height:34px;padding:0;border-radius:17px;border:0;background:var(--surface-2);display:grid;place-items:center;color:var(--ink-2)}.wrow .hear .ms{font-size:20px}.wrow .w{display:flex;flex-direction:column;gap:2px;min-width:0}.wrow .w b{font-size:17px;font-weight:600}.wrow .w span{font-size:14px;color:var(--muted)}.wrow.playing .w span{color:var(--brand-on-soft)}.wrow .w .ex{font-size:13px;color:var(--ink-2)}.wrow .w .ipa{font-family:ui-monospace,Menlo,monospace;font-size:12px}.wrow .add{height:32px;padding:0 12px;font-size:13px;border-radius:16px;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.wrow .add[aria-pressed=true]{background:var(--ok-soft);color:var(--ok-on-soft);border-color:transparent}.wrow.text{grid-template-columns:36px minmax(0,1fr)}.words .top{display:flex;justify-content:space-between;gap:10px;align-items:center}.words .top>span{min-width:0}.words .top>button{flex:none}.fly{position:fixed;z-index:50;pointer-events:none;padding:4px 10px;border-radius:12px;background:var(--brand);color:var(--on-brand);font-size:13px;font-weight:600}#screen-drill{position:relative}#screen-drill .debrief-head{position:sticky;top:-24px;z-index:3;background:var(--bg);padding-block:10px;margin-block:-10px 0}#screen-drill .debrief-head>div:first-child{min-width:0;flex-wrap:wrap}#drill-progress{display:inline-flex;align-items:center;gap:10px;min-width:160px}#drill-progress:empty{display:none}@media(max-width:600px){#drill-progress{min-width:0}#screen-drill #drill-progress .prog{width:clamp(80px,26vw,260px)}#drill-new{display:none}#screen-drill .debrief-head .tools:not(:has(#drill-status:not(:empty))){display:none}}#drill-progress .prog{position:relative;width:clamp(120px,26vw,260px);height:12px;border-radius:6px;background:var(--surface-3);overflow:hidden;display:block}#drill-progress .prog .fill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--brand);border-radius:6px;transform-origin:0 50%;transform:scaleX(var(--p, 0));transition:transform var(--spring-gentle-dur) var(--spring-gentle)}#drill-progress .cnt{font-size:13px;font-weight:600;color:var(--muted)}#drill-progress .clock{font-size:15px;font-weight:700;color:var(--ink)}#drill-progress .clock.late{color:var(--err)}body[data-register=exam] #drill-progress .prog .fill{background:var(--ink-2);transition:none}body[data-register=exam] #drill-progress .cnt{display:none}#drill-say{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dcol{width:100%;max-width:660px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.dkick{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:13px;font-weight:600;color:var(--muted)}.qcard{display:flex;flex-direction:column;gap:14px}.qtext{font-size:clamp(19px,2.6vw,23px);line-height:1.35;font-weight:500;margin:0;white-space:pre-line}.qtext .qn{color:var(--muted);margin-right:4px}.qcard .opts{display:flex;flex-direction:column;gap:10px}button.opt{display:flex;align-items:center;gap:12px;min-height:56px;height:auto;padding:10px 14px;border-radius:var(--r-l);border:2px solid var(--border);background:var(--bg);text-align:left;font-size:17px;font-weight:500;color:var(--ink);box-shadow:0 2px 0 var(--border);transition:border-color var(--dur-150) var(--ease-standard),background-color var(--dur-150) var(--ease-standard),box-shadow var(--dur-150),transform var(--spring-bouncy-dur) var(--spring-bouncy)}button.opt:hover{background:var(--surface);border-color:var(--line)}button.opt .key{flex:none;width:28px;height:28px;border-radius:8px;border:1.5px solid var(--line);display:grid;place-items:center;font-size:13px;font-weight:600;color:var(--muted)}button.opt .txt{flex:1}button.opt .mark{margin-left:auto;font-size:13px;font-weight:700;display:none;align-items:center;gap:4px;white-space:nowrap}button.opt .mark .ms{font-size:18px;font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 20}button.opt:active:not([disabled]){transform:translateY(2px);box-shadow:0 0 0 var(--border);transition-duration:var(--dur-100)}button.opt[aria-checked=true]{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 2px 0 var(--brand)}button.opt[aria-checked=true] .key{border-color:var(--brand);color:var(--brand-on-soft)}button.opt.right{border-color:var(--ok);background:var(--ok-soft);color:var(--ok-on-soft);box-shadow:0 2px 0 var(--ok)}button.opt.right .mark{display:inline-flex;color:var(--ok-on-soft)}button.opt.wrong{border-color:var(--err);background:var(--bg);box-shadow:0 2px 0 var(--err)}button.opt.wrong .txt{text-decoration:underline wavy var(--err);text-underline-offset:4px;text-decoration-thickness:1.5px}button.opt.wrong .mark{display:inline-flex;color:var(--err)}button.opt[disabled]{cursor:default;opacity:1}button.opt[disabled]:not(.right):not(.wrong){background:var(--bg);color:var(--ink-2);box-shadow:0 2px 0 var(--border);border-color:var(--border)}:root[data-rm="1"] button.opt{transition-property:border-color,background-color,box-shadow,color!important}.dfoot{position:sticky;bottom:-40px;z-index:2;display:flex;flex-direction:column;gap:0;padding-block:8px 16px;background:linear-gradient(transparent,var(--bg) 24px)}.dfoot .verdict-sheet{position:relative;margin:0 calc(-1 * var(--page-x));padding:0 var(--page-x);border-radius:var(--r-sheet) var(--r-sheet) 0 0;display:flex;flex-direction:column;gap:6px;box-shadow:none;transform:translateY(20px);opacity:0;transition:transform var(--dur-200) var(--ease-emph-out),opacity var(--dur-150) var(--ease-standard)}.dfoot .verdict-sheet.ok,.dfoot .verdict-sheet.miss{padding-block:14px 12px}.dfoot .verdict-sheet.on{transform:none;opacity:1}.dfoot .verdict-sheet .ans{font-size:17px;font-weight:600}.dfoot .verdict-sheet .why{font-size:14px;line-height:1.45}.dfoot button.wide{width:100%;height:52px;font-size:17px;margin-top:0}.dfoot .verdict-sheet.ok~button.primary{background:var(--ok-fill);color:var(--on-ok);box-shadow:0 3px color-mix(in srgb,var(--ok-fill) 55%,#000)}.dfoot .verdict-sheet.miss~button.primary{background:var(--err-fill);color:var(--on-err);box-shadow:0 3px color-mix(in srgb,var(--err-fill) 55%,#000)}.dfoot .verdict-sheet.ok,.dfoot .verdict-sheet.miss{margin-bottom:10px;border-radius:var(--r-sheet)}.dcol .keys{margin:0}@media(hover:none)and (pointer:coarse){.dcol .keys{display:none}}.listen{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 0}.listenbtn{width:96px;height:96px;padding:0;border-radius:48px;background:var(--brand);color:var(--on-brand);border:0;display:grid;place-items:center;box-shadow:0 4px 0 var(--brand-lip);position:relative;transition:transform var(--spring-bouncy-dur) var(--spring-bouncy),box-shadow var(--spring-bouncy-dur) var(--spring-bouncy)}.listenbtn:hover{background:var(--brand)}.listenbtn .ms{font-size:44px;font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 48}.listenbtn:active:not(:disabled){transform:translateY(4px);box-shadow:0 0 0 var(--brand-lip);transition-duration:var(--dur-100)}.listenbtn:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:3px solid var(--brand-vivid);opacity:0}.listenbtn.speaking:after{animation:listenring 1s var(--ease-standard) infinite}@keyframes listenring{0%{opacity:.7;transform:scale(.92)}to{opacity:0;transform:scale(1.25)}}:root[data-rm="1"] .listenbtn.speaking:after{animation:none;opacity:.6}.listenbtn:disabled{background:var(--surface-3);color:var(--muted);box-shadow:none}body[data-register=calm] .listenbtn,body[data-register=exam] .listenbtn{box-shadow:none;transition:transform var(--spring-calm-dur) var(--spring-calm)}body[data-register=calm] .listenbtn:active:not(:disabled),body[data-register=exam] .listenbtn:active:not(:disabled){transform:scale(.98);box-shadow:none}body[data-register=exam] .listenbtn{background:var(--ink-2)}.heard{font-size:14px;text-align:center}.donewrap{display:flex;flex-direction:column;align-items:center;gap:14px;padding:18px 0 8px;text-align:center}.bigring{position:relative;width:150px;height:150px}.bigring svg{width:100%;height:100%;transform:rotate(-90deg)}.bigring circle{fill:none;stroke-width:12}.bigring .track{stroke:var(--surface-3)}.bigring .arc{stroke:var(--brand);stroke-linecap:round;transition:stroke-dashoffset var(--dur-700) var(--spring-gentle)}body[data-register=calm] .bigring .arc{stroke:var(--ink-2)}.bigring .lab{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:38px;font-weight:700}.donewrap h2{margin:0;font-size:26px}.donewrap h2:focus{outline:none}.donewrap p{margin:0;color:var(--ink-2);font-size:15px;max-width:40ch}.doneacts{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}#screen-review>*{flex-shrink:0}.rv{width:min(680px,100%);margin:0 auto;padding:20px 16px 120px;display:flex;flex-direction:column;gap:18px}.rv-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px}.rv-head h2{margin:2px 0 4px;font-size:26px;text-wrap:balance}.rv-head .meta{color:var(--muted);font-size:13px}.rv-head .seg button[aria-selected=true]{background:var(--bg);color:var(--ink);font-weight:600;box-shadow:var(--elev-1)}.rv-empty{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:40px 12px;color:var(--ink-2)}.rv-empty>.ms{font-size:36px;color:var(--brand)}.rv-empty p{margin:0;max-width:42ch}.rv-empty .row{margin-top:10px}.rv-start{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:16px 0 8px}.rv-start .lead{font-size:18px;font-weight:600;margin:8px 0 0}.rv-start .dim{margin:0;max-width:44ch}.rv-stack{position:relative;width:220px;height:150px;margin-bottom:6px}.rv-ghost{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--r-card);background:var(--skill-soft);border:1px solid color-mix(in oklab,var(--skill) 22%,transparent);transform:translate(calc(var(--k) * 10px),calc(var(--k) * -8px)) rotate(calc(var(--k) * 3deg));z-index:calc(3 - var(--k));box-shadow:var(--elev-1)}.rv-prog{height:4px;border-radius:2px;background:var(--surface-3);overflow:hidden}.rv-prog i{display:block;height:100%;background:var(--brand);transform-origin:left;transform:scaleX(var(--p, 0));transition:transform var(--spring-gentle-dur) var(--spring-gentle)}.rv-stage{perspective:900px;display:grid}.rv-card{position:relative;min-height:260px;border-radius:var(--r-card);background:var(--skill-soft);color:var(--skill-on-soft);padding:20px 22px 18px;border:1px solid color-mix(in oklab,var(--skill) 24%,transparent);box-shadow:var(--elev-2);cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none;outline-offset:4px}.rv-card[data-lean=good]{box-shadow:0 0 0 3px var(--ok-vivid),var(--elev-2)}.rv-card[data-lean=again]{box-shadow:0 0 0 3px var(--err-vivid),var(--elev-2)}.rv-face{display:flex;flex-direction:column;gap:10px;min-height:220px}.rv-from{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--skill-on-soft);opacity:.85}.rv-from .dot{width:8px;height:8px;border-radius:4px;background:var(--skill)}.rv-leech{align-self:flex-start;font-size:12px;font-weight:600;padding:3px 10px;border-radius:var(--r-full);background:var(--bg);color:var(--ink-2)}.rv-q{font-size:22px;font-weight:600;line-height:1.3;margin:auto 0 0;text-wrap:balance}.rv-said{margin:0;color:var(--skill-on-soft);opacity:.85}.rv-said s{text-decoration-color:var(--err-vivid);text-decoration-thickness:2px}.rv-hint{margin-top:auto;font-size:12px;opacity:.7}.rv-a{font-size:26px;font-weight:700;line-height:1.25;margin:auto 0 0}.rv-ipa{margin:0;font-size:14px;opacity:.8}.rv-rule{margin:0;font-size:14px;line-height:1.45;color:var(--skill-on-soft)}.rv-ex{margin:0;font-style:italic;font-size:14px}.rv-hear{align-self:flex-start;margin-top:4px}.rv-foot{position:sticky;bottom:calc(env(safe-area-inset-bottom,0px) + 8px);display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:6px;background:linear-gradient(transparent,var(--bg) 30%)}.rv-foot button{height:48px;font-size:16px;border-radius:var(--r-full)}.rv-foot .rv-again{background:var(--surface-2);color:var(--ink);border:0}.rv-foot button:disabled{opacity:.45}.rv-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.rv-done{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:24px 0}.rv-done h3{margin:6px 0 0;font-size:22px}.rv-done p{margin:0;color:var(--ink-2)}.rv-done .row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:10px}.bigring.small{width:110px;height:110px}.bigring.small circle{stroke-width:10}.nb-rules,.nb-words{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.nb-rule{padding:14px 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.nb-rule:first-child{border-top:0}.nb-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.nb-h b{font-size:16px;min-width:0;overflow-wrap:anywhere}.nb-rule .chip-s{flex-shrink:0;height:22px;padding:0 9px;border-radius:11px;display:inline-flex;align-items:center;font-size:11px;font-weight:700;background:var(--surface-2);color:var(--ink-2)}.nb-rule .chip-s.watch{background:var(--brand-soft);color:var(--brand-on-soft)}.nb-rule .chip-s.mastered{background:var(--ok-soft);color:var(--ok-on-soft)}.nb-ex{margin:0;font-size:15px}.nb-ex s{color:var(--muted);text-decoration-color:var(--err-vivid)}.nb-ex mark{background:none;color:var(--ink);font-weight:600}.nb-rule .meta{margin:0;color:var(--muted);font-size:13px}.nb-acts{display:flex;gap:8px;flex-wrap:wrap}.nb-words li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2px 12px;padding:10px 0;border-top:1px solid var(--border);align-items:baseline}.nb-words li:first-child{border-top:0}.nb-words .meta{grid-column:1 / -1;color:var(--muted);font-size:12px}.nb-say{justify-self:start;height:auto;min-height:44px;background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--ink);cursor:pointer;text-align:left}.nb-say.playing,.nb-say:hover{color:var(--brand)}#screen-plan>*{flex-shrink:0}.planpg{width:min(760px,100%);margin:0 auto;padding:20px 16px 96px;display:flex;flex-direction:column;gap:22px}.planpg h2{margin:2px 0 6px;font-size:26px;text-wrap:balance}.planpg h3.k{margin:0 0 10px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}.forecast{margin:0;color:var(--ink-2);font-size:14px;line-height:1.5;max-width:65ch}.plan-form{display:flex;flex-direction:column;gap:14px}.plan-form .r{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.plan-form .r>span:first-child{min-width:160px;font-weight:600}.plan-form input[type=date]{height:40px;padding:0 10px;border-radius:var(--r-s);border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit}.plan-form .seg button[aria-checked=true]{background:var(--bg);color:var(--ink);font-weight:600;box-shadow:var(--elev-1)}.plan-week{display:grid;grid-template-columns:repeat(7,minmax(92px,1fr));gap:6px;overflow-x:auto}.pw-day{display:flex;flex-direction:column;gap:4px;min-width:0}.pw-day>b{font-size:13px}.pw-blocks{display:flex;flex-direction:column;gap:3px}.pw-b{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 4px;align-items:start;min-height:calc(var(--m) * 1.1px + 14px);padding:4px 6px;border-radius:var(--r-xs);background:var(--skill-soft);color:var(--skill-on-soft);font-size:11px;line-height:1.25;overflow:hidden}.pw-b span{overflow-wrap:anywhere}.pw-b i{font-style:normal;font-weight:700}.plan-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.plan-list li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;font-size:14px}.plan-list li.dim{display:block}@media(max-width:560px){.plan-week{margin-inline:-16px;padding-inline:16px}.plan-form .r>span:first-child{min-width:0;width:100%}}.day .bi{font-size:16px;height:18px;color:var(--skill, var(--muted));opacity:.9}.day .bi.done{opacity:.45}.day .bi.moved{opacity:.35;text-decoration:line-through}.day.grow .arc{animation:ring-grow var(--dur-700) var(--spring-gentle) both}@keyframes ring-grow{0%{stroke-dasharray:0 var(--c)}to{stroke-dasharray:var(--len) var(--c)}}:root[data-rm="1"] .day.grow .arc{animation:none}.weeknote{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin:10px 0 0;font-size:13px;color:var(--ink-2)}.weeknote .bdone,.weeknote .moves{color:var(--muted)}#today-forecast{margin-top:8px;font-size:13px;color:var(--muted)}#today-forecast:empty,.weeknote:empty{display:none}.brief-woven .leech b,#brief-woven .leech b{color:var(--brand)}.wplan{display:flex;flex-direction:column;gap:14px;min-width:0}.wplan .actions{display:flex;flex-wrap:wrap;gap:10px}ol.stages{list-style:none;margin:10px 0;padding:12px 14px;border-radius:var(--r-l);background:var(--surface);display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}.stages li{display:grid;grid-template-columns:20px 1fr;align-items:center;gap:6px}.stages li .mk{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-size:11px;font-weight:700}.stages li.on{color:var(--ink)}.stages li.on .mk{border-color:var(--ok);background:var(--ok);color:var(--on-ok)}.stages li.now{color:var(--ink)}.stages li.now .mk{border-color:var(--brand);border-top-color:transparent;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root[data-rm="1"] .stages li.now .mk{animation:none;border-top-color:var(--brand)}.rv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}#screen-runner>*,#screen-mock>*{flex-shrink:0}.rn{width:min(1040px,100%);margin:0 auto;padding:12px 16px 96px;display:flex;flex-direction:column;gap:14px}.rn-head{position:sticky;top:0;z-index:2;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 0;background:var(--bg);border-bottom:1px solid var(--border)}.rn-title{font-weight:600;font-size:15px}.rn-clock{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.rn-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.rn-fam{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.rn-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:start;margin-top:8px}@media(max-width:760px){.rn-split{grid-template-columns:1fr}}.rn-doc{border:1px solid var(--border);border-radius:var(--r-l);padding:16px 18px;background:var(--surface);display:flex;flex-direction:column;gap:10px;max-height:62vh;overflow:auto}@media(max-width:760px){.rn-doc{max-height:none;overflow:visible}}.rn-dtitle{font-size:16px}.rn-text{font-size:16px;line-height:1.6;max-width:65ch}.rn-texts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.rn-texts>div{border:1px solid var(--border);border-radius:var(--r-m);padding:10px 12px;background:var(--bg)}.rn-texts p{margin:4px 0 0;line-height:1.5}.rn-graph{margin:0}.rn-graph figcaption{font-weight:600;margin-bottom:8px}.rn-graph table{border-collapse:collapse;width:100%}.rn-graph th{text-align:left;font-weight:500;padding:4px 8px 4px 0}.rn-graph td{padding:4px 6px}.rn-graph td.bar{width:50%}.rn-graph td.bar i{display:block;height:10px;border-radius:3px;background:var(--ink-2);transform-origin:left;transform:scaleX(var(--v))}.rn-comment{margin:0;font-size:16px;line-height:1.55;max-width:65ch}.rn-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.rn-chart{margin:0;border:1px solid var(--border);border-radius:var(--r-m);padding:10px 12px;background:var(--bg);min-width:0}.rn-chart figcaption{font-size:14px;line-height:1.35;margin-bottom:6px}.rn-chart figcaption span{color:var(--muted)}.rn-chart svg{display:block;width:100%;max-width:320px;height:auto;overflow:visible;font:inherit}.rn-chart text{font-size:12px;fill:var(--ink)}.rn-chart text.l{fill:var(--muted)}.rn-chart text.v{paint-order:stroke;stroke:var(--bg);stroke-width:4px;stroke-linejoin:round}.rn-chart .b{fill:var(--ink-2)}.rn-chart .ln{fill:none;stroke:var(--ink-2);stroke-width:2;stroke-linejoin:round}.rn-chart .pt{fill:var(--ink-2)}.rn-chart .ax{stroke:var(--line);stroke-width:1}.rn-qs{display:flex;flex-direction:column;gap:16px}.rn-q.rn-pics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rn-pics legend{grid-column:1 / -1}.rn-opt.rn-pic{grid-template-columns:22px minmax(0,1fr);grid-template-rows:auto auto;padding:10px}.rn-pic .rn-scene{grid-column:1 / -1;display:block;color:var(--ink)}.rn-scene svg{display:block;width:100%;height:auto}.rn-scene svg .t{fill:color-mix(in srgb,var(--ink) 14%,var(--bg));fill-opacity:1}.rn-q{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.rn-q legend{font-size:17px;font-weight:600;line-height:1.4;margin-bottom:8px;padding:0}.rn-opt{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--bg);cursor:pointer;font-size:16px;line-height:1.4}.rn-opt:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--surface)}.rn-opt input{margin:3px 0 0;width:18px;height:18px;accent-color:var(--ink)}.rn-opt:has(input:disabled){cursor:default;opacity:.7}.rn-nav{display:flex;gap:8px;justify-content:space-between;margin-top:12px;flex-wrap:wrap}.rn-nav button:disabled{opacity:.45}.rn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:6px;margin-top:8px}.rn-grid[hidden]{display:none}.rn-cell{height:40px;border-radius:var(--r-s);border:1px solid var(--line);background:var(--bg);color:var(--ink-2);font:inherit;font-size:13px;font-variant-numeric:tabular-nums;cursor:pointer}.rn-cell.seen{border-color:var(--outline)}.rn-cell.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}.rn-cell.cur{outline:2px solid var(--brand);outline-offset:1px}.rn-end{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.rn-confirm-q{font-weight:600}.rn-over{padding:60px 0;text-align:center;font-size:20px}.rn-prep,.rn-intro{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:40px 0;max-width:52ch;margin:0 auto}.rn-intro h2{margin:0}.rn-intro h2:focus{outline:none}.rn-bar{width:min(360px,100%);height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden}.rn-bar i{display:block;height:100%;background:var(--ink-2);transform-origin:left;transform:scaleX(var(--p));transition:transform var(--dur-200) linear}.rn-co{display:flex;flex-direction:column;gap:14px;max-width:680px;margin:0 auto;width:100%}.rn-prompt{font-size:17px;font-style:italic;margin:0}.rn-phase{position:sticky;top:36px;z-index:1;display:flex;align-items:center;gap:10px;min-height:36px;padding:8px 12px;border-radius:var(--r-m);background:var(--surface);font-weight:600}.rn-phase b{margin-left:auto;font-variant-numeric:tabular-nums}.rn-on{width:10px;height:10px;border-radius:50%;background:var(--ink)}.rn-phase .rn-tap{margin-left:auto}.rn-sheet{display:flex;flex-direction:column;gap:14px;max-width:760px}.rn-score{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.rn-score b{font-size:56px;line-height:1}.rn-score b:focus{outline:none}.rn-band{font-size:18px;font-weight:600}.rn-fams{border-collapse:collapse;width:100%;font-size:14px}.rn-fams th,.rn-fams td{padding:8px 6px;border-bottom:1px solid var(--border);text-align:left}.rn-fams .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rn-sheet .row{display:flex;gap:8px;flex-wrap:wrap}.rn-rev{padding:10px 0;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.rn-ra{font-size:14px;line-height:1.45}.rn-ra.ok>b{color:var(--ok)}.rn-script{font-size:14px;line-height:1.5}.ecard .paper{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);font-size:13px;color:var(--ink-2)}.ecard .paper>span{flex:1 1 220px}@media(max-width:560px){.ecard .paper>span{flex-basis:100%}.ecard .paper>.btn.quiet{border-color:var(--line);padding-inline:14px}}.mkpg{width:min(760px,100%);margin:0 auto;padding:20px 16px 96px;display:flex;flex-direction:column;gap:18px}.mkpg h2{margin:2px 0 6px;font-size:26px;text-wrap:balance}.mkpg h3.k{margin:14px 0 8px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}#mock-body{display:flex;flex-direction:column;gap:14px}.mk-card{border:1px solid var(--border);border-radius:var(--r-card);padding:18px;display:flex;flex-direction:column;gap:10px;background:var(--surface)}.mk-line{font-size:18px;font-weight:600;margin:0}.mk-eo{display:flex;align-items:center;gap:8px}.mk-eo>span{min-width:0}.mk-card .row,#mock-body>.row{display:flex;gap:8px;flex-wrap:wrap}.mk-parts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.mk-part{display:grid;grid-template-columns:64px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--border)}.mk-part:first-child{border-top:0}.mk-part .t{display:flex;flex-direction:column;gap:2px}.mk-part .s{font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums}.mk-part.done .s{color:var(--ok)}@media(max-width:560px){.mk-part{grid-template-columns:64px minmax(0,1fr)}.mk-part .s,.mk-part>a,.mk-part>button{grid-column:2;justify-self:start}.mk-part>.quiet{margin-left:-18px}}.mk-sheet{border:1px solid var(--border);border-radius:var(--r-card);padding:18px;display:flex;flex-direction:column;gap:12px;background:var(--bg)}.mk-sheet:focus{outline:none}.mk-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.mk-rows li{display:grid;grid-template-columns:64px minmax(96px,max-content) minmax(0,1fr);gap:4px 10px;align-items:center}.mk-rows .mk-bar{grid-column:1 / -1;position:relative;height:8px;border-radius:4px;background:var(--surface-3);overflow:visible}.mk-rows .mk-bar i{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:4px;background:var(--skill);transform-origin:left;transform:scaleX(var(--p));transition:transform var(--dur-450) var(--ease-standard)}.mk-rows .mk-bar .goal{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink)}.mk-rows .dim{grid-column:1 / -1}@media(max-width:360px){.mk-rows li{grid-template-columns:64px minmax(0,1fr)}.mk-rows li>span:not(.pchip):not(.mk-bar){grid-column:1 / -1}}.mk-low{margin:0;font-size:15px}.rn-split.solo{grid-template-columns:minmax(0,680px)}.dk{display:flex;flex-direction:column;gap:10px;color:var(--ink);font-size:16px;line-height:1.5;max-width:65ch}.dk p{margin:0}.dk-h{margin:0;font-size:20px;font-weight:700;line-height:1.2;text-wrap:balance}.dk-list{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:2px;list-style-type:"– "}.dk-meta{color:var(--muted);font-size:14px}.dk-contact{padding-top:8px;border-top:1px dashed var(--line);font-size:15px}.dk-sign{align-self:flex-end;font-style:italic}.dk-price{align-self:flex-start;padding:6px 12px;border:2px solid var(--ink);border-radius:var(--r-s);font-weight:700;font-size:18px;font-variant-numeric:tabular-nums}.dk-ad{padding:16px 18px;border:1px solid var(--line);border-top:6px solid var(--ink);border-radius:var(--r-s);background:var(--bg)}.dk-ad .dk-h{text-align:center;font-size:22px;text-transform:uppercase;letter-spacing:.02em}.dk-ad .dk-price{align-self:center}.dk-notice{padding:16px 18px;border:2px solid var(--ink);border-radius:var(--r-xs);background:var(--bg)}.dk-notice .dk-h{text-align:center;padding-bottom:8px;border-bottom:1px solid var(--line)}.dk-timetable,.dk-menu{padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--bg)}.dk-menu .dk-h{text-align:center;font-style:italic}.dk-table{overflow-x:auto;background:linear-gradient(to right,var(--bg) 40%,transparent) left / 40px 100% no-repeat local,linear-gradient(to left,var(--bg) 40%,transparent) right / 40px 100% no-repeat local,linear-gradient(to right,color-mix(in srgb,var(--ink) 16%,transparent),transparent) left / 12px 100% no-repeat scroll,linear-gradient(to left,color-mix(in srgb,var(--ink) 16%,transparent),transparent) right / 12px 100% no-repeat scroll}.dk table{border-collapse:collapse;width:100%;font-size:15px}.dk th,.dk td{padding:6px 8px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.dk thead th{border-bottom:2px solid var(--ink);font-weight:700;font-size:13px;letter-spacing:.03em;text-transform:uppercase}.dk tbody th{font-weight:600}.dk td.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.dk-menu tbody tr td:last-child{white-space:nowrap}.dk-letter{padding:20px 22px;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--bg);box-shadow:var(--elev-1)}.dk-letter .dk-from{font-style:normal;font-size:14px;padding-bottom:8px;border-bottom:1px solid var(--ink)}.dk-letter .dk-from:first-line{font-weight:700;font-size:15px}.dk-letter .dk-to{font-style:normal;font-size:14px;align-self:flex-end;text-align:left;min-width:40%}.dk-letter .dk-meta{align-self:flex-end}.dk-letter .dk-h{font-size:16px}.dk-email{border:1px solid var(--line);border-radius:var(--r-s);background:var(--bg);padding:0 0 14px;overflow:hidden}.dk-email>:not(.dk-head){margin-inline:16px}.dk-head{display:flex;flex-direction:column;gap:2px;padding:10px 16px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:14px}.dk-hdr span{color:var(--muted);display:inline-block;min-width:4.5em}.dk-email .dk-from,.dk-email .dk-to{font-style:normal}.dk-form{padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--bg)}.dk-form .dk-h{font-size:17px;text-transform:uppercase;letter-spacing:.03em}.dk-fields{margin:0;display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr);gap:6px 12px}.dk-fields>div{display:contents}.dk-fields dt{color:var(--muted);font-size:14px;padding-top:2px}.dk-fields dd{margin:0;border-bottom:1px solid var(--line);min-height:1.5em}.dk-fields dd.blank{border-bottom-style:dotted}@media(max-width:480px){.dk-fields{grid-template-columns:1fr}.dk-fields dd{margin-bottom:4px}}.dk-plain{white-space:pre-line}.rn-doc:has(>.dk:not(.dk-plain)){padding:12px}@media(max-width:760px){.rn-doc:has(>.dk:not(.dk-plain)){padding:0;border:0;background:none}}.exam .ad .dk{max-width:none}.exam .ad .ad-lines{font-size:17px;line-height:1.55;white-space:pre-line}.exam .ad .ad-lines .dk{white-space:normal;font-size:16px}.ld-ad.ld-doc{gap:8px}.ld-ad.ld-doc b{font-size:inherit}#screen-writing .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.sit-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--muted)}.sit-steps li{padding:4px 12px;border-radius:var(--r-full);border:1px solid var(--line)}.sit-steps li.done{background:var(--surface-2);border-color:transparent}.sit-steps li.now{color:var(--ink);border-color:var(--ink-2);font-weight:600}body[data-register=exam] #writing-form .meter svg circle+circle:not([stroke="var(--error)"]){stroke:var(--ink-2)}body[data-register=exam] #writing-form #writing-wc.ok{color:var(--ink)}.sit-head{display:flex;flex-direction:column;gap:8px}.sit-head h2,.sit-total h2{margin:0;font-size:20px;font-weight:600}.sit-head h2:focus,.sit-total h2:focus{outline:none}.sit-head .lead{margin:0;font-size:15px;line-height:1.55;color:var(--muted);max-width:70ch}.sit-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}@media(max-width:860px){.sit-checks{grid-template-columns:1fr}}.sit-check{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:18px 20px;display:flex;flex-direction:column;gap:12px;min-width:0}.sit-check h3{margin:0;font-size:17px;font-weight:600}.sit-check .facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--ink-2)}.sit-check .facts .short{color:var(--err);font-weight:600}.sit-warn{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.5;color:var(--ink)}.sit-warn li::marker{color:var(--err)}.sit-clear{margin:0;font-size:14px;color:var(--ok);font-weight:600}.sit-calques{display:flex;flex-direction:column;gap:6px}.sit-calques ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:1.5;color:var(--ink-2)}.sit-calques .said{color:var(--ink);font-weight:600}.sit-calques .fix{color:var(--ok);font-weight:600}.sit-calques p{margin:0}.sit-learn{margin:0;font-size:14px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.sit-check pre.text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:15px;line-height:1.65;color:var(--ink-2);margin:0;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-m);padding:12px 14px;max-height:320px;overflow:auto}.sit-stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sit-stages[hidden]{display:none}@media(max-width:700px){.sit-stages{grid-template-columns:1fr}}.sit-sec{display:flex;flex-direction:column;gap:14px;padding-top:24px;border-top:1px solid var(--border)}.sit-sec h3{margin:0;font-size:18px;font-weight:600}.sit-task summary{cursor:pointer;font-size:14px;color:var(--muted)}.sit-task[open] summary{margin-bottom:10px}.sit-diff{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.85;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 18px}.sit-diff del,.sit-legend .del{background:var(--err-soft);color:var(--err-on-soft);text-decoration:line-through;text-decoration-thickness:2px;border-radius:4px;padding:0 2px}.sit-diff ins,.sit-legend .ins{background:var(--ok-soft);color:var(--ok-on-soft);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;border-radius:4px;padding:0 2px;font-weight:600}.sit-legend{text-transform:none;letter-spacing:0;font-weight:500}.sit-diff del:before,.sit-diff del:after,.sit-diff ins:before,.sit-diff ins:after{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.sit-diff del:before{content:" [removed: "}.sit-diff ins:before{content:" [added: "}.sit-diff del:after,.sit-diff ins:after{content:"] "}.wconfirm{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;padding:12px 14px;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--border)}.wconfirm>span{flex:1 1 260px;font-weight:600}.wr-model{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:8px 0}details.wr-model{display:block}.wr-model pre.text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:15px;line-height:1.65;color:var(--ink-2);margin:8px 0 0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-m);padding:14px 16px}.wr-model ul{margin:8px 0 0;padding-left:1.2em;font-size:14px}#screen-epreuve>*,#screen-ladder>*,#screen-objections>*{flex-shrink:0}.ep-head{position:relative;overflow:hidden;background:var(--skill-soft);color:var(--skill-on-soft);padding:18px 16px 20px;display:flex;justify-content:center}.ep-head .ep-hin{width:min(840px,100%);display:flex;flex-direction:column;gap:6px;position:relative;z-index:1}.ep-head h1{margin:4px 0 0;font-size:28px;text-wrap:balance}.ep-head p{margin:0;opacity:.85}.ep-head .spot.hero{position:absolute;right:max(16px,calc(50% - 420px));top:10px;width:120px;opacity:.9}.ep-head .pchip{align-self:flex-start}.ep-stand{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-width:520px;font-size:14px}@media(max-width:560px){.ep-head .spot.hero{width:84px;opacity:.5}.ep-head h1{padding-right:76px}}@media(max-width:360px){.ep-head h1{font-size:24px}}.ep{width:min(840px,100%);margin:0 auto;padding:18px 16px 96px;display:flex;flex-direction:column;gap:16px}.ep-plain{display:flex;flex-direction:column;gap:4px}.ep-plain h2{margin:0;font-size:24px}#epreuve-body,#ladder-body,#objections-body{display:flex;flex-direction:column;gap:16px}.ep-last{margin:0;font-size:15px}.ep-starts{display:flex;flex-wrap:wrap;gap:8px}.ep-fams{width:100%;border-collapse:collapse;font-size:14px}.ep-fams caption{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);padding-bottom:8px}.ep-fams th,.ep-fams td{padding:9px 6px;border-bottom:1px solid var(--border);text-align:left}.ep-fams td.num,.ep-fams th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ep-fams .verb{font-size:12px;font-weight:600;padding:2px 8px;border-radius:var(--r-full);background:var(--surface-2);color:var(--ink-2);white-space:nowrap}.ep-fams tr.v-ok .verb{background:var(--ok-soft);color:var(--ok-on-soft)}.ep-fams tr.v-learn .verb{background:var(--err-soft);color:var(--err-on-soft)}.ep-fams tr.v-drill .verb{background:var(--brand-soft);color:var(--brand-on-soft)}.ep-fams a{color:var(--ink-2);white-space:nowrap}.ep-card{border-radius:var(--r-card);background:var(--surface);border:1px solid var(--border);padding:16px 18px;display:flex;flex-direction:column;gap:8px}.ep-card .trap{margin:0;font-weight:600}.ep-card ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.ep-sec{border:1px solid var(--border);border-radius:var(--r-card);padding:16px 18px;display:flex;flex-direction:column;gap:12px}.ep-sh{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px}.ep-sh h2{margin:0;font-size:18px}.ep-sh h2 .dim{font-weight:400;font-size:14px}.ep-score b{font-size:22px}.ep-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.ep-stat{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--r-m);background:var(--surface)}.ep-stat b{font-size:20px}.ep-stat span{font-size:12px;color:var(--muted)}.ep-stat.ok b{color:var(--ok)}.ep-stat .mk{font-weight:700}.ep-stat.ok .mk{color:var(--ok)}.ep-learn{margin:0;font-size:14px}.ld-ad{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:var(--r-l);border:1px solid var(--border);background:var(--surface);font-size:15px;line-height:1.45}.ld-ad b{font-size:17px}.ld-consigne{margin:0;font-style:italic;line-height:1.5}.ld-form{display:flex;flex-direction:column;gap:8px}.ld-q{display:grid;grid-template-columns:28px minmax(0,1fr);gap:4px 10px;align-items:center}.ld-q label{text-align:right;color:var(--muted)}.ld-q textarea{min-height:42px;padding:9px 12px;border-radius:var(--r-s);border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:16px;line-height:1.35;resize:none;overflow:hidden}.ld-q .accents-slot{grid-column:2;min-width:0;display:none}.ld-q:focus-within .accents-slot{display:block}.ld-tags{grid-column:2;display:flex;flex-wrap:wrap;gap:4px;min-height:0}.ld-tags .tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--r-full);background:var(--surface-2);color:var(--ink-2)}.ld-tags .tag.slot{background:var(--ok-soft);color:var(--ok-on-soft)}.ld-tags .tag.warn,.ld-tags .tag.none{background:var(--err-soft);color:var(--err-on-soft)}.ld-form .row,.oc-card .row,.oc-done .row{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.ld-result{display:flex;flex-direction:column;gap:8px}.ld-result p{margin:0}.ld-ex{margin:0;padding-left:18px}.oc-card{border-radius:var(--r-card);border:1px solid var(--border);padding:16px 18px;display:flex;flex-direction:column;gap:10px}.oc-friend{margin:0;font-size:18px;font-weight:600}.oc-card textarea{overflow:hidden;min-height:96px;padding:10px 12px;border-radius:var(--r-s);border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:16px;line-height:1.5;resize:vertical}.oc-done{display:flex;flex-direction:column;gap:6px}.oc-done p{margin:0}.ecard .eh-link{color:inherit;text-decoration:none}.ecard .eh-link:hover b{text-decoration:underline}.oc-clip{margin:8px 0 4px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.clip-note:empty{position:absolute}.clip-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.clip-row button{min-height:44px;display:inline-flex;align-items:center;gap:6px}.clip-row.rec .num{font-size:18px;font-variant-numeric:tabular-nums}.clip-dot{width:10px;height:10px;border-radius:50%;background:var(--eo);animation:clip-pulse 1.2s ease-in-out infinite}@keyframes clip-pulse{50%{opacity:.35}}:root[data-rm="1"] .clip-dot{animation:none}@media(prefers-reduced-motion:reduce){.clip-dot{animation:none}}.oc-marks{margin-top:10px;padding:10px 12px;border-radius:var(--r-m);background:var(--surface-2)}.oc-marks ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:14px}.dt-card{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:var(--r-card);background:var(--surface)}.dt-card form{display:flex;flex-wrap:wrap;gap:10px}.dt-card .row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}#dt-play{display:inline-flex;align-items:center;gap:6px}.dt-in{flex:1 1 200px;min-width:0;height:52px;padding:0 14px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:22px;letter-spacing:.02em}.dt-in.ok{border-color:var(--ok)}.dt-in.no{border-color:var(--line-strong, var(--ink-2))}.dt-verdict{margin:0;display:flex;align-items:center;gap:8px;font-size:17px}.dt-verdict.ok .mk{color:var(--ok)}.dt-words{margin:0;font-size:16px;color:var(--ink-2)}.dt-score{margin:0;font-size:20px}.dt-score b{font-size:34px}.dt-score:focus{outline:none}.dt-miss{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}#dt-res{display:flex;flex-direction:column;gap:10px}#dt-res:empty{position:absolute}.plan-off,#plan-official{display:flex;flex-direction:column;gap:12px}#plan-official>p{margin:0}.off-r{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:var(--r-l);background:var(--surface)}.off-r header{display:flex;align-items:center;justify-content:space-between;gap:12px}.off-r ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.off-r li{display:flex;flex-direction:column;gap:2px;font-size:14px}.off-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:14px}.off-confirm span{flex:1 1 220px}@media(max-width:560px){.off-confirm span{flex-basis:100%}}.off-form{display:flex;flex-direction:column;gap:12px}.off-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px 12px}.off-grid label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}.off-grid input{height:44px;padding:0 10px;border-radius:var(--r-s);border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-variant-numeric:tabular-nums}.off-err{margin:0;min-height:1em;color:var(--error);font-size:14px}.off-hint{margin:-4px 0 0}.off-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-top:4px}.off-err:empty{display:none}.off-h{font-size:15px}.snd{display:flex;flex-direction:column;gap:18px}.snd-intro{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:var(--r-l);background:var(--brand-soft);color:var(--brand-on-soft)}.snd-intro p{margin:0;flex:1 1 260px;font-size:15px;line-height:1.45}.snd-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.snd-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:14px 0;border-top:1px solid var(--border)}.snd-row:first-child{border-top:0}.snd-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.snd-h b{font-size:16px}.snd-h .meta{color:var(--muted);font-size:13px}.snd-ex{grid-column:1;margin:0;font-size:15px;font-weight:600;color:var(--ink-2)}.snd-hint{grid-column:1;margin:0;font-size:13px;line-height:1.45;color:var(--muted);max-width:60ch}.snd-row>button{grid-column:2;grid-row:1 / span 3}.snd-notes{display:flex;flex-direction:column;gap:8px;padding-top:6px;border-top:1px solid var(--border)}.snd-notes h3.k{margin:10px 0 0}.snd-caveat{margin:0;font-size:13px;line-height:1.45;color:var(--ink-2);max-width:62ch}.snd-noted{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.snd-noted li{display:flex;flex-direction:column;gap:2px;padding:10px 0;border-top:1px solid var(--border)}.snd-noted li:first-child{border-top:0}.snd-pair{font-size:15px}.snd-pair s{color:var(--muted);text-decoration-color:var(--line)}.snd-ipa{color:var(--muted);font-size:13px}.snd-noted .meta{color:var(--muted);font-size:12px}.snd-run{display:flex;flex-direction:column;gap:14px}.snd-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.snd-name{font-weight:600;font-size:15px}.snd-top .meta{color:var(--muted);font-size:13px}.snd-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.snd-opts button.opt{min-height:72px;font-size:22px;font-weight:600;justify-content:flex-start;flex-wrap:wrap}.snd-opts button.opt .mark{width:100%;margin-left:0;font-size:12px}.snd-opts button.opt.playing{outline:3px solid var(--brand-vivid);outline-offset:2px}.snd-m{background:none;color:inherit;font-weight:800;text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:3px;text-underline-offset:5px}.snd-run .verdict-sheet .snd-m{text-decoration-color:currentColor}.snd-run .dfoot .verdict-sheet{margin:0;padding-inline:16px}.snd-run .verdict-sheet .ans{font-weight:500}.snd-keys{margin:0}@media(hover:none)and (pointer:coarse){.snd-keys{display:none}}@media(max-width:330px){.snd-opts{grid-template-columns:1fr}}.snd-by{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;min-width:min(280px,100%)}.snd-by li{display:flex;justify-content:space-between;gap:16px;font-size:14px;color:var(--ink-2)}.snd-done h3:focus{outline:none}.wk-remind{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px 14px;border-radius:var(--r-l);border:1px solid var(--border);background:var(--surface);color:var(--ink);font-size:15px;font-weight:500}.wk-remind .ms{color:var(--brand)}.wk-remind .t{flex:1;min-width:0}.wk-remind .go{color:var(--muted)}.wk-remind:hover{background:var(--surface-2)}.wk-remind:hover .go{color:var(--ink)}#screen-weekly>*{flex-shrink:0}.wk{width:min(760px,100%);margin:0 auto;padding:20px 16px 96px;display:flex;flex-direction:column;gap:22px}.wk-head{display:flex;flex-direction:column;gap:2px}.wk-head h2{margin:2px 0 4px;font-size:26px;text-wrap:balance}.wk-head .meta{margin:0;color:var(--muted);font-size:13px}.wk-nav{display:flex;justify-content:space-between;gap:12px;margin-top:6px}.wk-nav:empty{display:none}.wk-nav a{color:var(--ink-2);font-size:13px}.wk-nav .next{margin-left:auto}.wk-nav a:hover{color:var(--ink);text-decoration:underline}#weekly-body{display:flex;flex-direction:column;gap:28px}.wk-sec{display:flex;flex-direction:column;gap:10px}.wk-sec h3.k{margin:0;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}.wk-sec>p{margin:0}.wk-sec>p.meta{font-size:13px;color:var(--muted)}.wk-moved .srow .bd b{font-weight:700}.wk-part .rbar .band,.wk-part .rbar .edge{transition:none}.wk-was{position:absolute;top:1px;bottom:1px;border:1.5px dashed var(--outline);border-radius:5px;box-sizing:border-box}.wk-part[data-dir=none] .note{color:var(--muted)}.wk-foot{margin:0;font-size:12px;color:var(--muted)}.wk-change{margin-left:-16px}.wk-rule{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--border)}.wk-rule .meta{margin:0;color:var(--muted);font-size:13px}.wk-x{flex-shrink:0;font-weight:700;color:var(--brand)}.wk-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.wk-also{margin:0;color:var(--muted);font-size:13px}.wk-week .pw-b{min-height:calc(var(--m) * .9px + 14px)}.wk-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--ink-2);line-height:1.45}.wk-forecast{margin-top:4px}@media(max-width:560px){.wk-week{grid-template-columns:repeat(7,92px)}}
