:root{--bg:#1b1216;--surface:#24171e;--surface2:#2e1a24;--rule:#4a293a;--text:#f2d8e5;--muted:#b888a0;--gold:#7fabe8;--stamp:#ff6fa8;--warn:#ff61b0;--paper:#f7f2e7;--paper-rule:#c7d2e0;--paper-margin:#c1503f;--paper-ink:#1d2b45;--paper-ink-soft:#5b6b85;--paper-correct:#3f7a52;--paper-gold:#d9a441;--hand:"Caveat", cursive;--paper-body:"Lexend", system-ui, sans-serif;--sp:clamp(16px, 4vw, 28px);--display:"Big Shoulders Display", sans-serif;--body:"Libre Franklin", system-ui, sans-serif;--mono:"Space Mono", monospace;--wrap:min(68rem, 100% - 2.5rem);--measure:38rem}.sp-page{--line-height:35px;box-sizing:border-box;border-left:3px solid var(--paper-margin);background-color:var(--paper);background-image:repeating-linear-gradient(to bottom, transparent, transparent calc(var(--line-height) - 1px), var(--paper-rule) calc(var(--line-height) - 1px), var(--paper-rule) var(--line-height));width:100%;max-width:460px;min-height:100dvh;color:var(--paper-ink);font-family:var(--paper-body);padding:28px 22px 48px 44px;padding-bottom:max(48px, env(safe-area-inset-bottom));background-position:0 90px;margin:0 auto}.sp-page *,.sp-page :before,.sp-page :after{box-sizing:border-box}.sp-title{font-family:var(--hand);transform-origin:0;margin:6px 0 2px;font-size:2.6rem;font-weight:700;line-height:1;transform:rotate(-1.5deg)}.sp-sub{color:var(--paper-ink-soft);margin:0 0 20px;font-size:.95rem}.sp-weeks{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.sp-week-chip{border:1.5px solid var(--paper-rule);color:var(--paper-ink-soft);cursor:pointer;background:0 0;border-radius:999px;padding:5px 13px;font-family:inherit;font-size:.85rem}.sp-week-chip.is-on{border-color:var(--paper-margin);color:var(--paper-margin)}.sp-card{background:color-mix(in srgb, var(--paper) 40%, white);border-radius:10px;margin-bottom:18px;padding:16px 20px}.sp-disclosure{color:var(--paper-ink-soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.9rem;text-decoration:underline}.sp-word-list{margin:14px 0 0;padding-left:22px}.sp-word-list li{margin-bottom:6px;line-height:1.5}.sp-word{font-weight:600}.sp-word-sentence{color:var(--paper-ink-soft);font-size:.85rem;display:block}.sp-btn{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 26px;font-family:inherit;font-size:1rem;font-weight:600;transition:transform .1s;display:inline-flex}.sp-btn:active{transform:scale(.97)}.sp-btn:disabled{opacity:.55;cursor:default}.sp-btn:focus-visible,.sp-listen-btn:focus-visible,.sp-back:focus-visible,.sp-week-chip:focus-visible,.sp-disclosure:focus-visible{outline:3px solid var(--paper-ink);outline-offset:2px}.sp-btn-primary{background:var(--paper-gold);color:var(--paper-ink)}.sp-btn-secondary{color:var(--paper-ink-soft);border:1.5px solid var(--paper-rule);background:0 0;text-decoration:none}.sp-actions{flex-direction:column;gap:10px;margin-top:8px;display:flex}.sp-nav{align-items:center;gap:10px;margin-bottom:12px;display:flex}.sp-back{color:var(--paper-ink-soft);border:1.5px solid var(--paper-rule);cursor:pointer;background:0 0;border-radius:999px;padding:7px 14px;font-family:inherit;font-size:.85rem;text-decoration:none;display:inline-block}.sp-back:hover{color:var(--paper-ink);border-color:var(--paper-margin)}.sp-progress{color:var(--paper-ink-soft);margin-bottom:10px;font-size:.9rem}.sp-listen{flex-direction:column;gap:10px;margin:18px 0 26px;display:flex}.sp-listen-btn{background:var(--paper-ink);color:var(--paper);cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:18px 20px;font-family:inherit;font-size:1.05rem;font-weight:600;display:flex}.sp-listen-btn:active{transform:scale(.98)}.sp-listen-btn:disabled{color:var(--paper-ink-soft);border:1.5px solid var(--paper-rule);cursor:default;background:0 0}.sp-listen-btn span{font-size:1.3rem}.sp-correction{text-align:center;margin-top:8px}.sp-correction-label{color:var(--paper-ink-soft);margin:0 0 10px;font-size:.95rem}.sp-correction-word{font-family:var(--hand);color:var(--paper-correct);overflow-wrap:anywhere;margin:0;font-size:clamp(3.2rem,18vw,4.6rem);line-height:1.05}.sp-correction-letters{letter-spacing:.06em;color:var(--paper-ink);overflow-wrap:anywhere;margin:4px 0 26px;font-size:clamp(1.1rem,5.5vw,1.5rem);font-weight:600}.sp-answer{text-align:center;width:100%;color:var(--paper-ink);border:none;border-bottom:2px solid var(--paper-ink-soft);background:0 0;outline:none;padding:8px 4px 12px;font-family:inherit;font-size:1.4rem}.sp-answer:focus{border-bottom-color:var(--paper-gold)}@media (prefers-reduced-motion:reduce){.sp-btn,.sp-listen-btn{transition:none}}.sp-feedback{text-align:center;font-family:var(--hand);min-height:1.7rem;margin:18px 0;font-size:1.7rem}.sp-feedback.is-ok{color:var(--paper-correct)}.sp-feedback.is-bad{color:var(--paper-margin)}.sp-score{font-family:var(--hand);text-align:center;margin:10px 0 4px;font-size:4rem;line-height:1}.sp-score-label{text-align:center;color:var(--paper-ink-soft);margin-bottom:20px}.sp-missed{margin:0 0 20px;padding:0;list-style:none}.sp-missed li{border-bottom:1px solid var(--paper-rule);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.sp-attempt{color:var(--paper-margin);opacity:.8;text-decoration:line-through}.sp-correct{color:var(--paper-correct);font-weight:600}.sp-all-right{text-align:center;color:var(--paper-ink-soft);margin-bottom:20px}body{background:var(--paper);margin:0}
