:root{color-scheme:light;--ground: #e7ebef;--panel: #ffffff;--field: #f2f5f8;--edge: #d3dae1;--edge-control: #7d8894;--track: #a9b3bd;--ink-1: #0e141b;--ink-2: #3a4551;--ink-3: #56626e;--line: #0a7fc0;--now: #ffb020;--now-ring: #0e141b;--ok: #16803c;--ok-soft: #e4f4ea;--miss: #c8302a;--miss-soft: #fce9e7;--button: #0e141b;--button-ink: #ffffff;--button-hover: #273240;--focus: #0a7fc0;--selection: #bfe0f5;--scrim: rgb(14 20 27 / .42);--face-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Sans", "Noto Sans JP", sans-serif;--face-ja: system-ui, -apple-system, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;--face-glyph: "BIZ UDPGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", sans-serif;--fs-caption: .75rem;--fs-footnote: .8125rem;--fs-sub: .9375rem;--fs-body: 1.0625rem;--fs-title3: 1.25rem;--fs-title2: 1.375rem;--fs-title1: 1.75rem;--fs-large: 2.125rem;--lh-body: 1.5;--lh-tight: 1.2;--sp-1: .25rem;--sp-2: .5rem;--sp-3: 1rem;--sp-4: 1.5rem;--sp-5: 2rem;--sp-6: 3rem;--sp-7: 4rem;--r-panel: 26px;--r-card: 20px;--r-control: 16px;--r-field: 14px;--r-chip: 999px;--tap: 44px;--primary-h: 56px;--band-h: 8px;--measure: 66ch;--appbar-h: 56px;--tabbar-h: 64px;--sidebar-w: 256px;--safe-bottom: env(safe-area-inset-bottom, 0px);--t-move: .22s;--t-slide: .24s;--t-quick: .12s;--ease-out: cubic-bezier(.16, 1, .3, 1);--shadow-raise: 0 1px 2px rgb(14 20 27 / .06), 0 4px 12px -4px rgb(14 20 27 / .1);--shadow-sheet: 0 -12px 40px -16px rgb(14 20 27 / .3)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--ground: #04070a;--panel: #0c1117;--field: #151c24;--edge: #27313c;--edge-control: #66737f;--track: #434d59;--ink-1: #f4f7fa;--ink-2: #bcc6d0;--ink-3: #97a4b1;--line: #3aa6e6;--now: #ffb627;--now-ring: #0c1117;--ok: #45d083;--ok-soft: #10301f;--miss: #ff6a5c;--miss-soft: #3a1512;--button: #f4f7fa;--button-ink: #0c1117;--button-hover: #d9e1e8;--focus: #3aa6e6;--selection: #1d4a66;--scrim: rgb(0 0 0 / .6);--shadow-raise: 0 1px 2px rgb(0 0 0 / .4), 0 4px 12px -4px rgb(0 0 0 / .5);--shadow-sheet: 0 -12px 40px -16px rgb(0 0 0 / .8)}}:root[data-theme=dark]{color-scheme:dark;--ground: #04070a;--panel: #0c1117;--field: #151c24;--edge: #27313c;--edge-control: #66737f;--track: #434d59;--ink-1: #f4f7fa;--ink-2: #bcc6d0;--ink-3: #97a4b1;--line: #3aa6e6;--now: #ffb627;--now-ring: #0c1117;--ok: #45d083;--ok-soft: #10301f;--miss: #ff6a5c;--miss-soft: #3a1512;--button: #f4f7fa;--button-ink: #0c1117;--button-hover: #d9e1e8;--focus: #3aa6e6;--selection: #1d4a66;--scrim: rgb(0 0 0 / .6);--shadow-raise: 0 1px 2px rgb(0 0 0 / .4), 0 4px 12px -4px rgb(0 0 0 / .5);--shadow-sheet: 0 -12px 40px -16px rgb(0 0 0 / .8)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--edge-control) transparent;accent-color:var(--ink-1);-webkit-tap-highlight-color:transparent}body{min-height:100vh;min-height:100dvh;font-family:var(--face-ui);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink-1);background:var(--ground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}:where([lang=ja]){font-family:var(--face-ja);line-break:strict}:where([lang=en]){font-family:var(--face-ui)}:where(h1,h2,h3,h4){font-weight:700;line-height:var(--lh-tight);letter-spacing:-.01em;color:var(--ink-1);text-wrap:balance}:where(h1){font-size:var(--fs-title1)}:where(h2){font-size:var(--fs-title3)}:where(h3){font-size:var(--fs-body)}:where(p,li,dd){text-wrap:pretty}:where(strong,b){font-weight:700}:where(a){color:var(--ink-1);text-decoration-line:underline;text-decoration-thickness:1.5px;text-decoration-color:var(--ink-3);text-underline-offset:.2em}@media(hover:hover){:where(a:hover){text-decoration-color:currentColor}}:where(img,svg){max-width:100%}:where(ul,ol){padding-left:1.25rem}::selection{background:var(--selection);color:var(--ink-1)}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}[data-focus-landing]:focus{outline:none}:where(button){font:inherit;font-weight:600;color:var(--ink-1);background:var(--panel);border:1.5px solid var(--edge-control);border-radius:12px;min-height:var(--tap);padding:8px var(--sp-3);cursor:pointer;touch-action:manipulation}@media(hover:hover){:where(button:hover:not(:disabled)){border-color:var(--ink-1)}}:where(button:disabled){cursor:not-allowed;color:var(--ink-3);background:var(--field);border-style:dashed}:where(input:not([type=radio],[type=checkbox],[type=range]),select,textarea){font:inherit;font-size:max(1rem,16px);color:var(--ink-1);caret-color:var(--line);background:var(--field);border:1.5px solid var(--edge-control);border-radius:var(--r-field);min-height:var(--tap);padding:0 var(--sp-3)}:where(textarea){padding-block:var(--sp-2)}:where(input:not([type=radio],[type=checkbox],[type=range]),select,textarea):focus{border-color:var(--ink-1)}:where(input[type=radio],input[type=checkbox]){accent-color:var(--ink-1);width:1.125rem;height:1.125rem}::placeholder{color:var(--ink-3);opacity:1}[role=alert]{color:var(--ink-1);background:var(--miss-soft);border:1.5px solid var(--miss);border-radius:var(--r-field);padding:var(--sp-2) var(--sp-3);margin:var(--sp-3) 0;font-weight:500}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.tabular{font-variant-numeric:tabular-nums}.nobreak{white-space:nowrap}.icon{flex:none;width:1.25em;height:1.25em;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;overflow:visible}.icon :is(path,circle,rect){vector-effect:non-scaling-stroke}.icon .icon-fill{fill:currentColor}.app-shell{min-height:100vh;min-height:100dvh}.skip-link{position:fixed;left:var(--sp-2);top:var(--sp-2);z-index:100;display:inline-flex;align-items:center;min-height:var(--tap);padding:0 var(--sp-3);border-radius:12px;background:var(--button);color:var(--button-ink);font-weight:600;text-decoration:none;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.icon-button{display:inline-grid;place-items:center;flex:none;width:var(--tap);height:var(--tap);min-height:var(--tap);padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink-1);text-decoration:none;cursor:pointer}.icon-button .icon{width:22px;height:22px}@media(hover:hover){.icon-button:hover{background:var(--field)}}.wordmark{display:inline-flex;align-items:center;gap:10px;color:var(--ink-1);font-weight:700;font-size:var(--fs-body);letter-spacing:-.01em;white-space:nowrap}.wordmark-badge{width:28px;height:28px;flex:none}.wordmark-badge rect{fill:var(--line)}.wordmark-badge path,.wordmark-badge circle{fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round}.wordmark-badge circle{fill:var(--line)}.sidebar{display:none}.appbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);max-width:760px;margin:0 auto;min-height:var(--appbar-h);padding:env(safe-area-inset-top,0px) var(--sp-1) 0 var(--sp-3)}.appbar-home{display:inline-flex;align-items:center;min-height:var(--tap);text-decoration:none;border-radius:12px}.app-main{display:block;max-width:760px;margin:0 auto;padding:var(--sp-2) var(--sp-3) calc(var(--tabbar-h) + var(--safe-bottom) + var(--sp-6))}.app-main:focus{outline:none}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--panel);border-top:1px solid var(--edge);padding-bottom:var(--safe-bottom)}.tabbar ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));max-width:640px;margin:0 auto;padding:0;list-style:none}.tabbar-tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:var(--tabbar-h);color:var(--ink-3);font-size:var(--fs-caption);font-weight:600;line-height:1;text-decoration:none}.tabbar-tab .icon{width:24px;height:24px}.tabbar-tab[aria-current=page]{color:var(--ink-1)}.tabbar-tab[aria-current=page]:before{content:"";position:absolute;top:0;left:50%;width:32px;height:4px;margin-left:-16px;border-radius:0 0 4px 4px;background:var(--line)}.tabbar-tab:focus-visible{outline-offset:-3px;border-radius:12px}.tab-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--button);color:var(--button-ink);font-size:var(--fs-caption);font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.tabbar-tab .tab-badge{position:absolute;top:7px;left:calc(50% + 4px);box-shadow:0 0 0 2px var(--panel)}.tabbar-tab[aria-current=page] .tab-badge{display:none}.app-shell[data-flow=task] :is(.appbar,.tabbar,.sidebar),.app-shell:has(.ride) :is(.appbar,.tabbar,.sidebar){display:none}.app-shell[data-flow=task] .app-main,.app-shell:has(.ride) .app-main{max-width:none;margin:0;padding:0}.flow-exit{position:sticky;top:0;z-index:30;display:flex;padding:calc(env(safe-area-inset-top,0px) + var(--sp-2)) var(--sp-2) 0}.app-shell:has(.ride-bar) .flow-exit{display:none}.app-shell[data-flow=task] .app-main>.state-line,.app-shell[data-flow=task] .app-main>[role=alert]{margin:var(--sp-3)}.app-shell[data-flow=task]:not(:has(.ride,.shell-tabs)) .app-main{padding:0 var(--sp-3) var(--sp-6)}.app-shell[data-flow=task]:has(.shell-tabs) .flow-exit{display:none}.app-shell[data-flow=task]:has(.shell-tabs) .appbar{display:flex}.app-shell[data-flow=task]:has(.shell-tabs) .tabbar{display:block}.app-shell[data-flow=task]:has(.shell-tabs) .app-main{max-width:760px;margin:0 auto;padding:var(--sp-2) var(--sp-3) calc(var(--tabbar-h) + var(--safe-bottom) + var(--sp-6))}@media(min-width:1024px){.appbar,.tabbar,.app-shell[data-flow=task]:has(.shell-tabs) :is(.appbar,.tabbar){display:none}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;display:flex;flex-direction:column;gap:var(--sp-4);width:var(--sidebar-w);padding:var(--sp-4) var(--sp-3) var(--sp-3);background:var(--panel);border-right:1px solid var(--edge);overflow-y:auto}.app-shell[data-flow=task]:has(.shell-tabs) .sidebar{display:flex}.sidebar-home{display:flex;align-items:center;min-height:var(--tap);padding:0 var(--sp-2);border-radius:12px;text-decoration:none}.sidebar-tabs,.sidebar-lines{list-style:none;margin:0;padding:0}.sidebar-tabs{display:flex;flex-direction:column;gap:2px}.sidebar-tab,.sidebar-line{position:relative;display:flex;align-items:center;gap:12px;min-height:var(--tap);padding:0 var(--sp-2) 0 14px;border-radius:12px;color:var(--ink-2);font-weight:600;text-decoration:none}.sidebar-tab .icon{width:22px;height:22px}@media(hover:hover){.sidebar-tab:hover,.sidebar-line:hover{color:var(--ink-1)}}.sidebar-tab[aria-current=page]{background:var(--field);color:var(--ink-1)}.sidebar-tab[aria-current=page] .tab-badge{display:none}.sidebar-tab .tab-badge{margin-left:auto}.sidebar-lines{margin:2px 0 var(--sp-1) 25px;padding-left:var(--sp-2);border-left:1.5px solid var(--edge)}.sidebar-line{min-height:var(--tap);font-weight:500;font-size:var(--fs-sub);color:var(--ink-3)}.sidebar-line .icon{width:18px;height:18px}.sidebar-line[aria-current=page]{color:var(--ink-1);font-weight:600}.sidebar-account{margin-top:auto;display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:0 var(--sp-2) 0 14px;border:1.5px solid var(--edge);border-radius:14px;background:var(--panel);color:var(--ink-1);font-weight:600;text-align:left}.sidebar-account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-main{max-width:none;margin:0 0 0 var(--sidebar-w);padding:var(--sp-6) var(--sp-6) var(--sp-7)}.app-shell[data-flow=task]:has(.shell-tabs) .app-main{max-width:none;margin:0 0 0 var(--sidebar-w);padding:var(--sp-6) var(--sp-6) var(--sp-7)}.app-shell[data-flow=task] .sidebar,.app-shell:has(.ride) .sidebar{display:none}}.sheet{width:100%;max-width:100%;max-height:calc(100dvh - 48px);margin:auto 0 0;padding:0;border:0;border-radius:var(--r-panel) var(--r-panel) 0 0;background:var(--panel);color:var(--ink-1);box-shadow:var(--shadow-sheet)}.sheet::backdrop{background:var(--scrim)}.sheet-body{padding:var(--sp-3) var(--sp-3) calc(var(--sp-4) + var(--safe-bottom))}.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-2)}.sheet-head h2{font-size:var(--fs-title3)}.sheet-who{padding:var(--sp-3);margin-bottom:var(--sp-3);border-radius:var(--r-field);background:var(--field)}.sheet-name{font-weight:700}.sheet-email{color:var(--ink-3);font-size:var(--fs-sub);overflow-wrap:anywhere}.sheet-list{list-style:none;margin:0;padding:0;border:1.5px solid var(--edge);border-radius:var(--r-field);overflow:hidden}.sheet-list li+li{border-top:1.5px solid var(--edge)}.sheet-row{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:0 var(--sp-3);border:0;border-radius:0;background:var(--panel);color:var(--ink-1);font-weight:600;text-align:left;text-decoration:none}@media(hover:hover){.sheet-row:hover:not(:disabled){background:var(--field)}}.sheet-row:focus-visible{outline-offset:-3px}.sheet-row-end{margin-left:auto;color:var(--ink-3)}.sheet-theme{min-width:0;margin:0 0 var(--sp-3);padding:0;border:0}.sheet-theme-title{padding:0;margin-bottom:var(--sp-1);font-weight:700}.segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border:1.5px solid var(--edge-control);border-radius:var(--r-field);background:var(--field)}.segment{position:relative;display:grid;place-items:center;min-height:var(--tap);margin:0;padding:0 var(--sp-1);border:0;border-radius:10px;background:transparent;color:var(--ink-2);font-weight:600;cursor:pointer}.segment>input[type=radio]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.segment:has(>input:checked){background:var(--panel);color:var(--ink-1);box-shadow:inset 0 0 0 2px var(--ink-1)}.segment:has(>input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}@media(hover:hover){.segment:hover:not(:has(>input:checked)){color:var(--ink-1)}}.sheet-theme-note{margin-top:var(--sp-1);font-size:var(--fs-sub);color:var(--ink-3)}@media(min-width:640px){.sheet{width:min(420px,calc(100% - 32px));margin:auto;border-radius:var(--r-panel)}.sheet-body{padding:var(--sp-3) var(--sp-4) var(--sp-4)}}.state-line{color:var(--ink-3);padding:var(--sp-5) 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--tap);padding:10px var(--sp-4);border:1.5px solid transparent;border-radius:var(--r-control);font:inherit;font-weight:700;font-size:var(--fs-body);line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;touch-action:manipulation}.button .icon{width:20px;height:20px}.button>span{text-wrap:balance}.button--primary{background:var(--button);border-color:var(--button);color:var(--button-ink)}@media(hover:hover){.button--primary:hover:not(:disabled){background:var(--button-hover);border-color:var(--button-hover)}}.button--primary:disabled{background:var(--field);border:1.5px dashed var(--edge-control);color:var(--ink-3);cursor:not-allowed}.button--primary:disabled[aria-busy=true]{background:var(--button);border:1.5px solid var(--button);color:var(--button-ink);opacity:.8;cursor:progress}.button--secondary{background:var(--panel);border-color:var(--edge-control);color:var(--ink-1)}.button--secondary:disabled[aria-busy=true]{background:var(--panel);border-style:solid;color:var(--ink-1);opacity:.8;cursor:progress}@media(hover:hover){.button--secondary:hover:not(:disabled){border-color:var(--ink-1)}}.button--secondary:disabled{background:var(--field);border-style:dashed;color:var(--ink-3)}.button--quiet{min-height:var(--tap);padding:10px 12px;background:transparent;border-color:transparent;color:var(--ink-1);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-decoration-color:var(--ink-3);text-underline-offset:.2em}@media(hover:hover){.button--quiet:hover:not(:disabled){text-decoration-color:currentColor}}.button--full{width:100%;min-height:var(--primary-h)}.why{display:flex;align-items:center;justify-content:center;gap:var(--sp-1);font-size:var(--fs-sub);color:var(--ink-3);text-align:center}.why[data-idle]{visibility:hidden}.tiles{--cols: 2;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:var(--sp-2);margin:0;padding:0;list-style:none}.tiles[data-cols="4"]{--cols: 4}.tiles[data-cols="3"]{--cols: 3}.tiles[data-cols="1"]{--cols: 1}@media(max-width:359px){.tiles[data-cols="4"]{--cols: 2}}.tile{position:relative;display:grid;place-items:center;min-height:80px;padding:var(--sp-2) var(--sp-3);border:2px solid var(--edge-control);border-radius:var(--r-control);background:var(--field);color:var(--ink-1);font-family:var(--face-glyph);font-weight:700;font-size:2.375rem;line-height:1.15;text-align:center;overflow-wrap:anywhere;cursor:pointer;user-select:none;-webkit-user-select:none}.tile--pair{font-size:1.875rem;padding-inline:var(--sp-1);white-space:nowrap;overflow-wrap:normal}.tile--word{font-size:1.75rem;min-height:72px;padding-inline:var(--sp-2);word-break:keep-all}.tile--text{justify-items:start;min-height:56px;padding:var(--sp-2) var(--sp-3);font-family:var(--face-ui);font-weight:600;font-size:var(--fs-body);line-height:1.35;text-align:left}.tile--text:lang(ja),.tile--text :lang(ja){font-family:var(--face-ja)}@media(hover:hover){.tile:hover:not([aria-disabled=true]){border-color:var(--ink-1)}}.tile[aria-disabled=true]{cursor:default}.tile[data-state=picked],.tile:not([data-state=correct],[data-state=missed],[data-state=revealed]):has(>input:checked){border-color:var(--ink-1);background:var(--panel);box-shadow:inset 0 0 0 2px var(--ink-1)}.tile[data-state=correct]{border-color:var(--ok);background:var(--ok-soft);box-shadow:inset 0 0 0 2px var(--ok)}.tile[data-state=missed]{border-color:var(--miss);background:var(--miss-soft);box-shadow:inset 0 0 0 2px var(--miss)}.tile[data-state=revealed]{border-color:var(--ok);background:var(--ok-soft)}.tile[data-state=correct],.tile[data-state=missed],.tile[data-state=revealed]{cursor:default}.tile-mark{position:absolute;top:-9px;right:-9px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:2.5px solid var(--panel);color:var(--panel);pointer-events:none}.tile-mark .icon{width:14px;height:14px;stroke-width:3}.tile[data-state=correct] .tile-mark,.tile[data-state=revealed] .tile-mark{background:var(--ok)}.tile[data-state=missed] .tile-mark{background:var(--miss)}@media(hover:hover)and (pointer:fine){.grade[data-key]{position:relative}.tile[data-key]:not([aria-disabled=true],:has(>input:disabled)):before,.grade[data-key]:not(:disabled,[data-chosen]):before{content:attr(data-key);position:absolute;inset-block-start:6px;inset-inline-start:9px;font-family:var(--face-ui);font-size:var(--fs-footnote);font-weight:600;line-height:1;font-variant-numeric:tabular-nums;color:var(--ink-3);pointer-events:none}.tile--text[data-key]{padding-inline-start:calc(var(--sp-3) + 1.25rem)}.tile--text[data-key]:not([aria-disabled=true],:has(>input:disabled)):before{inset-block-start:var(--sp-2);inset-inline-start:var(--sp-3);display:flex;align-items:center;block-size:calc(var(--fs-body) * 1.35)}}.tile>input[type=radio]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.tile>input[type=radio]:disabled{cursor:default}.tile:has(>input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}:where(label:has(>input[type=radio])){display:flex;align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:var(--sp-1) var(--sp-3);margin:var(--sp-1) 0;border:1.5px solid var(--edge-control);border-radius:12px;background:var(--panel);cursor:pointer}:where(label:has(>input[type=radio]:checked)){border-color:var(--ink-1);box-shadow:inset 0 0 0 1.5px var(--ink-1)}.answer-field{display:block;width:100%;min-height:var(--primary-h);padding:0 var(--sp-3);border:2px solid var(--edge-control);border-radius:var(--r-field);background:var(--field);color:var(--ink-1);font-family:var(--face-glyph);font-weight:700;font-size:1.375rem}.answer-field:focus{border-color:var(--ink-1);background:var(--panel)}.answer-field-wrap{position:relative}.answer-field[data-state=picked]{border-color:var(--ink-1)}.answer-field[data-state=correct]{border-color:var(--ok);background:var(--ok-soft);box-shadow:inset 0 0 0 2px var(--ok)}.answer-field[data-state=missed]{border-color:var(--miss);background:var(--miss-soft);box-shadow:inset 0 0 0 2px var(--miss)}.answer-field-wrap[data-state=correct] .tile-mark{background:var(--ok)}.answer-field-wrap[data-state=missed] .tile-mark{background:var(--miss)}.answer-help{padding-bottom:4px;font-size:var(--fs-sub);color:var(--ink-3);line-height:1.4}.verdict{display:flex;align-items:flex-start;gap:var(--sp-2);font-weight:700;font-size:var(--fs-body);line-height:1.4}.verdict .icon{width:22px;height:22px;margin-top:1px}.verdict--ok{color:var(--ok)}.verdict--miss{color:var(--miss)}.verdict-detail{color:var(--ink-1);font-weight:600}.verdict :lang(ja){word-break:keep-all;overflow-wrap:anywhere}.feedback{display:flex;flex-direction:column;gap:var(--sp-2)}.feedback-line{font-size:var(--fs-body);color:var(--ink-1)}.feedback-line :lang(ja){font-family:var(--face-glyph);font-weight:700}.feedback-answer{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:var(--sp-2);row-gap:2px;padding:10px 16px 12px;border:2px solid var(--ok);border-radius:var(--r-field);background:var(--ok-soft);color:var(--ink-1)}.feedback-answer-label{flex-basis:100%;font-size:var(--fs-footnote);font-weight:700;color:var(--ink-2)}.feedback-answer-text{font-family:var(--face-glyph);font-weight:700;font-size:1.75rem;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}.feedback-answer-gloss{font-size:var(--fs-body);color:var(--ink-2)}.feedback-answer .tile-mark{background:var(--ok)}.cue{display:flex;flex-direction:column;gap:var(--sp-1);padding:12px 14px;border-radius:var(--r-field);background:var(--field);color:var(--ink-1);font-size:1rem;line-height:1.45}.cue-lead{font-weight:700}.note{font-size:var(--fs-sub);line-height:1.45;color:var(--ink-3);max-width:var(--measure)}.load-error{display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-3);max-width:var(--measure);padding:var(--sp-3) 0}.kana-help{font-size:var(--fs-sub);line-height:1.45;color:var(--ink-3);max-width:var(--measure)}.kana-help summary{display:inline-flex;align-items:center;min-height:var(--tap);cursor:pointer;color:var(--ink-1);font-weight:600;text-decoration:underline;text-decoration-color:var(--ink-3);text-underline-offset:.2em}.kana-help[open] summary{text-decoration-color:currentColor}.kana-help p,.kana-help ul{margin:0 0 var(--sp-2)}.kana-help ul{padding-inline-start:var(--sp-4)}.page-head{display:flex;flex-direction:column;gap:2px;padding-top:var(--sp-2)}.page-head h1{font-size:var(--fs-large);letter-spacing:-.02em}.page-note{margin-top:2px;font-size:var(--fs-sub);line-height:1.45;color:var(--ink-2);max-width:var(--measure)}.display{position:relative;background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-card);overflow:clip}.display--band:before{content:"";display:block;height:var(--band-h);background:var(--line)}.display-body{padding:var(--sp-3)}@media(min-width:640px){.display-body{padding:var(--sp-4)}}.dock{position:sticky;bottom:0;z-index:3;display:flex;flex-direction:column;gap:var(--sp-2);padding:12px 14px calc(12px + var(--safe-bottom));background:var(--panel);border-top:1px solid var(--edge)}.audio-player{display:inline-flex;align-items:center;gap:var(--sp-2)}.audio-button{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:0 18px 0 14px;border:1.5px solid var(--edge-control);border-radius:var(--r-chip);background:var(--panel);color:var(--ink-1);font-weight:700}.audio-button .icon{width:20px;height:20px}@media(hover:hover){.audio-button:hover:not(:disabled){border-color:var(--ink-1)}}.audio-button--round{justify-content:center;width:var(--tap);height:var(--tap);padding:0;border-radius:50%}.audio-button--slow{padding:0 14px;border-width:1px;font-weight:400}.audio-button:disabled{border-style:dashed;color:var(--ink-3);background:var(--field)}.order{display:flex;flex-direction:column;gap:12px}.order-answer{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:60px;padding:8px 10px;border:2px solid var(--edge-control);border-radius:var(--r-field);background:var(--field);font-family:var(--face-glyph);font-weight:700;font-size:1.375rem}.order-chip{display:inline-flex;align-items:center;min-height:40px;padding:0 10px;border-radius:10px;background:var(--panel);border:1.5px solid var(--ink-1)}.order-answer--free:after{content:"";width:44px;height:40px;border-radius:10px;border:2px dotted var(--edge-control)}.order-answer--free[data-state]:after{display:none}.order-slot{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:2.75em;min-height:40px;padding:0 8px;border-radius:10px;border:2px dotted var(--edge-control);background:var(--panel);color:var(--ink-3)}.order-slot-empty{color:transparent}.order-slot--filled{border-style:solid;border-color:var(--ink-1);color:var(--ink-1)}.order-slot--star{border-style:dotted;border-width:2.5px;border-color:var(--ink-1)}.order-slot--star.order-slot--filled{border-style:solid;box-shadow:inset 0 0 0 1.5px var(--ink-1)}.order-slot--next{box-shadow:inset 0 -3px 0 var(--ink-1)}.order-slot--star.order-slot--next{box-shadow:inset 0 -4.5px 0 var(--ink-1)}.order-answer[data-state],.order-slot[data-state]{position:relative}.order-answer[data-state=correct],.order-slot[data-state=correct]{border-color:var(--ok);background:var(--ok-soft);box-shadow:inset 0 0 0 2px var(--ok)}.order-answer[data-state=missed],.order-slot[data-state=missed]{border-color:var(--miss);background:var(--miss-soft);box-shadow:inset 0 0 0 2px var(--miss)}.order-answer[data-state=correct] .tile-mark,.order-slot[data-state=correct] .tile-mark{background:var(--ok)}.order-answer[data-state=missed] .tile-mark,.order-slot[data-state=missed] .tile-mark{background:var(--miss)}.order-slot .tile-mark{top:-8px;right:-8px;width:20px;height:20px;border-width:2px}.order-slot .tile-mark .icon{width:11px;height:11px}.order-star-mark{font-family:var(--face-ui);font-size:.8em;color:var(--ink-1)}.order-tokens{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.order-token{min-height:52px;padding:0 var(--sp-3);border:2px solid var(--edge-control);border-radius:12px;background:var(--field);color:var(--ink-1);font-family:var(--face-glyph);font-weight:700;font-size:1.375rem}@media(hover:hover){.order-token:hover:not(:disabled){border-color:var(--ink-1)}}.order-token:disabled{border-style:dotted;background:transparent;color:var(--ink-3);cursor:default}.order-reset{align-self:flex-start;margin-inline-start:-13.5px}.order:not(:has(>.order-reset)):after{content:"";block-size:var(--tap)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:var(--r-chip);border:1.5px solid var(--edge-control);background:var(--panel);color:var(--ink-2);font-size:var(--fs-footnote);font-weight:600;white-space:nowrap}.chip .icon{width:14px;height:14px}.chip--ok{border-color:var(--ok);color:var(--ink-1)}.chip--miss{border-color:var(--miss);color:var(--ink-1)}.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}.pair-cell{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--r-field);border:2px solid var(--edge);background:var(--panel)}.pair-cell--answer{border-color:var(--ok)}.pair-cell--pick{border-color:var(--miss)}.pair-label{display:flex;align-items:center;gap:6px;font-size:var(--fs-footnote);font-weight:600;color:var(--ink-2)}.pair-label .icon{width:16px;height:16px}.pair-cell--answer .pair-label .icon{color:var(--ok)}.pair-cell--pick .pair-label .icon{color:var(--miss)}.pair-glyph{font-family:var(--face-glyph);font-weight:700;font-size:2.25rem;line-height:1.25;overflow-wrap:anywhere}.pair-gloss{font-size:var(--fs-sub);color:var(--ink-2)}.question-scene{align-self:center;width:100%;max-width:320px;margin:0 auto .75rem;padding:.75rem;background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-field)}.question-scene svg{display:block;width:100%;height:auto}.question-scene svg :is(path,circle,ellipse,line,polyline,polygon,rect){stroke:var(--ink-1);fill:none;stroke-linecap:round;stroke-linejoin:round}.bands{display:flex;flex-direction:column;gap:var(--sp-4)}.band{display:flex;flex-direction:column;gap:var(--sp-2)}.band-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px var(--sp-2);font-size:var(--fs-title3)}.band-line{font-size:var(--fs-footnote);font-weight:600;color:var(--ink-3);white-space:nowrap}.band-lock{display:flex;align-items:center;gap:6px;font-size:var(--fs-sub);color:var(--ink-3)}.band-lock .icon{width:16px;height:16px}.band-content{display:flex;flex-direction:column;gap:var(--sp-3)}.band-kind{display:flex;flex-direction:column;gap:var(--sp-1)}.band-kind h3{font-size:var(--fs-sub);font-weight:600;color:var(--ink-2)}.shelf{--mask-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 9.5 12 16l6.5-6.5'/%3E%3C/svg%3E");--mask-chevron-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 5.5 16 12l-6.5 6.5'/%3E%3C/svg%3E");--mask-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5 9.5 17 19 7'/%3E%3C/svg%3E");--mask-cross: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E")}.shelf{margin:0;padding:0;list-style:none;background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-card)}.shelf>:first-child>.shelf-row{border-radius:calc(var(--r-card) - 1px) calc(var(--r-card) - 1px) 0 0}.shelf>:last-child>.shelf-row{border-radius:0 0 calc(var(--r-card) - 1px) calc(var(--r-card) - 1px)}.shelf>:only-child>.shelf-row{border-radius:calc(var(--r-card) - 1px)}.shelf>:last-child>.shelf-row[aria-expanded=true]{border-bottom-left-radius:0;border-bottom-right-radius:0}.shelf-item+.shelf-item{border-top:1px solid var(--edge)}.shelf-row{display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:52px;padding:0 var(--sp-3);border:0;border-radius:0;background:transparent;color:var(--ink-1);font-weight:600;text-align:left}@media(hover:hover){.shelf-row:hover:not(:disabled){background:var(--field)}}.shelf-row:focus-visible{outline-offset:-3px}.shelf-row[aria-expanded=true]{background:var(--field)}.shelf-row:after{content:"";flex:none;width:20px;height:20px;margin-left:var(--sp-1);background:var(--ink-3);-webkit-mask:var(--mask-chevron) center / contain no-repeat;mask:var(--mask-chevron) center / contain no-repeat;transition:transform var(--t-quick) var(--ease-out)}.shelf-row[aria-expanded=true]:after{transform:rotate(180deg)}.shelf-row-label{flex:1;min-width:0}.shelf-row-meta{font-size:var(--fs-sub);font-weight:500;color:var(--ink-3);white-space:nowrap}.shelf-mark{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%}.shelf-mark:before{content:"";width:13px;height:13px;background:var(--panel)}.shelf-mark--ok{background:var(--ok)}.shelf-mark--ok:before{-webkit-mask:var(--mask-check) center / contain no-repeat;mask:var(--mask-check) center / contain no-repeat}.shelf-mark--miss{background:var(--miss)}.shelf-mark--miss:before{-webkit-mask:var(--mask-cross) center / contain no-repeat;mask:var(--mask-cross) center / contain no-repeat}.shelf-row--link:after{-webkit-mask-image:var(--mask-chevron-right);mask-image:var(--mask-chevron-right)}a.shelf-row{text-decoration:none}@media(prefers-reduced-motion:reduce){.shelf-row:after{transition:none}}.shelf-empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--edge);border-radius:var(--r-card);background:var(--panel);color:var(--ink-2);line-height:1.5}.back-link{display:inline-flex;align-items:center;gap:2px;min-height:var(--tap);margin-left:-10px;padding:0 var(--sp-2) 0 6px;border-radius:12px;color:var(--ink-1);font-weight:600;text-decoration:none}.back-link .icon{width:22px;height:22px}@media(hover:hover){.back-link:hover{background:var(--field)}}.table-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--edge);border-radius:var(--r-field);background:var(--panel)}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-sub);line-height:1.4}.data-table :is(th,td){padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--edge)}.data-table tbody tr:last-child :is(th,td){border-bottom:0}.data-table th{font-size:var(--fs-footnote);font-weight:600;color:var(--ink-3);background:var(--field);white-space:nowrap}.data-table td{color:var(--ink-1)}.data-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table-glyph{font-size:var(--fs-body);white-space:nowrap}.ja-phrase{white-space:nowrap}.ride{--ride-gutter: var(--sp-3);display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding:8px;padding-top:calc(8px + env(safe-area-inset-top,0px))}.ride-panel{position:relative;flex:1;display:flex;flex-direction:column;min-height:0;background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-panel);overflow:clip}.ride-panel:before{content:"";flex:none;height:var(--band-h);background:var(--line)}.ride-bar{display:flex;align-items:center;gap:var(--sp-1);min-height:52px;padding:var(--sp-1) var(--ride-gutter) 0 max(0px,calc(var(--ride-gutter) - 16px))}.ride-stop{display:inline-flex;align-items:center;gap:var(--sp-2);font-weight:600;font-size:var(--fs-body);font-variant-numeric:tabular-nums;color:var(--ink-1)}.ride-left{margin-left:auto;font-weight:600;font-size:var(--fs-sub);font-variant-numeric:tabular-nums;color:var(--ink-3);white-space:nowrap}.now-dot{flex:none;width:10px;height:10px;border-radius:3px;background:var(--now);box-shadow:0 0 0 2px var(--now-ring)}.route{--dot: 14px;--marker: 24px;--inset: calc(var(--dot) / 2);position:relative;flex:none;height:28px;margin:var(--sp-2) var(--ride-gutter, var(--sp-3)) 0}.route:has(.route-rail){--inset: calc(var(--marker) / 2 + 3px)}.route-track{position:absolute;top:50%;left:var(--inset);right:var(--inset);height:6px;margin-top:-3px;border-radius:3px;background:var(--track);overflow:hidden}.route-ridden{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--line);transform:translate(calc((var(--at) - 1) * 100%));transition:transform var(--t-move) var(--ease-out)}.route-stops{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;padding-inline:calc(var(--inset) - var(--dot) / 2)}.route-stop{width:var(--dot);height:var(--dot);border-radius:50%;background:var(--panel);border:3px solid var(--track)}.route-stop[data-state=done]{background:var(--line);border-color:var(--line)}.route-stop[data-state=skipped]{border-color:var(--ink-1)}.route[data-drawn=single]{--terminus: calc(var(--marker) / 2 + 3px)}.route[data-drawn=single] .route-track,.route[data-drawn=single] .route-rail{left:0;right:var(--terminus)}.route[data-drawn=single] .route-ridden{display:none}.route[data-drawn=single] .route-stops{justify-content:flex-end;padding-right:calc(var(--terminus) - var(--dot) / 2)}.route[data-drawn=line] .route-stop:last-child{border-color:var(--ink-3)}.route-rail{position:absolute;top:50%;left:var(--inset);right:var(--inset);height:0}.route-mover{position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(calc(var(--at) * 100%));transition:transform var(--t-move) var(--ease-out)}.route-now{position:absolute;top:0;left:0;width:var(--marker);height:var(--marker);margin:calc(var(--marker) / -2) 0 0 calc(var(--marker) / -2);border-radius:8px;background:var(--now);box-shadow:0 0 0 3px var(--now-ring),0 0 0 6px var(--panel)}.route--arrival{--t-move: .64s}.route--arrival .route-ridden,.route--arrival .route-mover{transition-delay:.24s}.ride-stage{flex:1 0 auto;display:flex;flex-direction:column;justify-content:center;gap:var(--sp-3);padding:var(--sp-4) var(--ride-gutter) var(--sp-3)}[data-enter=a]{animation:ride-enter-a var(--t-slide) var(--ease-out) both}[data-enter=b]{animation:ride-enter-b var(--t-slide) var(--ease-out) both}@keyframes ride-enter-a{0%{opacity:.2;transform:translate(40px)}to{opacity:1;transform:none}}@keyframes ride-enter-b{0%{opacity:.2;transform:translate(40px)}to{opacity:1;transform:none}}.ride-ask{font-size:var(--fs-body);color:var(--ink-2);white-space:pre-line}.ride-ask b,.ride-ask strong{color:var(--ink-1)}.headliner{color:var(--ink-1);overflow-wrap:anywhere}.headliner--glyph{font-family:var(--face-glyph);font-weight:700;font-size:8.25rem;line-height:1}.headliner--word{font-family:var(--face-glyph);font-weight:700;font-size:clamp(2.5rem,13vw,4.5rem);line-height:1.1}.headliner--sentence{font-family:var(--face-glyph);font-weight:700;font-size:1.75rem;line-height:1.45;word-break:keep-all}.headliner--clue{font-weight:700;font-size:clamp(2.5rem,12vw,4rem);line-height:1.1;letter-spacing:-.02em}.stage-lead>.headliner--clue[data-long]{font-size:var(--fs-large);line-height:var(--lh-tight)}.headliner--english{font-weight:700;font-size:1.75rem;line-height:1.3;text-wrap:balance}.answer-pair{display:flex;align-items:flex-end;flex-wrap:wrap;gap:var(--sp-1) var(--sp-3)}.answer-pair-gloss{font-size:2rem;font-weight:600;line-height:1.2;color:var(--ink-2);padding-bottom:.35em}.ride-controls{position:sticky;bottom:var(--kb-inset, 0px);z-index:2;display:flex;flex-direction:column;gap:12px;padding:var(--sp-2) var(--ride-gutter) calc(var(--sp-3) + max(0px,var(--safe-bottom) - var(--kb-inset, 0px)));background:var(--panel)}.pager-status{display:flex;align-items:center;gap:var(--sp-2);min-height:var(--tap)}.pager-status .why{flex:1;justify-content:flex-end;text-align:right}.pager-back{flex:none;border:0;background:none;font:inherit;font-weight:600;cursor:pointer}.pager-back:disabled{visibility:hidden}.dock-ask{display:flex;flex-direction:column;gap:var(--sp-2)}.ride-note{font-size:var(--fs-sub);color:var(--ink-3);line-height:1.45}@media(min-width:1024px){.ride{--ride-gutter: var(--sp-6);padding:var(--sp-4);align-items:center}.ride-panel{width:min(640px,100%);min-height:calc(100dvh - 48px);box-shadow:var(--shadow-raise)}.ride-controls{padding-bottom:var(--sp-5)}}@media(prefers-reduced-motion:reduce){.route-ridden,.route-mover{transition:none}.route--arrival .route-ridden,.route--arrival .route-mover{transition-delay:0s}[data-enter=a]{animation:ride-fade-a var(--t-quick) linear both}[data-enter=b]{animation:ride-fade-b var(--t-quick) linear both}}@keyframes ride-fade-a{0%{opacity:0}to{opacity:1}}@keyframes ride-fade-b{0%{opacity:0}to{opacity:1}}.ride-close-space{flex:none;width:var(--tap);height:var(--tap)}:root[data-kb-open] .ride,:root[data-kb-open] .ride-panel{min-height:0}:root[data-kb-open] .ride-stage{flex:none}:root[data-kb-open] .ride-controls{position:static}:root[data-kb-open] .ride .route{display:none}.ride-notes{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-3) var(--ride-gutter) 0}.ride-panel>.ride-intro{padding:var(--sp-2) var(--ride-gutter) 0;font-size:var(--fs-footnote)}.ride-intro .now-dot{display:inline-block;margin:0 2px;vertical-align:-1px}.ride-state{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-5) var(--ride-gutter)}.review-card{flex:1 0 auto;display:flex;flex-direction:column}.ride--review .ride-controls{justify-content:flex-end;min-height:calc(116px + var(--sp-2) + var(--sp-3) + var(--safe-bottom))}@media(min-width:1024px){.ride--review .ride-controls{min-height:calc(116px + var(--sp-2) + var(--sp-5))}}.ride--review:has(.review-card[data-graded] .answer-field) .ride-controls{min-height:0}html:has(.ride--review){scroll-padding-bottom:calc(116px + var(--sp-2) + var(--sp-3) + var(--safe-bottom))}.review-stage{flex:1 0 auto;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4) var(--ride-gutter) var(--sp-2)}.review-stage:before{content:"";flex:1 1 0;margin-bottom:calc(var(--sp-3) * -1)}.stage-ask{display:flex;flex-direction:column;gap:var(--sp-2)}.stage-verdict{flex:1 1 0;display:flex;flex-direction:column}.review-stage[data-held]:before{flex:0 0 var(--lead-room, 0px)}.stage-lead{display:flex;flex-direction:column;gap:var(--sp-2)}.stage-note{margin-top:var(--sp-1)}.stage-audio .audio-button{min-height:64px;padding:0 28px 0 20px;border-width:2px;font-size:var(--fs-title3)}.stage-audio .audio-button .icon{width:26px;height:26px}.answer-pair{display:flex;align-items:flex-end;flex-wrap:wrap;column-gap:var(--sp-3);row-gap:var(--sp-1)}.answer-pair-main{display:inline-flex;align-items:flex-end;gap:var(--sp-2)}.answer-pair>.review-answer{align-self:center;padding-bottom:0}.answer-pair .headliner--clue,.answer-pair-gloss{font-family:var(--face-ui);font-size:2rem;font-weight:600;line-height:1.2;letter-spacing:0;color:var(--ink-2);padding-bottom:.35em}.review-answer{display:flex;flex-direction:column;gap:2px;padding-bottom:.4em}.answer-reading{font-size:2.5rem;font-weight:700;line-height:1.15;color:var(--ink-1)}.answer-reading:lang(ja){font-family:var(--face-glyph);font-weight:700}.review-answer .answer-reading{font-size:3rem}.answer-meaning{font-size:var(--fs-title3);color:var(--ink-2)}.stage-frame{font-size:var(--fs-body);color:var(--ink-2)}.stage-frame-run{font-family:var(--face-glyph);font-weight:400;font-size:1.25rem;color:var(--ink-2);white-space:nowrap}.review-card[data-graded=missed] .stage-lead>.headliner--sentence,.review-card[data-graded=missed] .stage-lead>.headliner--english{font-size:var(--fs-title3);font-weight:600;color:var(--ink-2)}.q-clue{font-size:var(--fs-body);color:var(--ink-2)}.q-clue strong{color:var(--ink-1)}.stage-answer{flex:none;display:flex;flex-direction:column;gap:12px}@media(hover:none)and (pointer:coarse){.ride--review:has(.answer-field) .review-card,.ride--review:has(.answer-field) .review-stage{flex:none}.review-stage:has(.answer-field):before,.review-stage:has(.answer-field) .stage-verdict{flex:none}.ride--review:has(.answer-field) .ride-controls{position:static;min-height:0}:root[data-kb-open] .ride--review:has(.answer-field) .route{display:block}:root[data-kb-open] .ride--review:has(.answer-field){min-height:100vh;min-height:100dvh}}.review-card[data-graded] .stage-answer .tile{cursor:default}.review-hint{font-size:var(--fs-sub);font-weight:600;line-height:1.4;color:var(--ink-2);text-align:center}.review-hint-sub{display:block;font-size:var(--fs-footnote);font-weight:400;line-height:1.35;color:var(--ink-3)}.answer-help--typed{font-size:var(--fs-footnote);font-weight:700;color:var(--ink-2)}.cloze-gap-run{white-space:nowrap}.cloze-gap{display:inline-block;inline-size:2.5em;block-size:1em;margin-inline:.15em;border-bottom:3px solid var(--ink-2);vertical-align:-.12em}.feedback-when{margin-top:calc(-1 * var(--sp-1))}.grades{display:flex;gap:12px}.grade:first-child{margin-inline-end:12px}@media(max-width:359px){.grades{flex-wrap:wrap}.grades .grade{flex-basis:calc(50% - 6px)}.grade:first-child{margin-inline-end:0}}.grade{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:64px;padding:var(--sp-1);border:2px solid var(--edge-control);border-radius:var(--r-control);background:var(--field);color:var(--ink-1)}@media(hover:hover){.grade:hover:not(:disabled){border-color:var(--ink-1);background:var(--panel)}}.grade:disabled{color:var(--ink-3);cursor:progress}.grade[data-chosen]{background:var(--button);border-color:var(--button);color:var(--button-ink)}.grade-plain{font-weight:700;font-size:var(--fs-body);line-height:1.2}.arrival{justify-content:center;gap:var(--sp-2)}.arrival-title{font-size:var(--fs-large);letter-spacing:-.02em}.arrival-undo{margin-inline-start:-12px}.arrival-lead{font-size:var(--fs-title3);font-weight:600;color:var(--ink-1)}.arrival-tally{color:var(--ink-1);max-width:36ch;font-variant-numeric:tabular-nums}.arrival-next{color:var(--ink-2);max-width:36ch;text-wrap:pretty}.ride--review .ride-controls .button--quiet{align-self:center}.answer-pair-aside{display:inline-flex;flex-direction:column;gap:2px;padding-bottom:.4em}.today{display:flex;flex-direction:column;gap:var(--sp-4)}.page-date{font-size:var(--fs-sub);color:var(--ink-3)}.departure-body{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-3) var(--sp-3) var(--sp-3)}@media(max-width:1023px){.departure-body{min-height:26.5rem}}@media(max-width:374px){.departure-body{gap:var(--sp-3)}}.line-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--sp-2);min-height:32px;padding:0 12px 0 8px;border-radius:var(--r-chip);background:var(--field);font-size:var(--fs-sub);font-weight:700;color:var(--ink-1);white-space:nowrap}.line-badge-dot{width:14px;height:14px;border-radius:50%;background:var(--panel);border:3.5px solid var(--line)}.departure-sign{display:flex;flex-direction:column;gap:var(--sp-3);container-type:inline-size}.departure-sign .route{margin:0 4px}.departure-dest{--dest-size: clamp(3rem, 1.5rem + 7vw, 3.5rem);font-size:var(--dest-size);font-weight:700;line-height:1.15;letter-spacing:-.02em;text-wrap:balance;overflow-wrap:anywhere}.departure-dest--long{--dest-size: clamp(2.1875rem, 1rem + 5vw, 2.75rem)}.departure-dest--ja{font-size:min(var(--dest-size),100cqi / (var(--phrase) + .25))}.departure-dest :lang(ja){letter-spacing:0}.departure-dest-part{display:block;margin-top:.1em;font-size:.5em;line-height:1.2;font-weight:600;letter-spacing:0;color:var(--ink-2);white-space:nowrap}.departure-line{font-size:var(--fs-body);line-height:1.45;color:var(--ink-2);max-width:36ch}.departure-dest--count .departure-count{display:block;font-size:clamp(3.5rem,1.5rem + 10vw,4.5rem);line-height:1;font-variant-numeric:tabular-nums}.departure-dest--count .departure-unit{display:block;font-size:var(--fs-large);line-height:1.2}.departure-coming{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3) var(--sp-3)}.timetable-why,.timetable-note{margin-top:var(--sp-1)}.departure-coming-title{font-size:var(--fs-sub);font-weight:600;color:var(--ink-3)}.timetable{margin:0;border-top:1px solid var(--edge)}.timetable-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding:10px 0;border-bottom:1px solid var(--edge);font-size:var(--fs-body)}.timetable-row dt{color:var(--ink-2)}.timetable-row dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;color:var(--ink-1)}.departure-go{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:auto}.loading-block{display:block;border-radius:10px;background:var(--field)}.loading-block--dest{width:70%;height:3rem}.loading-block--line{width:45%;height:1.25rem}.loading-slot{display:block;min-height:var(--primary-h);border:1.5px dashed var(--edge-control);border-radius:var(--r-control);background:var(--field)}.departure-reserve{display:block;min-height:calc(2 * var(--fs-sub) * 1.45)}.departure-go .button span{overflow-wrap:anywhere}.dashboard-next-hint{max-width:44ch}.state-block{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-3)}.today-context{display:flex;flex-direction:column;gap:var(--sp-4)}.stats-panel,.forecast{padding:var(--sp-3)}.stats-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 var(--sp-2);margin-bottom:var(--sp-2)}.stats-head h2,.forecast h2,.more-practice h2{font-size:var(--fs-title3)}.stats-help{margin-inline-start:calc(-1 * var(--sp-2))}.stats-help summary{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 var(--sp-2);border-radius:12px;font-size:var(--fs-sub);font-weight:600;color:var(--ink-1);text-decoration:underline;text-decoration-color:var(--ink-3);text-underline-offset:.2em;white-space:nowrap;cursor:pointer;list-style:none}.stats-help summary::-webkit-details-marker{display:none}.stats-help[open] summary{text-decoration-color:currentColor}.stats-help summary .fold-chevron{margin-left:2px;color:var(--ink-3);transition:transform var(--t-quick) var(--ease-out)}.stats-help[open] summary .fold-chevron{transform:rotate(180deg)}@media(prefers-reduced-motion:reduce){.stats-help summary .fold-chevron{transition:none}}.stats-panel:has(.stats-help:not([open])) .stat-explain:not(.stat-explain--always){display:none}.stats{margin:0}.stats-fresh{margin-bottom:var(--sp-2);font-size:var(--fs-body);line-height:1.45;color:var(--ink-2)}.stats-panel[data-fresh] .stat--after-first{display:none}.stat{display:grid;grid-template-columns:1fr auto;column-gap:var(--sp-3);align-items:baseline;padding:12px 0;border-top:1px solid var(--edge)}.stat:first-child{border-top:0}.stat dt{font-size:var(--fs-body);color:var(--ink-2)}.stat-value{font-size:var(--fs-title3);font-weight:700;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.stat-explain{grid-column:1 / -1;margin-top:2px;font-size:var(--fs-sub);line-height:1.45;color:var(--ink-3)}.forecast-legend{margin-top:var(--sp-1)}.due-forecast-row{list-style:none;margin:var(--sp-4) 0 0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--sp-1);align-items:end;height:150px}.due-forecast-row [data-testid=forecast-day]{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%}.forecast-count{font-size:var(--fs-footnote);font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink-1)}.forecast-bar{display:block;width:12px;min-height:4px;border-radius:6px 6px 3px 3px;background:var(--edge-control)}.forecast-label{font-size:var(--fs-caption);font-weight:600;color:var(--ink-3)}.due-forecast-row [data-testid=forecast-day]:first-child .forecast-bar{background:var(--line)}.due-forecast-row [data-testid=forecast-day]:first-child .forecast-label{color:var(--ink-1)}.more-practice{display:flex;flex-direction:column}.more-practice h2{margin-bottom:var(--sp-2)}.row-link{display:flex;align-items:center;gap:var(--sp-3);min-height:64px;padding:12px var(--sp-3);border:1px solid var(--edge);border-bottom-width:0;background:var(--panel);color:var(--ink-1);text-decoration:none}.row-link:first-of-type{border-radius:var(--r-card) var(--r-card) 0 0}.row-link:last-of-type{border-bottom-width:1px;border-radius:0 0 var(--r-card) var(--r-card)}@media(hover:hover){.row-link:hover{background:var(--field)}}.row-link:focus-visible{outline-offset:-3px}.row-link .icon{margin-left:auto;color:var(--ink-3)}.row-link-text{display:flex;flex-direction:column;gap:2px}.dashboard-card-title{font-weight:700}.dashboard-card-when{font-size:var(--fs-sub);line-height:1.4;color:var(--ink-3)}@media(min-width:1024px){.today{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:var(--sp-5);row-gap:var(--sp-4);align-items:start;max-width:1120px}.page-head{grid-column:1 / -1}.departure{position:sticky;top:var(--sp-6)}.departure-body{padding:var(--sp-4)}.departure-coming{padding:0 var(--sp-4) var(--sp-4)}}.today-context .forecast{order:-1}.lesson-body{flex:1 0 auto;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4) var(--ride-gutter) var(--sp-5)}.lesson-title{font-size:var(--fs-title1);letter-spacing:-.015em}.lesson-explanation{font-size:1.125rem;line-height:1.6;color:var(--ink-1);max-width:var(--measure);white-space:pre-line}.learned{display:flex;flex-direction:column;gap:12px;margin-top:var(--sp-2)}.learned-head{display:flex;align-items:baseline;gap:var(--sp-2)}.learned-title{font-size:var(--fs-title3);font-weight:700}.learned-count{font-size:var(--fs-sub);font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink-3)}.lesson-practice-note{margin-top:var(--sp-2);color:var(--ink-2);max-width:var(--measure)}.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:var(--sp-2)}.item-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 10px 12px;border:1px solid var(--edge);border-radius:var(--r-control);background:var(--panel);container-type:inline-size}.item-display{font-family:var(--face-glyph);font-weight:700;font-size:min(3rem,88cqi / var(--chars, 1));line-height:1.1;color:var(--ink-1);white-space:nowrap}.item-grid:has(.item-card--word){grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr))}.item-reading{font-family:var(--face-glyph);font-weight:700;font-size:var(--fs-body);color:var(--ink-2)}.item-meaning{font-size:var(--fs-sub);color:var(--ink-2);text-align:center}.item-card:has(.kanji-detail){grid-column:span 2;align-items:stretch}.kanji-detail{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-1)}.stroke-order{align-self:center;width:116px;height:116px;padding:8px;background:var(--panel);border:1px solid var(--edge);border-radius:12px}.stroke-order svg{width:100%;height:100%}.stroke-order svg path{stroke:var(--ink-1)}.stroke-order svg text{fill:var(--ink-3)}.kanji-readings{display:flex;flex-direction:column;gap:2px;margin:0;font-size:var(--fs-sub)}.kanji-readings>div{display:flex;gap:var(--sp-2)}.kanji-readings dt{flex:0 0 3.5rem;color:var(--ink-3);font-weight:600}.kanji-readings dd{font-family:var(--face-glyph);font-weight:700;color:var(--ink-1)}.kanji-meanings{display:flex;flex-wrap:wrap;gap:2px 0;margin:0;padding:0;list-style:none;font-size:var(--fs-sub);color:var(--ink-2)}.kanji-meanings li:not(:last-child):after{content:"·";margin:0 6px;color:var(--ink-3)}.kanji-components{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.kanji-components li{font-family:var(--face-glyph);font-weight:700;font-size:1.25rem;line-height:1;padding:6px 8px;border:1.5px solid var(--edge-control);border-radius:8px;background:var(--panel)}.item-card--grammar{grid-column:1 / -1;align-items:stretch;padding:var(--sp-3)}.grammar-detail{display:flex;flex-direction:column;gap:var(--sp-2);text-align:left}.grammar-detail p{margin:0}.grammar-detail-pattern{font-family:var(--face-glyph);font-weight:700;font-size:var(--fs-title1);line-height:1.5;letter-spacing:-.015em;color:var(--ink-1);overflow-wrap:anywhere}.pattern-slot{display:inline-block;min-inline-size:1.6em;padding:0 .2em;margin-inline:.15em;border-bottom:3px solid var(--ink-2);font-family:var(--face-ui);font-weight:600;font-size:var(--fs-body);line-height:1.3;letter-spacing:0;text-align:center;color:var(--ink-3)}.pattern-slot--blank{inline-size:2.5em;block-size:1em;vertical-align:-.12em}.grammar-detail-formation{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-body);line-height:1.5;color:var(--ink-1)}.grammar-detail-label{font-size:var(--fs-sub);font-weight:600;color:var(--ink-3)}.grammar-detail-point{font-size:var(--fs-sub);color:var(--ink-3)}.grammar-detail-glyph{font-family:var(--face-glyph);font-weight:700;color:var(--ink-2)}.grammar-detail-point :lang(ja){font-family:var(--face-glyph);font-weight:700}.grammar-detail-note summary{display:flex;align-items:center;min-height:var(--tap);cursor:pointer;font-size:var(--fs-sub);font-weight:600;color:var(--ink-2)}.grammar-detail-note p{margin-top:var(--sp-1);font-size:var(--fs-body);line-height:1.5;color:var(--ink-1)}.round-note{color:var(--ink-2)}.practice-list{display:flex;flex-direction:column;gap:var(--sp-3);margin:0;padding:0;list-style:none}.practice-card{display:flex;flex-direction:column;gap:12px;padding:var(--sp-3);border:1px solid var(--edge);border-radius:var(--r-card);background:var(--panel)}.lesson-practice .practice-list{flex:1 0 auto}.lesson-practice .practice-card{flex:1 0 auto;padding:0;border:0;border-radius:0;background:none}.lesson-practice .practice-card>.tiles{margin-top:0;padding-top:var(--sp-3)}.lesson-practice .practice-card>.practice-verdict{flex:1 1 0;display:flex;flex-direction:column}.lesson-practice .practice-card:has(>.practice-prompt--cued):before{content:"";flex:1 1 0;margin-bottom:-12px}.lesson-practice .practice-card>.practice-prompt--cued{margin-block:0}.practice-prompt{font-size:var(--fs-body);font-weight:600;color:var(--ink-1)}.selfrate-prompt{font-family:var(--face-glyph);font-weight:700;font-size:3rem;line-height:1.1}.selfrate-answer{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-1) var(--sp-3)}.selfrate-meaning{font-size:var(--fs-title3);font-weight:600;color:var(--ink-2)}.selfrate-rates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}.selfrate-rates .grade[aria-pressed=true]{border-color:var(--ink-1);background:var(--panel);box-shadow:inset 0 0 0 2px var(--ink-1)}.practice-card .verdict{font-size:var(--fs-body)}.practice-correct,.practice-incorrect{margin-top:var(--sp-2)}.quiz-hint{margin-bottom:calc(-1 * var(--sp-1))}.practice-card .verdict :lang(ja){font-family:var(--face-glyph);font-weight:700}.lesson .dock{border-top:1px solid var(--edge)}.lesson-complete{align-self:center}.checkpoint-body,.reteach-body{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4) var(--ride-gutter) var(--sp-5)}.checkpoint-body{flex:1 0 auto}.checkpoint-intro{display:flex;flex-direction:column;gap:var(--sp-2);color:var(--ink-2)}.checkpoint-confirm{display:flex;flex-direction:column;gap:var(--sp-2)}.checkpoint .ride-controls[data-last]{justify-content:flex-end;min-height:calc(2 * var(--fs-sub) * var(--lh-body) + 3 * var(--sp-2) + 2 * var(--primary-h) + var(--sp-3) + var(--safe-bottom) + 1px)}@media(min-width:1024px){.checkpoint .ride-controls[data-last]{min-height:calc(2 * var(--fs-sub) * var(--lh-body) + 3 * var(--sp-2) + 2 * var(--primary-h) + var(--sp-5) + 1px)}}.question-list{display:flex;flex-direction:column;gap:var(--sp-3);margin:var(--sp-2) 0 0;padding:0;list-style:none}.question-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:var(--sp-3);padding-top:calc(var(--sp-3) + 4px);border:1px solid var(--edge);border-radius:var(--r-card);background:var(--panel)}.question-number{align-self:flex-start;display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:var(--r-chip);border:1.5px solid var(--edge-control);font-size:var(--fs-footnote);font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink-2)}.question-card[data-answered=true] .question-number{border-color:var(--ink-1);box-shadow:inset 0 0 0 1px var(--ink-1);color:var(--ink-1)}.checkpoint .question-list{flex:1 0 auto}.checkpoint .question-card{flex:1 0 auto;padding:0;border:0;border-radius:0;background:none}.checkpoint .question-number{display:none}.checkpoint .q-tiles{margin-top:auto;padding-top:var(--sp-3)}.checkpoint .q-prompt--cued,.reteach .practice-prompt--cued,.lesson .practice-prompt--cued{margin-block:auto;font-weight:400;color:var(--ink-2)}.checkpoint .q-prompt--cued~.q-tiles,.reteach .practice-prompt--cued~.tiles,.lesson .practice-prompt--cued~.tiles{margin-top:0}.checkpoint .q-cue,.reteach .q-cue,.lesson .q-cue{display:block;margin-top:var(--sp-1);font-size:clamp(2.5rem,12vw,4rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--ink-1);overflow-wrap:anywhere;text-wrap:balance}.checkpoint .q-cue[data-long],.reteach .q-cue[data-long],.lesson .q-cue[data-long]{font-size:var(--fs-large);line-height:var(--lh-tight)}.checkpoint .q-cue :lang(ja),.reteach .q-cue :lang(ja),.lesson .q-cue :lang(ja){letter-spacing:0}.reteach .practice-card:has(>.practice-verdict>.verdict--miss) .q-cue{font-size:var(--fs-large);line-height:var(--lh-tight);color:var(--ink-2)}.reteach .practice-card>.practice-verdict>.verdict--miss .verdict-detail :lang(ja){font-family:var(--face-glyph);font-size:var(--fs-title2);line-height:1.2}.checkpoint .q-mark{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.q-prompt{font-size:var(--fs-body);font-weight:600;line-height:1.45;color:var(--ink-1)}.q-prompt :lang(ja),.q-prompt:lang(ja){font-family:var(--face-glyph);font-weight:700}.q-prompt:lang(ja) :lang(en){font-family:var(--face-ui)}.question-card .answer,.reteach .answer{display:flex;flex-direction:column;gap:var(--sp-2)}.result{display:flex;flex-direction:column;gap:var(--sp-4);max-width:760px}.checkpoint-arrival .result{max-width:none;padding:0 var(--ride-gutter) var(--sp-6)}.result-head{display:flex;flex-direction:column;gap:var(--sp-1);padding-top:var(--sp-3)}.result-mark{display:grid;place-items:center;width:48px;height:48px;margin-bottom:var(--sp-2);border-radius:50%;background:var(--field);color:var(--ink-1)}.result-mark--ok{background:var(--ok);border-color:var(--ok);color:var(--panel)}.result-mark .icon{width:26px;height:26px}.result-head h1{font-size:var(--fs-large);letter-spacing:-.02em}.result-score{font-size:var(--fs-title3);font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink-1)}.result-cleared{font-size:var(--fs-body);font-weight:600;color:var(--ink-1)}.arrival-line{display:flex;flex-direction:column;gap:var(--sp-1)}.arrival-line .route{margin-inline:0}.arrival-labels{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-footnote);line-height:1.4;color:var(--ink-2)}.arrival-labels--end{justify-content:flex-end}.arrival-station{display:inline-flex;align-items:baseline;gap:var(--sp-1);min-width:0}.arrival-station:last-child:not(:first-child){text-align:right}.arrival-station .icon{flex:none;width:14px;height:14px;align-self:center}.result-next-body .arrival-line{margin-bottom:var(--sp-1)}.result-why{font-weight:600;color:var(--ink-1)}.result-rule{color:var(--ink-2)}.result-next-body{display:flex;flex-direction:column;gap:var(--sp-2)}.result-next-title{font-size:var(--fs-title2);font-weight:700;line-height:1.3;color:var(--ink-1)}.result-next-body .button{margin-top:var(--sp-2)}.skills{padding:var(--sp-3)}.skills h2,.study-title{font-size:var(--fs-title3)}.skill-rows{margin:var(--sp-2) 0 0;padding:0;list-style:none}.skill-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--sp-3);min-height:52px;border-top:1px solid var(--edge)}.skill-row:first-child{border-top:0}.skill-name{font-weight:600}.skill-score{font-weight:700;font-size:var(--fs-title3)}.study{display:flex;flex-direction:column;gap:var(--sp-3)}.study-cards{display:flex;flex-direction:column;gap:var(--sp-3);margin:0;padding:0;list-style:none}.study-card{display:flex;flex-direction:column;gap:12px;padding:var(--sp-3);border:1px solid var(--edge);border-radius:var(--r-card);background:var(--panel);text-align:left}.study-prompt{font-weight:600;color:var(--ink-1)}.study-prompt :lang(ja){font-family:var(--face-glyph);font-weight:700}.study-card .pair-cell:only-child{grid-column:1 / -1}.study-card .cue :lang(ja){font-family:var(--face-glyph);font-weight:700}.hits,.flagged{border:1px solid var(--edge);border-radius:var(--r-card);background:var(--panel)}.hits-summary{display:flex;align-items:center;gap:var(--sp-2);min-height:52px;padding:0 var(--sp-3);font-weight:600;cursor:pointer;list-style:none}.hits-summary::-webkit-details-marker{display:none}.hits-summary .icon{color:var(--ok)}.hits-summary:focus-visible{outline-offset:-3px}.hits-summary .fold-chevron{margin-left:auto;color:var(--ink-3);transition:transform var(--t-quick) var(--ease-out)}details[open]>.hits-summary .fold-chevron{transform:rotate(180deg)}@media(prefers-reduced-motion:reduce){.hits-summary .fold-chevron{transition:none}}.hit-rows{margin:0;padding:0 var(--sp-3) var(--sp-3);list-style:none}.hit-row{padding:10px 0;border-top:1px solid var(--edge);color:var(--ink-2)}.result-more{display:flex;flex-direction:column;gap:var(--sp-2)}.result-alt{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.reteach-note{display:flex;flex-direction:column;gap:var(--sp-1)}.reteach-note-label{font-size:var(--fs-footnote);font-weight:600;color:var(--ink-3)}.reteach-explanation{font-size:var(--fs-sub);line-height:1.45;color:var(--ink-2);max-width:var(--measure);white-space:pre-line}.reteach-body,.reteach-ride .practice-list{flex:1 0 auto}.reteach .practice-card{flex:1 0 auto;padding:0;border:0;border-radius:0;background:none}.reteach .practice-card>.tiles{margin-top:auto;padding-top:var(--sp-3)}.reteach .practice-card:has(>.tiles)>.practice-verdict{flex:2 1 0;display:flex;flex-direction:column}.reteach .practice-card:has(>.tiles):has(>.practice-prompt--cued):before{content:"";flex:1 1 0;margin-bottom:-12px}.reteach .practice-card:has(>.tiles)>.practice-prompt--cued{margin-block:0}.reteach .practice-card:not(:has(>.tiles))>.practice-verdict:empty{display:none}.reteach-tally{font-size:var(--fs-title2);font-weight:700;color:var(--ink-1)}.reteach-tally-note{margin-top:calc(-1 * var(--sp-2))}.reteach-misses h2,.reteach-sheet h2{font-size:var(--fs-title3)}.reteach-sheet-groups{display:flex;flex-direction:column;gap:var(--sp-4);margin-top:var(--sp-2)}.reteach-sheet-list{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:var(--sp-2);margin:0;padding:0;list-style:none}.reteach-pair{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:3.5rem;max-width:100%;padding:6px 12px 8px;border-radius:var(--r-field);background:var(--field)}.reteach-pair-answer{font-size:1.75rem;font-weight:700;line-height:1.15;color:var(--ink-1);overflow-wrap:anywhere}.reteach-pair-answer:lang(ja){font-family:var(--face-glyph)}.reteach-pair-cue{font-size:var(--fs-sub);font-weight:600;color:var(--ink-2)}.reteach-miss-rows{display:grid;grid-template-columns:fit-content(50%) minmax(0,1fr);column-gap:var(--sp-3);margin:var(--sp-2) 0 0;padding:0;list-style:none}.reteach-miss{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;align-items:center;min-height:60px;padding:var(--sp-2) 0;border-top:1px solid var(--edge)}.reteach-miss-answer{min-width:2.75rem;font-size:1.75rem;font-weight:700;line-height:1.15;color:var(--ink-1);overflow-wrap:anywhere}.reteach-miss-answer:lang(ja){font-family:var(--face-glyph)}.reteach-miss-about{display:flex;flex-direction:column;gap:2px;min-width:0}.reteach-miss-clue{font-weight:600;color:var(--ink-1);overflow-wrap:anywhere}.reteach-miss-given{font-size:var(--fs-sub);color:var(--ink-2)}.reteach-miss-given :lang(ja),.reteach-miss-clue :lang(ja){font-family:var(--face-glyph);font-weight:700}@media(min-width:1024px){.result{margin:0 auto}}.miss-row{display:flex;flex-direction:column;gap:var(--sp-1);padding:12px var(--sp-3);border:1px solid var(--edge);border-radius:var(--r-card);background:var(--panel)}.miss-row-line{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:baseline;gap:var(--sp-1) var(--sp-4)}.miss-row-cell{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:6px;min-width:0}.miss-row-value{grid-column:2;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;min-width:0}.miss-row-cell--answer .icon{color:var(--ok)}.miss-row-cell--pick .icon{color:var(--miss)}.miss-row-label{font-size:var(--fs-sub);color:var(--ink-3)}.miss-row-glyph{font-family:var(--face-glyph);font-weight:700;font-size:1.5rem;color:var(--ink-1)}.miss-row-open{font-size:var(--fs-sub);color:var(--ink-2)}.result-score-pct{color:var(--ink-3);font-weight:600}.result-other{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-3)}.result-other-title{font-size:var(--fs-body);color:var(--ink-2)}.result-continue{align-self:center}.study-more>summary{border:1px solid var(--edge);border-radius:var(--r-card);background:var(--panel)}.study-more[open]>summary{margin-bottom:var(--sp-3)}.course{display:flex;flex-direction:column;gap:var(--sp-3);max-width:720px}.course .page-head h1{font-size:var(--fs-large);letter-spacing:-.02em}.course-intro{color:var(--ink-2)}.route-map{margin:var(--sp-2) 0 0;padding:var(--sp-3) var(--sp-3) var(--sp-1);list-style:none;background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-card)}.station{position:relative;display:flex;gap:var(--sp-3);min-height:80px;padding-bottom:var(--sp-3)}.station:before{content:"";position:absolute;left:13px;top:30px;bottom:-2px;width:6px;border-radius:3px;background:var(--track)}.station:last-child:before{display:none}.station[data-state=complete]:before{background:var(--line)}.station-mark{position:relative;z-index:1;flex:none;width:32px;height:32px;margin-top:2px;border-radius:50%;border:4px solid var(--edge-control);background:var(--panel)}.station[data-state=complete] .station-mark{border-color:var(--line);background:var(--line)}.station[data-state=active] .station-mark{border-radius:10px;border:3px solid var(--now-ring);background:var(--now);box-shadow:0 0 0 4px var(--panel)}.station[data-state=locked] .station-mark{border-style:dashed}.station-text{display:flex;flex:1;flex-direction:column;gap:2px;padding-top:4px;min-width:0}.level-title{font-size:var(--fs-title3);font-weight:700;line-height:1.3;color:var(--ink-1)}.station-line{font-size:var(--fs-sub);font-weight:600;color:var(--ink-3)}.level-state{display:inline-flex;align-items:center;gap:6px;margin-top:2px;font-size:var(--fs-sub);color:var(--ink-2)}.level-state .icon{width:16px;height:16px}.station[data-state=complete] .level-state .icon{color:var(--ok)}.station[data-state=active] .level-state{color:var(--ink-1);font-weight:600}.station[data-state=active]{padding-bottom:var(--sp-4)}.station[data-state=locked] .level-title{color:var(--ink-2)}.station-lessons{margin-top:var(--sp-1)}.station-lessons>summary{display:inline-flex;align-items:center;gap:2px;min-height:var(--tap);font-size:var(--fs-sub);font-weight:600;color:var(--ink-1);text-decoration:underline;text-decoration-color:var(--ink-3);text-underline-offset:.2em;cursor:pointer;list-style:none}.station-lessons>summary::-webkit-details-marker{display:none}.station-lessons[open]>summary{text-decoration-color:currentColor}.station-lessons>summary .fold-chevron{color:var(--ink-3);transition:transform var(--t-quick) var(--ease-out)}.station-lessons[open]>summary .fold-chevron{transform:rotate(180deg)}@media(prefers-reduced-motion:reduce){.station-lessons>summary .fold-chevron{transition:none}}.station-lesson-list.shelf{border:0;border-top:1px solid var(--edge);border-bottom:1px solid var(--edge);border-radius:0;background:transparent}.station-lesson-list.shelf>li>.shelf-row{padding:0 var(--sp-1);border-radius:0}.station-lessons-ahead{margin-top:var(--sp-2);font-size:var(--fs-sub);color:var(--ink-2)}.course-lessons-error{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3)}.practice{display:flex;flex-direction:column;gap:var(--sp-3);max-width:720px}.lines{display:flex;gap:4px;padding:4px;border:1px solid var(--edge);border-radius:var(--r-control);background:var(--field)}.lines-item{position:relative;display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-height:var(--tap);padding:0 var(--sp-2);border-radius:12px;color:var(--ink-2);font-size:var(--fs-sub);font-weight:600;line-height:1.15;text-align:center;text-decoration:none;white-space:nowrap}@media(hover:hover){.lines-item:hover{color:var(--ink-1)}}.lines-item[aria-current=page]{background:var(--panel);color:var(--ink-1);font-weight:700;box-shadow:inset 0 0 0 1px var(--edge)}.lines-item[aria-current=page]:after{content:"";position:absolute;bottom:5px;left:50%;width:20px;height:3px;margin-left:-10px;border-radius:2px;background:var(--line)}.lines-item:focus-visible{outline-offset:-3px}@media(min-width:1024px){.lines{display:none}}.drill{display:flex;flex-direction:column}.drill-bar{display:flex;align-items:center;gap:var(--sp-1);min-height:44px;padding:var(--sp-2) var(--sp-3) 0}.drill-stage{flex:1 0 auto;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3) var(--sp-2)}.drill-stage:before{content:"";flex:1 1 0;margin-bottom:calc(var(--sp-3) * -1)}.drill-stage>.ride-ask{margin-bottom:calc(var(--sp-2) * -1)}.drill-verdict{flex:1 1 0;display:flex;flex-direction:column;margin-top:calc(var(--sp-3) * -1);min-height:calc(var(--sp-3) + var(--fs-body) * 1.4)}.drill-verdict>:first-child{margin-top:var(--sp-3)}.drill-stage[data-held]:before{flex:0 0 var(--lead-room, 0px)}.drill-controls{scroll-margin-bottom:calc(var(--tabbar-h) + var(--safe-bottom) + var(--sp-3));display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3) var(--sp-3);background:var(--panel)}.drill-stage[data-enter=a]{animation:ride-enter-a var(--t-slide) var(--ease-out) both}.drill-stage[data-enter=b]{animation:ride-enter-b var(--t-slide) var(--ease-out) both}@media(prefers-reduced-motion:reduce){.drill-stage[data-enter=a]{animation:ride-fade-a var(--t-quick) linear both}.drill-stage[data-enter=b]{animation:ride-fade-b var(--t-quick) linear both}}.drill-arrival{flex:1 0 auto;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4) var(--sp-3) var(--sp-3)}.drill-arrival h2{font-size:var(--fs-title1)}.drill-score{font-size:var(--fs-title3);color:var(--ink-2)}.drill-score strong{color:var(--ink-1)}.drill-arrival .button{margin-top:auto}.drill-empty{padding:var(--sp-3);border:1px solid var(--edge);border-radius:var(--r-card);background:var(--panel);color:var(--ink-2)}@media(max-width:1023px){.drill{min-height:max(24rem,calc(100svh - 340px))}}@media(min-width:1024px){.drill-bar,.drill-stage,.drill-controls,.drill-arrival{padding-inline:var(--sp-5)}}.practice-sheet-scrim,.practice-sheet-head .icon-button{display:none}.practice-sheet-title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.practice-sheet-panel{padding:var(--sp-3);border-top:1px solid var(--edge)}@media(max-width:1023px){.practice-sheet-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--scrim)}.practice-sheet-panel{position:fixed;left:0;right:0;bottom:0;z-index:61;max-width:640px;max-height:calc(100svh - 40px);margin:0 auto;padding:0 var(--sp-3) calc(var(--sp-4) + var(--safe-bottom));overflow-y:auto;overscroll-behavior:contain;background:var(--panel);border-top:0;border-radius:var(--r-panel) var(--r-panel) 0 0;box-shadow:0 -4px 24px #0000002e;animation:practice-sheet-up var(--t-slide) var(--ease-out) both}.practice-sheet--tall .practice-sheet-panel{top:calc(env(safe-area-inset-top,0px) + 12px);max-height:none}.practice-sheet-head .icon-button{display:inline-grid}.practice-sheet-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);min-height:60px;margin:0 calc(var(--sp-3) * -1) var(--sp-2);padding:6px var(--sp-2) 0 var(--sp-3);background:var(--panel);border-bottom:1px solid var(--edge)}.practice-sheet-title{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;font-weight:700;font-size:var(--fs-title3)}}@keyframes practice-sheet-up{0%{opacity:.6;transform:translateY(32px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.practice-sheet-panel{animation:ride-fade-a var(--t-quick) linear both}}.listening .band[data-state=locked]{gap:2px;padding:12px var(--sp-3);border:1.5px dashed var(--edge-control);border-radius:var(--r-card)}.listening .band[data-state=locked]+.band[data-state=locked]{margin-top:calc(var(--sp-2) - var(--sp-4))}.listening .band[data-state=locked] .band-head{font-size:var(--fs-body);color:var(--ink-2)}.listening .band[data-state=locked] .band-content{display:none}.listen-panel{display:flex;flex-direction:column;gap:var(--sp-3)}.listen-audio .audio-button{min-height:56px;padding:0 24px 0 18px;border-width:2px;font-size:var(--fs-title3)}.listen-audio .audio-button .icon{width:24px;height:24px}.listen-field{display:flex;flex-direction:column;gap:var(--sp-1)}.listen-field-label{font-size:var(--fs-sub);font-weight:600;color:var(--ink-2)}.listen-hint{font-size:var(--fs-sub);line-height:1.45;color:var(--ink-2)}.listen-submit{display:flex;flex-direction:column;gap:var(--sp-1)}.listen-feedback{gap:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--edge)}.listen-compare{color:var(--ink-1)}.listen-kana{font-family:var(--face-glyph);font-weight:700;font-size:1.5rem;line-height:1.4}.listen-script{font-size:var(--fs-title3);line-height:1.6}.listen-english{color:var(--ink-2)}.listen-again{align-self:flex-start}.listen-stimulus{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:10px 10px 10px var(--sp-3);border-radius:var(--r-field);background:var(--field)}.listen-stimulus-label{font-weight:700}.listen-options{display:flex;flex-direction:column;gap:var(--sp-2);margin:0;padding:0;list-style:none}.listen-option{display:flex;align-items:center;gap:var(--sp-2)}.tile.pick{flex:none;width:56px;min-height:56px;height:56px;padding:0;font-family:var(--face-ui);font-size:var(--fs-title3)}.listen-option .audio-player{flex:1;min-width:0}.listen-option .audio-button{width:100%}.listen-questions{display:flex;flex-direction:column;gap:var(--sp-4);margin:0;padding:0;list-style:none}.listen-question{display:flex;flex-direction:column;gap:var(--sp-2)}.listen-question-prompt{font-weight:600}.listen-result{display:flex;flex-direction:column;gap:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--edge)}.listen-score{font-size:var(--fs-title3);font-weight:700}.listen-script-head{font-size:var(--fs-sub);font-weight:600;color:var(--ink-2)}.listen-transcript{display:flex;flex-direction:column;gap:var(--sp-2);margin:0;padding:0;list-style:none}.listen-transcript>li{display:grid;grid-template-columns:minmax(1.75em,auto) 1fr;column-gap:var(--sp-2)}.listen-line{font-size:var(--fs-title3);line-height:1.5}.dialogue-speaker{grid-row:span 2;padding-top:.2em;font-family:var(--face-ui);font-size:var(--fs-sub);font-weight:700;color:var(--ink-3)}.dialogue-script{font-family:var(--face-ja);color:var(--ink-1)}.dialogue-gloss{display:block;grid-column:2;font-family:var(--face-ui);font-size:var(--fs-sub);color:var(--ink-2)}.listen-reveal{display:flex;flex-direction:column;gap:var(--sp-2);padding:12px 14px;border-radius:var(--r-field);background:var(--field)}.listen-reveal-lead{display:flex;flex-direction:column;gap:2px}.listen-reveal-lead>[lang=ja]{font-size:var(--fs-title3);line-height:1.5}.listen-reveal-options{display:flex;flex-direction:column;gap:var(--sp-1);margin:0;padding:0;list-style:none}.listen-reveal-options>li{display:flex;align-items:flex-start;gap:var(--sp-2)}.listen-reveal-number{display:grid;place-items:center;flex:none;width:26px;height:26px;border:1.5px solid var(--edge-control);border-radius:50%;font-size:var(--fs-footnote);font-weight:700}.listen-reveal-text{display:flex;flex:1;flex-direction:column}.listen-reveal-answer .listen-reveal-number{border-color:var(--ok);background:var(--ok);color:var(--panel)}.listen-reveal-answer>.icon{color:var(--ok)}.speak-progress{font-size:var(--fs-sub);color:var(--ink-3)}.speak-panel{display:flex;flex-direction:column;gap:var(--sp-3)}.speak-script{display:flex;flex-direction:column;gap:var(--sp-2);margin:0;padding:0;list-style:none}.speak-script>li{display:flex;flex-direction:column;gap:2px}.speak-line{font-size:var(--fs-title2);line-height:1.5}.speak-gloss{font-size:var(--fs-sub);color:var(--ink-2)}.speak-frame{display:flex;flex-direction:column;gap:var(--sp-1);padding:12px 14px;border-radius:var(--r-field);background:var(--field)}.speak-frame h3{font-size:var(--fs-body)}.speak-note{font-size:var(--fs-sub);line-height:1.45;color:var(--ink-2)}.speak-compare{display:flex;flex-direction:column;gap:var(--sp-2)}.speak-lanes{margin:0;padding:0;list-style:none;border-block:1px solid var(--edge)}.speak-lane{display:grid;grid-template-columns:var(--tap) minmax(0,1fr) auto;align-items:center;column-gap:var(--sp-3);min-height:60px;padding-block:var(--sp-2)}.speak-lane+.speak-lane{border-top:1px solid var(--edge)}.speak-lane>.audio-player{grid-column:1;grid-row:1}.speak-lane-label{grid-column:2;grid-row:1;font-weight:600}.speak-lane-end{grid-column:3;grid-row:1;font-size:var(--fs-sub);color:var(--ink-3)}.speak-lane-status{font-variant-numeric:tabular-nums}.speak-lane-recording{color:var(--ink-1);font-weight:600}.speak-lane-note,.speak-lane>.audio-failed{grid-column:2 / -1;grid-row:2;margin-top:var(--sp-1)}.speak-lane .speak-discard{justify-self:end;margin-inline-end:calc(var(--sp-3) * -1 + var(--sp-1));font-size:var(--fs-sub);color:var(--ink-1)}.speak-record-mark{flex:none;width:14px;height:14px;border:2.5px solid currentColor;border-radius:50%}.speak-stop-mark{flex:none;width:12px;height:12px;border-radius:2px;background:currentColor}.speak-rating{min-width:0;margin:var(--sp-3) 0 0;padding:0;border:0}.speak-rating legend{margin-bottom:var(--sp-2);padding:0;font-size:var(--fs-sub);font-weight:600;color:var(--ink-2)}.speak-segmented .segment{padding-block:6px;font-size:var(--fs-sub);line-height:1.25;text-align:center}.speak-rating-note{margin-top:var(--sp-2);font-size:var(--fs-footnote);line-height:1.4;color:var(--ink-3)}.speak-shelf-meta{display:flex;flex-direction:column;align-items:flex-end;text-align:end;line-height:1.3}@media(min-width:480px){.speak-shelf-meta{flex-direction:row;gap:.35em}.speak-shelf-level+.speak-shelf-rating:before{content:"· "}}.mock-coverage-note{color:var(--ink-2);max-width:var(--measure)}.mock-start{display:flex;flex-direction:column;gap:var(--sp-3)}.mock-papers{display:flex;flex-direction:column;gap:var(--sp-2);margin:0;padding:0;border:0}.mock-papers legend{margin-bottom:var(--sp-2);padding:0;font-size:var(--fs-title3);font-weight:700}.tile.mock-paper{align-content:center;gap:2px;min-height:72px}.mock-paper-name{font-weight:700}.mock-paper-detail{font-size:var(--fs-sub);font-weight:500;color:var(--ink-2)}.mock-ride .ride-bar{position:sticky;top:0;z-index:3;padding-bottom:var(--sp-1);background:var(--panel)}.mock-clock{display:inline-flex;align-items:center;gap:6px;color:var(--ink-1)}.mock-clock .icon{width:20px;height:20px;color:var(--ink-3)}.mock-clock .countdown{font-size:var(--fs-title3);font-weight:700}.mock-body{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4) var(--ride-gutter) var(--sp-5)}.mock-section-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px var(--sp-2);font-size:var(--fs-title1)}.mock-section-ja{font-size:var(--fs-body);font-weight:600;color:var(--ink-2)}.mock-passage{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-field);background:var(--field)}.mock-passage h2{font-size:var(--fs-body)}.mock-passage p{font-size:var(--fs-title3);line-height:1.9;white-space:pre-line}[data-testid=mock-choice-audio]{justify-content:flex-start;gap:var(--sp-2);min-height:60px}.mock-choice-number{min-width:1.2em;font-size:var(--fs-title3);font-weight:700}.mock-result .result-head .note{max-width:var(--measure)}.mock-block{display:flex;flex-direction:column;gap:var(--sp-2)}.mock-scores{margin:0;padding:0;list-style:none;border:1px solid var(--edge);border-radius:var(--r-card);background:var(--panel)}.mock-score{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px var(--sp-3);padding:12px var(--sp-3)}.mock-score+.mock-score{border-top:1px solid var(--edge)}.mock-score-name{font-weight:600}.mock-score-ja{font-size:var(--fs-sub);font-weight:500;color:var(--ink-2)}.mock-score-value{font-size:var(--fs-sub);color:var(--ink-2)}.mock-scaled{display:flex;flex-direction:column;gap:2px;padding:12px var(--sp-3);border-radius:var(--r-field);background:var(--field)}.mock-scaled-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px var(--sp-2)}.mock-scaled-name{flex:1 1 12rem;font-weight:600}.mock-scaled-name :lang(ja){font-size:var(--fs-sub);font-weight:500;color:var(--ink-2)}.mock-scaled-value{font-size:var(--fs-title3);font-weight:700}.mock-scaled-total{margin-top:var(--sp-1);padding-top:var(--sp-2);border-top:1px solid var(--edge)}.mock-scaled-total-name{text-transform:capitalize}.mock-floor{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-sub);color:var(--ink-2)}.mock-floor .icon{width:16px;height:16px}.mock-floor--met .icon{color:var(--ok)}.mock-floor--missed{color:var(--ink-1);font-weight:600}.mock-floor--missed .icon{color:var(--miss)}.mock-conditions{display:flex;flex-direction:column;gap:var(--sp-2);margin:0;padding:0;list-style:none}.mock-condition{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3);border:1.5px solid var(--miss);border-radius:var(--r-card);background:var(--panel)}.mock-result .study-card{gap:var(--sp-2);padding:12px 14px}.mock-result .pair-cell{flex-direction:row;flex-wrap:wrap;align-items:baseline;column-gap:var(--sp-2);padding:8px 10px}.mock-result .pair-label{flex-basis:100%}.mock-result .pair-glyph{font-size:1.75rem;line-height:1.2}.study-group{border:1px solid var(--edge);border-radius:var(--r-card);background:var(--panel)}.study-group-summary{display:flex;align-items:center;gap:var(--sp-2);min-height:52px;padding:0 var(--sp-3);font-weight:700;cursor:pointer;list-style:none}.study-group-summary::-webkit-details-marker{display:none}.study-group-summary:focus-visible{outline-offset:-3px}.study-group-count{margin-left:auto;font-size:var(--fs-sub);font-weight:600;color:var(--ink-2)}.study-group-chevron{color:var(--ink-3);transition:transform var(--t-quick) var(--ease-out)}.study-group[open] .study-group-chevron{transform:rotate(180deg)}.study-group .study-cards,.hits .study-cards{gap:0;padding:0 var(--sp-3) var(--sp-1)}.study-group .study-card,.study-card--hit{padding:12px 0;border:0;border-top:1px solid var(--edge);border-radius:0;background:transparent}@media(prefers-reduced-motion:reduce){.study-group-chevron{transition:none}}.spoken-script{display:flex;flex-direction:column;gap:var(--sp-2);padding:12px 14px;border-radius:var(--r-field);background:var(--field)}.spoken-lead{display:flex;flex-direction:column;gap:2px}.spoken-options{display:flex;flex-direction:column;gap:var(--sp-1);margin:0;padding:0;list-style:none}.spoken-options>li{display:flex;align-items:flex-start;gap:var(--sp-2)}.spoken-number{display:grid;place-items:center;flex:none;width:26px;height:26px;border:1.5px solid var(--edge-control);border-radius:50%;font-size:var(--fs-footnote);font-weight:700}.spoken-text{display:flex;flex:1;flex-direction:column}.spoken-answer .spoken-number{border-color:var(--ok);background:var(--ok);color:var(--panel)}.spoken-answer>.icon{color:var(--ok)}.mock-next,.mock-submit-confirm{display:flex;flex-direction:column;gap:var(--sp-2)}.read{display:flex;flex-direction:column;gap:var(--sp-3);max-width:760px}.read-generate{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--edge);border-radius:var(--r-card);background:var(--panel)}.read-topic{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-sub);font-weight:600;color:var(--ink-2)}.read-topic select{min-width:10rem;font-weight:500;color:var(--ink-1)}.read-generate-note{flex-basis:100%;font-size:var(--fs-sub)}.passage-row{min-height:60px;padding-block:8px}.passage-main{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.library-passage-title{font-size:var(--fs-title3);font-weight:700}.passage-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--sp-2);font-size:var(--fs-sub);font-weight:500;color:var(--ink-3)}.library-passage-type{min-height:24px;max-width:100%;white-space:normal}.read .band[data-state=locked] .shelf{border-style:dashed;border-color:var(--edge-control);background:transparent}.library-passage-locked{cursor:default}.library-passage-locked:after{display:none}.library-passage-locked .library-passage-title{color:var(--ink-2)}.library-mine-heading{padding:12px var(--sp-3) 6px;border-top:1px solid var(--edge);font-size:var(--fs-sub);font-weight:600;color:var(--ink-2)}.reading-body{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-4) var(--ride-gutter) var(--sp-5)}.reading-text{display:flex;flex-direction:column;gap:var(--sp-2)}.reading-text h1{font-size:var(--fs-title1)}.reading .furigana-text{max-width:34em;font-family:var(--face-ja);font-size:1.3125rem;line-height:2.2;letter-spacing:0;color:var(--ink-1)}.reading .furigana-text{word-break:keep-all;overflow-wrap:anywhere}.reading .furigana-segment[role=button]{border-radius:4px;cursor:pointer}@media(hover:hover){.reading .furigana-segment[role=button]:hover{background:var(--field)}}.reading .furigana-segment:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.reading .furigana-text rt{font-size:.5em;font-weight:500;color:var(--ink-2)}.reading-side{display:flex;flex-direction:column;gap:var(--sp-3)}.reading-questions-title{font-size:var(--fs-title3)}.reading-questions{margin:0}.lookup{display:flex;flex-direction:column;gap:2px;padding:8px 8px 14px var(--sp-3);border:1.5px solid var(--edge-control);border-radius:var(--r-card);background:var(--panel)}.lookup-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.lookup-word{font-family:var(--face-glyph);font-size:2rem;font-weight:700;line-height:1.2}.lookup-reading{font-size:var(--fs-title3);color:var(--ink-2)}.lookup-meaning{font-weight:600}.reading-score{width:100%;font-size:var(--fs-title3);font-weight:700;text-align:center}@media(max-width:1023px){.lookup{position:fixed;left:8px;right:8px;bottom:calc(8px + var(--safe-bottom));z-index:50;max-width:624px;margin:0 auto;box-shadow:0 -4px 24px #0000002e;animation:practice-sheet-up var(--t-slide) var(--ease-out) both}}@media(min-width:1024px){.reading .ride-panel{width:min(1120px,100%)}.reading-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:var(--sp-6);align-items:start}.reading-text{position:sticky;top:var(--sp-3);max-height:calc(100dvh - 48px);overflow-y:auto}.reading .ride-controls{align-items:flex-end}.reading .ride-controls .button--full,.reading .ride-controls .why,.reading-score{width:min(100%,440px)}}@media(prefers-reduced-motion:reduce){.lookup{animation:none}}.reference,.ref-main{display:flex;flex-direction:column;gap:var(--sp-3)}.ref-find{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--sp-2)}.ref-search{position:relative;flex:1 1 16rem}.ref-search .icon{position:absolute;top:50%;left:14px;width:20px;height:20px;margin-top:-10px;color:var(--ink-3);pointer-events:none}.ref-search-field{width:100%;min-height:var(--primary-h);padding-left:44px;border-width:2px;font-size:var(--fs-body)}.ref-type{display:flex;flex-direction:column;gap:4px}.ref-type-label{font-size:var(--fs-footnote);font-weight:600;color:var(--ink-2)}.ref-type select{min-height:var(--primary-h);min-width:9rem}.ref-total{font-size:var(--fs-sub);color:var(--ink-3)}.ref-list{margin:0;padding:0;list-style:none;background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-card);overflow:clip}.ref-row{position:relative;display:grid;grid-template-columns:fit-content(45%) minmax(0,1fr) auto;grid-template-areas:"glyph text lesson" "glyph badges lesson";align-items:center;column-gap:var(--sp-3);row-gap:4px;min-height:64px;padding:8px var(--sp-3)}.ref-glyph{grid-area:glyph}.ref-text{grid-area:text}.ref-badges{grid-area:badges}.ref-lesson{grid-area:lesson}@media(min-width:640px){.ref-row{grid-template-columns:fit-content(40%) minmax(0,1fr) auto auto;grid-template-areas:"glyph text badges lesson"}}.ref-row+.ref-row{border-top:1px solid var(--edge)}.ref-row[data-selected=true]{background:var(--field)}@media(hover:hover){.ref-row:hover{background:var(--field)}}.ref-glyph{display:inline-flex;align-items:center;min-width:var(--tap);min-height:var(--tap);padding:0;border:0;background:transparent;color:var(--ink-1);font-family:var(--face-glyph);font-size:1.75rem;font-weight:700;line-height:1.2;text-align:left}.ref-glyph:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.ref-glyph:focus-visible{outline:none}.ref-glyph:focus-visible:after{outline:3px solid var(--focus);outline-offset:-3px}.ref-text{display:flex;flex-direction:column;min-width:0}.ref-reading{font-size:var(--fs-sub);color:var(--ink-2)}.ref-meaning{font-weight:600}.ref-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ref-mastery{font-size:var(--fs-footnote);font-weight:600;color:var(--ink-3)}.ref-lesson{position:relative;z-index:1;display:inline-flex;align-items:center;min-height:var(--tap);padding:0 4px;font-weight:600}.ref-hint,.ref-scrim{display:none}.ref-detail{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-2) var(--sp-2) var(--sp-4) var(--sp-4);background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-card)}.ref-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-2)}.ref-detail-glyph{padding-top:var(--sp-2);font-family:var(--face-glyph);font-size:4.5rem;font-weight:700;line-height:1.05}.ref-detail-glyph--word{font-size:clamp(2.25rem,9vw,3rem);line-height:1.2}.ref-detail-reading{font-size:var(--fs-title3);color:var(--ink-2)}.ref-detail-meaning{font-size:var(--fs-title3);font-weight:600}.ref-detail-state{margin:var(--sp-1) 0}.ref-detail>.button{align-self:flex-start}.reference-kanji{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--edge)}.ref-stroke{font-size:0;display:grid;place-items:center;width:200px;height:200px;padding:14px;background:var(--field);border-radius:var(--r-field)}.ref-stroke svg{width:100%;height:100%}.ref-stroke svg path{stroke:var(--ink-1)}.ref-stroke svg text{fill:var(--ink-3)}.ref-readings{font-size:var(--fs-body)}.ref-readings-name{display:inline-block;min-width:3.5em;font-size:var(--fs-sub);font-weight:600;color:var(--ink-3)}.ref-readings [lang=ja]{font-size:var(--fs-title3)}.ref-meanings{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none;color:var(--ink-2)}.ref-meanings li:not(:last-child):after{content:"·";margin:0 .5rem;color:var(--ink-3)}.ref-examples{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.ref-example-word{font-size:var(--fs-title3);font-weight:600}.ref-example-gloss{color:var(--ink-2)}.ref-components{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin:0;padding:0;list-style:none}.ref-components li{padding:6px 10px;border:1px solid var(--edge);border-radius:10px;background:var(--field);font-family:var(--face-glyph);font-size:1.375rem;font-weight:700;line-height:1}.ref-vocab-senses{display:flex;flex-direction:column;gap:4px;margin-top:var(--sp-2)}.ref-pos{margin-right:4px;font-size:var(--fs-footnote);font-weight:600;color:var(--ink-3)}.ref-vocab-sentences{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-2)}.ref-vocab-sentences h4{font-size:var(--fs-sub);color:var(--ink-2)}.ref-sentence{margin:0}.ref-sentence .furigana-text{font-family:var(--face-ja);font-size:var(--fs-title3);line-height:2}.ref-sentence .furigana-text rt{font-size:.5em;color:var(--ink-2)}.ref-sentence figcaption{font-size:var(--fs-sub);color:var(--ink-2)}@media(max-width:1023px){.ref-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--scrim)}.ref-detail{position:fixed;left:0;right:0;bottom:0;z-index:61;max-width:640px;max-height:calc(100svh - 40px);margin:0 auto;padding-bottom:calc(var(--sp-4) + var(--safe-bottom));overflow-y:auto;overscroll-behavior:contain;border:0;border-radius:var(--r-panel) var(--r-panel) 0 0;box-shadow:0 -4px 24px #0000002e;animation:practice-sheet-up var(--t-slide) var(--ease-out) both}}@media(min-width:1024px){.reference{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,400px);column-gap:var(--sp-5);align-items:start;max-width:1160px}.ref-side{position:sticky;top:var(--sp-6);max-height:calc(100dvh - 96px);overflow-y:auto}.ref-hint{display:block;padding:var(--sp-4);border:1.5px dashed var(--edge-control);border-radius:var(--r-card);color:var(--ink-3);text-align:center}}@media(prefers-reduced-motion:reduce){.ref-detail{animation:none}}.auth{display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-2);min-height:100vh;min-height:100dvh;padding:calc(env(safe-area-inset-top,0px) + var(--sp-2)) var(--sp-2) calc(var(--sp-5) + var(--safe-bottom))}.auth-home{align-self:flex-start;display:inline-flex;align-items:center;min-height:var(--tap);padding:0 var(--sp-2);border-radius:12px;text-decoration:none}.auth-panel{width:100%;border-radius:var(--r-panel)}.auth-body{padding:var(--sp-4) var(--sp-3) var(--sp-4)}.auth-form{display:flex;flex-direction:column;gap:var(--sp-3)}.auth-title{font-size:var(--fs-title1);letter-spacing:-.02em}.auth-field{display:grid;grid-template-columns:1fr auto;align-items:baseline;row-gap:6px;column-gap:var(--sp-2)}.auth-field label{font-size:var(--fs-sub);font-weight:600;color:var(--ink-1)}.auth-field-hint{font-size:var(--fs-footnote);color:var(--ink-3)}.auth-field-link{grid-column:1 / -1;justify-self:start;display:inline-flex;align-items:center;min-height:var(--tap);font-size:var(--fs-sub);font-weight:700}.auth-field input{grid-column:1 / -1;width:100%;min-height:52px;font-size:var(--fs-body)}.auth-form [role=alert]{margin:0}.auth-status{color:var(--ink-2)}.auth-or{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-footnote);color:var(--ink-3)}.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:var(--edge)}.auth-switch{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:var(--sp-1);font-size:var(--fs-sub);color:var(--ink-2)}.auth-switch a{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 var(--sp-1);border-radius:10px;font-weight:700}@media(min-width:640px){.auth{align-items:center;gap:var(--sp-3);padding-top:clamp(var(--sp-5),12vh,var(--sp-7) * 1.5)}.auth-home{align-self:center}.auth-panel{max-width:28rem}.auth-body{padding:var(--sp-5) var(--sp-5) var(--sp-5)}}.attribution{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-3);max-width:44rem}.credits{align-self:stretch;margin:var(--sp-2) 0 0;padding:0;list-style:none;background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-card)}.credit{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-3) var(--sp-3) var(--sp-2)}.credit+.credit{border-top:1px solid var(--edge)}.credit h2{font-size:var(--fs-title3)}.credit-licence{font-size:var(--fs-sub);color:var(--ink-2)}.credit-licence strong{font-weight:600}.credit-note{font-size:var(--fs-sub);line-height:1.5;color:var(--ink-2);max-width:var(--measure)}.credit-link{display:flex;align-items:center;gap:var(--sp-2);min-height:var(--tap);margin:var(--sp-1) calc(-1 * var(--sp-2)) 0;padding:0 var(--sp-2);border-radius:12px;font-weight:600;text-decoration:none}.credit-link-label{flex:1;min-width:0;overflow-wrap:anywhere;text-decoration:underline;text-decoration-thickness:1.5px;text-decoration-color:var(--ink-3);text-underline-offset:.2em}.credit-link .icon{width:18px;height:18px;color:var(--ink-3)}@media(hover:hover){.credit-link:hover{background:var(--field)}}@media(hover:hover){.credit-link:hover .credit-link-label{text-decoration-color:currentColor}}.admin{display:flex;flex-direction:column;gap:var(--sp-4);max-width:60rem}.admin-metrics{margin:0;padding:0 var(--sp-3);background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-card)}.admin-metric{display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:var(--sp-3);padding:12px 0}.admin-metric+.admin-metric{border-top:1px solid var(--edge)}.admin-metric dt{color:var(--ink-2)}.admin-metric dd{margin:0;font-size:var(--fs-title3);font-weight:700;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}@media(min-width:900px){.admin-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--sp-5)}.admin-metric:nth-child(2){border-top:0}}.admin-section{display:flex;flex-direction:column;gap:var(--sp-2)}.admin-section h2{font-size:var(--fs-title2)}.admin-section h3{margin-top:var(--sp-3);font-size:var(--fs-body)}.admin-lead{color:var(--ink-2)}.data-table-when{white-space:nowrap;color:var(--ink-2)}.curriculum{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-3);max-width:48rem}.curriculum code,.curriculum pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.9em}.curriculum-index{align-self:stretch;margin:var(--sp-2) 0 0;padding:0;list-style:none;background:var(--panel);border:1px solid var(--edge);border-radius:var(--r-card)}.curriculum-entry{padding:var(--sp-2) var(--sp-3) var(--sp-3)}.curriculum-entry+.curriculum-entry{border-top:1px solid var(--edge)}.curriculum-entry-link{display:flex;align-items:center;min-height:var(--tap);font-size:var(--fs-title3);font-weight:700;line-height:1.3}.curriculum-file{display:block;font-size:var(--fs-footnote);color:var(--ink-3)}.curriculum-sections{margin:var(--sp-2) 0 0;max-width:var(--measure);padding-left:0;list-style:none;font-size:var(--fs-sub);line-height:1.45;color:var(--ink-2)}.curriculum-sections li+li{margin-top:2px}.curriculum-body{align-self:stretch;font-size:var(--fs-body);line-height:1.6}.curriculum-body>*{max-width:var(--measure)}.curriculum-body>:is(.table-scroll,pre){max-width:100%}.curriculum-body h1{font-size:var(--fs-large);letter-spacing:-.02em;margin-bottom:var(--sp-3)}.curriculum-body h2{margin:var(--sp-6) 0 var(--sp-2);font-size:var(--fs-title2)}.curriculum-body h3{margin:var(--sp-5) 0 var(--sp-2);font-size:var(--fs-title3)}.curriculum-body :is(h4,h5,h6){margin:var(--sp-4) 0 var(--sp-1);font-size:var(--fs-body)}.curriculum-body p{margin:0 0 var(--sp-3)}.curriculum-body :is(ul,ol){margin:0 0 var(--sp-3);padding-left:1.4rem}.curriculum-body li+li{margin-top:var(--sp-1)}.curriculum-body hr{margin:var(--sp-5) 0;border:0;border-top:1px solid var(--edge)}.curriculum-body pre{margin:0 0 var(--sp-3);padding:var(--sp-3);overflow-x:auto;background:var(--field);border:1px solid var(--edge);border-radius:var(--r-field);line-height:1.5}.curriculum-body .table-scroll{margin:0 0 var(--sp-3)}.curriculum-body .data-table{min-width:36rem}
