.eng-sr{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eng-step{gap:18px;min-width:0;display:grid}.eng-part{gap:14px;min-width:0;display:grid}.eng-part-num{font:700 11px/1.2 var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.eng-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.eng-hint{color:var(--ink-3);overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.4}.eng-error{color:var(--c-red-text)}.eng-check{width:100%}@media (width>=560px){.eng-check{justify-self:start;width:auto;min-width:200px}}.eng-prompt{letter-spacing:-.015em;color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:clamp(22px,6.4vw,28px);font-weight:600;line-height:1.3}.eng-prompt.small{font-size:18px;font-weight:600}.eng-ask{color:var(--ink-2);overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:600;line-height:1.4}.eng-gap{border-bottom:3px solid var(--line);text-align:center;vertical-align:baseline;min-width:72px;min-height:1.15em;color:var(--ink);margin:0 4px;padding:0 6px;line-height:1.15;display:inline-block;position:relative}.eng-gap.ok{background:var(--c-lime);color:var(--c-on-fill);border-bottom-color:var(--c-on-fill)}.eng-gap.almost{background:var(--highlight);color:var(--c-on-fill);border-bottom-color:var(--c-on-fill)}.eng-gap.bad{color:var(--c-red-text);border-bottom-color:var(--pen);text-decoration:line-through;-webkit-text-decoration-color:var(--pen);text-decoration-color:var(--pen)}.eng-gap-mark{margin-left:4px;font-size:.7em;font-weight:800}.eng-gap.numbered{min-width:48px;font-size:.95em}.eng-gap-num{border:1.5px solid var(--ink);background:var(--tile);width:18px;height:18px;color:var(--ink);font:800 11px/1 var(--font-ui);vertical-align:.1em;border-radius:50%;place-items:center;margin-right:4px;display:inline-grid}.eng-gap.numbered.ok .eng-gap-num,.eng-gap.numbered.almost .eng-gap-num{border-color:var(--c-on-fill);color:var(--c-on-fill)}.eng-passage{border:var(--border);border-radius:var(--radius);background:var(--tile);min-width:0;margin:0;padding:14px 16px}.eng-passage-title{font:700 13px/1.3 var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--c-maroon);margin-bottom:8px}.eng-passage-body{gap:4px;display:grid}.eng-passage-line{overflow-wrap:anywhere;margin:0;font-size:18px;line-height:1.6}.eng-source{color:var(--ink-3);margin:10px 0 0;font-size:13px}.eng-dialogue{border:var(--border);border-radius:var(--radius);background:var(--tile);gap:8px;padding:12px 14px;display:grid}.eng-dialogue-line{overflow-wrap:anywhere;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:10px;margin:0;font-size:17px;line-height:1.5;display:grid}.eng-speaker{color:var(--c-maroon);font-weight:800}.eng-rule{border-left:4px solid var(--highlight);background:var(--tile);border-radius:var(--radius-sm);gap:4px;padding:12px 14px;display:grid}.eng-rule p{color:var(--ink-2);overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.45}.eng-prop{align-items:center;gap:8px;display:inline-flex}.eng-prop-icon{border:1.5px dashed var(--ink-3);border-radius:var(--radius);width:44px;height:44px;color:var(--ink-3);place-items:center;font-size:20px;display:inline-grid}.eng-option,.eng-token,.eng-tile,.eng-card,.eng-pair,.eng-mtile{appearance:none;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--tile);min-width:0;min-height:44px;color:var(--ink);font:600 17px/1.2 var(--font-ui);box-shadow:var(--shadow);overflow-wrap:anywhere;cursor:pointer;transition:transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease), background-color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease), opacity var(--t-fast) var(--ease);position:relative}.eng-option:not(:disabled):hover,.eng-token:not(:disabled):hover,.eng-tile:not(:disabled):hover,.eng-card:not(:disabled):hover,.eng-pair:not(:disabled):hover,.eng-mtile:not(:disabled):hover{transform:translateY(-1px)}.eng-option:not(:disabled):active,.eng-token:not(:disabled):active,.eng-tile:not(:disabled):active,.eng-card:not(:disabled):active,.eng-pair:not(:disabled):active,.eng-mtile:not(:disabled):active{box-shadow:var(--shadow-press);transform:translateY(1px)}.eng-option:disabled,.eng-token:disabled,.eng-tile:disabled,.eng-card:disabled,.eng-pair:disabled,.eng-mtile:disabled{cursor:default}.eng-mark{font:800 13px/1 var(--font-ui);position:absolute;top:4px;right:6px}.eng-option.right,.eng-token.hit,.eng-tile.right,.eng-card.ok,.eng-pair.ok,.eng-pair.done,.eng-mtile.found{background:var(--c-lime);color:var(--c-on-fill);border-color:var(--c-on-fill)}.eng-option.wrong,.eng-token.wrong,.eng-tile.wrong,.eng-card.bad,.eng-pair.bad{border-color:var(--pen);color:var(--c-red-text);box-shadow:0 3px 0 var(--pen)}.eng-token.wrong>span:first-child,.eng-tile.wrong>span:first-child{text-decoration:line-through;-webkit-text-decoration-color:var(--pen);text-decoration-color:var(--pen);text-decoration-thickness:2px}.eng-option.missed,.eng-token.missed{border:2px dashed var(--ink);background:var(--tile)}.eng-option.dim{opacity:.5}.eng-option.picked,.eng-token.on,.eng-card.held,.eng-pair.selected{outline:2.5px solid var(--c-focus);outline-offset:2px;background:var(--ink-wash)}.eng-pair.flash{background:var(--pen-wash);border-color:var(--pen)}.eng-choose{gap:16px;min-width:0;display:grid}.eng-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.eng-options.n3,.eng-options.n5{grid-template-columns:repeat(1,minmax(0,1fr))}@media (width>=560px){.eng-options.n3,.eng-options.n5,.eng-options.n6{grid-template-columns:repeat(3,minmax(0,1fr))}}.eng-option{text-align:center;justify-content:center;align-items:center;gap:10px;min-height:64px;padding:10px 28px 10px 12px;font-size:19px;font-weight:700;display:flex}.eng-option .eng-box{border:1.5px solid var(--ink);border-radius:var(--radius-sm);background:var(--tile);width:22px;height:22px;color:var(--ink);flex:none;place-items:center;font-size:14px;display:inline-grid}.eng-option.right .eng-box,.eng-option.missed .eng-box{border-color:var(--c-on-fill);color:var(--c-on-fill)}.eng-option-text{min-width:0}.eng-type{gap:12px;min-width:0;display:grid}.eng-line{flex-wrap:wrap;align-items:baseline;gap:6px 14px;min-width:0;display:flex}.eng-input{flex:180px;min-width:0;max-width:100%;min-height:44px}.eng-input.almost{color:var(--ink);border-bottom-color:var(--highlight);background:linear-gradient(transparent 60%, var(--highlight) 60%)}.eng-linemark{font:800 13px/1.2 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;margin:0}.eng-linemark.ok{color:var(--c-ok-text)}.eng-linemark.almost{color:var(--ink)}.eng-linemark.bad{color:var(--c-red-text)}.eng-pen{font-size:24px}.eng-pen-small{font-size:18px;transform:rotate(-1deg)}.eng-correction{margin:0}.eng-ab{grid-template-columns:repeat(auto-fit,minmax(28px,1fr));gap:4px;min-width:0;padding:2px 0;display:grid}.eng-ab-key{appearance:none;border:var(--border);border-radius:var(--radius);background:var(--tile);min-width:0;height:44px;color:var(--ink);font:600 18px/1 var(--font-ui);box-shadow:0 2px 0 var(--shadow-ink);cursor:pointer;transition:transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease), background var(--t-fast) var(--ease);padding:0}.eng-ab-key:not(:disabled):hover{background:var(--ink-wash)}.eng-ab-key:not(:disabled):active{box-shadow:none;transform:translateY(2px)}.eng-ab-key:disabled{opacity:.35;cursor:default;box-shadow:none}.eng-tap{gap:14px;min-width:0;display:grid}.eng-tokens{flex-wrap:wrap;gap:8px;display:flex}.eng-token{padding:8px 12px;font-size:18px}.eng-token.hit,.eng-token.wrong,.eng-token.missed{padding-right:24px}.eng-order{gap:14px;min-width:0;display:grid}.eng-answer-row{border:1.5px dashed var(--ink-3);border-radius:var(--radius);background:var(--ink-wash);flex-wrap:wrap;align-items:center;gap:8px;min-height:64px;padding:10px;display:flex}.eng-answer-row.ok{border:1.5px solid var(--line);background:0 0}.eng-answer-row.bad{border:1.5px solid var(--pen);background:var(--pen-wash)}.eng-bank{flex-wrap:wrap;gap:8px;min-height:44px;display:flex}.eng-tile{touch-action:none;-webkit-user-select:none;user-select:none;padding:8px 12px;font-size:18px}.eng-tile.answer{cursor:grab}.eng-tile.answer:disabled{cursor:default}.eng-tile.dragging{z-index:5;box-shadow:var(--shadow-lift);cursor:grabbing}.eng-tile.right,.eng-tile.wrong{padding-right:24px}.eng-sort{gap:12px;min-width:0;display:grid}.eng-pool{flex-wrap:wrap;gap:8px;min-height:52px;display:flex}.eng-sort-status,.eng-match-status{min-height:20px;margin:0}.eng-card{text-align:left;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;padding:9px 12px}.eng-card:disabled{cursor:default}.eng-card.dragging{z-index:5;box-shadow:var(--shadow-lift);cursor:grabbing}.eng-card.filed{width:100%;box-shadow:none;cursor:pointer;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:15px;display:flex}.eng-card.filed .eng-mark{position:static}.eng-card.ok,.eng-card.bad{box-shadow:none}.eng-bins{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.eng-bins.n3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width>=560px){.eng-bins.n4{grid-template-columns:repeat(4,minmax(0,1fr))}}.eng-bin{border:2px solid var(--line);border-radius:var(--radius);background:var(--tile);min-width:0;min-height:120px;box-shadow:var(--shadow);transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);align-content:start;gap:8px;padding:8px;display:grid}.eng-bin.over,.eng-bin.ready{border-color:var(--c-focus)}.eng-bin.over{background:var(--ink-wash)}.eng-bin.ok{background:var(--c-lime);border-color:var(--c-on-fill)}.eng-bin.bad{border-color:var(--pen)}.eng-bin-head{appearance:none;border-radius:var(--radius-sm);min-width:0;min-height:48px;color:var(--ink);cursor:pointer;background:0 0;border:1.5px solid #0000;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;display:flex}.eng-bin-head:disabled{cursor:default;color:var(--ink)}.eng-bin-head:not(:disabled){border-color:var(--c-focus);background:var(--tile)}.eng-bin-name{max-width:100%;font:800 11px/1.25 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;overflow-wrap:anywhere}.eng-bins.n3 .eng-bin-name,.eng-bins.n4 .eng-bin-name{letter-spacing:.03em;font-size:10px}.eng-bin-count{font:800 26px/1 var(--font-ui);font-variant-numeric:tabular-nums}.eng-bin-cards{gap:6px;display:grid}.eng-match{gap:12px;min-width:0;display:grid}.eng-match-top{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.eng-match-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.eng-match-col{align-content:start;gap:8px;min-width:0;display:grid}.eng-pair{text-align:left;align-items:center;gap:6px;min-height:56px;padding:8px 10px;font-size:16px;display:flex}.eng-pair .eng-mark{position:static}.eng-pair.done{opacity:.85}.eng-memory{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}@media (width>=560px){.eng-memory{grid-template-columns:repeat(4,minmax(0,1fr))}}.eng-mtile{text-align:center;min-height:72px;padding:8px;font-size:15px}.eng-mtile.down{background:var(--tile-back);color:var(--paper);border-color:var(--tile-back);font-size:20px}.eng-mtile.up:not(.found){outline:2.5px solid var(--c-focus);outline-offset:2px}.eng-mtile.nomatch{outline-color:var(--ink-3);background:var(--ink-wash)}.eng-table{gap:12px;min-width:0;display:grid}.eng-table-wrap{-webkit-overflow-scrolling:touch;border-radius:var(--radius);min-width:0;max-width:100%;overflow-x:auto}.eng-grid{border-collapse:separate;border-spacing:0;border:var(--border);border-radius:var(--radius);background:var(--tile);width:100%;min-width:max-content}.eng-grid caption{caption-side:top;text-align:left;font:700 15px/1.3 var(--font-ui);color:var(--ink);padding:0 0 8px}.eng-grid th,.eng-grid td{border-bottom:1.5px solid var(--c-hair);text-align:left;vertical-align:middle;padding:8px 10px;font-size:16px}.eng-grid thead th{font:800 11px/1.3 var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--c-maroon);background:var(--paper-2)}.eng-grid tbody th{white-space:nowrap;color:var(--ink);font-weight:700}.eng-grid tr:last-child th,.eng-grid tr:last-child td{border-bottom:0}.eng-grid td.given{color:var(--ink-2)}.eng-grid td.ok{background:var(--c-lime);color:var(--c-on-fill)}.eng-grid td.almost{background:var(--highlight);color:var(--c-on-fill)}.eng-grid td.bad{background:var(--pen-wash)}.eng-cell{flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;display:flex}.eng-cell-input{width:9ch;min-width:7ch;max-width:100%;min-height:44px;font-size:18px}.eng-cell-input.almost{border-bottom-color:var(--c-on-fill)}.eng-grid td.ok .eng-cell-input,.eng-grid td.almost .eng-cell-input{color:var(--c-on-fill);border-bottom-color:var(--c-on-fill)}.eng-cellmark{font:800 14px/1 var(--font-ui)}.eng-cellmark.ok,.eng-cellmark.almost{color:var(--c-on-fill)}.eng-cellmark.bad{color:var(--c-red-text)}.eng-listen{gap:14px;min-width:0;display:grid}.eng-listen-head{align-items:center;gap:14px;display:flex}.eng-play{border:1.5px solid var(--c-on-fill);background:var(--c-pink);width:72px;height:72px;color:var(--c-on-fill);box-shadow:0 3px 0 var(--c-on-fill);cursor:pointer;transition:transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid}.eng-play:not(:disabled):hover{transform:translateY(-1px)}.eng-play:not(:disabled):active{box-shadow:0 2px 0 var(--c-on-fill);transform:translateY(1px)}.eng-play:disabled{background:var(--c-disabled-bg);color:var(--c-disabled-fg);box-shadow:none;cursor:default;border-color:#0000}.eng-play.playing{background:var(--tile)}.eng-listen-text{border-left:4px solid var(--highlight);background:var(--tile);border-radius:var(--radius-sm);padding:10px 14px}.eng-listen-fallback{margin:0}.eng-speak{gap:12px;min-width:0;display:grid}.eng-playback{gap:4px;min-width:0;display:grid}.eng-playback audio{width:100%;max-width:100%}.eng-selfrate{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.eng-selfrate .btn{min-width:0;padding-left:8px;padding-right:8px}.eng-selfrate .btn.picked{background:var(--c-pink)}.eng-reveal{justify-items:start;gap:12px;min-width:0;display:grid}.eng-reveal .chip{justify-self:start}.eng-reveal .eng-check,.eng-reveal .eng-selfrate{justify-self:stretch}.eng-flashcard{border:var(--border);border-radius:var(--radius);background:var(--tile);width:100%;min-height:120px;box-shadow:var(--shadow-lift);gap:12px;padding:20px 18px;display:grid}.eng-card-front{font:700 26px/1.2 var(--font-ui);letter-spacing:-.015em;overflow-wrap:anywhere;margin:0}.eng-card-back{border-top:1.5px dashed var(--c-hair);gap:6px;padding-top:12px;display:grid}.eng-card-answer{font:700 22px/1.25 var(--font-ui);color:var(--ink);overflow-wrap:anywhere;margin:0}.eng-card-example{color:var(--ink-2);overflow-wrap:anywhere;margin:0;font-size:16px}.eng-feedback-slot{min-width:0}.eng-feedback-slot:empty{display:none}.eng-feedback{border:var(--border);border-radius:var(--radius);background:var(--tile);animation:eng-in var(--t-fast) var(--ease) both;justify-items:start;gap:6px;padding:14px 16px 16px;display:grid}@keyframes eng-in{0%{opacity:0;transform:translateY(4px)}}.eng-feedback.ok{background:var(--c-lime);border-color:var(--c-on-fill);color:var(--c-on-fill)}.eng-feedback.almost{box-shadow:inset 6px 0 0 var(--highlight)}.eng-feedback.bad{box-shadow:inset 6px 0 0 var(--c-red)}.eng-stamp{border:1.5px solid var(--c-on-fill);border-radius:var(--radius-sm);background:var(--tile);color:var(--c-on-fill);font:800 11px/1.1 var(--font-ui);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:6px;padding:4px 8px 3px;display:inline-flex}.eng-stamp.ok{background:var(--c-lime)}.eng-stamp.almost{background:var(--highlight)}.eng-stamp.bad{background:var(--tile);color:var(--c-red-text);border-color:var(--c-red-text)}.eng-fb-title{font:700 17px/1.3 var(--font-ui);overflow-wrap:anywhere;margin:0}.eng-fb-expl{color:var(--ink-2);overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.45}.eng-feedback.ok .eng-fb-expl{color:var(--c-on-fill)}.eng-scan{gap:12px;min-width:0;display:grid}.eng-scan-ref{font:700 13px/1.3 var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--c-maroon);margin:0}.eng-scan-line{border:var(--border);border-radius:var(--radius);background:var(--tile);flex-wrap:wrap;gap:10px 14px;min-width:0;padding:12px;display:flex}.eng-scan-word{gap:2px;display:inline-flex}.eng-syl{justify-items:center;gap:4px;min-width:40px;display:grid}.eng-syl-text{border-radius:var(--radius-sm);min-width:40px;min-height:36px;color:var(--ink);font:600 19px/1.2 var(--font-ui);cursor:pointer;background:0 0;border:1.5px solid #0000;padding:4px 6px}.eng-syl-text:disabled{cursor:default}.eng-syl-text:not(:disabled):hover{border-color:var(--line)}.eng-syl.elided .eng-syl-text{color:var(--ink-3);border-color:var(--ink-3);border-style:dashed;text-decoration:line-through;text-decoration-thickness:2px}.eng-syl-marks{gap:2px;display:inline-flex}.eng-syl-mark,.eng-foot-pick{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--tile);min-width:22px;min-height:30px;color:var(--ink);font:800 15px/1 var(--font-ui);cursor:pointer;padding:0 4px}.eng-foot-pick{min-width:36px;min-height:36px}.eng-syl-mark.on,.eng-foot-pick.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.eng-syl-mark:disabled,.eng-foot-pick:disabled{cursor:default}.eng-syl-given{min-height:30px;font:800 15px/1 var(--font-ui);color:var(--ink-3);place-items:center;display:inline-grid}.eng-syl.ok .eng-syl-text,.eng-foot.ok{background:var(--c-lime);color:var(--c-on-fill)}.eng-syl.bad .eng-syl-text,.eng-foot.bad{border-color:var(--pen);color:var(--c-red-text);border-style:solid}.eng-syl-key{font:800 13px/1.1 var(--font-ui);color:var(--c-red-text)}.eng-scan-feet{flex-wrap:wrap;gap:8px;display:flex}.eng-foot{border:1.5px solid var(--line);border-radius:var(--radius);background:var(--tile);align-items:center;gap:4px;padding:4px 6px;display:inline-flex}.eng-foot-num{font:800 12px/1 var(--font-ui);color:var(--ink-3);text-align:center;min-width:12px}.eng-foot.ok .eng-foot-num{color:var(--c-on-fill)}.eng-timer{border:var(--border);border-radius:var(--radius);background:var(--tile);flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 14px;display:flex}.eng-timer-time{font:800 22px/1 var(--font-ui);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.eng-timer.paused .eng-timer-time{color:var(--ink-3)}.eng-timer.elapsed{background:var(--highlight);border-color:var(--c-on-fill);color:var(--c-on-fill)}.eng-timer.elapsed .eng-timer-time{font-size:17px}.eng-lab{align-content:start;gap:20px;min-width:0;max-width:720px;min-height:100vh;margin:0 auto;padding:16px;display:grid}.eng-lab h1{font:700 28px/1.15 var(--font-ui);letter-spacing:-.02em;margin:0}.eng-lab h2{font:700 20px/1.2 var(--font-ui);letter-spacing:-.01em;margin:0}.eng-lab-section{border-top:1.5px solid var(--c-hair);gap:12px;min-width:0;padding:16px 0 22px;display:grid}.eng-lab-head{flex-wrap:wrap;align-items:baseline;gap:6px 12px;display:flex}.eng-lab-log{border:var(--border);border-radius:var(--radius);background:var(--tile);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink-2);min-height:60px;margin:0;padding:12px;font:12px/1.5 JetBrains Mono,ui-monospace,monospace}.eng-activity{border:var(--border);border-radius:var(--radius);background:var(--c-card);min-width:0;box-shadow:var(--shadow);gap:16px;padding:18px 16px;display:grid}.eng-activity-head{gap:6px;min-width:0;display:grid}.eng-activity-title{font:800 clamp(22px, 6vw, 28px)/1.15 var(--font-ui);letter-spacing:-.02em;overflow-wrap:anywhere;margin:0}.eng-activity-body{gap:16px;min-width:0;display:grid}.eng-step-count{font:700 11px/1.2 var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0}.eng-next{margin-top:4px}.eng-framing{min-width:0}.eng-framing.story,.eng-framing.puzzle{border-left:4px solid var(--c-pink);background:var(--paper-2);border-radius:var(--radius-sm);gap:4px;padding:10px 14px;display:grid}.eng-framing-intro{color:var(--ink-2);overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.45}.eng-framing-beat{font:700 16px/1.4 var(--font-ui);color:var(--ink);overflow-wrap:anywhere;margin:0}.eng-locks{flex-wrap:wrap;gap:8px;margin:4px 0 0;padding:0;list-style:none;display:flex}.eng-locks li{border:var(--border);background:var(--tile);border-radius:50%;place-items:center;width:32px;height:32px;font-size:14px;display:inline-grid}.eng-locks li.open{background:var(--c-lime);color:var(--c-on-fill)}.eng-locks li.current{outline:2.5px solid var(--c-focus);outline-offset:2px}.eng-framing.scene{border:var(--border);border-radius:var(--radius);align-items:flex-end;height:120px;display:flex}.eng-scene-name{border:var(--border);border-radius:var(--radius-sm);background:var(--tile);font:800 13px/1.2 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);padding:4px 10px}.eng-framing.dialogue{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.eng-framing.dialogue .chip{gap:6px}.eng-handoff{border:var(--border);border-radius:var(--radius);background:var(--paper-2);gap:10px;min-width:0;padding:14px 16px;display:grid}.eng-handoff-title{font:700 16px/1.35 var(--font-ui);margin:0}.eng-handoff-keys{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.eng-handoff-keys li{border:var(--border);border-radius:var(--radius-sm);background:var(--c-lime);color:var(--c-on-fill);font:700 18px/1.3 var(--font-body);overflow-wrap:anywhere;padding:6px 12px;font-style:italic}.eng-earlier{gap:10px;min-width:0;display:grid}.eng-earlier>summary{cursor:pointer;font:700 14px/1.3 var(--font-ui);color:var(--ink-2);align-items:center;min-height:44px;display:flex}.eng-done{border:var(--border);border-radius:var(--radius);background:var(--c-lime);color:var(--c-on-fill);padding:14px 16px}.eng-activity.layout-card{max-width:720px}.eng-activity.layout-full{max-width:800px;box-shadow:none;background:0 0;border:none;padding:8px 0}.eng-activity.layout-full .eng-prompt{font-size:clamp(24px,7vw,34px)}.eng-activity.layout-scene{max-width:720px}.eng-activity.layout-split{max-width:1040px}@media (width>=900px){.eng-activity.layout-split .eng-step{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;column-gap:24px}.eng-activity.layout-split .eng-step>.eng-passage,.eng-activity.layout-split .eng-step>.eng-dialogue,.eng-activity.layout-split .eng-step>.eng-rule,.eng-activity.layout-split .eng-step>.eng-prop{grid-column:1}.eng-activity.layout-split .eng-step>.eng-part{grid-area:1/2/span 3}.eng-activity.layout-scene{grid-template-columns:40% minmax(0,1fr);column-gap:20px;display:grid}.eng-activity.layout-scene>*{grid-column:2}.eng-activity.layout-scene>.eng-framing.scene{grid-area:1/1/span 6;height:auto;min-height:260px}}
