:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#17212b;--muted:#5e6b76;--line:#d8e0e6;--paper:#fff;--wash:#f2f6f8;--accent:#0f6674;--accent-soft:#dceff1;--hold:#8b5c13;--hold-bg:#fff6dd}*{box-sizing:border-box}body{background:var(--wash);color:var(--ink);margin:0;font-family:Noto Serif SC,Noto Serif TC,Songti SC,PMingLiU,serif;overflow-x:hidden}#app{width:min(1460px,100%);margin:0 auto;padding:28px clamp(18px,3vw,42px) 56px}.practice-header,.controls,.pack-summary,.practice-grid{min-width:0}.practice-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}h1,h2,p{margin-top:0}h1{margin-bottom:8px;font-size:clamp(1.8rem,3vw,2.8rem)}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-family:system-ui,sans-serif;font-size:.78rem;font-weight:750}.subhead,.author,.draft-state,.scoring-hold{color:var(--muted)}.mode-badge{border:1px solid var(--accent);color:var(--accent);background:var(--accent-soft);border-radius:999px;flex:none;padding:7px 12px;font:700 .8rem system-ui,sans-serif}.controls{border:1px solid var(--line);background:var(--paper);border-radius:14px;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) auto;gap:14px;margin-top:24px;padding:16px;display:grid}.controls label,.script-switch{color:var(--muted);border:0;gap:6px;margin:0;padding:0;font:700 .8rem system-ui,sans-serif;display:grid}select,button,textarea{font:inherit}select{width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #aebbc4;border-radius:9px;padding:9px 10px}.script-switch{grid-template-columns:1fr 1fr;align-content:end}.script-switch legend{grid-column:1/-1;margin-bottom:6px}.script-switch button{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #aebbc4;padding:9px 13px}.script-switch button:first-of-type{border-radius:9px 0 0 9px}.script-switch button:last-of-type{border-radius:0 9px 9px 0;margin-left:-1px}.script-switch button[data-active=true]{border-color:var(--accent);color:#fff;background:var(--accent)}.load-status{min-height:24px;color:var(--muted);margin:12px 0 0;font:600 .86rem system-ui,sans-serif}.load-status[data-tone=ok]{color:#28704a}.load-status[data-tone=error]{color:#a13131}.pack-summary{flex-wrap:wrap;gap:8px;margin:6px 0 18px;display:flex}.pack-summary span{color:#34444f;background:#e7edf0;border-radius:999px;padding:6px 10px;font:650 .78rem system-ui,sans-serif}.hold-notice{color:var(--hold);background:var(--hold-bg);border:1px solid #e6c46e;border-radius:12px;margin-bottom:18px;padding:12px 15px;font:.9rem/1.55 system-ui,sans-serif}.practice-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);align-items:start;gap:22px;display:grid}.passage-panel,.response-panel{border:1px solid var(--line);background:var(--paper);border-radius:16px;min-width:0;box-shadow:0 10px 28px #23384314}.passage-panel{padding:clamp(16px,2.5vw,28px)}.response-panel{gap:14px;padding:20px;display:grid;position:sticky;top:18px}.author{margin-bottom:16px}.instructions{border-left:3px solid var(--accent);background:var(--accent-soft);margin-bottom:10px;padding:10px 12px}.prompt{margin-bottom:22px;font-size:clamp(1.05rem,2vw,1.24rem);font-weight:700;line-height:1.65}.passage-pages{gap:18px;display:grid}figure{min-width:0;margin:0}figure img{background:#fff;border:1px solid #dfe4e7;width:100%;max-width:100%;height:auto;display:block}figcaption{color:var(--muted);padding-top:7px;font:.76rem system-ui,sans-serif}textarea{resize:vertical;width:100%;max-width:100%;min-height:430px;color:var(--ink);background:#fff;border:1px solid #aebbc4;border-radius:11px;padding:14px;line-height:1.65}textarea:focus,select:focus,button:focus-visible{outline-offset:2px;outline:3px solid #0f66743d}textarea[readonly]{background:#eef2f4}.draft-state,.scoring-hold{margin-bottom:0;font:.8rem/1.5 system-ui,sans-serif}@media (width<=1050px){.practice-grid{grid-template-columns:1fr}.response-panel{position:static}}@media (width<=700px){#app{padding-inline:14px}.practice-header{display:block}.mode-badge{margin-top:6px;display:inline-block}.controls{grid-template-columns:1fr}.script-switch{width:100%}.passage-panel,.response-panel{border-radius:12px}}
