.spelling-surface{overflow-wrap:anywhere}.spelling-surface [hidden]{display:none!important}.spelling-surface .lab-heading{gap:20px}.spelling-surface .lab-heading h1{margin:8px 0 12px}.spelling-tabs{gap:10px;margin:0 0 28px}.spelling-tabs [aria-pressed=true],.spelling-surface .btn.primary{background:var(--ink);color:var(--card);border-color:var(--ink)}.spelling-surface .btn.primary:hover:not(:disabled),.spelling-tabs [aria-pressed=true]:hover{background:color-mix(in srgb, var(--ink) 90%, var(--card))}.spelling-intro{border:1px solid var(--line);background:var(--card-strong);border-radius:var(--r-lg);justify-content:space-between;align-items:center;gap:32px;margin-bottom:24px;padding:28px;display:flex}.spelling-intro p{max-width:620px;margin-bottom:0}.spelling-intro h2{margin:10px 0;font-size:clamp(1.5rem,3vw,2rem)}.spelling-example{flex-wrap:wrap;justify-content:center;gap:8px;min-width:230px;display:flex}.spelling-example>span,.study-chunks>span{background:var(--card);border:2px solid var(--line);border-radius:12px;max-width:100%;padding:12px 18px;font-size:1.8rem;font-weight:900}.spelling-example small{text-align:center;width:100%;color:var(--muted)}.lesson-stage{margin:28px 0 14px;font-size:1.1rem}.lesson-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.lesson-card{text-align:left;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);color:var(--ink);cursor:pointer;flex-direction:column;align-items:start;gap:12px;padding:22px;display:flex}.lesson-card:hover,.lesson-card:focus-visible{border-color:var(--ring);background:var(--card-strong)}.lesson-card small{color:var(--muted)}.lesson-card strong{font-size:1.15rem}.lesson-card .lesson-pattern{color:var(--brand);font-size:1.45rem;font-weight:900}.lesson-card .lesson-status{margin-top:auto;font-size:.8rem;font-weight:800}.spelling-method{margin-top:32px}.spelling-method summary{cursor:pointer;font-weight:900}.spelling-method p{margin:16px 0 0}.spelling-list-layout{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.spelling-surface label{margin:16px 0 8px;font-weight:800;display:block}.spelling-surface input,.spelling-surface textarea{border:1px solid var(--line);background:var(--card);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:10px;padding:12px}.spelling-surface textarea{resize:vertical}#list-form #list-help{margin-top:12px}#list-form .btn-row{justify-content:flex-start;margin-top:24px}#list-feedback:not(:empty){margin-top:18px}.spelling-small{color:var(--muted);font-size:.85rem;line-height:1.6}.saved-lists{gap:16px;display:grid}.saved-lists .card{overflow-wrap:anywhere;margin:0}.saved-lists h4{margin-bottom:10px;font-size:1.15rem}.saved-lists .card>p{color:var(--muted);line-height:1.6}.saved-list-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.saved-list-actions .btn{width:100%;padding-inline:12px}.saved-list-management{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;padding-top:12px;display:flex}.saved-list-management>.btn,.saved-list-deletion>.btn{color:var(--muted);background:0 0;border-color:#0000;padding:8px 12px;font-size:.85rem}.saved-list-management .btn:hover{background:var(--card-strong);color:var(--ink)}.saved-list-deletion{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.saved-list-deletion>span{flex-basis:100%;font-size:.85rem}.spelling-word-chips{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.spelling-word-chips>span{border:1px solid var(--line);border-radius:8px;padding:5px 12px}.spelling-stats{grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0;display:grid}.spelling-stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:20px}.spelling-stat strong{font-size:2rem;display:block}.spelling-session{max-width:820px;margin:auto}.spelling-session-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.spelling-surface progress{-webkit-appearance:none;appearance:none;border-radius:var(--r-sm);background:var(--line);color:var(--brand);accent-color:var(--brand);border:0;overflow:hidden}.spelling-surface progress::-webkit-progress-bar{background:var(--line);border-radius:var(--r-sm)}.spelling-surface progress::-webkit-progress-value{background:var(--brand);border-radius:var(--r-sm)}.spelling-surface progress::-moz-progress-bar{background:var(--brand);border-radius:var(--r-sm)}.spelling-session progress{width:100%;height:8px;accent-color:var(--brand);margin-bottom:16px}.spelling-audio{flex-wrap:wrap;gap:10px;margin:20px 0 10px;display:flex}.study-word{text-align:center;overflow-wrap:anywhere;margin:24px 0 16px;font-size:clamp(2.5rem,8vw,4rem);font-weight:900}.study-chunks{flex-wrap:wrap;justify-content:center;gap:8px;margin:20px 0;display:flex}#study-next,#answer-next{margin-block-start:2rem}.study-sentence{color:var(--muted);font-style:italic}#study-note{text-align:center}#word-builder{background:var(--card-strong);border:1px solid var(--line);border-radius:var(--r-lg,20px);gap:1.5rem;margin:24px 0;padding:clamp(1.25rem,4vw,2rem);display:grid}.word-builder-heading h3{margin:0 0 .5rem}.word-builder-heading p{color:var(--muted);margin:0}#build-tiles{gap:.75rem;margin:0}#build-tiles button{border-radius:var(--r-sm,12px);min-width:3.5rem;min-height:3.5rem;padding:.65rem 1rem;font-size:1.35rem}#build-tiles button:disabled{opacity:.45}.built-word-area{border:1px dashed var(--line);border-radius:var(--r-sm,12px);background:var(--panel);padding:1.25rem 1.5rem}.built-word-label{color:var(--muted);font-size:.8rem;font-weight:800}#built-word{letter-spacing:.04em;overflow-wrap:anywhere;min-height:1.5em;margin:.35rem 0 0;font-size:clamp(1.8rem,5vw,2.5rem);font-weight:900;line-height:1.5}#built-word:empty:before{content:"…";color:var(--muted)}.word-builder-footer{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;display:flex}#build-feedback{margin:0;block-size:3lh;color:var(--muted);margin-top:.75rem;overflow:auto}#build-clear{flex:none;padding:.65rem 1rem;font-size:.9rem}#word-builder[data-result=correct] .built-word-area{border-style:solid;border-color:var(--brand)}#reader-card{background:var(--card-strong);border-radius:10px;margin:18px 0;padding:12px;font-size:.85rem}#reader-card summary{cursor:pointer}#reader-word{overflow-wrap:anywhere;font-size:1.8rem;font-weight:900}.spelling-answer-row{align-items:stretch;gap:12px;margin:12px 0;display:flex}.spelling-answer-row input{letter-spacing:.06em;font-size:1.7rem}#answer-feedback{overflow-wrap:anywhere;margin:20px 0;font-size:1.15rem;font-weight:800}.spelling-results-words{gap:10px;margin:24px 0;display:grid}.spelling-result-row{border:1px solid var(--line);border-left:4px solid var(--brand);overflow-wrap:anywhere;border-radius:10px;padding:16px}.spelling-result-row p{color:var(--muted);margin:5px 0 0}.spelling-surface .btn-row{flex-wrap:wrap;gap:10px}.spelling-surface .btn{min-height:44px}.spelling-surface button{transition:background-color .15s,color .15s,border-color .15s}#spelling-app button:hover,#spelling-app button:active{transform:none}.spelling-surface .btn:active{box-shadow:none}#review-start{margin-block:18px 4px}.spelling-surface button:disabled{opacity:.55;cursor:default}@media (width<=760px){.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spelling-list-layout{grid-template-columns:1fr}.spelling-example{display:none}}@media (width<=480px){.spelling-intro{padding:20px}.lesson-grid{grid-template-columns:1fr}.spelling-tabs{flex-direction:column;align-items:stretch}.spelling-stats{gap:7px}.spelling-stat{padding:12px;font-size:.8rem}.spelling-stat strong{font-size:1.6rem}.spelling-answer-row{flex-direction:column}.study-chunks>span{max-width:100%;padding:9px 12px;font-size:1.5rem}.spelling-session-head{align-items:start}}.test-reader-options{border:0;min-width:0;margin:28px 0 16px;padding:0}.test-reader-options legend{margin-bottom:12px;font-weight:900}.spelling-surface .test-reader-option{border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;align-items:flex-start;gap:14px;margin:0 0 12px;padding:18px;display:flex}.test-reader-option:has(:checked){border-color:var(--brand);background:var(--card-strong)}.spelling-surface .test-reader-option input{width:20px;height:20px;accent-color:var(--brand);flex:0 0 20px;margin:3px 0 0}.test-reader-option strong,.test-reader-option small{display:block}.test-reader-option small{color:var(--muted);margin-top:6px;font-size:.9rem;line-height:1.5}.spelling-surface .test-setup-actions{justify-content:flex-start;margin:24px 0 16px}#test-setup-summary{color:var(--muted);margin-top:12px}#word-recall{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}#spelling-answer-form label{margin:0 0 12px;font-size:1.15rem}.spelling-answer-row{gap:14px;margin:0 0 16px}.spelling-answer-row input{letter-spacing:.03em;min-height:64px;padding:14px 18px;font-size:1.6rem}#answer-submit{white-space:nowrap;flex:none;padding-inline:24px}#answer-skip,#answer-reveal{color:var(--muted);background:0 0;border-color:#0000;padding:8px 0}#answer-skip:hover,#answer-reveal:hover{color:var(--ink);text-decoration:underline}#reader-card{border:1px solid var(--line);margin:0 0 28px;padding:18px 20px}#reader-card summary{font-weight:800}#reader-word{margin:18px 0 10px}#reader-card p:last-child{color:var(--muted);margin-top:12px;line-height:1.5}.spelling-voice-settings{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin:1.5rem 0 2rem;display:flex}.spelling-voice-settings label{font-weight:800}.spelling-voice-settings p{flex-basis:100%;margin:0}#spelling-voice-status:empty{display:none}.voice-loading-panel{border:1px solid var(--line);background:var(--panel);border-radius:1rem;margin:1.25rem 0;padding:1.25rem}.voice-loading-heading{flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;display:flex}.voice-loading-panel progress{width:100%;height:1rem;accent-color:var(--brand);margin:1rem 0;display:block}.voice-loading-panel p{margin:.75rem 0}.voice-loading-panel ul{overflow-wrap:anywhere;padding-left:1.25rem}.voice-loading-panel .btn{margin-top:.5rem}.voice-details-button{color:var(--muted);text-underline-offset:.2em;font:inherit;cursor:pointer;background:0 0;border:0;padding:.5rem;text-decoration:underline}.voice-details-dialog{box-sizing:border-box;border:1px solid var(--line);background:var(--panel);width:min(38rem,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--ink);border-radius:1.25rem;margin:auto;padding:1.5rem;position:fixed;inset:0;overflow:auto}.voice-details-dialog::backdrop{background:#00000073}.voice-details-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.voice-details-header h2{margin:0}.voice-details-dialog .voice-loading-panel{border:0;margin:1rem 0 0;padding:0}.voice-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#spelling-app button[aria-busy=true]{opacity:1;cursor:wait}.voice-label-word{display:inline-block}button[aria-busy=true] .voice-label-word{animation:1.5s ease-in-out infinite voice-word-pulse}button[aria-busy=true] .voice-label-word:nth-child(2){animation-delay:.18s}button[aria-busy=true] .voice-label-word:nth-child(3){animation-delay:.36s}@keyframes voice-word-pulse{0%,65%,to{opacity:1}30%{opacity:.35}}@media (prefers-reduced-motion:reduce){button[aria-busy=true] .voice-label-word{opacity:.65;animation:none}}#speak-word,#speak-sentence,#test-check-audio{justify-content:center;align-items:center;gap:.25em;display:inline-flex}.voice-setup-dialog h2{margin-top:0}.voice-setup-dialog>p{color:var(--muted)}.voice-option{border:1px solid var(--line);border-radius:var(--r-sm);margin-block:1.25rem;padding:1.25rem}.voice-option h3{margin:0 0 .5rem}.voice-option p{margin:.5rem 0 1rem}.voice-option p:empty{display:none}.voice-setup-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.voice-setup-actions .btn{flex:12rem}#word-builder[data-result=correct] #build-feedback{color:var(--brand)}.voice-preview-actions{flex-wrap:wrap;align-items:center;gap:.75rem;min-height:3.5rem;margin-top:1.25rem;display:flex}.voice-preview-actions .btn{font-size:.95rem}#spelling-voice-status,#spelling-voice-status:empty{block-size:3.2em;display:block;overflow:auto}.test-word-navigation{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.test-word-navigation:has(>[hidden]):not(:has(>:not([hidden]))){display:none}
