:root{--a50: #EEF8F3;--a100: #CFE3DB;--a200: #C5E8DA;--a300: #9FE1CB;--a400: #5DCAA5;--a500: #5F8F80;--a600: #1D9E75;--a700: #0F6E56;--a800: #0F6E56;--a950: #04342C;--bg: var(--a50);--card: #FFFFFF;--ink: var(--a950);--ink-soft: var(--a800);--ink-faint: var(--a500);--accent: var(--a700);--accent-fill: var(--a600);--accent-ledge: var(--a800);--plate: var(--a300);--plate-far: var(--a100);--paper: #FEF9E8;--coral: #D85A30;--coral-ledge: #993C1D;--amber: #BA7517;--answer: #9A5F0E;--answer-fill: #FDF4E3;--success: #15803D;--success-fill: #EFFAF2;--danger: #C93434;--danger-fill: #FEF2F2;--nap: #3B6FD8;--disabled: var(--a100);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0A0C0B;--card: #141817;--ink: #FFFFFF;--ink-soft: #A8B3AF;--ink-faint: #6B7672;--accent: var(--a400);--plate: #2B3532;--plate-far: #1D2422;--paper: #141817;--answer: #FAC775;--answer-fill: #1C1912;--success: #4ADE80;--success-fill: #0F2116;--danger: #F09595;--danger-fill: #241313;--nap: #8FB3FF;--amber: #FAC775;--disabled: #232927;color-scheme:dark}}:root[data-theme=dark]{--bg: #0A0C0B;--card: #141817;--ink: #FFFFFF;--ink-soft: #A8B3AF;--ink-faint: #6B7672;--accent: var(--a400);--plate: #2B3532;--plate-far: #1D2422;--paper: #141817;--answer: #FAC775;--answer-fill: #1C1912;--success: #4ADE80;--success-fill: #0F2116;--danger: #F09595;--danger-fill: #241313;--nap: #8FB3FF;--amber: #FAC775;--disabled: #232927;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Nunito,ui-rounded,SF Pro Rounded,system-ui,sans-serif;font-weight:600;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}h1,h2{font-weight:900;margin:0}.loading{display:grid;place-items:center;min-height:100vh;color:var(--ink-soft);font-size:20px}.muted{color:var(--ink-soft);font-weight:600}.small{font-size:13px}.danger{color:var(--danger)}.link{background:none;border:none;color:var(--accent);font-weight:700;padding:4px 8px}.btn{border:none;border-radius:16px;padding:14px 22px;font-size:17px;font-weight:900;transition:transform .08s,box-shadow .08s}.btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--ledge, transparent)!important}.btn-wide{width:100%;margin-top:18px}.btn-primary{--ledge: var(--accent-ledge);background:var(--accent-fill);color:#fff;box-shadow:0 4px 0 var(--ledge)}.btn-success{--ledge: #0F6E56;background:#22a35a;color:#fff;box-shadow:0 4px 0 var(--ledge)}.btn-danger{--ledge: var(--coral-ledge);background:var(--coral);color:#fff;box-shadow:0 4px 0 var(--ledge)}.btn-secondary{background:var(--card);color:var(--ink-soft);border:2.5px solid var(--plate)}.btn-plain{background:#fff;color:var(--accent-ledge);padding:10px 22px;border-radius:999px}.btn:disabled{background:var(--disabled);color:var(--ink-faint);box-shadow:none;border-color:var(--disabled)}.speaker{width:54px;height:54px;flex:none;border:none;border-radius:14px;background:var(--accent-fill);color:#fff;display:grid;place-items:center;box-shadow:0 3px 0 var(--accent-ledge)}.page{max-width:720px;margin:0 auto;padding:24px 20px 130px}.header{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.level{font-size:34px;font-weight:900}.header-stats{display:flex;gap:16px;align-items:center}.badge{background:none;border:none;font-size:20px;font-weight:900;white-space:nowrap;padding:4px}.badge-streak{color:var(--coral)}.badge-nap{color:var(--nap)}.badge-xp{color:var(--amber)}.badge-off{color:var(--ink-faint);filter:grayscale(1)}.popover{position:absolute;top:56px;right:0;z-index:5;width:260px;padding:16px;border-radius:16px;background:var(--card);border:2px solid var(--plate);box-shadow:0 10px 30px #00000026}.popover p{margin:8px 0;font-weight:600}.next-up{display:flex;justify-content:space-between;gap:12px;padding:20px;border-radius:22px;background:var(--accent-fill);color:#fff;box-shadow:0 5px 0 var(--accent-ledge)}.next-up-review{background:var(--coral);box-shadow:0 5px 0 var(--coral-ledge)}.next-up-label{font-size:13px;font-weight:900;opacity:.85;letter-spacing:.04em}.next-up-title{font-size:26px;font-weight:900;margin-top:6px}.next-up-detail{margin-top:6px;opacity:.9}.next-up-side{display:flex;flex-direction:column;align-items:center;gap:8px}.dragon{display:block}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0 8px}.stat{padding:12px;border-radius:14px;border:2px solid var(--plate);background:var(--card);color:var(--ink-soft);text-align:center;font-weight:800;font-size:15px}.stat-done{color:var(--success);border-color:var(--success)}.zoned{--zone: var(--zone-l)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .zoned{--zone: var(--zone-d)}}:root[data-theme=dark] .zoned{--zone: var(--zone-d)}:root{--locked: #DCE1DF;--locked-ledge: #BEC6C3}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--locked: #343C39;--locked-ledge: #262C2A}}:root[data-theme=dark]{--locked: #343C39;--locked-ledge: #262C2A}.stat-later{color:var(--coral);border-color:var(--coral)}.paper{--paper: color-mix(in srgb, var(--ink) 14%, var(--card));box-shadow:0 7px 0 -3px var(--paper),0 13px 0 -6px color-mix(in srgb,var(--paper) 55%,transparent)}.folded-zone.paper{--paper: var(--locked-ledge)}.folded-zone.finished.paper{--paper: color-mix(in srgb, var(--zone) 70%, #000)}.journey{display:flex;flex-direction:column;gap:14px;width:100%;margin:22px 0 26px;padding:14px 16px;text-align:left;border-radius:18px;background:var(--card);border:1.5px solid var(--plate-far)}.journey-top{display:flex;align-items:center;gap:10px}.journey-icon{font-size:20px}.journey-text{flex:1;display:flex;flex-direction:column}.journey-text b{font-size:17px}.journey-text small{color:var(--ink-soft);font-size:13px}.journey-fold{color:var(--ink-soft);font-weight:800;font-size:14px}.journey-dots{display:flex;align-items:center}.journey-dot{width:22px;height:22px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:900;background:var(--locked);color:var(--ink-faint)}.journey-dot.done{background:var(--zone);color:#fff}.journey-dot.here{width:26px;height:26px;background:var(--zone);color:#fff;font-size:12px;box-shadow:0 0 0 4px color-mix(in srgb,var(--zone) 35%,transparent)}.journey-line{flex:1;height:3px;background:var(--locked)}.journey-line.done{background:var(--zone)}.zone{margin-top:10px}.zone-banner{display:flex;gap:14px;align-items:center;padding:14px;margin:18px 0;border-radius:20px;border:2px solid color-mix(in srgb,var(--zone) 45%,transparent);background:linear-gradient(color-mix(in srgb,var(--zone) 10%,transparent),color-mix(in srgb,var(--zone) 10%,transparent)),var(--card)}.zone-ring{width:58px;height:58px;flex:none;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--zone) var(--done),color-mix(in srgb,var(--zone) 18%,transparent) 0)}.zone-ring span{width:46px;height:46px;border-radius:50%;background:var(--card);display:grid;place-content:center;text-align:center;color:var(--zone);font-size:17px;font-weight:900;line-height:1}.zone-ring small{display:block;font-size:11px;opacity:.7}.zone-text{flex:1}.zone-label{font-size:12px;font-weight:900;color:var(--zone);letter-spacing:.05em}.zone-title{font-size:21px;font-weight:900}.zone-left{font-size:13px;color:var(--ink-soft)}.zone-fold{width:34px;height:34px;border-radius:50%;border:none;font-weight:900;font-size:16px;color:var(--zone);background:color-mix(in srgb,var(--zone) 14%,transparent)}.folded-zone{display:flex;align-items:center;gap:12px;width:100%;margin:8px 0 22px;padding:12px 14px;border:none;border-radius:16px;text-align:left;background:var(--locked);color:var(--ink-soft)}.folded-zone.finished{background:var(--zone);color:#fff}.folded-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:17px;background:#fff6}.folded-zone.finished .folded-icon{background:#ffffff38}.folded-text{flex:1;display:flex;flex-direction:column}.folded-text b{font-size:16px}.folded-text small{font-size:13px;opacity:.85}.folded-lessons{display:flex;justify-content:center;padding:14px 0}.folded-lessons.above{padding:4px 0 14px}.folded-lessons button{height:44px;padding:0 18px;border-radius:22px;background:var(--card);border:1.5px solid var(--plate-far);font-size:15px;font-weight:900;color:var(--ink)}.fold-again{display:block;margin:4px auto;color:var(--ink-soft)}.road{display:flex;flex-direction:column;align-items:center}.stop-row{position:relative;width:320px;max-width:100%}.stop-area{position:absolute;left:0;width:320px;height:112px}.road-line{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.road-line path{fill:none;stroke:var(--locked);stroke-width:12;stroke-linecap:round;stroke-dasharray:2 16}.road-line.travelled path{stroke:color-mix(in srgb,var(--accent-fill) 55%,transparent);stroke-dasharray:none}.stop-button{position:absolute;transform:translate(-50%,-50%);border-radius:50%;border:none;color:#fff;font-weight:900;background:var(--accent-fill);box-shadow:0 6px 0 var(--accent-ledge);display:grid;place-items:center}.stop-button:after{content:"";position:absolute;width:62%;height:62%;left:7%;top:5%;border-radius:50%;background:#ffffff2e}.stop-button.locked{background:var(--locked);box-shadow:0 6px 0 var(--locked-ledge);color:var(--ink-faint)}.stop-button.locked:after{display:none}.stop-button.locked span{filter:grayscale(1);opacity:.6}.stop-button.reviewFirst{background:var(--coral);box-shadow:0 6px 0 var(--coral-ledge)}.stop-button.current,.stop-button.reviewFirst{animation:pulse 1.8s ease-out infinite}@keyframes pulse{0%{box-shadow:0 6px 0 var(--accent-ledge),0 0 color-mix(in srgb,var(--accent-fill) 45%,transparent)}to{box-shadow:0 6px 0 var(--accent-ledge),0 0 0 16px transparent}}.stop-caption{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;max-width:300px;overflow:hidden;text-overflow:ellipsis;padding:2px 8px;border-radius:999px;background:var(--bg);font-size:13px;font-weight:800;color:var(--ink-soft)}.stop-caption.locked{color:var(--ink-faint)}.stop-caption.current,.stop-caption.reviewFirst{color:var(--ink);font-weight:900}.stop-dragon{position:absolute;pointer-events:none}.start-bubble{position:absolute;transform:translate(-50%,-50%);padding:9px 16px;border-radius:12px;z-index:1;background:var(--card);border:2px solid var(--plate);color:var(--accent-fill);font-size:15px;font-weight:900;animation:bob 1.8s ease-in-out infinite}.start-bubble.reviewFirst{color:var(--coral)}.start-bubble:after{content:"";position:absolute;left:50%;bottom:-8px;width:12px;height:12px;transform:translate(-50%) rotate(45deg);background:var(--card);border-right:2px solid var(--plate);border-bottom:2px solid var(--plate)}@keyframes bob{0%,to{margin-top:2px}50%{margin-top:-4px}}.session{max-width:720px;margin:0 auto;padding:18px 20px 40px;min-height:100vh;display:flex;flex-direction:column}.session-top{display:flex;align-items:center;gap:14px}.close{background:none;border:none;font-size:26px;color:var(--ink-soft);padding:4px 8px}.bar{flex:1;height:16px;border-radius:999px;background:var(--plate-far);overflow:hidden}.bar-fill{height:100%;background:var(--accent-fill);border-radius:999px;transition:width .4s}.session-body{flex:1;padding-top:22px}.block{display:flex;flex-direction:column;gap:14px}.instruction{font-size:26px}.item-label{font-size:13px;font-weight:900;color:var(--accent);letter-spacing:.05em;text-transform:uppercase}.word-card{border:2.5px solid var(--accent-fill);border-radius:28px;background:var(--card);padding:18px 22px 22px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;overflow:hidden}.word-card-drawn{background:var(--paper)}.word-card-wrong{border-color:var(--danger);background:var(--danger-fill);animation:shake .35s}.word-card-flipped{border-color:var(--success)}.word-card-top{align-self:stretch;display:flex;justify-content:space-between}.word-card-art{margin:-4px -22px 0;display:flex;justify-content:center}.art{display:block;border-radius:14px;object-fit:cover}.word-card-art .art{border-radius:0;width:260px;height:260px}.new-badge{background:var(--accent-fill);color:#fff;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:900}.word-english{font-size:34px;font-weight:800}.word-answer{background:none;border:none;color:var(--answer);font-size:22px;font-weight:900}.pills{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.pill{border:1.5px solid var(--accent-fill);color:var(--accent);background:none;border-radius:999px;padding:2px 12px;font-size:14px;font-weight:700}.explain{background:var(--answer-fill);border-radius:12px;padding:10px 14px;font-size:15px}.card-message{min-height:24px;text-align:center;color:var(--answer);font-weight:800}.answer-row{display:flex;gap:10px}.answer-input{flex:1;font:inherit;font-size:22px;font-weight:800;padding:12px 16px;border-radius:14px;border:2.5px solid var(--plate);background:var(--card);color:var(--ink);outline:none}.answer-input:focus{border-color:var(--accent-fill)}.letters{display:flex;gap:8px}.mic-area{display:flex;flex-direction:column;align-items:center;gap:10px}.mic{border:none;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--coral);box-shadow:0 5px 0 var(--coral-ledge);transition:transform .08s}.mic:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 var(--coral-ledge)}.mic.listening{box-shadow:0 5px 0 var(--coral-ledge),0 0 0 calc(6px + var(--level) * 22px) color-mix(in srgb,var(--coral) 28%,transparent);transition:box-shadow .08s linear}.mic.mic-waiting{background:color-mix(in srgb,var(--coral) 55%,var(--card))}.mic:disabled{background:var(--disabled);color:var(--ink-faint);box-shadow:none}.mic-dots{display:flex;gap:6px}.mic-dots i{width:9px;height:9px;border-radius:50%;background:#fff;animation:dot 1s infinite ease-in-out}.mic-dots i:nth-child(2){animation-delay:.15s}.mic-dots i:nth-child(3){animation-delay:.3s}@keyframes dot{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.mic-progress{width:220px}.mic-status{font-size:14px;font-weight:700;color:var(--ink-soft);text-align:center;min-height:20px}.mic-status.danger{color:var(--coral)}.cant-speak{display:block;margin:6px auto 0;color:var(--ink-soft)}.letter{width:44px;height:38px;border-radius:10px;border:2px solid var(--plate);background:var(--card);font-weight:800;font-size:18px}.button-row{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:10px}.english{color:var(--ink-soft);font-size:18px;margin:0}.sentence{font-size:26px;font-weight:800;margin:0;line-height:1.6}.sentence mark{background:none;color:var(--accent);text-decoration:underline dotted}.gap{display:inline-block;min-width:70px;border:none;border-bottom:3px solid var(--accent-fill);background:none;font:inherit;color:var(--accent);text-align:center;padding:0 4px}.listen-row{display:flex;align-items:center;gap:14px}.slow{width:44px;height:44px;flex:none;border-radius:50%;border:2.5px solid var(--accent-fill);background:var(--card);display:grid;place-items:center;font-size:22px;line-height:1;box-shadow:0 3px 0 var(--plate)}.slow:active{transform:translateY(2px);box-shadow:0 1px 0 var(--plate)}.options{display:flex;flex-wrap:wrap;gap:10px}.option{padding:12px 20px;border-radius:14px;border:2.5px solid var(--plate);background:var(--card);font-size:20px;font-weight:800;box-shadow:0 3px 0 var(--plate)}.option-picked{border-color:var(--accent-fill);color:var(--accent)}.option-right{border-color:var(--success);background:var(--success-fill);color:var(--success)}.built{min-height:64px;border-bottom:2.5px solid var(--plate);display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}.bank{display:flex;flex-wrap:wrap;gap:8px}.tile{padding:10px 16px;border-radius:12px;border:2.5px solid var(--plate);background:var(--card);font-size:19px;font-weight:800;box-shadow:0 3px 0 var(--plate)}.feedback{border-radius:20px;padding:18px;margin-top:8px;display:flex;flex-direction:column;gap:8px}.feedback .btn-wide{margin-top:8px}.feedback-right{background:var(--success-fill);color:var(--success)}.feedback-wrong{background:var(--danger-fill);color:var(--danger)}.feedback-title{font-size:22px;font-weight:900}.feedback-answer,.feedback-why{color:var(--ink);font-weight:700}.tip-table{border-collapse:collapse;font-size:18px}.tip-table td{padding:8px 14px;border-bottom:1.5px solid var(--plate)}.examples{display:flex;flex-direction:column;gap:8px}.example{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:12px 16px;border-radius:14px;border:2px solid var(--plate);background:var(--card)}.example-sl{font-size:19px;font-weight:800}.pick-word{font-size:30px;font-weight:900;color:var(--accent);text-decoration:underline dotted}.pick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pick-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:84px;padding:12px;border-radius:18px;border:2.5px solid var(--plate);background:var(--card);font-size:18px;font-weight:700}.pick-grid-images .pick-option{min-height:170px}.pick-drawn{background:var(--paper)}.pick-picked{border-color:var(--accent-fill);color:var(--accent)}.pick-right{border-color:var(--success);background:var(--success-fill)}.pick-wrong{border-color:var(--danger);background:var(--danger-fill)}.swatch{display:inline-block;border-radius:50%;border:1.5px solid var(--plate)}.digits{font-weight:900;color:var(--accent);line-height:1}.match{display:grid;grid-template-columns:1fr 1fr;gap:14px}.match-column{display:flex;flex-direction:column;gap:12px}.match-tile{min-height:64px;border-radius:16px;border:2.5px solid var(--plate);background:var(--card);font-size:18px;font-weight:700}.match-selected{border-color:var(--accent-fill);color:var(--accent)}.match-wrong{border-color:var(--danger);background:var(--danger-fill);animation:shake .35s}.match-done{opacity:.35}.result{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding-top:30px}.result h1{font-size:34px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%;margin-top:10px}.result-stats div{display:flex;flex-direction:column;padding:16px;border-radius:16px;border:2px solid var(--plate);background:var(--card)}.result-stats b{font-size:24px}.result-stats span{color:var(--ink-soft);font-size:14px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:grid;place-items:center;padding:20px;z-index:10}.modal{max-width:380px;background:var(--card);border-radius:22px;padding:24px}.modal p{font-weight:600}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}@media(max-width:480px){.header-stats{gap:8px}.badge{font-size:17px}.level{font-size:28px}.next-up-title{font-size:22px}.stats{gap:8px}.stat{padding:10px 4px;font-size:13px;white-space:nowrap}.button-row{grid-template-columns:1fr 1fr}.button-row .btn-primary{grid-column:span 2}}.account{position:relative;width:min(420px,100%);display:flex;flex-direction:column;gap:10px}.account h2{font-size:24px}.account .muted{margin:0}.modal-close{position:absolute;top:12px;right:12px}.account-form{display:flex;flex-direction:column;gap:10px}.account-form .answer-input{font-size:17px;font-weight:700}.account-form .btn-wide{margin-top:4px}.account .btn-wide{margin-top:6px}.google{display:flex;align-items:center;justify-content:center;gap:10px}.google-g{font-weight:900;color:#4285f4;font-size:20px}.or{display:flex;align-items:center;gap:10px;color:var(--ink-faint);font-size:14px}.or:before,.or:after{content:"";flex:1;height:1.5px;background:var(--plate)}.account-links{display:flex;justify-content:space-between;flex-wrap:wrap}.privacy{font-size:13px;color:var(--ink-faint);font-weight:600;margin:4px 0 0}.good{color:var(--success)}.account-email{font-size:18px;font-weight:800;margin:0}.delete-link{align-self:center;margin-top:6px}.confirm-delete{border:2px solid var(--danger);border-radius:14px;padding:12px;background:var(--danger-fill)}.confirm-delete p{margin:0 0 10px;font-weight:600}.button-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tab-fade{position:fixed;left:0;right:0;bottom:0;height:calc(100px + env(safe-area-inset-bottom));z-index:7;pointer-events:none;background:linear-gradient(transparent,var(--bg) 45%)}.tab-bar{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:8;width:min(480px,calc(100% - 32px));display:flex;gap:6px;padding:8px 10px;border-radius:999px;background:color-mix(in srgb,var(--card) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--plate-far);box-shadow:0 6px 24px #0000001f}.tab-path{flex:1;height:50px;border:none;border-radius:999px;background:var(--accent-fill);color:#fff;font-size:17px;font-weight:900;box-shadow:0 3px 0 var(--accent-ledge);transform:scale(.96);transition:transform .15s}.tab-path.on{transform:none;box-shadow:0 1px 0 var(--accent-ledge),0 0 0 3px var(--card),0 0 0 5px var(--accent-fill)}.tab-item{width:72px;height:50px;border:none;border-radius:999px;background:none;color:var(--ink-faint);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:11px;font-weight:800}.tab-item span{font-size:19px;filter:grayscale(1);opacity:.75}.tab-item.on{color:var(--accent);background:color-mix(in srgb,var(--accent-fill) 14%,transparent)}.tab-item.on span{filter:none;opacity:1}.gear{background:none;border:none;font-size:22px;padding:4px;filter:grayscale(1);opacity:.8}.gear:hover{opacity:1}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;background:#00000059;display:flex;justify-content:center;align-items:flex-end}.sheet{width:min(620px,100%);height:min(92vh,900px);background:var(--bg);border-radius:22px 22px 0 0;display:flex;flex-direction:column;box-shadow:0 -10px 40px #0003}@media(min-width:700px){.sheet-backdrop{align-items:center}.sheet{border-radius:22px}}.sheet-top{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 10px}.sheet-top h2{font-size:22px}.sheet-top .link{font-size:17px}.sheet-body{overflow-y:auto;padding:4px 20px 30px}.list-card{background:var(--card);border:1.5px solid var(--plate-far);border-radius:18px;overflow:hidden}.list-row{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:10px 16px;background:none;border:none;border-bottom:1px solid var(--plate-far);text-align:left;font-size:17px;font-weight:700}.list-row:last-child{border-bottom:none}button.list-row:hover{background:color-mix(in srgb,var(--accent-fill) 6%,transparent)}.list-icon{font-size:18px;width:24px;text-align:center}.list-text{flex:1;display:flex;flex-direction:column}.list-text small{color:var(--ink-faint);font-size:13px;font-weight:600}.chevron{color:var(--ink-faint);font-size:22px;font-weight:800}.accent{color:var(--accent)}.settings-section{margin-top:18px}.settings-section h3{margin:0 0 8px 6px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-weight:900}.settings-footer{margin:8px 6px 0;font-size:13px;color:var(--ink-faint);font-weight:600}.setting{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-bottom:1px solid var(--plate-far)}.setting:last-child{border-bottom:none}.setting>span{font-weight:700}.setting small{color:var(--ink-faint);font-weight:600}.setting.about p{margin:0}.test-voice{align-self:flex-start;padding-left:0}.segments{display:flex;padding:3px;gap:3px;border-radius:12px;background:var(--plate-far)}.segments button{flex:1;border:none;border-radius:9px;padding:8px 6px;background:none;font-weight:800;color:var(--ink-soft)}.segments button.on{background:var(--card);color:var(--accent);box-shadow:0 1px 4px #0000001f}.swatches{display:grid;grid-template-columns:repeat(9,1fr);gap:8px}.swatch-choice{aspect-ratio:1;max-width:44px;border-radius:50%;border:none;background:var(--swatch);color:#fff;font-weight:900;font-size:16px;outline:2.5px solid transparent;outline-offset:3px}.swatch-choice.chosen{outline-color:var(--swatch)}.toggle-row{cursor:pointer}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:50px;height:30px;border-radius:999px;background:var(--plate-far);position:relative;cursor:pointer;transition:background .15s;flex:none;margin:0}.switch:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .15s}.switch:checked{background:var(--accent-fill)}.switch:checked:after{transform:translate(20px)}.words-tabs{margin-bottom:10px}.search{width:100%;margin-bottom:14px;font-size:16px}.word-row{gap:10px}.word-say{flex:1;display:flex;flex-direction:column;align-items:flex-start;background:none;border:none;padding:0;text-align:left}.word-say b{font-size:18px}.word-say small{color:var(--ink-soft);font-size:14px;font-weight:600}.word-status{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:13px;font-weight:800;text-align:right}.word-status .link{padding:0}.mini-bar{width:60px;height:6px;border-radius:3px;background:var(--plate-far);overflow:hidden}.mini-bar div{height:100%;background:var(--accent-fill)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 10px}.profile-head{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:8px}.profile-avatar{position:relative;border:none;padding:10px;border-radius:50%;background:color-mix(in srgb,var(--accent-fill) 15%,transparent)}.profile-avatar-edit{position:absolute;right:4px;bottom:4px;width:30px;height:30px;border-radius:50%;background:var(--accent-fill);color:#fff;display:grid;place-items:center;font-size:16px;border:2px solid var(--card)}.avatar-choices{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;padding:10px;border-radius:18px;background:var(--card);border:1.5px solid var(--plate)}.avatar-choices button{border:2px solid transparent;border-radius:14px;background:none;padding:4px}.avatar-choices button.chosen{border-color:var(--accent-fill)}.profile-name{border:none;background:none;text-align:center;font:inherit;font-size:26px;font-weight:900;color:var(--ink);width:min(360px,100%);padding:4px;border-radius:10px}.profile-name:focus{outline:2px solid var(--plate)}.profile-name::placeholder{color:var(--ink-faint)}.profile-since{display:flex;align-items:center;gap:8px;color:var(--ink-soft);font-size:14px;flex-wrap:wrap;justify-content:center}.profile-since .pill{background:var(--accent-fill);color:#fff;border:none;font-weight:900}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}@media(max-width:560px){.tiles{grid-template-columns:1fr 1fr}}.tile{display:flex;flex-direction:column;gap:2px;padding:14px;border-radius:18px;background:var(--card);border:1.5px solid var(--plate-far)}.tile-icon{font-size:20px}.tile b{font-size:26px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile span{color:var(--ink-soft);font-weight:800;font-size:14px}.tile small{color:var(--ink-faint);font-size:12px;font-weight:600}.section-title{font-size:18px;margin:24px 0 10px}.card{background:var(--card);border:1.5px solid var(--plate-far);border-radius:18px}.week{padding:16px}.week-total{color:var(--ink-soft);font-weight:700}.week-total b{color:var(--ink);font-size:20px}.week-bars{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:14px}.week-day{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:13px;color:var(--ink-faint);font-weight:800}.week-day .today{color:var(--accent)}.week-bar{width:100%;max-width:34px;height:90px;border-radius:8px;background:var(--plate-far);display:flex;align-items:flex-end;overflow:hidden}.week-bar div{width:100%;background:var(--accent-fill);border-radius:8px;min-height:0}.profile .list-card{margin-top:22px}.footnote{text-align:center;color:var(--ink-faint);font-size:13px;margin-top:16px}.tab-title{font-size:30px;margin:8px 0 14px}.intro{margin:0 0 16px}.practice-card{display:flex;align-items:center;gap:14px;width:100%;padding:16px;border-radius:20px;text-align:left;background:var(--card);border:2px solid var(--coral)}.practice-card:disabled{border-color:var(--plate-far);opacity:.7}.practice-card-icon{width:52px;height:52px;border-radius:50%;background:var(--coral);color:#fff;display:grid;place-items:center;font-size:26px;font-weight:900;flex:none}.practice-card:disabled .practice-card-icon{background:var(--disabled)}.practice-card-text{flex:1;display:flex;flex-direction:column;gap:2px}.practice-card-text b{font-size:19px}.practice-card-text small{color:var(--ink-soft);font-size:14px}.practice-tabs{margin:20px 0 6px}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}@media(max-width:560px){.practice-grid{grid-template-columns:1fr 1fr}}.practice-tile{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:18px;text-align:left;background:var(--card);border:1.5px solid var(--plate-far);transition:transform .1s,border-color .1s}.practice-tile:hover:not(:disabled){border-color:var(--accent-fill);transform:translateY(-1px)}.practice-tile:disabled{opacity:.5}.practice-tile-emoji{font-size:30px}.practice-tile b{font-size:16px;min-height:40px}.practice-tile small{color:var(--ink-soft);font-size:12px;font-weight:700}.mini-bar.wide{width:100%;height:8px;display:block}.mini-bar span{display:block;height:100%;background:var(--accent-fill);border-radius:4px}.case-list{display:flex;flex-direction:column;gap:12px}.case-row{display:flex;align-items:flex-start;gap:14px;padding:14px;border-radius:18px;text-align:left;background:var(--card);border:1.5px solid var(--plate-far)}.case-row:hover{border-color:var(--accent-fill)}.case-badge{width:52px;height:52px;flex:none;border-radius:16px;background:var(--accent-fill);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:900}.case-badge.big{width:64px;height:64px;font-size:30px;border-radius:19px}.case-row-text{flex:1;display:flex;flex-direction:column;gap:3px}.case-row-text b{font-size:19px}.case-row-text small{color:var(--ink-soft);font-size:14px;font-weight:600}.case-questions{font-weight:800}.case-questions.big{font-size:19px;margin:16px 0 6px}.back{padding-left:0;font-size:17px}.case-head{display:flex;gap:14px;align-items:center;margin-top:8px}.case-head h1{font-size:24px}.case-summary{font-size:17px;margin:0 0 18px}.case-sub{font-size:14px;color:var(--ink-soft);margin:0 0 8px}.endings-table{border:1.5px solid var(--plate);border-radius:14px;overflow:hidden}.endings-row{display:grid;grid-template-columns:150px 1fr;gap:10px;padding:10px 14px}.endings-row:nth-child(odd){background:var(--card)}.endings-row span{color:var(--ink-soft);font-size:14px}.endings-row b{color:var(--accent)}.case-use{margin-top:22px;display:flex;flex-direction:column;gap:8px}.case-use h2{font-size:19px}.case-use p{margin:0}.case-example{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:14px;text-align:left;background:var(--card);border:1.5px solid var(--plate)}.case-example:disabled{cursor:default}.case-example span:last-child{display:flex;flex-direction:column}.case-example b{font-size:17px}.case-example small{color:var(--ink-soft);font-size:14px;font-weight:600}.case-detail .btn-wide{margin-top:26px}@media(max-width:480px){.endings-row{grid-template-columns:110px 1fr}}
