@font-face{font-family:Urbanist;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/urbanist/urbanist-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Urbanist;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/urbanist/urbanist-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--bg: #f4f5f9;--surface: #ffffff;--surface-2: #eef0f6;--line: #e3e5ee;--line-strong: #c8cbdb;--fg: #1a1c29;--muted: #6a6f87;--accent: #3350b5;--accent-soft: #e8ecfb;--accent-ink: #ffffff;--danger: #b3261e;--danger-soft: #fbe9e7;--danger-ink: #ffffff;--knob: #ffffff;--mid: #7a4fb0;--mid-soft: #efe6fb;--good: #1f6b43;--good-soft: #e1f3e8;--tint-l: 93%;--tint-fl: 36%;--tint-s: 70%;--tint-fs: 55%;--heat-1: #dfe5fa;--heat-2: #a9b8f0;--heat-3: #6a84dc;--heat-4: #3350b5;--mark-tile: #3350b5;--mark-glyph: #ffffff;--shadow: 0 1px 2px rgba(20, 24, 50, .06), 0 10px 28px -14px rgba(20, 24, 50, .22);--lift: 0 1px 2px rgba(20, 24, 50, .1);--scrim: rgba(20, 24, 50, .45);--sound: var(--good);--sound-soft: var(--good-soft);--clip: var(--mid);--clip-soft: var(--mid-soft);--spoiler: color-mix(in srgb, var(--fg) 22%, var(--surface-2));--theater: #000000;--theater-ink: #ffffff;--transcribed: #f2c230;--radius: 12px;--radius-sm: 10px;--font: "Urbanist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-ja: "Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", "Meiryo", sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg: #15161d;--surface: #1e1f29;--surface-2: #272835;--line: #2b2d3b;--line-strong: #3c3f53;--fg: #e6e8f2;--muted: #9499b0;--accent: #8aa4f8;--accent-soft: #262d4a;--accent-ink: #12131a;--danger: #ff8a80;--danger-soft: #3a2422;--danger-ink: #12131a;--knob: #c9cde0;--mid: #c4a6f0;--mid-soft: #2f2544;--good: #9bd8b1;--good-soft: #1d3328;--tint-l: 24%;--tint-fl: 82%;--tint-s: 35%;--tint-fs: 80%;--heat-1: #262d4a;--heat-2: #3d4f8f;--heat-3: #637ccf;--heat-4: #8aa4f8;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 30px -14px rgba(0, 0, 0, .7);--lift: 0 1px 2px rgba(0, 0, 0, .5);--scrim: rgba(0, 0, 0, .6)}:root[data-theme=nord]{color-scheme:dark;--bg: #2e3440;--surface: #3b4252;--surface-2: #434c5e;--line: #4c566a;--line-strong: color-mix(in srgb, #4c566a 75%, #d8dee9);--fg: #eceff4;--muted: color-mix(in srgb, #d8dee9 65%, #4c566a);--accent: #81a1c1;--accent-soft: color-mix(in srgb, #81a1c1 18%, #3b4252);--accent-ink: #2e3440;--danger: #bf616a;--danger-soft: color-mix(in srgb, #bf616a 18%, #3b4252);--danger-ink: #2e3440;--knob: #d8dee9;--mid: #b48ead;--mid-soft: color-mix(in srgb, #b48ead 18%, #3b4252);--good: #a3be8c;--good-soft: color-mix(in srgb, #a3be8c 18%, #3b4252);--tint-l: 24%;--tint-fl: 82%;--tint-s: 35%;--tint-fs: 80%;--heat-1: color-mix(in srgb, #81a1c1 25%, #3b4252);--heat-2: color-mix(in srgb, #81a1c1 50%, #3b4252);--heat-3: color-mix(in srgb, #81a1c1 75%, #3b4252);--heat-4: #81a1c1;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 30px -14px rgba(0, 0, 0, .7);--lift: 0 1px 2px rgba(0, 0, 0, .5);--scrim: rgba(0, 0, 0, .6)}:root[data-theme=tokyo]{color-scheme:dark;--bg: #1a1b26;--surface: #24283b;--surface-2: #292e42;--line: #414868;--line-strong: #565f89;--fg: #c0caf5;--muted: #737aa2;--accent: #7aa2f7;--accent-soft: color-mix(in srgb, #7aa2f7 18%, #24283b);--accent-ink: #1a1b26;--danger: #f7768e;--danger-soft: color-mix(in srgb, #f7768e 18%, #24283b);--danger-ink: #1a1b26;--knob: #c0caf5;--mid: #bb9af7;--mid-soft: color-mix(in srgb, #bb9af7 18%, #24283b);--good: #9ece6a;--good-soft: color-mix(in srgb, #9ece6a 18%, #24283b);--tint-l: 24%;--tint-fl: 82%;--tint-s: 35%;--tint-fs: 80%;--heat-1: color-mix(in srgb, #7aa2f7 25%, #24283b);--heat-2: color-mix(in srgb, #7aa2f7 50%, #24283b);--heat-3: color-mix(in srgb, #7aa2f7 75%, #24283b);--heat-4: #7aa2f7;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 30px -14px rgba(0, 0, 0, .7);--lift: 0 1px 2px rgba(0, 0, 0, .5);--scrim: rgba(0, 0, 0, .6)}:root[data-theme=onedark]{color-scheme:dark;--bg: #21252b;--surface: #282c34;--surface-2: #2c313a;--line: #3e4451;--line-strong: #5c6370;--fg: #abb2bf;--muted: color-mix(in srgb, #5c6370 55%, #abb2bf);--accent: #61afef;--accent-soft: color-mix(in srgb, #61afef 18%, #282c34);--accent-ink: #21252b;--danger: #e06c75;--danger-soft: color-mix(in srgb, #e06c75 18%, #282c34);--danger-ink: #21252b;--knob: #abb2bf;--mid: #c678dd;--mid-soft: color-mix(in srgb, #c678dd 18%, #282c34);--good: #98c379;--good-soft: color-mix(in srgb, #98c379 18%, #282c34);--tint-l: 24%;--tint-fl: 82%;--tint-s: 35%;--tint-fs: 80%;--heat-1: color-mix(in srgb, #61afef 25%, #282c34);--heat-2: color-mix(in srgb, #61afef 50%, #282c34);--heat-3: color-mix(in srgb, #61afef 75%, #282c34);--heat-4: #61afef;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 30px -14px rgba(0, 0, 0, .7);--lift: 0 1px 2px rgba(0, 0, 0, .5);--scrim: rgba(0, 0, 0, .6)}:root[data-theme=gruvbox]{color-scheme:dark;--bg: #282828;--surface: #3c3836;--surface-2: #504945;--line: #665c54;--line-strong: #7c6f64;--fg: #ebdbb2;--muted: #a89984;--accent: #83a598;--accent-soft: color-mix(in srgb, #83a598 18%, #3c3836);--accent-ink: #282828;--danger: #fb4934;--danger-soft: color-mix(in srgb, #fb4934 18%, #3c3836);--danger-ink: #282828;--knob: #ebdbb2;--mid: #d3869b;--mid-soft: color-mix(in srgb, #d3869b 18%, #3c3836);--good: #b8bb26;--good-soft: color-mix(in srgb, #b8bb26 18%, #3c3836);--tint-l: 24%;--tint-fl: 82%;--tint-s: 35%;--tint-fs: 80%;--heat-1: color-mix(in srgb, #83a598 25%, #3c3836);--heat-2: color-mix(in srgb, #83a598 50%, #3c3836);--heat-3: color-mix(in srgb, #83a598 75%, #3c3836);--heat-4: #83a598;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 30px -14px rgba(0, 0, 0, .7);--lift: 0 1px 2px rgba(0, 0, 0, .5);--scrim: rgba(0, 0, 0, .6)}:root[data-theme=solarized-light]{color-scheme:light;--bg: #eee8d5;--surface: #fdf6e3;--surface-2: #eee8d5;--line: color-mix(in srgb, #93a1a1 40%, #fdf6e3);--line-strong: #93a1a1;--fg: #073642;--muted: #657b83;--accent: #268bd2;--accent-soft: color-mix(in srgb, #268bd2 14%, #fdf6e3);--accent-ink: #fdf6e3;--danger: #dc322f;--danger-soft: color-mix(in srgb, #dc322f 14%, #fdf6e3);--danger-ink: #fdf6e3;--knob: #fdf6e3;--mid: #6c71c4;--mid-soft: color-mix(in srgb, #6c71c4 14%, #fdf6e3);--good: #859900;--good-soft: color-mix(in srgb, #859900 14%, #fdf6e3);--tint-l: 93%;--tint-fl: 36%;--tint-s: 70%;--tint-fs: 55%;--heat-1: color-mix(in srgb, #268bd2 25%, #fdf6e3);--heat-2: color-mix(in srgb, #268bd2 50%, #fdf6e3);--heat-3: color-mix(in srgb, #268bd2 75%, #fdf6e3);--heat-4: #268bd2;--shadow: 0 1px 2px rgba(7, 54, 66, .06), 0 10px 28px -14px rgba(7, 54, 66, .22);--lift: 0 1px 2px rgba(7, 54, 66, .1);--scrim: rgba(7, 54, 66, .45)}:root[data-theme=solarized-dark]{color-scheme:dark;--bg: #002b36;--surface: #073642;--surface-2: color-mix(in srgb, #073642 75%, #586e75);--line: #586e75;--line-strong: #657b83;--fg: #eee8d5;--muted: #839496;--accent: #268bd2;--accent-soft: color-mix(in srgb, #268bd2 18%, #073642);--accent-ink: #002b36;--danger: #dc322f;--danger-soft: color-mix(in srgb, #dc322f 18%, #073642);--danger-ink: #fdf6e3;--knob: #93a1a1;--mid: #6c71c4;--mid-soft: color-mix(in srgb, #6c71c4 18%, #073642);--good: #859900;--good-soft: color-mix(in srgb, #859900 18%, #073642);--tint-l: 24%;--tint-fl: 82%;--tint-s: 35%;--tint-fs: 80%;--heat-1: color-mix(in srgb, #268bd2 25%, #073642);--heat-2: color-mix(in srgb, #268bd2 50%, #073642);--heat-3: color-mix(in srgb, #268bd2 75%, #073642);--heat-4: #268bd2;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 30px -14px rgba(0, 0, 0, .7);--lift: 0 1px 2px rgba(0, 0, 0, .5);--scrim: rgba(0, 0, 0, .6)}:root[data-theme=monokai]{color-scheme:dark;--bg: #272822;--surface: #2d2e27;--surface-2: #3e3d32;--line: #49483e;--line-strong: #75715e;--fg: #f8f8f2;--muted: color-mix(in srgb, #75715e 60%, #f8f8f2);--accent: #66d9ef;--accent-soft: color-mix(in srgb, #66d9ef 18%, #2d2e27);--accent-ink: #272822;--danger: #f92672;--danger-soft: color-mix(in srgb, #f92672 18%, #2d2e27);--danger-ink: #272822;--knob: #f8f8f2;--mid: #ae81ff;--mid-soft: color-mix(in srgb, #ae81ff 18%, #2d2e27);--good: #a6e22e;--good-soft: color-mix(in srgb, #a6e22e 18%, #2d2e27);--tint-l: 24%;--tint-fl: 82%;--tint-s: 35%;--tint-fs: 80%;--heat-1: color-mix(in srgb, #66d9ef 25%, #2d2e27);--heat-2: color-mix(in srgb, #66d9ef 50%, #2d2e27);--heat-3: color-mix(in srgb, #66d9ef 75%, #2d2e27);--heat-4: #66d9ef;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 30px -14px rgba(0, 0, 0, .7);--lift: 0 1px 2px rgba(0, 0, 0, .5);--scrim: rgba(0, 0, 0, .6)}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}:where(input,textarea,select,button){font:inherit;color:inherit}:where(input,textarea,select){background-color:var(--surface);color:var(--fg)}[lang=ja]{font-family:var(--font-ja)}.app{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto 1fr;grid-template-areas:"brand tabs" "sub sub" "main main"}.brand{grid-area:brand;display:flex;align-items:center;padding:10px 4px 10px 16px;font-weight:800;font-size:16px;letter-spacing:-.01em;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}.tabs{grid-area:tabs;display:flex;align-items:center;gap:4px;padding:8px 16px 8px 10px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}.subhead{grid-area:sub;width:100%;max-width:640px;margin:0 auto;padding:22px 20px 0;display:flex;align-items:center;gap:10px}.subhead.is-action-only{justify-content:flex-end}.subhead-title{flex:1;min-width:0;margin:0;font-size:20px;font-weight:800;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{grid-area:main;width:100%;max-width:640px;margin:0 auto;padding:24px 20px 48px;display:grid;gap:18px;align-content:start}.subhead+.main{padding-top:14px}.app.is-home .main{padding-top:28px}.app.is-home .subhead+.main{padding-top:10px}.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;border-radius:10px;padding:8px 14px;border:1px solid transparent;background:transparent;cursor:pointer;transition:background .15s ease,transform .1s ease}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-ghost{background:transparent;color:var(--fg);border-color:var(--line-strong)}@media(hover:hover){.btn-ghost:hover{background:var(--surface-2)}}.btn-lg{padding:14px 20px;font-size:17px;border-radius:12px}.btn-row{width:100%;justify-content:space-between;text-align:left;padding:13px 14px;background:var(--surface);color:var(--fg);border-color:var(--line)}@media(hover:hover){.btn-row:hover{border-color:var(--line-strong)}}.btn-row:active{background:var(--surface-2)}.btn-tab{padding:7px 12px;color:var(--muted)}.btn-tab[aria-current=page]{background:var(--accent-soft);color:var(--accent)}@media(hover:hover){.btn-tab:hover{background:var(--surface-2)}.btn-tab[aria-current=page]:hover{background:var(--accent-soft)}}.btn-back{padding-left:8px}.btn-door{display:grid;grid-template-columns:minmax(0,1fr);justify-items:start;align-content:start;gap:2px;min-height:104px;padding:14px;text-align:left;background:var(--surface);color:var(--fg);border-color:var(--line);border-radius:14px;box-shadow:var(--shadow)}.btn-door:active{background:var(--surface-2)}.btn-door.is-main{--w: 3;min-height:132px;align-content:end}.btn-door.is-hot{background:var(--accent);color:var(--accent-ink);border-color:transparent}.btn-door.is-hot:active{background:var(--accent);filter:brightness(.95)}.btn-icon{padding:6px;color:var(--muted)}.door-icon{width:26px;height:26px;margin-bottom:10px}.is-main .door-icon{width:32px;height:32px}.door-label{font-size:18px;font-weight:800;letter-spacing:-.01em}.is-main .door-label{font-size:24px}.door-detail{min-height:1.5em;font-size:13px;font-weight:600;opacity:.75}.btn-chip{padding:5px 11px;border-radius:8px;border-color:var(--line-strong);font-size:14px}.btn-chip[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:transparent}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;padding:3px;border-radius:var(--radius-sm);background:var(--surface-2)}.btn-seg{padding:8px 10px;border-radius:8px;font-weight:700;color:var(--muted)}.btn-seg[aria-pressed=true]{background:var(--surface);color:var(--fg);box-shadow:var(--lift)}.btn-switch{gap:10px;padding:10px 10px 10px 14px;border-color:var(--line-strong);color:var(--muted)}.btn-switch[aria-checked=true]{color:var(--fg)}@media(hover:hover){.btn-switch:hover{background:var(--surface-2)}}.switch-track{position:relative;flex-shrink:0;width:34px;height:20px;border-radius:999px;background:var(--line-strong);transition:background .15s ease}.switch-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--knob);box-shadow:var(--lift);transition:transform .15s ease,background .15s ease}.btn-switch[aria-checked=true] .switch-track{background:var(--accent)}.btn-switch[aria-checked=true] .switch-knob{background:var(--accent-ink);transform:translate(14px)}.deck-actions{display:flex;gap:8px}.deck-actions .btn{flex:1}.btn-danger{background:var(--danger);color:var(--danger-ink);font-weight:700}.btn-ghost.is-danger{color:var(--danger)}.deck-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.deck-item{display:flex;gap:6px}.list-rule{height:1px;margin:12px 2px;background:var(--line-strong)}.srs-row.is-builtin{gap:10px;background:transparent;border-style:dashed;color:var(--muted)}.srs-row.is-builtin .deck-name{flex:1}.srs-row.is-builtin .icon{width:14px;height:14px}.deck-row{flex:1;min-width:0}.deck-settings{flex-shrink:0;width:46px;padding:0;background:var(--surface);border-color:var(--line);color:var(--muted)}.deck-settings:active{background:var(--surface-2)}.deck-name{font-size:15px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-sub{display:block;font-size:12px;font-weight:600;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.deck-count{flex-shrink:0;margin-left:12px;padding:2px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:grid;gap:10px}.panel>.panel-title{margin-bottom:0}.panel-alarm{border-color:color-mix(in srgb,var(--danger) 45%,var(--line));background:var(--danger-soft)}.question{margin:0;font-size:16px;font-weight:700}.panel-title,.list-title{margin:0 0 10px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.add-form{display:grid;gap:12px}.field{display:grid;gap:6px}.field-label{font-size:13px;font-weight:600;color:var(--muted)}.field-input{font-size:16px;padding:10px 12px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);width:100%}.field-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}textarea.field-input{display:block;resize:none;min-height:94px;max-height:16em;field-sizing:content}.field-invalid .field-input{border-color:var(--danger)}.field-invalid .field-input:focus-visible{outline-color:var(--danger);border-color:transparent}.field-error{font-size:13px;color:var(--danger)}.field-marked{position:relative}.field-marked>.field-behind{position:absolute;inset:0;overflow:hidden;white-space:pre-wrap;overflow-wrap:break-word;color:transparent;border-color:transparent;pointer-events:none;-webkit-user-select:none;user-select:none}.field-marked>textarea.field-input{position:relative;margin:0;background:transparent;scrollbar-width:none}.field-behind mark{color:transparent;background:var(--accent-soft);border-radius:4px}.chips{display:flex;flex-wrap:wrap;gap:6px}.theme-chips{flex:1 1 100%}.theme-swatch{flex:none;width:12px;height:12px;border-radius:50%;border:1px solid var(--line-strong)}.field-hint{margin:0;font-size:12px;color:var(--muted)}.type-form{display:grid;gap:18px}.field-rows{display:grid;gap:16px}.field-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;transition:transform .15s ease}.field-row-tools{display:inline-flex;gap:4px}.field-row-tools .btn-icon{padding:13px 10px}.field-row-options{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px}.field-row-options .dropdown{display:flex}.field-row-options .dropdown-button{padding:8px 12px 8px 14px;border-radius:var(--radius-sm);font-size:inherit;font-weight:700}.field-grip{cursor:grab;touch-action:none}.field-rows.is-reordering{-webkit-user-select:none;user-select:none}.field-row.is-dragging{transition:none;position:relative;z-index:1;border-radius:var(--radius-sm);box-shadow:0 0 0 8px var(--surface),var(--shadow)}.field-row.is-dragging .field-grip{cursor:grabbing}.add-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.add-actions-start{justify-content:flex-start}.form-failure{font-size:13px;color:var(--danger);margin-right:auto}.failure-line{margin:0}.btn.media-drop{width:100%;justify-content:flex-start;padding:14px 12px;border:1px dashed var(--line-strong);border-radius:10px;color:var(--muted)}.media-drop-hint{font-weight:400}@media(hover:none){.media-drop-hint{display:none}}.media-picked{display:grid;gap:8px;padding:10px;border:1px solid var(--line-strong);border-radius:10px}.media-picked-row{display:flex;align-items:center;gap:8px;min-width:0}.media-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--muted)}.media-field.is-over .media-drop,.media-field.is-over .media-picked{border-color:var(--accent);background:var(--accent-soft)}.media-field.is-over .media-drop{color:var(--accent)}.field-invalid .media-drop,.field-invalid .media-picked{border-color:var(--danger)}.card-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.card-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;display:grid;gap:2px;min-width:0}.card-row-ja{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.card-word{font-size:16px;font-weight:700}.card-front{color:var(--muted)}.card-meaning{overflow-wrap:anywhere}.card-meaning:empty{display:none}.card-back+.card-back:before{content:" · ";color:var(--muted)}.is-long{white-space:pre-line}.media{display:grid;gap:8px;width:min(100%,360px);min-width:0;cursor:default}.media-frame{display:block;max-width:100%;max-height:260px;border-radius:var(--radius-sm);background:var(--surface-2)}video.media-frame,canvas.media-frame{width:100%;aspect-ratio:16 / 9;object-fit:contain;cursor:pointer}.media-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:4px 14px 4px 4px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.btn-icon.media-play{padding:8px;border-color:transparent;border-radius:50%;background:var(--accent-soft);color:var(--accent)}@media(hover:hover){.btn-icon.media-play:hover{background:color-mix(in srgb,var(--accent) 18%,var(--surface))}}.media-track{height:4px;border-radius:2px;background:var(--surface-2);overflow:hidden}.media-track i{display:block;height:100%;background:var(--accent);transition:width .25s linear}.media-time{font-size:12px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.media-failed{margin:0;font-size:13px;color:var(--danger)}.media.media-row{display:inline-flex;width:auto;vertical-align:middle}.btn-chip.media-chip,.btn-chip.link-chip.is-row{gap:5px;padding:2px 10px 2px 7px;border-radius:6px;font-size:13px;color:var(--muted)}.media-chip .icon,.link-chip .icon{width:14px;height:14px}.btn-chip.link-chip{gap:6px;color:var(--muted);text-decoration:none;font-variant-numeric:tabular-nums;vertical-align:middle;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}@media(hover:hover){.btn-chip.link-chip:hover{background:var(--surface-2);color:var(--fg)}}.media-frame.media-thumb{display:inline-block;height:36px;max-width:96px;object-fit:cover;border-radius:6px;vertical-align:middle}.card-row-ja>.media,.card-row-ja>.media-thumb,.card-row-ja>.link-chip{align-self:center}.card-meaning>.media,.card-meaning>.media-thumb,.card-meaning>.link-chip{margin:2px 6px 2px 0}.review-card:has(.media:active,.link-chip:active,.btn-spoiler:active):active{background:var(--surface)}.media-audio{--kind: var(--sound);--kind-soft: var(--sound-soft)}.media-video{--kind: var(--clip);--kind-soft: var(--clip-soft)}.media-audio .btn-icon.media-play,.media-video .btn-icon.media-play{background:var(--kind-soft);color:var(--kind)}@media(hover:hover){.media-audio .btn-icon.media-play:hover,.media-video .btn-icon.media-play:hover{background:color-mix(in srgb,var(--kind) 18%,var(--surface))}}.media-audio .media-track i,.media-video .media-track i{background:var(--kind)}.media-row.media-audio .media-chip .icon,.media-row.media-video .media-chip .icon{color:var(--kind)}.media-bar.is-named{grid-template-columns:auto auto minmax(0,1fr) auto}.media-bar.has-screen{grid-template-columns:auto minmax(0,1fr) auto auto}.media-bar.is-named.has-screen{grid-template-columns:auto auto minmax(0,1fr) auto auto}.btn-icon.media-screen{padding:6px;margin-right:-8px}.media.media-player:fullscreen{width:100%;max-width:none;height:100%;padding:16px;grid-template-rows:minmax(0,1fr) auto;background:var(--theater)}.media.media-player:fullscreen video.media-frame{width:100%;height:100%;max-height:none;aspect-ratio:auto;border-radius:0;background:transparent}.media.media-player:fullscreen .media-bar{width:min(100%,720px);justify-self:center}.media-plain-audio{width:100%}.media-tag{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-tag .icon{width:15px;height:15px;color:var(--kind, var(--accent))}.media.media-round,.media.media-tile,.media.media-speaker{width:auto}.media.media-voice{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:6px 8px 6px 6px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.btn-icon.media-voice-play{width:38px;height:38px;padding:0;border:0;border-radius:50%;background:var(--kind);color:var(--accent-ink)}.media-wave{display:flex;align-items:center;gap:2px;height:30px;min-width:0;cursor:pointer}.media-wave i{flex:1 1 0;min-width:2px;max-width:4px;border-radius:2px;background:var(--line-strong);transition:background .15s ease}.media-wave i.is-heard{background:var(--kind)}.media-voice-side{display:grid;justify-items:end;line-height:1.2;min-width:0}.media-voice-name{max-width:96px;font-size:11px;font-weight:700;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-speed .dropdown-button{padding:2px 6px 2px 8px;border-radius:7px;font-size:12px;font-variant-numeric:tabular-nums}.media-speed .menu.dropdown-menu{left:auto;right:0}.media-speed.is-changed .dropdown-button{background:var(--kind-soft);color:var(--kind);border-color:transparent}.media.media-round{justify-items:center;gap:4px}.btn.media-round-button{position:relative;width:64px;height:64px;padding:0;border:0;border-radius:50%;background:transparent}.media-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.media-ring circle{fill:none;stroke-width:4}.media-ring-base{stroke:var(--line)}.media-ring-heard{stroke:var(--kind);stroke-linecap:round;transition:stroke-dashoffset .25s linear}.media-round-core{position:absolute;inset:8px;display:grid;place-items:center;border-radius:50%;background:var(--kind-soft);color:var(--kind)}.media-round-core .icon{width:22px;height:22px}.media-round-name{font-size:12px;font-weight:700;color:var(--muted)}.btn.media-tile-button{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr);justify-content:start;align-items:center;gap:10px;min-width:180px;max-width:100%;padding:9px 14px 9px 9px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);text-align:left}.media-tile-fill{position:absolute;inset:0 auto 0 0;background:var(--kind-soft);transition:width .25s linear}.media-tile-button>:not(.media-tile-fill){position:relative}.media-tile-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:var(--kind);color:var(--accent-ink)}.media-tile-words{display:grid;min-width:0;line-height:1.25}.media-tile-name{font-size:14px;font-weight:700;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media.media-speaker{display:inline-flex}.btn.media-speaker-button{gap:6px;padding:6px;border:0;border-radius:999px;background:transparent;color:var(--kind);font-size:13px;font-weight:700}.media-speaker-button .icon{width:22px;height:22px}@media(hover:hover){.btn.media-speaker-button:hover{background:var(--kind-soft)}}.btn.media-speaker-button.is-playing{background:var(--kind-soft)}.btn.media-speaker-button.is-playing .icon{animation:speaker-pulse .9s ease-in-out infinite}@keyframes speaker-pulse{0%,to{opacity:.45}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.btn.media-speaker-button.is-playing .icon{animation:none}}.empty,.loading{color:var(--muted);margin:0}.load-error{color:var(--danger);margin:0}.empty-state,.review-done{display:grid;gap:12px;justify-items:start}.review{display:grid;gap:16px}.review-counts{display:inline-flex;align-items:baseline;gap:6px;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}.review-plus{font-weight:600;color:var(--muted)}.review-count{padding-bottom:1px;border-bottom:2px solid transparent}.review-count.is-new{color:var(--accent)}.review-count.is-again{color:var(--danger)}.review-count.is-review{color:var(--good)}.review-count.is-now{border-bottom-color:currentColor}.review-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:40px 24px;min-height:320px;display:grid;align-content:center;justify-items:center;gap:14px;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none}.review-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.review-card:active{background:var(--surface-2)}.review-answer{display:grid;gap:4px;width:100%}.review-card:not(.is-revealed) .review-answer,.review-card:not(.is-revealed) .is-later,.review-card.is-revealed .review-hint{visibility:hidden}.review-part{width:100%;min-width:0;display:grid;justify-items:center}.review-row{width:100%;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px}.review-row>.review-part{width:auto;flex:0 1 auto}.review-row>.review-part:has(.media-player,.media-plain,.media-voice){flex:1 1 200px}.review-words{overflow-wrap:anywhere}.pitch-accent{font-family:var(--font-ja),var(--font)}.pitch-accent>span{padding-top:.12em}.pitch-accent .is-high{box-shadow:inset 0 max(1.5px,.06em) 0 currentColor}.pitch-accent .is-high.is-fall{box-shadow:inset 0 max(1.5px,.06em) 0 currentColor,inset calc(-1*max(1.5px,.06em)) 0 0 currentColor}.pitch-accents{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:.2em .6em}.review-ruby-line{display:block;padding-top:max(.65em,16px)}.review-ruby rt{padding-bottom:.15em;font-size:max(.45em,11px);font-weight:500;line-height:1.3;color:var(--muted)}.review-ruby rt.tone-normal{color:var(--fg)}.review-ruby rt.tone-accent{color:var(--accent)}.review-ruby-text{padding:0 3px}.review-ruby-covered{position:relative}.review-ruby-covered .review-ruby-text{visibility:hidden}.btn.btn-spoiler.review-ruby-spoiler{position:absolute;inset:.12em 0 .22em;padding:0;border-radius:4px;box-shadow:none}.review-ruby-pick{border-radius:4px;outline:1px dashed transparent;outline-offset:2px;cursor:pointer}.review-ruby-pick.is-covered{background:var(--spoiler)}.review-ruby-pick.is-covered .review-ruby-text{opacity:.25}@media(hover:hover){.review-ruby-pick:hover{outline-color:var(--line-strong)}}.review-ruby-pick.is-picked{outline:2px solid var(--accent)}.review-part.size-big .review-words{font-size:40px;font-weight:700;line-height:1.15}.review-part.size-normal .review-words{font-size:18px}.review-part.size-small .review-words{font-size:14px}.review-part.tone-quiet .review-words{color:var(--muted)}.review-part.tone-accent .review-words{color:var(--accent)}.review-label{display:block;margin-bottom:2px;font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.review-part.size-big :is(.media-player,.media-plain){width:100%}.review-part.size-small :is(.media-player,.media-plain){width:min(100%,220px)}.review-part.size-big img.media-frame{max-height:420px}.review-part.size-small img.media-frame{max-height:130px}.btn.btn-spoiler{position:relative;padding:0;border:0;border-radius:6px;background:var(--spoiler);box-shadow:0 0 0 3px var(--spoiler);font:inherit;color:inherit;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.btn-spoiler .review-part-body{visibility:hidden}@media(hover:hover){.btn.btn-spoiler:hover{background:transparent;box-shadow:0 0 0 3px transparent}.btn-spoiler:hover .review-part-body,.review-ruby-covered:hover .review-ruby-text{visibility:visible}}.review-part.btn-spoiler,.review-part-face{position:relative;width:fit-content;max-width:100%;justify-self:center}.review-part.btn-spoiler:has(.media-player,.media-plain,.media-voice),.review-part-face:has(.media-player,.media-plain,.media-voice){width:100%}.review-part.is-covered .review-part-face{border-radius:6px;background:var(--spoiler);box-shadow:0 0 0 3px var(--spoiler)}.review-part.is-covered .review-part-body{opacity:.25}.btn-spoiler:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.review-card.is-editing{cursor:default;padding-inline:46px}.review-card.is-editing .review-row{column-gap:46px}.review-card.is-editing:active{background:var(--surface)}.review-part.is-editable{position:relative;border-radius:10px;outline:1px dashed transparent;outline-offset:6px;cursor:pointer;transition:transform .15s ease}@media(hover:hover){.review-part.is-editable:hover{outline-color:var(--line-strong)}}.review-part.is-editable.is-picked{outline:2px solid var(--accent)}.review-part.is-editable.is-dragging{transition:none;z-index:2;background:var(--surface);box-shadow:var(--shadow)}.review-part-body{display:grid;justify-items:center;max-width:100%;min-width:0}.btn-icon.review-grip{position:absolute;top:50%;left:-38px;transform:translateY(-50%);z-index:1;padding:3px;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface);cursor:grab;touch-action:none;opacity:0}.review-part.is-editable.is-picked .review-grip,.btn-icon.review-grip:focus-visible{opacity:1}@media(hover:hover){.review-part.is-editable:hover .review-grip{opacity:1}}@media(hover:none){.btn-icon.review-grip{opacity:1}}.review-blank{color:var(--muted);font-style:italic;opacity:.75}.review-blank-file{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);color:var(--muted);font-size:14px;font-weight:600}.layout-editor{display:grid;gap:16px}.layout-stage{display:grid;gap:12px;min-width:0}.layout-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.layout-tools-end{display:inline-flex;gap:2px;margin-left:auto}.layout-note{margin:0;font-size:13px;color:var(--muted)}.layout-away,.layout-sample{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.btn-chip.layout-away-chip{border-style:dashed;font-size:13px;padding:3px 10px}.layout-part-title{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:18px;font-weight:800;overflow-wrap:anywhere}.layout-part-title small{font-size:12px;font-weight:600;color:var(--muted)}.review-hint{font-size:13px;color:var(--muted)}.review-actions{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px}.review-asides{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.btn-chip.review-aside{gap:8px;padding:8px 12px;font-size:13px;color:var(--muted)}.review-aside .name{font-weight:700;color:var(--fg)}.review-aside .to{font-size:11px}@media(hover:none){.review-aside .key{display:none}}.review-ask{display:grid;gap:12px}.mark{position:relative;display:inline-block;flex-shrink:0}.mark svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible}.mark-tile rect{fill:var(--mark-tile)}.mark-left path,.mark-right path,.mark-dot path{fill:var(--mark-glyph)}.intro{position:fixed;inset:0;z-index:10;display:grid;place-items:center;background:var(--bg);animation:intro-out .3s ease 1.35s forwards}.intro-stage{display:grid;justify-items:center;gap:16px}.intro .mark-tile{animation:intro-land .5s cubic-bezier(.2,1.25,.4,1) both}.intro .mark-left{animation:intro-wipe .3s cubic-bezier(.2,.7,.2,1) .26s both}.intro .mark-right{animation:intro-wipe .3s cubic-bezier(.2,.7,.2,1) .4s both}.intro .mark-dot{animation:intro-pop .35s cubic-bezier(.2,1.4,.4,1) .62s both}.intro-name{font-weight:800;font-size:22px;letter-spacing:-.01em;animation:intro-rise .4s cubic-bezier(.2,.7,.2,1) .78s both}@keyframes intro-land{0%{opacity:0;transform:scale(.5) rotate(-8deg)}to{opacity:1;transform:none}}@keyframes intro-wipe{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}@keyframes intro-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes intro-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes intro-out{to{opacity:0}}@media(prefers-reduced-motion:reduce){.intro{display:none}}.btn-item{width:100%;justify-content:flex-start;gap:8px;padding:7px 10px;border-radius:8px;font-size:14px;text-align:left;color:var(--fg)}@media(hover:hover){.btn-item:not(:disabled):hover{background:var(--surface-2)}}.btn-item[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.btn-item .icon{width:14px;height:14px}.btn-item.is-danger{color:var(--danger)}.btn-answer{display:grid;justify-items:center;gap:2px;padding:10px 8px;border-radius:12px;background:var(--surface);border-color:var(--line-strong);color:var(--fg)}.btn-answer .name{font-weight:800;font-size:16px}.btn-answer .to{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}.btn-answer .key,.review-aside .key{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border:1px solid currentColor;border-bottom-width:3px;border-radius:6px;font-size:11px;font-weight:800;line-height:1}.btn-answer .key{margin-top:4px;color:var(--muted)}.btn-answer.ans-down{color:var(--danger)}.btn-answer.ans-mid{color:var(--mid)}.btn-answer.ans-up{background:var(--accent);color:var(--accent-ink);border-color:transparent}.btn-answer.ans-up .to,.btn-answer.ans-up .key{color:inherit;opacity:.8}@media(hover:none){.btn-answer .key{display:none}}.ans-down{--ans: var(--danger);--ans-soft: var(--danger-soft)}.ans-mid{--ans: var(--mid);--ans-soft: var(--mid-soft)}.ans-up{--ans: var(--accent);--ans-soft: var(--accent-soft)}.ans-aside{--ans: var(--muted);--ans-soft: var(--surface-2)}.pill{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700;background:var(--tint-bg, var(--surface-2));color:var(--tint-fg, var(--muted));white-space:nowrap}.pill.is-new{background:var(--surface-2);color:var(--muted)}.pill.is-done{background:var(--good-soft);color:var(--good)}.pill.ans-down,.pill.ans-mid,.pill.ans-up,.pill.ans-aside{background:var(--ans-soft);color:var(--ans)}.segmented-sm{padding:2px;gap:1px}.segmented-sm .btn-seg{padding:3px 6px;font-size:11px;border-radius:6px}.numfield{display:inline-flex;align-items:center;gap:4px}.numfield .field-input.num{width:72px;text-align:center;font-variant-numeric:tabular-nums}.numfield .btn-icon{padding:10px;border-color:var(--line-strong)}.numfield-sm .field-input.num{width:50px;padding:4px;font-size:13px;border-radius:8px}.numfield-suffix{margin-left:2px;font-size:16px;font-weight:700;color:var(--fg)}.settings-tab{display:grid;gap:18px;align-content:start}.settings-tab[hidden]{display:none}@media(max-width:640px){.main>.segmented>.btn-seg{padding-inline:4px;font-size:13px}}.key-spoiler{margin-left:8px;vertical-align:baseline}.key-spoiler .key-text{visibility:hidden;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.btn.key-spoiler[aria-pressed=true]{background:transparent;box-shadow:0 0 0 3px transparent}.key-spoiler[aria-pressed=true] .key-text{visibility:visible}@media(hover:hover){.key-spoiler:hover .key-text{visibility:visible}}.setting{display:grid;gap:8px}.setting+.setting{padding-top:10px;border-top:1px solid var(--line)}.setting-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.setting-label{font-weight:700}.setting-why{margin:0;font-size:13px;color:var(--muted)}.setting-pair{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.panel-section{display:grid;gap:10px}.panel-section+.panel-section{padding-top:14px;border-top:1px solid var(--line)}.panel-subtitle{margin:0;font-size:15px;font-weight:800}.card-row.has-state{grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center}.card-state{grid-column:2;grid-row:1 / span 2;display:grid;justify-items:end;gap:3px}.card-row.has-tools{grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center}.card-row.has-state.has-tools{grid-template-columns:minmax(0,1fr) auto auto}.card-tools{grid-column:-2;grid-row:1 / span 2}.add-actions .card-delete{margin-right:auto}.due{font-size:12px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.due.is-now{color:var(--accent)}.review-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.review-card{position:relative}.review-card.is-revealed{cursor:default}.review-card.is-revealed:active{background:var(--surface)}.review-place{position:absolute;top:14px;left:14px}.summary{display:grid;gap:14px;justify-items:stretch}.summary-title{margin:0;font-size:24px;font-weight:800;letter-spacing:-.01em}.tally{display:flex;flex-wrap:wrap;gap:8px}.tally .pill{font-size:14px;padding:6px 12px}.next-days{display:grid;gap:6px}.next-day{display:grid;grid-template-columns:90px minmax(0,1fr) 40px;align-items:center;gap:8px;font-size:14px;font-variant-numeric:tabular-nums}.next-day .barwrap{height:10px;border-radius:999px;background:var(--surface-2);overflow:hidden}.next-day .bar{display:block;height:100%;background:var(--accent);border-radius:999px}.next-day .n{text-align:right;font-weight:700}.starts{display:grid;gap:8px}.btn-start .deck-name,.btn-start .row-sub{white-space:normal}.srs-editor{display:grid;gap:18px}.app.is-wide .main,.app.is-wide .subhead{max-width:1140px}@media(min-width:1120px){.app.is-wide .srs-editor{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.app.is-wide .srs-editor>*{grid-column:1}.app.is-wide .srs-editor>.preview{grid-column:2;grid-row:1 / span 40;position:sticky;top:16px}.app.is-wide .layout-editor{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.app.is-wide .layout-editor>.layout-panel{position:sticky;top:16px}}.journey{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.jstep{display:inline-grid;place-items:center;min-width:40px;padding:4px 8px;border-radius:999px;font-size:13px;font-weight:800;background:var(--tint-bg);color:var(--tint-fg);font-variant-numeric:tabular-nums}.jstep.is-again{background:var(--surface-2);color:var(--muted);border:1px dashed var(--line-strong)}.jarrow{color:var(--line-strong);font-weight:700}.jend{font-size:13px;font-weight:700;color:var(--muted)}.jend.is-done{color:var(--good)}.cost{display:grid;gap:12px}.modal-scrim{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:var(--scrim)}.modal{width:100%;max-width:420px;display:grid;gap:14px;box-shadow:var(--shadow)}.modal .add-actions{flex-wrap:wrap}.cost-picks{display:flex;flex-wrap:wrap;gap:6px}.dropdown{position:relative;display:inline-block}.dropdown-button{gap:4px}.dropdown-button.is-unset{color:var(--muted)}.dropdown-button .icon{width:14px;height:14px}.menu.dropdown-menu{top:calc(100% + 4px);left:0;width:max-content;min-width:100%;padding:4px;gap:2px}.dropdown.is-wide{display:block}.dropdown.is-wide .dropdown-button{width:100%;justify-content:space-between}.dropdown.is-wide .dropdown-says{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown.is-wide .menu.dropdown-menu{width:100%}.dropdown.is-wide .btn-item{align-items:flex-start}.btn-item .dropdown-tick{flex:none;margin-top:2px}.dropdown-tick.is-off{visibility:hidden}.dropdown-columns{display:flex;justify-content:space-between;gap:16px;padding:6px 10px 4px;border-bottom:1px solid var(--line);margin-bottom:2px;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.dropdown-note{margin-left:auto;padding-left:16px;font-size:12px;font-weight:500;color:var(--muted)}.btn-item[aria-pressed=true] .dropdown-note{color:inherit;opacity:.75}.cost-chart{width:100%;height:64px;display:block}.cost-chart rect{fill:var(--line-strong)}.cost-chart rect.is-tail{fill:var(--accent)}.cost-chart rect.is-at{fill:var(--fg)}.cost-plot{position:relative;touch-action:pan-y}.cost-chart text{font-size:10px;font-weight:700;fill:var(--muted);font-family:var(--font)}.cost-words{margin:0;font-size:14px;color:var(--muted)}.cost-words b{color:var(--fg);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.answer-names{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:start}.answer-name{display:grid;grid-template-columns:auto auto;gap:6px 2px;align-items:center}.answer-name .field{display:contents}.answer-name .field-label,.answer-name .field-error{grid-column:1 / -1}.answer-name .field-input{grid-row:2;width:150px;font-weight:700;color:var(--ans, var(--fg))}.answer-name .btn-icon{grid-row:2;padding:13px 8px}.answer-opts{grid-column:1 / -1;display:grid;gap:4px}.answer-opts .btn-switch{justify-content:space-between;padding:6px 8px 6px 10px;font-size:13px}.stage-rows{display:grid;gap:10px}.stage-row{--field-col: 3;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:6px 8px;align-items:center;transition:transform .15s ease}.stage-row>*{grid-row:2}.stage-row .field{display:contents}.stage-row .field-label,.stage-row .field-input,.stage-row .field-error{grid-column:var(--field-col)}.stage-row .field-label{grid-row:1}.stage-row .field-input{grid-row:2}.stage-row .field-error{grid-row:3}.stage-rows.is-reordering{-webkit-user-select:none;user-select:none}.stage-row .btn-icon{padding:13px 10px}.stage-row.is-dragging{transition:none;position:relative;z-index:1;border-radius:var(--radius-sm);box-shadow:0 0 0 8px var(--surface),var(--shadow)}.stage-no{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;font-size:12px;font-weight:800;background:var(--tint-bg);color:var(--tint-fg)}.stage-no.is-burned{background:var(--good-soft);color:var(--good)}.stage-no.is-burned .icon{width:14px;height:14px}.stage-lines{display:grid;gap:8px}.stage-line{display:flex;align-items:center;gap:8px}.stage-line-name{font-weight:700}.burned-row{--field-col: 2;grid-template-columns:auto minmax(0,1fr) auto auto}.after-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.grow{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--muted)}.ask{display:grid;gap:10px}.canvas{position:relative;isolation:isolate;height:520px;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background-color:var(--surface-2);background-image:radial-gradient(var(--line-strong) 1px,transparent 1.3px);background-size:20px 20px;-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab}.canvas.is-panning{cursor:grabbing}.viewport{position:absolute;left:0;top:0;transform-origin:0 0}.sheet>svg{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.edge{fill:none;stroke:var(--line-strong);stroke-width:2}.edge.ans-down{stroke:var(--danger)}.edge.ans-mid{stroke:var(--mid)}.edge.ans-up{stroke:var(--accent)}.edge-arrow{fill:context-stroke}.edge-label{position:absolute;transform:translate(-50%,-50%);padding:2px 8px;border-radius:999px;font-size:11px;font-weight:800;background:var(--surface);border:1px solid var(--ans, var(--line-strong));color:var(--ans, var(--muted));white-space:nowrap;cursor:grab}.edge-label.is-dragging{z-index:3;cursor:grabbing}@media(pointer:coarse){.edge-label:before{content:"";position:absolute;inset:-10px}}.edge-plus{position:absolute;transform:translate(-50%,-50%);width:22px;height:22px;padding:0;border-radius:50%;border-color:var(--line-strong);background:var(--surface);color:var(--muted);opacity:.55;transition:opacity .12s,transform .12s}.edge-plus:active{transform:translate(-50%,-50%)}@media(hover:hover){.edge-plus:hover{opacity:1;transform:translate(-50%,-50%) scale(1.15);color:var(--accent);border-color:var(--accent)}}@media(hover:none){.edge-plus{opacity:.9}}.edge-plus .icon{width:12px;height:12px}.fnode{position:absolute;display:grid;align-content:center;justify-items:start;gap:1px;padding:6px 12px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);box-shadow:var(--lift);text-align:left;transition:box-shadow .12s,transform .12s}.btn-node{cursor:pointer}@media(hover:hover){.btn-node:hover{box-shadow:var(--shadow);transform:translateY(-1px)}}.btn-node[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px}.fnode.is-dragging{box-shadow:var(--shadow);transform:scale(1.03);z-index:3;cursor:grabbing;transition:none}.fnode .t{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:800;line-height:1.2;white-space:nowrap}.fnode .s{max-width:100%;font-size:11px;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fnode .icon{width:13px;height:13px}.fnode.root{background:var(--tint-bg);color:var(--tint-fg);border-color:transparent;cursor:grab}.fnode.root .s{display:flex;align-items:center;gap:3px;color:inherit;opacity:.75}.sheet .switch-track,.sheet .switch-knob{transition:none}.stage-swatch{width:10px;height:10px;border-radius:50%;background:var(--tint-fg);flex-shrink:0}.item-note{margin-left:auto;font-size:11px;font-weight:700;color:var(--muted)}.fnode.again{border-style:dashed}.fnode.again .t{color:var(--muted)}.fnode.burn{background:var(--good-soft);color:var(--good);border-color:transparent}.fnode.burn .s{color:var(--good);opacity:.8}.fnode.start .t,.fnode.down1 .t,.fnode.down2 .t{color:var(--danger)}.fnode.up1 .t,.fnode.up2 .t{color:var(--accent)}.fnode.root.is-stage{gap:6px;padding:14px 12px;justify-items:stretch}.node-name{width:100%;min-width:0;padding:4px 8px;border-radius:8px;border:1px solid transparent;background:color-mix(in srgb,var(--surface) 55%,transparent);color:inherit;font-size:14px;font-weight:800}.node-name::placeholder{color:inherit;opacity:.6}.node-wait{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700}.node-since{font-size:11px;font-weight:700;opacity:.75}.canvas-top,.canvas-bottom{position:absolute;left:10px;right:10px;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;z-index:2;pointer-events:none}.canvas-top{top:10px}.canvas-bottom{bottom:10px;align-items:flex-end}.canvas-top>*,.canvas-bottom>*{pointer-events:auto}.rail{display:flex;min-width:0;padding:4px;border-radius:12px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--lift);max-width:100%}.canvas-top>.rail-col{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;max-width:calc(100% - 150px);pointer-events:none}.rail-col>*{pointer-events:auto}.rail-track{--fade-start: 0px;--fade-end: 0px;position:relative;display:flex;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none;touch-action:pan-x;-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--fade-start),#000 calc(100% - var(--fade-end)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--fade-start),#000 calc(100% - var(--fade-end)),transparent)}@media(hover:hover)and (min-width:641px){.rail-track{flex-wrap:wrap;overflow-x:visible;-webkit-mask-image:none;mask-image:none}}.rail-track[data-more~=start]{--fade-start: var(--peek)}.rail-track[data-more~=end]{--fade-end: var(--peek)}.rail-chip{position:relative;display:grid;justify-items:center;gap:0;padding:4px 10px;border-radius:8px;border-color:transparent;font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap;line-height:1.25;flex-shrink:0}.rail-chip small{font-size:10px;font-weight:700;opacity:.8}@media(hover:hover){.rail-chip:hover{background:var(--surface-2)}}.rail-chip[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.rail-chip.has-dot:after{content:"";position:absolute;top:4px;right:4px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.rail-chip.is-burned{color:var(--good)}.tools{display:flex;align-items:center;gap:2px;padding:4px;border-radius:12px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--lift);flex-shrink:0}.tools .btn{padding:6px 8px;border-radius:8px;border-color:transparent;font-size:13px;color:var(--muted);white-space:nowrap}@media(hover:hover){.tools .btn:hover{background:var(--surface-2);color:var(--fg)}}.tools .btn:disabled{opacity:.35}.tools .zoom{min-width:44px;text-align:center;font-size:12px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}.legend{display:flex;gap:6px}.legend .pill{background:var(--surface);border:1px solid var(--ans);color:var(--ans)}.own-line{padding-left:4px;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.own-line .btn-chip{padding:3px 9px;border-radius:6px;font-size:12px;background:var(--surface)}.menu{position:absolute;z-index:5;width:262px;max-height:350px;overflow:auto;touch-action:pan-y;padding:8px;display:grid;gap:8px;align-content:start;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);cursor:default}.menu-chips{gap:4px}.menu-chips .btn-chip{padding:3px 10px;border-radius:6px;font-size:12px}.menu-where{font-size:12px;font-weight:700;color:var(--muted)}.stage-dots{display:flex;flex-wrap:wrap;gap:4px}.btn-chip.stage-dot,.btn-chip.stage-dot[aria-pressed=true]{width:26px;height:26px;padding:0;border-radius:50%;font-size:11px;font-weight:800;background:var(--tint-bg);color:var(--tint-fg);border-color:transparent}.btn-chip.stage-dot[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}@media(pointer:coarse){.btn-chip.stage-dot,.btn-chip.stage-dot[aria-pressed=true]{width:34px;height:34px}}.menu-sep{height:1px;margin:4px 0;background:var(--line)}.menu-title{padding:6px 10px 2px;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.menu-wait{display:flex;align-items:center;gap:6px;padding:4px 8px 8px}.tip{position:absolute;z-index:6;width:max-content;max-width:240px;padding:6px 10px;border-radius:8px;background:var(--fg);color:var(--bg);font-size:12px;font-weight:600;line-height:1.35;pointer-events:none;transform:translate(-50%,calc(-100% - 8px))}@media(hover:none){.tip{display:none}}.saved{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--muted)}.saved .icon{width:14px;height:14px}.saved.is-saving{color:var(--accent)}.saved.is-unsaved,.saved.is-failed{color:var(--danger)}.app.is-bare{grid-template-columns:1fr;grid-template-rows:auto 1fr;grid-template-areas:"brand" "main"}.app.is-bare .brand{padding-right:16px}.signin{width:100%;max-width:400px;justify-self:center;margin-top:6vh}.signin-title{margin:0;font-size:22px;font-weight:800;letter-spacing:-.01em}.session-who{margin:0;font-size:14px;color:var(--muted)}.kept-rows{display:grid}.kept-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line)}.kept-row.is-asking{flex-wrap:wrap}.kept-row.is-asking .add-actions{width:100%}.kept-name{min-width:0;font-weight:700;overflow-wrap:anywhere}.kept-size{flex:none;font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted)}.kept-row.is-low .kept-size{color:var(--danger)}.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;grid-auto-flow:dense;transition:opacity .15s ease}.board>*{grid-column:span var(--w, 1);min-width:0}.board.is-stale{opacity:.5}.widget{position:relative;gap:8px;padding:12px 14px 14px;border-radius:14px;align-content:start;min-width:0;box-shadow:var(--shadow);-webkit-user-select:none;user-select:none}.w-head{display:flex;align-items:center;gap:8px;min-height:26px}.w-head .panel-title{flex:1;min-width:0;margin:0}.w-ctl{flex-shrink:0;font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap}.w-quiet{margin:0;font-size:14px;color:var(--muted)}.w-line{margin:0;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.w-sub{margin:4px 0 0;font-size:12px;font-weight:700;color:var(--muted)}.w-hero{font-size:40px;font-weight:800;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.w-hero-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.w-unit{font-size:15px;font-weight:700;color:var(--muted)}.w-aside{margin-left:auto;font-size:13px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.w-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.w-day{display:grid;justify-items:center;gap:4px}.w-block{width:100%;height:22px;border-radius:4px;background:var(--surface-2);border:2px solid transparent}.w-day.is-on .w-block{background:var(--accent)}.w-day.is-today .w-block{border-color:var(--accent)}.w-day.is-ahead{opacity:.45}.w-dow{font-size:11px;font-weight:600;color:var(--muted)}.heat-months{display:grid;grid-template-columns:repeat(var(--cols, 53),1fr);font-size:10px;font-weight:700;line-height:1;color:var(--muted)}.heat-months span{white-space:nowrap}.heat-plot{position:relative;touch-action:pan-y}.heat{display:block;width:100%;height:auto}.heat-cell{fill:var(--surface-2)}.heat-cell.is-at{stroke:var(--fg);stroke-width:1.5}.heat-cell.is-1{fill:var(--heat-1)}.heat-cell.is-2{fill:var(--heat-2)}.heat-cell.is-3{fill:var(--heat-3)}.heat-cell.is-4{fill:var(--heat-4)}.w-cols{display:grid;grid-template-columns:repeat(var(--cols, 7),minmax(0,1fr));gap:3px}.w-col{display:grid;grid-template-rows:14px 64px auto;justify-items:center}.w-col-cap{font-size:11px;font-weight:700;line-height:14px;font-variant-numeric:tabular-nums}.w-col-plot{width:100%;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--line-strong)}.w-col-bar{display:block;width:8px;max-width:60%;border-radius:4px 4px 0 0;background:var(--accent)}.w-col-bar.is-past{background:var(--heat-3)}.w-col-label{padding-top:4px;font-size:11px;font-weight:600;color:var(--muted)}.w-stats{display:flex;gap:18px;flex-wrap:wrap}.w-stat{display:grid;gap:2px}.w-stat-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.w-stat-n{font-size:18px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}.w-meter{display:flex;align-items:flex-end;gap:12px}.w-ring{width:104px;height:auto;flex-shrink:0}.w-ring-track,.w-ring-fill{fill:none;stroke-width:8;stroke-linecap:round}.w-ring-track{stroke:var(--heat-1)}.w-ring-fill{stroke:var(--accent)}.w-ladders{display:grid;gap:10px}.w-ladder{display:grid;gap:4px}.w-row{display:grid;grid-template-columns:76px minmax(0,1fr) 36px;align-items:center;gap:8px;font-size:13px}.w-row-name{font-weight:600;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-bar{height:8px;border-radius:4px;overflow:hidden}.w-bar-fill{display:block;height:100%;border-radius:4px;background:var(--tint-fg, var(--accent))}.w-row.is-new .w-bar-fill{background:var(--line-strong)}.w-row.is-burned .w-bar-fill{background:var(--muted)}.w-row-n{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.w-list{display:grid;gap:6px}.w-item{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:15px}.w-item-front{min-width:0;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-item-n{flex-shrink:0;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.board.is-dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}.board .is-lift,.board.is-arranging .btn-door.is-lift{opacity:.3;outline:2px dashed var(--accent);outline-offset:2px}.tile-ghost,.board.is-arranging .btn-door.tile-ghost{z-index:30;opacity:1;box-shadow:var(--shadow);cursor:grabbing;transition:none}.tile-ghost .tile-x{display:none}.board.is-arranging>[data-id]{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.board.is-arranging .btn-door{opacity:.55}.tile-x{position:absolute;top:-8px;right:-8px;z-index:2;width:24px;height:24px;padding:0;border-radius:8px;background:var(--surface);border-color:var(--line-strong);color:var(--danger);box-shadow:var(--lift)}.tile-x .icon{width:14px;height:14px}.tile-add{--w: 3;display:grid;gap:8px;align-content:center;min-height:72px;padding:12px 14px;border:1px dashed var(--line-strong);border-radius:14px}.btn-chip.chip-add{gap:4px;border-style:dashed;color:var(--muted)}.btn-chip.chip-add .icon{width:14px;height:14px}@media(max-width:640px){.app{--tabbar: 60px;grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto;grid-template-areas:"brand" "sub" "main" "tabs"}.app:not(.is-home) .brand{display:none}.app.is-bare .brand{display:flex}.brand{min-height:52px;padding:13px 16px}.tabs{position:sticky;top:auto;bottom:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;padding:0 0 env(safe-area-inset-bottom,0px);border-bottom:0;border-top:1px solid var(--line)}.app:has(.main :is(input,textarea):focus) .tabs{display:none}.btn-tab{display:grid;justify-items:center;gap:3px;padding:8px 4px 6px;border-radius:0;font-size:11px;font-weight:700}.btn-tab:active{transform:none}.btn-tab .icon{width:22px;height:22px;padding:3px 12px;box-sizing:content-box;border-radius:999px}.btn-tab[aria-current=page]{background:transparent}.btn-tab[aria-current=page] .icon{background:var(--accent-soft)}.subhead{max-width:none;margin:0;min-height:52px;padding:9px 12px;gap:8px;position:sticky;top:0;z-index:2;background:var(--surface);border-bottom:1px solid var(--line)}.subhead-title{font-size:17px;font-weight:700}.btn-back{padding:7px}.btn-back-label{display:none}.main{padding:16px 16px 32px}.subhead+.main{padding-top:16px}.app.is-home .main{padding-top:24px}.btn-door{min-height:96px}.board{grid-template-columns:1fr}.board>*{grid-column:auto}.app.is-home .subhead{position:static;min-height:0;padding:6px 12px 0;background:transparent;border-bottom:0}.review-card{min-height:46vh;min-height:46dvh}.review-actions{position:sticky;bottom:var(--tabbar);padding-top:8px;padding-bottom:8px;background:var(--bg)}.canvas{height:440px}.btn-answer .to{white-space:normal}.next-day{grid-template-columns:80px minmax(0,1fr) 36px}.answer-name .field-input{width:120px}.signin{margin-top:4vh}.w-ring{width:88px}}
