.sv{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px 12px}.sv-empty{display:flex;align-items:center;color:var(--faint);font-style:italic}.sv-canvas{position:relative;flex:none;border-radius:10px;background:var(--surface);touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.sv-grid{position:absolute;inset:0;pointer-events:none}.sv-grid rect{stroke:var(--border);stroke-width:1}.sv-grid path,.sv-grid rect{fill:none;vector-effect:non-scaling-stroke}.sv-grid path{stroke:#eceef1;stroke-width:1;stroke-dasharray:4 4}.sv-grid .sv-diag{stroke:#f1f2f4}.sv-host,.sv-host svg{position:relative;display:block}.sv[data-mode=trace] .sv-canvas{box-shadow:inset 0 0 0 2px #bfdbfe;cursor:crosshair}.sv-side{flex:1 1 110px;min-width:110px;max-width:240px;display:grid;grid-gap:8px;gap:8px;align-content:start}.sv-modes{grid-template-columns:1fr 1fr}.sv-modes button{padding:5px 4px;font-size:13px}.sv-buttons{display:grid;grid-gap:6px;gap:6px}.sv-buttons .btn{padding:6px 10px;font-size:14px}.sv-status{font-size:13px;color:var(--muted);line-height:1.3}.sv-status[data-done]{color:#166534;font-weight:600}.writing-tiles{display:flex;flex-wrap:wrap;gap:6px}.writing-tile{position:relative;min-width:46px;height:46px;padding:0 6px;border:1px solid var(--border);border-radius:10px;background:var(--row);font-size:26px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.writing-tile[aria-pressed=true]{border-color:var(--text);background:var(--text);color:#fff}.writing-tile[data-missing]{color:var(--faint);border-style:dashed}.writing-tile .trad-tag{position:absolute;top:2px;right:3px;font-size:9px;color:var(--muted)}.writing-tile[aria-pressed=true] .trad-tag{color:#d1d5db}.sheet-tabs[data-count="6"] button{font-size:13px}@media (max-width:400px){.sheet-tabs[data-count="6"] button{font-size:11.5px}}.hw-guides{position:absolute;inset:0;pointer-events:none}.hw-guides line{stroke-width:1;vector-effect:non-scaling-stroke}.hw-guides .hw-cap{stroke:#e5e7eb}.hw-guides .hw-x{stroke:#bfdbfe;stroke-dasharray:5 4}.hw-guides .hw-base{stroke:#9ca3af}.hw-guides .hw-desc{stroke:#e5e7eb;stroke-dasharray:3 4}.wt{display:grid;grid-gap:8px;gap:8px;min-width:0}.wt-empty{color:var(--faint);font-style:italic}.wt-scroll{position:relative;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;border-radius:10px;background:var(--surface);border:1px solid var(--border);scrollbar-width:thin}.wt-row{position:relative;overflow-x:clip;overflow-y:visible;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.wt-cell{position:absolute;top:0;bottom:0;border-left:1px dashed #eef0f3;pointer-events:none}.wt-cell[data-active]{background:color-mix(in srgb,var(--accent) 5%,transparent)}.wt-text{inset:0;fill:var(--muted)}.wt-host,.wt-text{position:absolute;pointer-events:none}.wt-host[data-active]{pointer-events:auto;z-index:2;cursor:crosshair}.wt-host svg{display:block;overflow:visible}.wt-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px}.wt-status{font-size:13px;color:var(--muted)}.wt-status[data-done]{color:#166534;font-weight:600}.wt-buttons{display:flex;gap:6px}.wt-buttons .btn{padding:6px 10px;font-size:13px}.fw{display:grid;grid-gap:8px;gap:8px;min-width:0}.fw-prompt{display:flex;align-items:center;gap:8px}.fw-prompt-text{flex:1 1 auto;min-width:0;display:grid;grid-gap:1px;gap:1px}.fw-meaning{font-size:13px;color:var(--muted)}.fw-word{font-size:22px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}.fw-word[data-hidden]{color:var(--faint);letter-spacing:.1em}.fw-play{flex:none;width:40px;height:40px;border-radius:999px;border:2px solid var(--accent);background:var(--surface);color:var(--accent);font-size:15px;cursor:pointer}.fw-play[data-playing]{background:var(--accent);color:#fff}.fw-seg{flex:none}.fw-seg button{padding:5px 7px;font-size:12px;white-space:nowrap}.fw-model-btn[aria-pressed=false]{color:var(--muted)}.fw-model-btn:disabled{opacity:.45;cursor:default}.fw-pad{position:relative;width:100%;border:1px solid var(--border);border-radius:10px;background:var(--surface);overflow:hidden;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.fw-ink,.fw-model{position:absolute;top:0;left:0}.fw-ink{touch-action:none;cursor:crosshair}.fw-hint{position:absolute;right:10px;bottom:6px;font-size:11px;color:var(--faint);pointer-events:none}.fw-buttons{display:grid;grid-template-columns:1fr 1fr 1.4fr;grid-gap:6px;gap:6px}.fw-buttons[data-count="4"]{grid-template-columns:1.15fr 1fr 1fr 1.2fr}.fw-buttons .btn{padding:8px 6px;font-size:14px;white-space:nowrap}.fw-buttons .btn:only-child{grid-column:1/-1}.fw-result{display:grid;grid-gap:4px;gap:4px}.fw-score{font-size:15px}.fw-score b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fw-score-note{font-size:11.5px;color:var(--muted);line-height:1.3}.fw-grade{margin-top:4px}.hw-switches{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.hw-switches .segmented-sm button{padding:4px 10px;font-size:13px}.hw-case{grid-template-columns:repeat(2,minmax(40px,auto))}.hw-style{grid-template-columns:repeat(2,auto)}.fw-graded{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.fw-saved{font-size:13px;font-weight:600;color:var(--muted)}.fw-graded .btn{padding:6px 12px;font-size:13px}.hw-card,.hw-letter{display:grid;grid-gap:8px;gap:8px;min-width:0}.hw-search{flex:0 0 auto;display:flex;gap:6px}.hw-search input{flex:1 1 auto;min-width:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:7px 10px;font-size:15px}.hw-search .btn{padding:6px 12px}.wr-box.hw-words{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-auto-rows:min-content;grid-gap:6px;gap:6px;place-content:start stretch}.hw-word{position:relative;display:grid;justify-items:start;grid-gap:1px;gap:1px;padding:7px 22px 7px 10px;border:1px solid var(--border);border-radius:10px;background:var(--row);color:var(--text);cursor:pointer;text-align:left;min-width:0}.hw-word:hover{border-color:var(--accent)}.hw-word-text{font-size:18px;font-weight:700;line-height:1.2;max-width:100%;overflow-wrap:anywhere}.hw-word-en{font-size:12px;color:var(--muted);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hw-word .wr-dot{position:absolute;top:8px;right:8px}.hw-word .wr-dot[data-status=new]{display:none}.hw-next{justify-self:end;padding:6px 12px;font-size:13px}.wr-kinds[data-count="4"]{grid-template-columns:1fr 1fr;row-gap:2px}.hw-quiz-prompt{justify-content:flex-start;gap:6px}.hw-drill{display:grid;justify-items:center;grid-gap:6px;gap:6px;width:100%}.hw-drill[data-drill=write]{justify-items:stretch}.hw-quiz-write{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.hw-traced{font-weight:600}.hw-traced[data-right]{color:#166534}.wp{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:clamp(6px,1.2vh,10px)}.wp-prompt{flex:0 0 auto;display:flex;align-items:center;gap:8px;min-height:40px}.wp-prompt-text{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}.wp-meaning{font-size:14px;color:var(--muted)}.wp-meaning,.wp-word{overflow-wrap:anywhere}.wp-word{font-size:20px;font-weight:700;line-height:1.2}.wp-word[data-hidden]{color:var(--faint);letter-spacing:.1em}.wp-prompt .check-tag{margin-top:0}.wp-seg{flex:none}.wp-seg button{padding:5px 10px;font-size:13px}.wp-canvas{flex:1 1 auto;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wp-canvas .fw-pad,.wp-canvas .wt{flex:none}.wp-status{flex:0 0 auto;min-height:18px;font-size:13px;color:var(--muted);text-align:center;line-height:1.35}.wp-status[data-done]{color:#166534;font-weight:600}.wp-approx{font-weight:400;color:var(--muted);font-size:12px}.wp-controls{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.wp-controls[data-count="4"]{grid-template-columns:1.2fr 1fr 1fr 1.2fr}.wp-controls .btn,.wp-grade .btn{padding:12px 6px;font-weight:600;white-space:nowrap}.wp-model[aria-pressed=false]{color:var(--muted)}.wp-grade[data-suggest=knew] .btn:last-child,.wp-grade[data-suggest=not] .btn:first-child{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.wp-summary{margin:auto}.wp-overlay{position:fixed;inset:0;z-index:40;background:var(--bg)}.wp-app{height:100%}.wp-card{touch-action:none}.hw-practice-buttons{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.hw-practice-buttons .btn{padding:10px 8px;font-weight:600}.hw-preview{display:flex;justify-content:center;min-height:40px}.hw-category{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:5px 6px;font-size:13px;max-width:150px}.wt-grid rect{stroke:var(--border);stroke-width:1}.wt-grid path,.wt-grid rect{fill:none;vector-effect:non-scaling-stroke}.wt-grid path{stroke:#eceef1;stroke-width:1;stroke-dasharray:4 4}.wt-grid .wt-diag{stroke:#f1f2f4}.lp-head{flex:0 0 auto;display:flex;align-items:center;gap:8px;min-width:0}.lp-back{flex:none}.lp-glyph{flex:none;max-width:45%;font-size:30px;font-weight:700;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-glyph[data-long]{font-size:22px}.lp-facts{flex:1 1 auto;min-width:0;display:grid;grid-gap:1px;gap:1px;font-size:13px;line-height:1.25}.lp-name{font-weight:600}.lp-name,.lp-sound{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-sound{color:var(--muted)}.lp-dot,.lp-nav{flex:none}.lp-nav{display:flex;align-items:center;gap:2px}.lp-nav .icon-btn{width:34px;height:34px}.lp-nav .icon-btn:disabled{opacity:.35;cursor:default}.lp-pos{font-size:11px;color:var(--faint);min-width:30px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lp-row{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.lp-row .check-tag{margin-top:0}.lp-play{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600;color:var(--accent);cursor:pointer}.lp-play[data-playing]{background:var(--accent);color:#fff}.lp-example{min-width:0;max-width:100%;font-size:13px;color:var(--accent);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-example mark{background:transparent;color:inherit;text-decoration:underline}.lp-switches .segmented-sm button{padding:4px 9px;font-size:13px}.lp-empty{color:var(--faint);font-style:italic}.wp-bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px}.wp-bar .wp-status{flex:1 1 auto;min-width:0;text-align:left}.wp-speed{flex:none;grid-template-columns:repeat(3,auto)}.wp-speed button{padding:3px 7px;font-size:12px}.lp-cases{display:flex;gap:2px;overflow:visible}.lp-cases button{border:1px solid transparent;background:transparent;border-radius:8px;padding:0 5px;font:inherit;color:var(--faint);cursor:pointer;line-height:1.15}.lp-cases button[aria-pressed=true]{color:var(--text);border-color:var(--border);background:var(--row)}.wp-bar{height:28px}.wp-bar .wp-status{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wp-controls,.wp-grade{height:48px}.wp-controls .btn,.wp-grade .btn{height:48px;padding-top:0;padding-bottom:0}.wp{position:relative}.lp-saved{position:absolute;z-index:5;top:4px;left:50%;transform:translateX(-50%);padding:3px 10px;border-radius:999px;background:#dcfce7;font-size:12px;font-weight:600;color:#166534;pointer-events:none;white-space:nowrap}.wp-canvas{border:1px solid var(--border);border-radius:12px;background:var(--surface)}.wp-canvas .fw-pad,.wp-canvas .wt-scroll{border:0;border-radius:12px;background:transparent}.lp-hidden{color:var(--faint);letter-spacing:.1em}.lp-sound{font-size:13px;line-height:1.25}.lp-sound,.wp-bar .wp-status{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.wp-bar .wp-status{font-size:12.5px;line-height:1.3}.wp-bar{height:34px}.pr-setup{--pr-ok:#16a34a;--pr-bad:#dc2626;gap:clamp(8px,1.6vh,14px)}.pr-due-total{font-size:13px;font-weight:600;color:var(--accent)}.pr-due-total[data-zero]{color:var(--faint);font-weight:400}.pr-due-badge{font-size:11px;font-weight:700;min-width:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff;text-align:center;align-self:center}.pr-types{gap:5px}.pr-types .chip{padding:5px 10px}.pr-explain{font-size:12px;color:var(--muted);line-height:1.35}.pr-start-row{flex:0 0 auto;display:grid;grid-template-columns:1fr 1.4fr;grid-gap:8px;gap:8px}.pr-start-row .setup-start{padding:12px 8px;white-space:nowrap}.pr-note{flex:0 0 auto;font-size:13px;color:var(--muted);text-align:center}.pr-head{display:contents}.pr-head .eyebrow{text-transform:none}.pr-prompt{gap:clamp(4px,1vh,10px);min-height:0;overflow:hidden}.pr-answer,.pr-prompt{--pr-ok:#16a34a;--pr-bad:#dc2626}.pr-answer{flex:0 0 auto;justify-content:flex-end}.pr-kind{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}.pr-kind .check-tag{margin-top:0}.pr-question{font-size:clamp(14px,2.2vh,17px);font-weight:700;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:2px 12px}.pr-base.quiz-word{font-size:calc(clamp(34px, 8vh, 64px) * var(--scale, 1))}.pr-frame{font-size:clamp(34px,8vh,60px);font-weight:700;line-height:1.2}.pr-sentence{font-size:clamp(20px,3.8vh,30px);font-weight:700;line-height:1.45;overflow-wrap:anywhere}.pr-solution{font-size:clamp(17px,3vh,24px)}.pr-en{font-size:clamp(15px,2.4vh,19px)}.pr-gap{display:inline-block;min-width:2.2em;padding:0 6px;margin:0 2px;border-bottom:3px solid var(--accent);background:var(--row-active);border-radius:6px 6px 0 0;line-height:1.25}.pr-gap[data-state=right]{border-color:var(--pr-ok);background:color-mix(in srgb,var(--pr-ok) 16%,var(--surface))}.pr-gap[data-state=wrong]{border-color:var(--pr-bad);background:color-mix(in srgb,var(--pr-bad) 14%,var(--surface))}.pr-options{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.pr-option{position:relative;min-height:clamp(48px,8.5vh,64px);display:flex;align-items:center;justify-content:center;padding:6px 10px 6px 24px;border:1px solid var(--border);border-radius:14px;background:var(--row);color:var(--text);font-size:clamp(16px,2.8vh,22px);font-weight:600;line-height:1.2;cursor:pointer;overflow-wrap:break-word;min-width:0}.pr-option[data-len=m]{font-size:clamp(15px,2.4vh,19px)}.pr-option[data-len=l]{font-size:clamp(14px,2.1vh,16px)}.pr-option[data-len=xl]{font-size:13px;font-weight:500}.pr-option:not(:disabled):hover{border-color:var(--accent)}.pr-option:disabled{cursor:default}.pr-key{position:absolute;top:5px;left:8px;font-size:11px;font-weight:500;color:var(--faint)}.pr-option[data-state=right]{border-color:var(--pr-ok);background:color-mix(in srgb,var(--pr-ok) 16%,var(--surface))}.pr-option[data-state=wrong]{border-color:var(--pr-bad);background:color-mix(in srgb,var(--pr-bad) 14%,var(--surface))}.pr-option[data-state=dim]{opacity:.45}.pr-slots{width:100%;min-height:clamp(52px,9vh,72px);display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:6px;padding:8px;border:2px dashed var(--border);border-radius:14px}.pr-slots[data-state=right]{border-style:solid;border-color:var(--pr-ok);background:color-mix(in srgb,var(--pr-ok) 10%,var(--surface))}.pr-slots[data-state=wrong]{border-style:solid;border-color:var(--pr-bad);background:color-mix(in srgb,var(--pr-bad) 8%,var(--surface))}.pr-slots-empty{color:var(--faint);font-size:14px}.pr-pool{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;min-height:48px}.pr-tile{border:solid var(--border);border-width:1px 1px 3px;border-radius:10px;background:var(--surface);color:var(--text);padding:7px 12px;font-size:clamp(16px,2.7vh,21px);font-weight:600;cursor:pointer}.pr-tile:disabled{visibility:hidden}.pr-tile.placed{background:var(--row-active);border-color:var(--accent)}.pr-tile.placed:disabled{visibility:visible;cursor:default}.pr-slots[data-state] .pr-tile.placed{background:transparent;border-color:transparent;padding-inline:2px}.pr-feedback{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 12px;padding:8px 10px;border-radius:12px;background:color-mix(in srgb,var(--pr-bad) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--pr-bad) 40%,var(--border));font-size:15px}.pr-feedback[data-correct]{background:color-mix(in srgb,var(--pr-ok) 12%,var(--surface));border-color:color-mix(in srgb,var(--pr-ok) 45%,var(--border))}.pr-verdict{font-weight:700;color:var(--pr-bad)}.pr-feedback[data-correct] .pr-verdict{color:var(--pr-ok)}.pr-correct b{font-size:17px}.pr-roman{color:var(--accent)}.pr-play{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:3px 10px;font-size:13px;cursor:pointer}.pr-play[data-playing]{border-color:var(--accent);color:var(--accent)}.quiz-grade[data-single]{grid-template-columns:1fr}@media (max-height:700px){.pr-option{min-height:46px}.pr-feedback{padding:5px 8px}}.pr-answer .btn:not(.ghost),.pr-setup .btn:not(.ghost),.pr-setup .chip[aria-pressed=true]{color:var(--surface)}.pr-setup .chip[aria-pressed=true] .chip-sub,.pr-setup .chip[aria-pressed=true] .count{color:color-mix(in srgb,var(--surface) 72%,var(--text))}.wr-chart,.wr-picker,.wr-quiz{--wr-known:#16a34a;--wr-learning:#f59e0b;--wr-bad:#dc2626;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:clamp(6px,1.2vh,10px)}.wr-picker{padding:2px 4px}.wr-picker-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:grid;align-content:start;grid-gap:2px;gap:2px}.wr-lang{display:grid;grid-template-columns:80px 1fr;align-items:center;grid-gap:8px;gap:8px;padding:4px 0;border-bottom:1px solid var(--border)}.wr-lang:last-child{border-bottom:0}.wr-lang-name{display:grid;font-weight:700;font-size:15px;line-height:1.2}.wr-lang-en{font-size:11px;font-weight:400;color:var(--muted)}.wr-lang-charts{display:flex;flex-wrap:wrap;gap:5px}.wr-lang-charts .chip{padding:5px 10px;font-size:13px;gap:5px}.wr-head{flex:0 0 auto;display:flex;align-items:center;gap:8px}.wr-title{flex:1 1 auto;min-width:0}.wr-title-main{font-size:17px;font-weight:800;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wr-title-sub{font-size:12px;color:var(--muted)}.wr-quiz-btn{flex:0 0 auto;font-weight:600}.wr-quiz-btn[aria-pressed=true]{background:var(--surface);color:var(--text);border-color:var(--border)}.wr-sections{flex:0 0 auto}.wr-sections .chip{padding:4px 10px;font-size:13px}.wr-note{flex:0 0 auto;font-size:12px;color:var(--muted);line-height:1.3}.wr-box{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;display:grid;place-content:center}.wr-box[data-layout=table]{place-content:start center}.wr-grid,.wr-table{display:grid;justify-content:center}.wr-th{display:flex;align-items:flex-end;justify-content:center;font-size:11px;color:var(--faint);height:16px}.wr-th-row{height:auto;align-items:center;justify-content:flex-end;padding-right:2px}.wr-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:2px;border:1px solid var(--border);border-radius:10px;background:var(--row);color:var(--text);cursor:pointer;overflow:hidden;line-height:1.05}.wr-tile:hover{border-color:var(--accent)}.wr-tile:active{background:var(--row-active)}.wr-empty{border-style:dashed;background:transparent;cursor:default}.wr-glyph{font-weight:600;white-space:nowrap}.wr-caption{color:var(--muted);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.wr-dot{display:inline-block;width:7px;height:7px;border-radius:999px;border:1px solid var(--faint);background:transparent;flex:none}.wr-tile .wr-dot{position:absolute;top:4px;right:4px}.wr-tile .wr-dot[data-status=new]{display:none}.wr-dot[data-status=learning]{background:var(--wr-learning);border-color:var(--wr-learning)}.wr-dot[data-status=known]{background:var(--wr-known);border-color:var(--wr-known)}.wr-tile[data-unchecked]:before{content:"";position:absolute;top:0;left:0;border-color:#fcd34d transparent transparent;border-style:solid;border-width:9px 9px 0 0}:root[data-hide-checks] .wr-tile[data-unchecked]:before{display:none}.wr-key{flex:0 0 auto;display:flex;justify-content:center;gap:14px;font-size:11px;color:var(--faint)}.wr-key span{display:inline-flex;align-items:center;gap:4px}.wr-seg{flex:0 0 auto}.wr-box.wr-chars{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));grid-auto-rows:44px;grid-gap:5px;gap:5px;place-content:start stretch;-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 20px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 20px),transparent);padding-bottom:18px}.wr-char{font-size:24px;padding:0}.wr-sheet{max-height:88dvh}.wr-sheet-glyph{font-size:clamp(44px,10vh,72px);font-weight:600;line-height:1.1}.wr-sheet-body{gap:12px;min-height:0}.wr-facts{display:grid;grid-gap:5px;gap:5px;font-size:15px}.wr-fact-label{display:inline-block;min-width:56px;font-size:12px;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}.wr-muted{color:var(--muted);font-size:.92em}.wr-ipa{font-family:Charis SIL,Doulos SIL,Gentium,ui-serif,Georgia,serif}.wr-plays{display:flex;flex-wrap:wrap;gap:8px}.wr-play{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:4px 14px 4px 4px;cursor:pointer;font-weight:600;font-size:14px}.wr-play .play{width:30px;height:30px;font-size:11px}.wr-play:disabled{cursor:default;color:var(--faint)}.wr-play[data-playing] .play{background:var(--accent);color:#fff}.wr-forms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px}.wr-form{display:grid;justify-items:center;grid-gap:2px;gap:2px;border:1px solid var(--border);border-radius:10px;background:var(--row);padding:6px 2px}.wr-form-glyph{font-size:30px;line-height:1.3}.wr-form-label{font-size:11px;color:var(--muted)}.wr-strokes{display:flex;justify-content:center}.wr-cards{display:grid;grid-gap:6px;gap:6px}.wr-example{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:var(--row);color:inherit;text-decoration:none}.wr-example:hover{border-color:var(--accent)}.wr-example-word{font-size:22px;font-weight:700}.wr-example-jawi mark,.wr-example-word mark{background:transparent;color:var(--accent);text-decoration:underline;text-underline-offset:3px}.wr-example-jawi{font-size:22px}.wr-example-open{margin-left:auto;font-size:13px;color:var(--accent);font-weight:600}.wr-setup{gap:clamp(8px,1.6vh,14px)}.wr-setup .segmented-sm button:disabled{opacity:.4;cursor:not-allowed}.wr-explain{font-size:12px;color:var(--muted);line-height:1.35}.wr-setup .setup-start{margin-top:auto}.wr-quiz-prompt{gap:8px}.wr-quiz .quiz-head .eyebrow{text-transform:none}.wr-quiz-glyph{font-size:clamp(64px,16vh,128px);font-weight:600;line-height:1.1}.wr-answer{display:grid;justify-items:center;grid-gap:3px;gap:3px;text-align:center}.wr-answer-name{font-size:clamp(20px,3.6vh,28px);font-weight:700}.wr-answer-sound{font-size:17px}.wr-answer-hint{font-size:13px}.wr-answer-body{cursor:default;gap:10px}.wr-hear{width:clamp(64px,12vh,88px);height:clamp(64px,12vh,88px);border-radius:999px;border:2px solid var(--accent);background:var(--surface);color:var(--accent);font-size:clamp(22px,4vh,30px);cursor:pointer}.wr-hear[data-playing]{background:var(--accent);color:#fff}.wr-options{flex:0 0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.wr-option{position:relative;display:grid;justify-items:center;align-content:center;grid-gap:2px;gap:2px;height:clamp(64px,13vh,96px);border:1px solid var(--border);border-radius:14px;background:var(--row);color:var(--text);cursor:pointer}.wr-option:disabled{cursor:default}.wr-option-glyph{font-size:clamp(26px,5.5vh,40px);font-weight:600;line-height:1.1}.wr-option .wr-caption{font-size:12px}.wr-option-n{position:absolute;top:5px;left:8px;font-size:11px;color:var(--faint)}.wr-option[data-state=right]{border-color:var(--wr-known);background:color-mix(in srgb,var(--wr-known) 14%,var(--surface))}.wr-option[data-state=wrong]{border-color:var(--wr-bad);background:color-mix(in srgb,var(--wr-bad) 12%,var(--surface))}.wr-option[data-state=other]{opacity:.55}.wr-next{padding:12px}.wr-glyph:lang(ta){line-height:1.5}:root{--role-subject:#2563eb;--role-verb:#dc2626;--role-object:#16a34a;--role-marker:#9333ea;--role-time:#d97706;--role-place:#0d9488;--role-question:#db2777;--role-negation:#64748b;--role-adjective:#ea580c;--role-number:#0891b2;--role-counter:#0e7490}[data-role=subject]{--role:var(--role-subject)}[data-role=verb]{--role:var(--role-verb)}[data-role=object]{--role:var(--role-object)}[data-role=marker]{--role:var(--role-marker)}[data-role=time]{--role:var(--role-time)}[data-role=place]{--role:var(--role-place)}[data-role=question]{--role:var(--role-question)}[data-role=negation]{--role:var(--role-negation)}[data-role=adjective]{--role:var(--role-adjective)}[data-role=number]{--role:var(--role-number)}[data-role=counter]{--role:var(--role-counter)}.seg{color:color-mix(in srgb,var(--role) 78%,var(--text));background:color-mix(in srgb,var(--role) 13%,transparent);box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--role) 60%,transparent);border-radius:4px;padding:0 1px}.seg[data-role=counter],.seg[data-role=marker]{box-shadow:none;border-bottom:2px dotted color-mix(in srgb,var(--role) 70%,transparent);border-radius:4px 4px 0 0}.pc{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:clamp(6px,1.2vh,10px);position:relative}.pc-head{flex:0 0 auto;display:grid;grid-gap:clamp(2px,.6vh,6px);gap:clamp(2px,.6vh,6px);padding:0 4px}.pc-eyebrow{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);min-width:0}.pc-template{color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.pc-show-all{margin-left:auto;padding:2px 8px}.pc-title{margin:0;font-size:clamp(16px,2.6vh,20px);font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc-english{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:8px;gap:8px;cursor:pointer;border-radius:12px;padding:2px 4px 2px 0;min-width:0}.pc-english-text{font-size:calc(clamp(20px, 4vh, 32px) * var(--scale, 1));font-weight:800;line-height:1.25;overflow:hidden}.pc-english[data-open] .pc-english-text,.pc-row[data-open]{outline:2px solid var(--accent);outline-offset:-2px}.pc-english[data-open] .pc-english-text{border-radius:8px;outline-offset:2px}.pc-legend{display:flex;flex-wrap:wrap;gap:4px 6px;font-size:11px;line-height:1.3}.pc-key{display:inline-flex;align-items:center;gap:4px;color:var(--muted)}.pc-key:before{content:"";width:10px;height:10px;border-radius:3px;background:color-mix(in srgb,var(--role) 22%,transparent);border:1.5px solid color-mix(in srgb,var(--role) 75%,transparent)}.pc-rows{flex:1 1 auto;grid-template-rows:repeat(var(--rows,6),minmax(0,1fr));grid-gap:clamp(4px,.9vh,8px);gap:clamp(4px,.9vh,8px)}.pc-row,.pc-rows{min-height:0;display:grid}.pc-row{grid-template-columns:clamp(40px,11vw,60px) minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;background:var(--row);border:1px solid var(--border);border-radius:14px;padding:0 10px;cursor:pointer;overflow:hidden}.pc-english[data-playing=true],.pc-row[data-playing=true]{background:var(--row-active)}.pc-row[data-playing=true]{border-color:var(--accent)}.pc-lang{font-size:12px;color:var(--muted);line-height:1.2}.pc-lang,.pc-main{min-width:0}.pc-text{font-size:calc(clamp(17px, 3.3vh, 26px) * var(--scale, 1));font-weight:700;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pc-roman{font-size:clamp(12px,1.9vh,15px);color:var(--accent);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc-panel-roman .ipa,.pc-roman .ipa{color:var(--muted);font-weight:400;margin-left:8px}.pc-spoken{font-size:clamp(11px,1.7vh,13px);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc-spoken .reg{margin-right:4px}.pc-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.pc-order{display:inline-flex;font-size:10px;font-weight:700;letter-spacing:.02em;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--surface)}.pc-order>span{padding:1px 3px;color:color-mix(in srgb,var(--role) 80%,var(--text))}.pc-english .play,.pc-row .play{width:30px;height:30px;font-size:11px}.pc-rows[data-compact]{gap:clamp(3px,.7vh,6px)}.pc-rows[data-compact] .pc-row{padding:0 8px;gap:6px;border-radius:12px}.pc-rows[data-compact] .pc-text{font-size:calc(clamp(15px, 2.8vh, 24px) * var(--scale, 1));line-height:1.25}.pc-rows[data-compact] .pc-roman{font-size:clamp(11px,1.7vh,14px)}.pc-rows[data-compact] .pc-lang{font-size:11px}.pc-rows[data-compact] .check-tag{font-size:0;padding:0 4px;margin-top:1px}.pc-rows[data-compact] .check-tag:before{content:"⚑";font-size:10px}.pc-panel{position:absolute;left:0;right:0;z-index:5;max-height:58%;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 28px rgba(17,24,39,.18);padding:10px 12px 12px;display:grid;grid-gap:8px;gap:8px;-webkit-user-select:text;-moz-user-select:text;user-select:text;cursor:auto;animation:pc-panel-in .16s ease-out}.pc-panel[data-at=bottom]{bottom:0}.pc-panel[data-at=top]{top:0}@keyframes pc-panel-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.pc-panel{animation:none}}.pc-panel-head{display:flex;align-items:center;gap:8px}.pc-panel-lang{font-weight:700;font-size:15px}.pc-panel-name{font-weight:400;color:var(--muted)}.pc-panel-head .play{margin-left:auto;cursor:pointer}.pc-close,.pc-panel-head .play{width:32px;height:32px}.pc-panel-langs{display:flex;flex-wrap:wrap;gap:4px}.pc-panel-langs button{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:999px;padding:2px 9px;font-size:12px;cursor:pointer}.pc-panel-langs button[aria-pressed=true]{background:var(--text);border-color:var(--text);color:var(--surface)}.pc-gloss{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:flex-start}.pc-gloss-item{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px}.pc-gloss-item .seg{font-size:18px;font-weight:700}.pc-gloss-word{font-size:11px;color:var(--muted);line-height:1.2;max-width:9em}.pc-panel-roman{font-size:14px;color:var(--accent);font-weight:500}.pc-explain{margin:0;font-size:14px;line-height:1.45;color:var(--text)}.pc-check{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.pc-check .check-tag{display:inline-block;margin-top:0;flex:0 0 auto}.pc-cards{font-size:12px;color:var(--muted)}.pc-cards a{color:var(--accent);text-decoration:none}.pc-cards a:hover{text-decoration:underline}