:root{color-scheme:light;--paper:#f7f3e9;--sheet:#fffefa;--ink:#24352f;--muted:#556057;--rule:#cbd0c3;--rust:#9c412d;--green:#355a44}*{box-sizing:border-box}body{margin:0;border-top:8px solid var(--ink);background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;line-height:1.55}button,textarea{font:inherit}button,a,textarea{-webkit-tap-highlight-color:transparent}button{min-height:48px;min-width:44px;padding:10px 18px;border:1px solid #7d897e;border-radius:4px;background:var(--sheet);color:var(--ink);font-size:15px;font-weight:600;line-height:1.4;cursor:pointer;transition:background-color .15s}button:hover:not(:disabled){background:#e8ebe0}button:disabled{cursor:default;color:#60685e;border-color:#9fa798;background:#e6e8df}button.primary{background:var(--ink);border-color:var(--ink);color:#fff}button.primary:hover:not(:disabled){background:#3a5045}button.rust{background:var(--rust);border-color:var(--rust);color:#fff}button.rust:hover:not(:disabled){background:#803321}button.remember{border-color:var(--green);color:var(--green);background:#edf2e8}button.primary:disabled,button.rust:disabled,button.remember:disabled{color:#60685e;border-color:#9fa798;background:#e6e8df}button.quiet{background:transparent;text-decoration:underline;text-underline-offset:4px;border-color:transparent}a{color:var(--ink);text-underline-offset:5px}:focus-visible{outline:3px solid #245daa;outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:clamp(34px,4vw,46px);line-height:1.15;letter-spacing:-1.6px;margin:7px 0 12px}h2{font-size:25px;line-height:1.25;letter-spacing:-.55px}h3{font-size:19px;line-height:1.35}p,h2,h3,li{overflow-wrap:anywhere}.site-header{max-width:1392px;margin:auto;padding:36px 40px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--rule)}.eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.65px;color:var(--muted)}.intro{color:var(--muted)}.catalog{display:inline-flex;min-height:44px;min-width:44px;align-items:center;white-space:nowrap;font-size:15px;padding:8px 0}.workspace{display:grid;grid-template-columns:minmax(330px,480px) minmax(0,1fr);gap:clamp(30px,4vw,56px);max-width:1392px;margin:0 auto;padding:40px 40px 56px;align-items:start}.notebook{border:1px solid var(--rule);background:var(--sheet);min-width:0}.notebook-header{padding:24px}.notebook-header h2{margin:8px 0}.support{font-size:14px;color:var(--muted);line-height:1.6}.empty-notebook{display:flex;gap:20px;padding:24px;border-block:1px solid var(--rule);background:repeating-linear-gradient(transparent,transparent 35px,#eff0e8 35px,#eff0e8 36px)}.empty-notebook h3{margin-bottom:8px}.empty-notebook p{font-size:15px;color:var(--muted)}.empty-number{font-size:14px;color:var(--rust);padding-top:3px}.deck-list{list-style:none;padding:0;margin:0;counter-reset:pair}.deck-row{position:relative;padding:18px 24px 18px 52px;border-top:1px solid var(--rule);counter-increment:pair;min-width:0}.deck-row:before{content:counter(pair,decimal-leading-zero);position:absolute;left:12px;top:22px;font-size:12px;color:var(--muted)}.deck-row:after{content:"";position:absolute;left:39px;top:0;bottom:0;border-left:1px solid #d8ae9e}.deck-row.is-editing{background:#f1f1e4}.row-prompt,.row-answer{font-size:21px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.row-prompt{font-weight:600}.row-label{display:block;font-size:12px;color:var(--muted);letter-spacing:.6px;margin-bottom:2px;font-weight:500}.answer-label{margin-top:10px}.row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.row-actions button{font-size:14px;padding:8px 16px}.row-mark{color:var(--rust);font-size:14px;font-weight:600;margin-top:10px;display:flex;align-items:center;gap:8px}.row-mark:before{content:"";width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--rust)}.row-mark.is-remembered{color:var(--green)}.row-mark.is-remembered:before{background:var(--green)}.entry-form{padding:24px;border-top:1px solid var(--rule);scroll-margin-block:24px}.entry-form>.support{margin:6px 0 18px}label{display:block;font-size:14px;font-weight:600;margin:16px 0 7px}textarea{display:block;width:100%;resize:vertical;min-height:78px;border:1px solid #7d897e;border-radius:4px;background:#fff;color:var(--ink);padding:12px;font-size:17px;line-height:1.5;scroll-margin-block:24px}textarea::placeholder{color:#657064}textarea[aria-invalid="true"]{border:2px solid var(--rust)}.field-error{color:var(--rust);font-size:14px;margin-top:6px}.form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.form-actions button{flex:1}.samples{padding:0 24px 24px}.samples button{width:100%}.samples p{margin-top:12px}.sample-preview{list-style:none;padding:0;margin:4px 0 0;font-size:14px;color:var(--muted);line-height:1.7}.recall-workspace{min-width:0;padding-top:4px}.workspace-title{font-size:clamp(29px,3vw,38px);margin:10px 0 16px;letter-spacing:-1px;line-height:1.2;scroll-margin-top:24px}.workspace-intro{max-width:540px;color:var(--muted);margin-bottom:28px}.slip{position:relative;background:var(--sheet);border:1px solid #b7bfb2;box-shadow:9px 10px 0 #e7e6da;margin:28px 10px 32px 0}.slip:after{content:"";position:absolute;top:-1px;right:-1px;width:28px;height:28px;background:linear-gradient(45deg,#e5e8db 49%,#b7bfb2 50%,var(--paper) 53%);border-bottom:1px solid #b7bfb2;border-left:1px solid #b7bfb2;pointer-events:none}.slip-half{padding:25px 32px 28px;min-width:0}.slip-half+.slip-half{border-top:1px solid var(--rule)}.large-phrase{font-size:clamp(28px,3vw,40px);font-weight:550;line-height:1.35;letter-spacing:-.5px;margin:15px 0 0;overflow-wrap:anywhere;white-space:pre-wrap;scroll-margin-block:28px}.concealed{background:#f2f2e8}.concealed p{margin-top:16px;color:var(--muted)}.concealed-lines{margin-top:22px;display:grid;gap:10px;max-width:290px}.concealed-lines span{display:block;height:6px;background:#d7ddcf;border-radius:3px}.concealed-lines span:last-child{width:67%}.ready-slip .slip-half:first-child{min-height:185px}.start-button{min-width:200px}.start-button+.support{margin-top:10px}.flow-guide{display:flex;gap:18px;flex-wrap:wrap;border-top:1px solid var(--rule);margin:32px 0 0;padding:23px 0 0;font-size:14px;color:var(--muted);list-style:none;counter-reset:step}.flow-guide li{counter-increment:step}.flow-guide li:before{content:counter(step) ". ";font-weight:700;color:var(--ink)}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.score-line{font-size:15px;color:var(--muted);line-height:1.9;font-variant-numeric:tabular-nums}.wide{width:100%}.rating-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.rating-actions+.support{margin:12px 0}.practice-note{padding:24px 8px 24px 0}.practice-note h2{font-size:28px;margin:18px 0}.practice-note>p:not(.eyebrow){color:var(--muted);margin-bottom:20px}.steps{padding-left:24px;margin:28px 0}.steps li{padding-left:5px;margin-bottom:14px}.retry-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:28px 0 0}.retry-list{list-style:none;padding:0;margin:0;counter-reset:retry}.retry-card{counter-increment:retry;border-left:7px solid var(--rust)}.retry-card:before{content:counter(retry,decimal-leading-zero);position:absolute;right:50px;top:25px;font-size:14px;color:var(--muted)}.retry-card .slip-half:first-child{padding-right:72px}.retry-card .large-phrase{font-size:clamp(26px,2.8vw,38px)}.retry-card .row-mark{padding:0 32px 22px;margin:0}.result-actions{display:flex;gap:10px;flex-wrap:wrap}.result-actions button{flex:1 1 170px}.result-actions+.support{margin-top:18px}.editing-hint{font-size:15px;color:var(--muted);border-top:1px solid var(--rule);margin-top:24px;padding-top:20px}.empty-retry{border-block:1px solid var(--rule);padding:32px 0;margin:18px 0 26px}.empty-retry p{margin-top:8px;color:var(--muted)}footer{border-top:1px solid var(--rule);max-width:1312px;margin:auto;padding:22px 0 24px;font-size:13px;color:var(--muted);display:flex;justify-content:space-between;gap:24px}footer p:last-child{max-width:540px}.notice{max-width:1312px;margin:0 auto 24px;padding:12px 18px;border-left:4px solid var(--green);background:#e9eee3;color:var(--ink);font-size:14px;overflow-wrap:anywhere}.notice:empty{display:none}dialog{width:calc(100% - 40px);max-width:490px;max-height:calc(100dvh - 40px);overflow:auto;padding:30px;border:1px solid #7d897e;border-radius:4px;background:var(--sheet);color:var(--ink);box-shadow:0 15px 70px #18251e40}dialog::backdrop{background:#24352f99}dialog h2{margin:12px 0 16px}dialog p{line-height:1.6}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}[hidden]{display:none!important}@media(min-width:1450px){.site-header{padding-inline:0}.workspace{padding-inline:0}}@media(max-width:1392px){footer,.notice{margin-inline:40px}}@media(max-width:1000px){.site-header{padding:28px}.workspace{padding:32px 28px 48px;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);gap:28px}.slip-half{padding:24px}.retry-card .row-mark{padding-inline:24px}footer,.notice{margin-inline:28px}.large-phrase{font-size:32px}}@media(max-width:760px){body{border-top-width:6px}.site-header{padding:24px 20px;align-items:flex-start;gap:12px;flex-wrap:wrap}.site-header>div{flex:1 1 240px;min-width:0}.site-header .eyebrow{letter-spacing:1px}.catalog{align-self:flex-start}h1{font-size:37px}.intro{font-size:16px}.workspace{display:flex;flex-direction:column;padding:28px 20px 40px;gap:32px}.notebook,.practice-note,.recall-workspace{width:100%}body.practising .recall-workspace,body.showing-results .recall-workspace{order:-1}.practice-note{padding:24px 0 0;border-top:1px solid var(--rule)}.notebook-header,.entry-form{padding:22px}.samples{padding:0 22px 22px}.workspace-title{font-size:32px}.slip-half{padding:24px}.large-phrase{font-size:30px}.rating-actions{gap:10px}.rating-actions button{padding:12px 8px;font-size:15px}.start-button{width:100%}.flow-guide{justify-content:space-between;gap:10px}.result-actions{flex-direction:column}.result-actions button{flex:auto;width:100%}.section-top{align-items:baseline}.retry-header{flex-wrap:wrap;gap:4px}footer{display:block;padding-bottom:20px}footer,.notice{margin-inline:20px}footer p+p{margin-top:8px}.dialog-actions button{flex:1}.dialog-actions{flex-wrap:wrap}.ready-slip .slip-half:first-child{min-height:160px}}@media(max-width:360px){.rating-actions{grid-template-columns:1fr}.deck-row{padding-right:16px}.slip-half{padding:22px}.workspace-title{font-size:29px}}@media(prefers-reduced-motion:reduce){button{transition:none}}@media(forced-colors:active){:focus-visible{outline-color:Highlight}button:disabled{color:GrayText}.row-mark:before{background:CanvasText}.slip{box-shadow:none}}
