:root{--bg:#f7f4ee;--surface:#fff;--surface-2:#efe9df;--text:#1f1b16;--muted:#6b6257;--line:#e2d9cc;--accent:#b4531c;--accent-ink:#fff;--accent-soft:#f8e6d6;--mine-bg:#fff4e8;--mine-edge:#e07a2c;--mask:#ddd3c5;--note-bg:#fff3bf;--note-ink:#5c4a00;--good:#2f7d4f;--good-soft:#e1f1e6;--warn:#a5690f;--warn-soft:#f8ecd4;--bad:#b23a3a;--bad-soft:#f8e1e1;--shadow:0 1px 2px #3c28140f, 0 4px 16px #3c28140f;--ui-font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--script-font:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--script-size:19px;--bar-h:56px;--tabs-h:calc(60px + env(safe-area-inset-bottom));--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141210;--surface:#1d1a17;--surface-2:#29241f;--text:#f1ebe2;--muted:#a59a8c;--line:#362f29;--accent:#f0a35e;--accent-ink:#1a1209;--accent-soft:#3a2817;--mine-bg:#2a1f15;--mine-edge:#f0a35e;--mask:#3d362f;--note-bg:#3b3313;--note-ink:#f3dd8a;--good:#6cc792;--good-soft:#1b3024;--warn:#e7b65a;--warn-soft:#362a14;--bad:#ef7c7c;--bad-soft:#3a1c1c;--shadow:0 1px 2px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#141210;--surface:#1d1a17;--surface-2:#29241f;--text:#f1ebe2;--muted:#a59a8c;--line:#362f29;--accent:#f0a35e;--accent-ink:#1a1209;--accent-soft:#3a2817;--mine-bg:#2a1f15;--mine-edge:#f0a35e;--mask:#3d362f;--note-bg:#3b3313;--note-ink:#f3dd8a;--good:#6cc792;--good-soft:#1b3024;--warn:#e7b65a;--warn-soft:#362a14;--bad:#ef7c7c;--bad-soft:#3a1c1c;--shadow:0 1px 2px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:16px/1.45 var(--ui-font);-webkit-tap-highlight-color:transparent;margin:0;overflow-x:hidden}a{color:var(--accent)}h1,h2,h3{line-height:1.2}h2{margin:1.6rem 0 .4rem;font-size:1.2rem}h3{margin:1.4rem 0 .6rem;font-size:1rem}button,input,select,textarea{font:inherit;color:inherit}.muted{color:var(--muted)}.center{text-align:center}.hint{color:var(--muted);margin:.5rem 0 1rem;font-size:.88rem}.error{color:var(--bad)}.spacer{flex:1}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bar{z-index:20;min-height:var(--bar-h);padding:env(safe-area-inset-top) max(8px, env(safe-area-inset-right)) 0 max(8px, env(safe-area-inset-left));background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);align-items:center;gap:8px;display:flex;position:sticky;top:0}.bar h1{margin:0 0 0 4px;font-size:1.1rem}.brand{align-items:center;gap:10px;padding-left:8px;font-size:1.15rem;font-weight:700;display:flex}.titlebox{flex:1;min-width:0}.titlebox .t{white-space:nowrap;text-overflow:ellipsis;font-weight:650;overflow:hidden}.titlebox .sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.subbar{top:calc(var(--bar-h) + env(safe-area-inset-top));z-index:19;background:var(--bg);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 16px;display:flex;position:sticky}.subbar select{border:1px solid var(--line);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23888' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center;appearance:none;border-radius:10px;flex:1;min-width:0;height:38px;padding:0 30px 0 12px;font-size:.92rem}.tabs{z-index:30;height:var(--tabs-h);padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);display:flex;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.72rem;font-weight:600;text-decoration:none;display:flex}.tab.active{color:var(--accent)}.actionbar{z-index:25;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 70%, transparent);position:fixed;bottom:0;left:0;right:0}.actionbar.above-tabs{bottom:var(--tabs-h);padding-bottom:12px}.page{max-width:720px;padding:16px 16px calc(110px + env(safe-area-inset-bottom));margin:0 auto}.page.narrow{max-width:560px}.page.with-tabs{padding-bottom:calc(var(--tabs-h) + 32px)}.page.with-actionbar.with-tabs{padding-bottom:calc(var(--tabs-h) + 100px)}.page.with-footer{padding-bottom:calc(var(--tabs-h) + 170px)}.section-title{margin-top:.5rem}.btn{border:1px solid var(--line);background:var(--surface);min-height:46px;color:var(--text);cursor:pointer;touch-action:manipulation;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;text-decoration:none;transition:transform 80ms,background .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.danger{color:var(--bad)}.btn.block{width:100%;margin-top:10px;display:flex}.btn.small{min-height:36px;padding:0 14px;font-size:.9rem}.btn[disabled]{opacity:.45;pointer-events:none}.btn.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.icon-btn{width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;text-decoration:none;display:inline-grid}.icon-btn:active{background:var(--surface-2)}.icon-btn.small{width:40px;height:40px;color:var(--muted)}.icon-btn.small svg{width:18px;height:18px}.round-btn{background:var(--accent);width:64px;height:64px;color:var(--accent-ink);cursor:pointer;box-shadow:var(--shadow);border:0;border-radius:50%;place-items:center;display:grid}.round-btn:active{transform:scale(.95)}.round-btn svg{width:26px;height:26px}.chip{border:1px solid var(--line);background:var(--surface);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:6px;height:38px;padding:0 12px;font-size:.85rem;font-weight:600;display:inline-flex}.chip svg{width:16px;height:16px}.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.chips{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.field{margin:12px 0;display:block}.field>span{color:var(--muted);justify-content:space-between;margin-bottom:6px;font-size:.85rem;font-weight:600;display:flex}.field input:not([type=range]),.field select,textarea{border:1px solid var(--line);background:var(--surface);border-radius:12px;width:100%;min-height:46px;padding:10px 12px;font-size:16px}.field input[type=range]{width:100%;accent-color:var(--accent)}textarea{resize:vertical;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14px;line-height:1.5}.row{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.row2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.seg{background:var(--surface-2);border-radius:12px;gap:3px;margin:12px 0;padding:3px;display:flex}.field .seg{margin:0}.seg button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;font-size:.9rem;font-weight:600}.seg button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.toggle{border-bottom:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.toggle small{color:var(--muted);margin-top:2px;font-size:.82rem;display:block}.toggle input{appearance:none;background:var(--mask);cursor:pointer;border-radius:14px;flex:none;width:48px;height:28px;transition:background .15s;position:relative}.toggle input:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.toggle input:checked{background:var(--accent)}.toggle input:checked:after{transform:translate(20px)}.meter{background:var(--surface-2);border-radius:3px;height:6px;overflow:hidden}.meter i{background:var(--accent);border-radius:3px;height:100%;transition:width .3s;display:block}.meter.big{border-radius:5px;height:10px}.notice{background:var(--warn-soft);color:var(--text);border-radius:12px;margin:12px 0;padding:12px 14px;font-size:.92rem}.panel,.progress-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-top:16px;padding:16px}.progress-card p{margin:10px 0 0}.empty{padding:12vh 8px 0}.empty h1{font:700 2.2rem/1.1 var(--script-font);margin:0 0 12px}.empty p{color:var(--muted);max-width:34em;font-size:1.05rem}.empty.small{text-align:center;padding:40px 0}.cards{gap:10px;margin:0;padding:0;list-style:none;display:grid}.card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);color:inherit;align-items:center;gap:14px;padding:16px;text-decoration:none;display:flex}.card-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.card-main strong{font-size:1.05rem}.card-main .muted{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.card-meter{text-align:right;width:84px;color:var(--muted);flex:none;font-size:.8rem}.card-meter span{color:var(--text);font-size:.95rem;font-weight:700}.card-meter .meter{margin:4px 0}.card-row{position:relative}.card-row .card{padding-right:52px}.card-more{color:var(--muted);position:absolute;top:50%;right:4px;transform:translateY(-50%)}.menu{gap:4px;margin:4px 0 8px;display:grid}.menu .btn{justify-content:flex-start}.clip{white-space:nowrap;text-overflow:ellipsis;min-width:0;margin-right:12px;overflow:hidden}.btn.danger-solid{background:var(--bad);border-color:var(--bad);color:#fff}.drop{text-align:center;border:2px dashed var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;color:var(--muted);flex-direction:column;align-items:center;gap:6px;padding:28px 20px;display:flex}.drop strong{color:var(--text)}.drop svg{color:var(--accent)}.drop input{opacity:0;width:1px;height:1px;position:absolute}.drop:focus-within{border-color:var(--accent)}.picker{gap:16px;margin-top:8px;display:grid}.pick-card h3{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:4px 0 8px;font-size:.85rem}.pick-card:not(.active){display:none}.stepper{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.stepper .step{border:1px solid var(--line);background:var(--surface);width:48px;height:44px}.stepper .step:disabled{opacity:.35}.step-label{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:.9rem;font-weight:600;display:flex}.step-label .side{color:var(--text);min-width:2.6em}.page-input{text-align:center;border:1px solid var(--line);background:var(--surface);width:4.2em;min-height:40px;color:var(--text);border-radius:10px;font-size:16px;font-weight:700}.preview{border:1px solid var(--line);touch-action:none;cursor:ns-resize;-webkit-user-select:none;user-select:none;background:#fff;border-radius:6px;max-width:100%;margin:0 auto;position:relative;overflow:hidden}.preview canvas{width:100%;height:100%;transition:opacity .15s;position:absolute;inset:0}.preview.loading canvas{opacity:.35}.preview .shade{pointer-events:none;background:#1e160e73;position:absolute;left:0;right:0}.crop-line{border-top:2px solid var(--accent);outline-offset:4px;height:0;position:absolute;left:0;right:0}.crop-line .grip{background:var(--accent);color:var(--accent-ink);font:700 .72rem var(--ui-font);white-space:nowrap;box-shadow:var(--shadow);border-radius:999px;padding:3px 9px;position:absolute;top:4px;right:8px}.pick-card[data-end=to] .crop-line .grip{top:auto;bottom:6px}.preview.dragging .crop-line{border-top-width:3px}.pick-summary{margin:4px 0 0;font-weight:600}@media (min-width:640px){.picker{grid-template-columns:1fr 1fr}.picker-tabs{display:none}.pick-card:not(.active){display:block}}.spell-bar{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;margin:0 0 8px;padding:6px 8px 8px}.spell-row{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.spell-pos{min-width:0;font-size:.85rem}.spell-pos b{color:var(--bad)}.spell-bar.clear .spell-pos{color:var(--good);font-weight:600}.spell-bar.clear [data-act=sp-prev],.spell-bar.clear [data-act=sp-next],.spell-bar.clear [data-act=sp-ignore]{display:none}.spell-fixes{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.spell-fixes:empty{display:none}.spell-fixes .chip{height:34px}.spell-own{border:1px solid var(--line);background:var(--surface);border-radius:999px;flex:1;min-width:110px;height:34px;padding:0 10px;font-size:16px}.ed-script-hl mark.sp{color:#0000;-webkit-text-decoration:underline wavy var(--bad);text-decoration:underline wavy var(--bad);text-underline-offset:2px;background:0 0;text-decoration-thickness:1.5px}.ed-script-hl mark.sp.cur{background:var(--warn-soft);box-shadow:0 0 0 2px var(--warn);border-radius:3px}.chars{border-top:1px solid var(--line);margin:8px 0;padding:0;list-style:none}.char-row{border-bottom:1px solid var(--line);align-items:center;display:flex}.char{cursor:pointer;flex:1;align-items:center;gap:12px;min-width:0;min-height:52px;display:flex}.char input{width:22px;height:22px;accent-color:var(--accent);flex:none}.char .name{letter-spacing:.02em;text-overflow:ellipsis;flex:1;font-weight:600;overflow:hidden}.char .count{color:var(--muted);white-space:nowrap;font-size:.85rem}.rare{margin-top:16px}.rare summary{cursor:pointer;padding:8px 0;font-weight:600}.edit textarea{min-height:70vh;margin-top:8px}.help{color:var(--muted);font-size:.9rem}.help summary{cursor:pointer;color:var(--text);padding:4px 0;font-weight:600}.help code{background:var(--surface-2);border-radius:5px;padding:1px 5px}.script{font-family:var(--script-font);font-size:var(--script-size);line-height:1.5}.sc-heading{font-family:var(--ui-font);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:center;margin:1.6em 0 1em;font-size:.78em}.sc-dir,.sc-idir{color:var(--muted);font-style:italic}.sc-dir{white-space:pre-line;margin:.8em 0;padding:0 4px;font-size:.92em}.lyric{text-indent:-1.2em;padding-left:1.2em;font-style:italic;display:block}.lyric.stanza{margin-top:.6em}.answer .lyric{display:inline}.sc-idir{opacity:.75;margin:.2em 0;font-size:.78em;line-height:1.35;display:block}.sc-idir:first-child{margin-top:0}.sc-idir:last-child{margin-bottom:0}.sc-line{border-radius:10px;margin:0 0 .9em;padding:2px 4px}.sc-line p{margin:0}.who{font-family:var(--ui-font);letter-spacing:.08em;color:var(--muted);align-items:center;gap:8px;font-size:.7em;font-weight:700;display:flex}.sc-line.mine{background:var(--mine-bg);border-left:4px solid var(--mine-edge);padding:10px 12px}.sc-line.mine .who{color:var(--accent)}.src-btn{border:1px solid var(--line);background:var(--surface);min-height:26px;color:var(--muted);font:600 .72rem/1 var(--ui-font);letter-spacing:.02em;text-transform:none;cursor:pointer;touch-action:manipulation;border-radius:999px;flex:none;margin-left:auto;padding:0 9px}.src-btn:hover,.src-btn:focus-visible{color:var(--accent);border-color:var(--accent)}.src-btn.plain{cursor:default;background:0 0;border-color:#0000;align-items:center;display:inline-flex}.page-mark{font:600 .7rem var(--ui-font);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;margin:1.4em 0 .8em;display:flex}.page-mark:before,.page-mark:after{content:"";border-top:1px dashed var(--line);flex:1}.srcpop{z-index:40;background:var(--surface);max-height:70vh;color:var(--text);border:1px solid var(--line);font-family:var(--ui-font);border-radius:14px;flex-direction:column;animation:.15s fade;display:flex;position:fixed;overflow:hidden;box-shadow:0 10px 40px #00000038}.srcpop[hidden]{display:none}.srcpop-head{border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:6px 6px 6px 14px;font-size:.85rem;display:flex}.srcpop-head .btn.small{min-height:32px;padding:0 10px;font-size:.8rem}.srcpop-body{padding:8px;overflow:auto}.srcpop-body.whole{max-height:60vh}.srcpop-body canvas{border-radius:6px;display:block}.srcpop-body p{margin:8px 6px;font-size:.85rem}.script [data-i]{scroll-margin-top:calc(var(--bar-h) + 66px + env(safe-area-inset-top))}.line-no{letter-spacing:0;opacity:.8;font-weight:600}.page-chips{scrollbar-width:thin;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.page-chips .chip{flex:none;height:34px}.row-inline{gap:8px;display:flex}.row-inline input{flex:1;min-width:0}.goto-lines{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.goto-line{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 8px;display:flex}.goto-line:active{background:var(--surface-2)}.goto-line .who{font-size:.72rem}.goto-line .preview{font:.95rem/1.35 var(--script-font);color:var(--text)}.goto-line.mine{border-left:3px solid var(--mine-edge)}.goto-line.mine .who{color:var(--accent)}.goto-line.here{background:var(--accent-soft)}@media (max-width:380px){.chip-text{display:none}}.select-chip{cursor:pointer;padding-right:26px;position:relative}.select-chip:after{content:"";opacity:.6;pointer-events:none;border:2px solid;border-width:0 2px 2px 0;width:6px;height:6px;margin-top:-5px;position:absolute;top:50%;right:11px;transform:rotate(45deg)}.select-chip select{appearance:none;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.85rem;font-weight:600}.select-chip select:focus{outline:none}.select-chip:focus-within{outline:2px solid var(--accent);outline-offset:2px}.run-toggle{border:1px dashed var(--line);width:100%;color:var(--muted);font:600 .78rem/1.3 var(--ui-font);text-align:left;cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:8px;margin:.2em 0 .9em;padding:8px 12px;display:flex}.run-toggle svg{flex:none;width:18px;height:18px}.run-toggle span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.run-toggle:hover{color:var(--accent);border-color:var(--accent)}.run-open{border-left:2px dashed var(--line);margin:0 0 .9em;padding-left:10px}.run-open .run-toggle{margin-top:0}.note{background:var(--note-bg);color:var(--note-ink);font:.78em/1.4 var(--ui-font);white-space:pre-wrap;border-radius:8px;align-items:flex-start;gap:6px;margin-top:8px;padding:6px 9px;display:flex}.note svg{flex:none;margin-top:2px}.sc-dir+.note,.sc-heading+.note{margin:-.4em 4px .9em}.script [data-act=edit]{cursor:pointer}@media (hover:hover){.script .sc-line[data-act=edit]:hover:not(.mine),.script .sc-dir[data-act=edit]:hover{background:var(--surface-2)}}.tip{background:var(--accent-soft);font:.85rem/1.35 var(--ui-font);border-radius:12px;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;display:flex}.tip span{flex:1}.tip svg{color:var(--accent);flex:none;width:18px;height:18px}.sheet-actions.spread{justify-content:space-between}.sheet.wide{max-width:980px}.ed-target{color:var(--muted);font:.95rem/1.4 var(--script-font);margin:0 0 4px}.ed-target b{font:700 .72rem var(--ui-font);letter-spacing:.06em;color:var(--accent);margin-right:4px}.ed-fix-body{gap:14px;display:grid}.ed-fix-head{justify-content:space-between;align-items:center;gap:8px;min-height:36px;font-size:.85rem;display:flex}.ed-source-body{background:var(--surface-2);border-radius:6px;max-height:32vh;overflow:auto}.ed-source-body canvas{border-radius:6px;display:block}.ed-source-body p{margin:6px 2px;font-size:.85rem}.ed-script .hint{margin:6px 2px 0;font-size:.78rem}.ed-script-box{border:1px solid var(--line);background:var(--surface);border-radius:6px;height:40vh;position:relative;overflow:hidden}.ed-script-hl,.ed-script-text{box-sizing:border-box;letter-spacing:0;white-space:pre-wrap;overflow-wrap:anywhere;border:0;margin:0;padding:8px 10px;font:.76rem/1.5 ui-monospace,Menlo,Consolas,monospace;position:absolute;inset:0;overflow-y:scroll}.ed-script-hl{color:#0000;pointer-events:none}.ed-script-hl span{margin:0 -10px;padding:0 10px;display:block}.ed-script-hl .hl{background:var(--accent-soft);box-shadow:inset 3px 0 var(--accent)}.ed-script-text{color:var(--text);resize:none;background:0 0;outline:none}.ed-script-box:focus-within{box-shadow:0 0 0 2px var(--accent)}@media (pointer:coarse){.ed-script-hl,.ed-script-text{font-size:16px}}@media (min-width:760px){.ed-fix-body.with-original{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.ed-source-body,.ed-script-box{height:64vh;max-height:64vh}}.dots{gap:3px;display:inline-flex}.dots i{background:var(--mask);border-radius:50%;width:6px;height:6px}.dots i.on{background:var(--good)}.masked{cursor:pointer}.masked .real{display:none}.masked .mask{color:var(--muted);letter-spacing:.06em}.masked.revealed .real{display:inline}.masked.revealed .mask{display:none}.drill-top{font-family:var(--ui-font);color:var(--muted);align-items:center;gap:12px;margin-bottom:12px;font-size:.82rem;display:flex}.drill-top .meter{flex:1}.cues .sc-line.cue:not(.mine){opacity:.85}.cues .sc-heading{margin-top:.5em}.cue.collapsed{cursor:pointer}.cue.collapsed .more{color:var(--accent);font-weight:700}.answer-card{scroll-margin-bottom:calc(var(--tabs-h) + 110px);background:var(--surface);border:2px solid var(--mine-edge);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:8px;padding:14px 16px 16px}.answer-card .who{color:var(--accent);margin-bottom:6px}.answer{margin:0;font-size:1.05em}.answer .redact{color:#0000;background:var(--mask);-webkit-box-decoration-break:clone;box-decoration-break:clone;-webkit-user-select:none;user-select:none;border-radius:4px;line-height:1.75}.answer .letters{color:var(--muted);letter-spacing:.08em}.answer .shown{animation:.25s fade}@keyframes fade{0%{opacity:0}}.drill-actions,.run-controls{left:0;right:0;bottom:var(--tabs-h);z-index:25;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:10px 12px 12px;position:fixed}.drill-actions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.drill-actions .btn{flex-direction:column;gap:0;min-height:62px;padding:6px;line-height:1.2}.drill-actions .btn small{opacity:.75;font-size:.72rem;font-weight:500}.drill-actions.grade .btn.bad{background:var(--bad-soft);color:var(--bad);border-color:#0000}.drill-actions.grade .btn.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.drill-actions.grade .btn.good{background:var(--good-soft);color:var(--good);border-color:#0000}.summary{font-family:var(--ui-font);text-align:center;max-width:420px;margin:0 auto;padding-top:6vh}.summary h2{font:700 1.8rem var(--script-font)}.tally{grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0;display:grid}.tally div{border-radius:12px;padding:12px 4px;font-size:.85rem}.tally b{font-size:1.6rem;display:block}.tally .good{background:var(--good-soft);color:var(--good)}.tally .warn{background:var(--warn-soft);color:var(--warn)}.tally .bad{background:var(--bad-soft);color:var(--bad)}.run-list [data-q]{cursor:pointer;transition:opacity .2s,background .2s}.run-list .past{opacity:.5}.run-list .current:not(.mine){background:var(--surface-2);padding:10px 12px}.run-list .current.mine{box-shadow:0 0 0 2px var(--mine-edge)}.run-list .current.sc-dir,.run-list .current.sc-heading{color:var(--text)}.gap{text-align:center;color:var(--muted);letter-spacing:.3em;margin:.4em 0 1em;font-size:.8em}.run-controls{font-family:var(--ui-font)}.run-status{text-align:center;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;min-height:1.2em;margin:0 0 8px;font-size:.85rem;overflow:hidden}.run-status.yours{color:var(--accent);font-weight:700}.run-buttons{justify-content:center;align-items:center;gap:12px;display:flex}.run-buttons .btn.wide{flex:1;max-width:240px;min-height:56px}.run-buttons .btn:not(.wide){min-height:56px}.sheet{width:100%;max-width:560px;max-height:88vh;background:var(--surface);max-height:88dvh;color:var(--text);border:0;border-radius:20px 20px 0 0;margin:auto auto 0;padding:0;box-shadow:0 -8px 40px #00000040}.sheet::backdrop{background:#0006}.sheet[open]{animation:.2s ease-out up}@keyframes up{0%{opacity:0;transform:translateY(40px)}}.sheet-body{padding:8px 20px calc(24px + env(safe-area-inset-bottom))}.sheet-head{background:var(--surface);z-index:1;justify-content:space-between;align-items:center;padding:12px 0;display:flex;position:sticky;top:0}.sheet-head h2{margin:0}.sheet h3{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:1.6rem;font-size:.78rem}.sheet-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.sheet-actions .btn{white-space:nowrap}.sheet-actions .push{margin-left:auto}.sheet .btn.block{margin-top:18px}@media (min-width:720px){.sheet{border-radius:20px;margin:auto}.drill-actions,.run-controls,.actionbar{padding-left:calc(50vw - 340px);padding-right:calc(50vw - 340px)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
