/* styles.css */
/* Noto Sans KR is self-hosted: no visitor IP goes to Google Fonts (EU courts). */
@font-face{font-family:'Noto Sans KR';src:url('/fonts/NotoSansKR-Variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--pine:#145442;--pine-dark:#092f29;--accent:#d6f5ba;--paper:#f6f8fa;--surface:#fff;--ink:#25332f;--reading-ink:#25332f;--muted:#586961;--line:#dbe4e0;--soft:#eef4f0;--active:#eaf4eb;--blue:#27588e;--sans:'Noto Sans KR',sans-serif;--reading-scale:1;font:16px var(--sans);color:var(--ink);background:var(--paper);color-scheme:light}
:root[data-theme=paper]{--paper:#f4efe3;--surface:#fff9ec;--ink:#3b3429;--muted:#6d604d;--line:#ded2bb;--soft:#f0e7d5;--active:#e9efd9}
:root[data-theme=dark]{--paper:#101b1a;--surface:#182623;--ink:#e6eeea;--muted:#b2c5bd;--line:#3b5149;--soft:#253a31;--active:#284634;--pine:#b6dfbf;--blue:#a5c8f3;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;padding-bottom:156px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-underline-offset:3px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}[hidden]{display:none!important}button,select,input{min-height:42px}button{touch-action:manipulation}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-80px;background:var(--surface);padding:12px;z-index:100}.skip-link:focus{top:12px}
.site-header{min-height:88px;padding:12px 4%;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;background:var(--surface)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;margin-right:auto}.brand-mark{width:42px;height:46px;background:#145442;color:#d6f5ba;display:grid;place-items:center;font-size:24px;border-radius:12px}.brand strong{display:block;font-size:21px;letter-spacing:-.5px}.brand strong span{font-size:17px;font-weight:500;margin-left:4px}.brand small{display:block;margin-top:4px;font-size:12px;color:var(--muted)}nav{display:flex;gap:8px;align-items:center}.nav-button{border:0;background:transparent;padding:12px 16px;border-radius:8px;color:var(--muted);font-size:14px;font-weight:600;white-space:nowrap}.nav-button.active{background:var(--soft);color:var(--pine)}#saved-count{font-size:12px;background:var(--soft);border-radius:50%;display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:3px}.settings-button{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 12px;white-space:nowrap;font-size:14px}
.workspace{max-width:1536px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 264px;align-items:start}.story-sidebar{padding:32px 18px;position:sticky;top:0;max-height:calc(100dvh - 150px);overflow:auto}.eyebrow{font-size:12px;font-weight:600;letter-spacing:1px;color:var(--pine)}.sidebar-heading h1{font-size:20px;line-height:1.5;letter-spacing:-.8px;margin:10px 0 24px}.list-label{display:flex;justify-content:space-between;margin:20px 8px 10px;font-size:14px;color:var(--muted)}.story-card{display:block;width:100%;text-align:left;background:transparent;border:1px solid transparent;padding:16px 13px;margin:5px 0;border-radius:10px;color:var(--ink)}.story-card.active{background:var(--surface);border-color:var(--pine);box-shadow:0 3px 12px #092f2908}.story-category{font-size:12px;font-weight:500;color:var(--muted);display:flex;justify-content:space-between;gap:10px}.story-card h2{font-size:16px;line-height:1.7;font-weight:600;margin:9px 0 12px}.story-bottom{font-size:12px;display:flex;gap:12px;color:var(--muted)}.story-card:not(.active):hover{background:var(--soft)}.sidebar-note{margin:22px 8px}.sidebar-note p{font-size:13px;line-height:1.8;color:var(--muted)}.sidebar-all{width:100%;margin-top:14px}
.reading-main{padding:28px clamp(24px,3.3vw,52px) 30px;min-width:0;background:var(--surface);border-inline:1px solid var(--line);min-height:75vh}.reader-path{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:24px;font-size:13px;color:var(--muted)}.reader-path button{background:none;border:0;padding:4px 0;font-size:14px;color:var(--pine)}.article-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.category-pill{background:var(--soft);color:var(--pine);padding:5px 10px;border-radius:5px;font-size:13px;font-weight:500}.reader-top h2{font:700 clamp(25px,2.25vw,35px)/1.5 var(--sans);letter-spacing:-1px;margin:18px 0 10px;word-break:keep-all;overflow-wrap:anywhere}.article-title-en{font-size:18px;line-height:1.7;margin:0;color:var(--pine)}.article-summary{font-size:16px;line-height:1.85;color:var(--muted);margin:12px 0}.source-byline{font-size:12px;line-height:1.9;color:var(--muted);margin:12px 0 20px}.reader-settings{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 0 16px}.segmented{display:flex;gap:3px;padding:3px;background:var(--soft);border-radius:8px}.segmented button{padding:8px 12px;border:0;border-radius:6px;color:var(--muted);background:transparent;font-size:14px;font-weight:600}.segmented button.active{background:var(--surface);color:var(--pine);box-shadow:0 1px 4px #122d2918}.translation-toggle,.auto-next-toggle{font-size:14px;display:flex;align-items:center;gap:8px;cursor:pointer}.translation-toggle input,.auto-next-toggle input{accent-color:var(--pine);width:18px;height:18px;min-height:18px;flex-shrink:0}
.listening-settings{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:0 16px}.listening-settings summary{min-height:52px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;font-weight:600}.listening-settings summary:after{content:'＋'}.listening-settings[open] summary:after{content:'−'}#listening-summary{margin-left:auto;font-size:12px;color:var(--muted);font-weight:400}.listening-fields{display:grid;grid-template-columns:1fr 1.5fr;gap:14px;padding-top:8px}.listening-fields label,.library-filters label{font-size:14px;display:grid;gap:8px}.listening-fields select,.library-filters select,.library-filters input{width:100%;min-width:0;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink)}.auto-next-toggle{margin:16px 0}.listening-settings small{display:block;color:var(--muted);font-size:12px;margin-bottom:16px}.reading-tip{font-size:13px;line-height:1.7;color:var(--muted);padding:19px 0 12px}
.sentence{position:relative;border:1px solid transparent;border-left:3px solid transparent;padding:17px 18px 20px;margin:0 -10px 8px;border-radius:8px;scroll-margin-block:30px}.sentence.active{background:var(--active);border-color:var(--line);border-left-color:var(--pine)}.sentence-toggle{position:absolute;inset:0;width:100%;height:100%;background:transparent;border:0;border-radius:7px;z-index:1}.sentence-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;gap:10px}.sentence-number{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.sentence-state{font-size:12px;color:var(--pine)}.sentence .en{font-size:calc(1.375rem * var(--reading-scale));line-height:1.9;margin:0;color:var(--reading-ink);overflow-wrap:anywhere}.sentence .ko{font-size:calc(1.125rem * var(--reading-scale));line-height:1.9;color:var(--reading-ink);opacity:.86;margin:12px 0 0;word-break:keep-all;overflow-wrap:anywhere}.vocab-word{position:relative;z-index:2;font:inherit;line-height:inherit;min-height:0;background:none;border:0;border-bottom:1px solid currentColor;padding:0;color:inherit;cursor:pointer}.vocab-word:hover,.vocab-word.selected{background:var(--soft);border-radius:3px}.reading-korean .ko{font-weight:600}
.vocabulary-panel{padding:35px 22px;min-width:0;position:sticky;top:0}.vocab-heading{display:flex;flex-direction:column;gap:10px}.vocab-counter{font-size:13px;color:var(--muted);line-height:1.7}#word-detail{margin-top:26px}.word-type{font-size:12px;color:var(--muted)}.word-title{font-size:calc(1.65rem * var(--reading-scale));line-height:1.3;color:var(--reading-ink);margin:12px 0;overflow-wrap:anywhere}.word-pronunciation{font-size:14px;color:var(--muted);line-height:1.7}.word-pronounce{border:0;background:transparent;color:var(--pine);font-size:14px;text-decoration:underline;text-underline-offset:3px;padding:6px 2px}.word-meaning{font-size:calc(1rem * var(--reading-scale));line-height:1.8;color:var(--reading-ink);margin:18px 0;font-weight:600}.word-example-label{font-size:12px;letter-spacing:1px;color:var(--muted)}.word-example,.word-example-ko{font-size:calc(1rem * var(--reading-scale));line-height:1.8;margin:10px 0;color:var(--reading-ink);overflow-wrap:anywhere}.word-example-ko{opacity:.86}.save-word{width:100%;padding:12px;background:#145442;border:1px solid #145442;border-radius:8px;color:white;margin-top:18px;font-size:14px}.save-word.saved{background:var(--soft);color:var(--pine);border-color:var(--line)}.saved-hint{font-size:12px;text-align:center;color:var(--muted);margin:10px 0}
.quiz-section,.review-section{border-top:1px solid var(--line);padding-top:30px;margin-top:36px}.quiz-section h3,.review-section h3{font-size:23px;line-height:1.6;margin:8px 0 22px}.quiz-item{margin-bottom:25px}.quiz-question{font-size:calc(1rem * var(--reading-scale));font-weight:500;line-height:1.8;color:var(--reading-ink)}.quiz-options{display:grid;gap:8px}.quiz-option{padding:12px 14px;text-align:start;background:var(--surface);border:1px solid var(--line);border-radius:8px;font-size:calc(1rem * var(--reading-scale));line-height:1.7;color:var(--reading-ink)}.quiz-option.chosen.correct{background:#e8f5e2;border-color:#579052;color:#204c24}.quiz-option.chosen.wrong{background:#fff0eb;border-color:#c48168;color:#83321e}.quiz-feedback{font-size:14px;line-height:1.9;color:var(--pine);margin-top:10px}.review-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-heading h3{margin-bottom:8px}#review-count{font-size:13px;color:var(--muted);white-space:nowrap}.review-intro{font-size:16px;color:var(--muted);line-height:1.8}.review-toolbar{display:flex;justify-content:flex-end;margin:12px 0}.review-toolbar button,.review-actions button{background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:8px 12px;font-size:14px;color:var(--pine)}#review-words{display:grid;grid-template-columns:1fr 1fr;gap:12px}.review-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper);min-width:0}.review-flip{display:flex;flex-direction:column;gap:10px;width:100%;min-height:140px;text-align:left;padding:18px;border:0;background:none}.review-word{font-size:calc(1.15rem * var(--reading-scale));font-weight:600;color:var(--reading-ink);overflow-wrap:anywhere}.review-prompt{font-size:13px;color:var(--muted);line-height:1.7}.review-meaning{font-size:calc(1rem * var(--reading-scale));line-height:1.7;color:var(--reading-ink)}.review-ipa{font-size:14px;color:var(--muted);overflow-wrap:anywhere}.review-actions{display:flex;justify-content:space-between;gap:8px;padding:0 12px 12px;flex-wrap:wrap}.review-actions button{font-size:13px;flex:1;padding:8px}.review-actions button[aria-pressed=true]{background:var(--soft)}
.lesson-navigation{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:32px}.lesson-navigation button{background:var(--soft);border:1px solid var(--line);padding:12px 8px;border-radius:8px;color:var(--pine);font-size:14px;font-weight:600}.lesson-navigation button:last-child{background:#145442;border-color:#145442;color:white}.source-details,.source-catalog{margin-top:32px;border-top:1px solid var(--line);padding-top:18px;font-size:13px;color:var(--muted);line-height:1.9}.source-details summary,.source-catalog summary{cursor:pointer;font-size:14px;min-height:42px}.source-details a{overflow-wrap:anywhere}.source-details p{margin:12px 0}.site-footer{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:48px;padding-top:20px;border-top:1px solid var(--line);line-height:1.8}#load-state{padding:60px 8%;font-size:16px;color:var(--muted)}
.audio-bar{position:fixed;z-index:20;bottom:0;left:0;width:100%;background:#092f29;color:white;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px 24px;padding:10px max(20px,4vw) max(8px,env(safe-area-inset-bottom));box-shadow:0 -4px 20px #00000016}.audio-info{display:flex;align-items:center;gap:12px;min-width:0}.audio-info>div{min-width:0}.sound-bars{display:none}.audio-info strong{display:block;font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audio-info span:not(.sound-bars){display:block;font-size:12px;color:#c1d6cd;margin-top:5px;line-height:1.5}.playback-controls{display:flex;align-items:center;gap:18px}.playback-controls button{background:transparent;border:0;color:white;min-width:48px;min-height:46px;font-size:20px}.playback-controls button span{display:block;font-size:12px;margin-top:2px}.playback-controls .play-button{width:48px;height:48px;border-radius:50%;background:#d6f5ba;color:#092f29;font-size:18px;padding:0}.audio-options{display:flex;gap:16px;justify-content:flex-end;align-items:center}.audio-options select{background:#244c41;color:white;border:1px solid #648276;padding:6px;border-radius:6px;font-size:14px;width:86px}.audio-options button{color:#d7e6df;background:none;border:0;font-size:16px;padding:7px 0;white-space:nowrap}.audio-options button span{font-size:13px}.audio-options button[aria-pressed=true]{color:#d6f5ba;text-decoration:underline}#sentence-position{font-size:13px;color:#c1d6cd;white-space:nowrap}.player-lesson-nav{grid-column:1/-1;display:flex;gap:20px;justify-content:center;border-top:1px solid #446159}.player-lesson-nav button{background:none;border:0;color:#e1eee7;font-size:14px;padding:6px 20px}
.workspace[data-view=library],.workspace[data-view=words]{display:block;max-width:1160px}.workspace:not([data-view=learn]) .story-sidebar,.workspace:not([data-view=learn]) .vocabulary-panel{display:none}.workspace:not([data-view=learn]) .reading-main{border:0;background:transparent;padding:38px 30px}.library-heading{display:flex;gap:24px;align-items:center;justify-content:space-between;margin-bottom:30px}.library-heading h1{font-size:30px;line-height:1.6;margin:10px 0;letter-spacing:-.7px}.library-heading p{font-size:16px;color:var(--muted);line-height:1.8;margin:0}.primary-button,.secondary-button{border:1px solid var(--line);border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;line-height:1.6}.primary-button{background:#145442;border-color:#145442;color:white}.secondary-button{background:var(--surface);color:var(--pine)}.library-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.library-result-line{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted);margin:24px 0 16px}#library-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.library-card{display:flex;flex-direction:column;text-align:left;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:12px;min-height:235px;color:var(--ink)}.library-card:hover{border-color:var(--pine)}.library-card[aria-current=true]{border-color:var(--pine);box-shadow:inset 0 3px var(--pine)}.library-card h2{font-size:20px;line-height:1.6;margin:12px 0;letter-spacing:-.4px}.library-card p{font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 18px}.library-card .story-bottom{margin-top:auto;flex-wrap:wrap;line-height:1.6}.current-badge{font-size:12px;color:var(--pine);background:var(--soft);border-radius:4px;padding:3px 6px}.source-catalog-item{padding:14px 0;border-top:1px solid var(--line)}.source-catalog-item p{margin:4px 0}.source-kind{font-size:12px;margin-left:10px}
#words-view h2{font-size:30px;margin:16px 0}.wordbook-note{font-size:16px;color:var(--muted);line-height:1.8;margin-bottom:28px}.wordbook-card{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-bottom:14px}.wordbook-card header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.wordbook-card h3{margin:0;font-size:calc(1.4rem * var(--reading-scale));color:var(--reading-ink)}.wordbook-card header button{margin-left:auto;font-size:14px;border:1px solid var(--line);border-radius:6px;background:none;padding:8px 12px}.wordbook-card p{font-size:calc(1rem * var(--reading-scale));line-height:1.9;color:var(--reading-ink);overflow-wrap:anywhere}.wordbook-card .ko{opacity:.86}.wordbook-empty{text-align:center;padding:50px 20px;color:var(--muted);line-height:2;font-size:16px}.wordbook-empty button{display:block;margin:20px auto 0;padding:10px 20px;border:0;border-radius:8px;background:#145442;color:white}
dialog{width:min(500px,calc(100% - 28px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);padding:26px;box-shadow:0 20px 90px #0005}dialog::backdrop{background:#071b17a6}body:has(dialog[open]){overflow:hidden}.dialog-header,#word-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.dialog-header h2{font-size:22px;margin:0}.dialog-header button,#close-word-dialog{border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:var(--surface)}.appearance-field{margin:20px 0;padding:0;border:0}.appearance-field label,.appearance-field legend{font-size:15px;font-weight:600;line-height:1.8;margin-bottom:10px}.appearance-field label{display:flex;justify-content:space-between}#reading-size-value{color:var(--pine)}.font-stepper{display:flex;align-items:center;gap:14px}.font-stepper button{border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:var(--surface);white-space:nowrap}.font-stepper input{min-width:0;flex:1;accent-color:var(--pine)}.choice-grid{display:flex;gap:8px;flex-wrap:wrap}.choice-grid button{flex:1;min-width:70px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:10px;font-size:14px}.choice-grid button[aria-pressed=true]{border-color:var(--pine);background:var(--soft);outline:1px solid var(--pine)}.reading-preview{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:18px}.reading-preview p{color:var(--reading-ink);font-size:calc(1.125rem * var(--reading-scale));line-height:1.8;overflow-wrap:anywhere;margin:5px 0}.reading-preview p[lang=ko]{font-size:calc(1rem * var(--reading-scale))}.settings-hint{font-size:13px;color:var(--muted);line-height:1.8}.dialog-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.toast{position:fixed;z-index:60;bottom:155px;left:50%;transform:translate(-50%,12px);background:var(--ink);color:var(--surface);padding:12px 20px;border-radius:9px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;width:max-content;max-width:calc(100% - 30px);line-height:1.7}.toast.show{opacity:1;transform:translate(-50%,0)}
#load-state{max-width:1160px;margin:0 auto;padding:40px 30px 60px;color:var(--pine)}
.loading-heading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;margin-bottom:28px;font-size:1rem;font-weight:600}
.loading-spinner{width:22px;height:22px;flex:none;border:2px solid var(--line);border-top-color:var(--pine);border-radius:50%;animation:loading-spin 1s linear infinite}
.loading-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.loading-card{display:flex;flex-direction:column;align-items:center;gap:16px;min-width:0;padding:36px 24px;border:1px solid var(--line);border-radius:22px;background:var(--surface)}
.loading-card>span{display:block;background:var(--soft);border-radius:8px;animation:loading-breathe 1.8s ease-in-out infinite}
.loading-card:nth-child(2)>span{animation-delay:.15s}.loading-card:nth-child(3)>span{animation-delay:.3s}
.loading-art{width:112px;height:112px;margin-bottom:12px;border-radius:24px!important}
.loading-line{width:70%;height:18px}.loading-line-short{width:48%;height:12px}.loading-pill{width:88px;height:24px;margin-top:6px}
@keyframes loading-spin{to{transform:rotate(360deg)}}
@keyframes loading-breathe{0%,100%{opacity:.45}50%{opacity:1}}
@media(max-width:640px){#load-state{padding:28px 20px 40px}.loading-cards{grid-template-columns:1fr;gap:12px}.loading-heading{margin-bottom:20px}.loading-card{padding:24px;gap:12px}.loading-card:not(:first-child){display:none}.loading-art{width:104px;height:104px}.loading-line{max-width:180px}}
@media(prefers-reduced-motion:reduce){.loading-spinner,.loading-card>span{animation:none}.loading-card>span{opacity:.75}}
@media(min-width:1600px){.reading-main{padding-inline:58px}}
@media(max-width:1150px){.workspace{grid-template-columns:minmax(0,1fr) 220px}.reading-main{padding-inline:25px}.story-sidebar{padding-inline:12px}.vocabulary-panel{padding-inline:16px}.site-header{gap:14px;padding-inline:24px}.nav-button{padding-inline:10px}.audio-info strong{font-size:13px}.audio-options{gap:10px}}
@media(max-width:960px){.workspace{grid-template-columns:minmax(0,1fr)}.vocabulary-panel{display:none}.audio-bar{gap:8px 12px}.audio-options button span{display:none}.brand strong span{font-size:14px}.brand strong{font-size:19px}nav{gap:2px}.settings-button span{display:none}.library-heading{align-items:flex-start}.library-heading h1{font-size:27px}#library-list{grid-template-columns:1fr 1fr}}
@media(max-width:680px){body{padding-bottom:188px}.site-header{padding:12px 16px 0;gap:10px;flex-wrap:wrap}.brand{flex:1}.brand strong span{font-size:15px}.brand small{font-size:12px}.settings-button span{display:inline}.site-header nav{order:3;width:100%;justify-content:stretch;gap:4px;margin-top:7px}.nav-button{flex:1;padding:12px 8px;border-radius:8px 8px 0 0}.workspace{display:block}.story-sidebar{display:none}.reading-main{border:0;padding:20px 20px 28px}.reader-path{margin-bottom:19px;gap:8px}.reader-path span{font-size:12px}.reader-top h2{font-size:27px}.article-title-en{font-size:17px}.reader-settings{gap:12px}.segmented button{padding-inline:10px}.listening-settings{padding-inline:12px}.listening-fields{grid-template-columns:1fr 1.4fr;gap:10px}.sentence{margin-inline:-6px;padding:15px 13px 18px}.sentence .en{font-size:calc(1.25rem * var(--reading-scale))}.sentence .ko{font-size:calc(1.125rem * var(--reading-scale))}.reading-tip{font-size:12px}.review-heading{align-items:flex-start}.review-section h3,.quiz-section h3{font-size:22px}.review-card{border-radius:8px}.review-flip{padding:14px;min-height:146px}.review-actions{padding:0 8px 8px;gap:5px}.review-actions button{font-size:12px;min-width:70px}.lesson-navigation button{font-size:13px;padding-inline:4px}.audio-bar{grid-template-columns:minmax(0,1fr) auto;padding:10px 16px max(8px,env(safe-area-inset-bottom));gap:8px}.audio-info strong{font-size:12px}.audio-info span:not(.sound-bars){font-size:12px}.playback-controls{gap:5px}.playback-controls button{min-width:40px}.playback-controls button span{font-size:11px}.audio-options{grid-column:1/-1;justify-content:center;gap:22px}.audio-options select{min-height:32px;padding:3px 6px;font-size:13px}.audio-options button{min-height:32px;padding:4px}.audio-options button span{display:inline}.player-lesson-nav{gap:0;justify-content:space-between}.player-lesson-nav button{font-size:13px;padding:6px 9px;min-height:36px}.toast{bottom:185px}.workspace:not([data-view=learn]) .reading-main{padding:24px 18px}.library-heading{display:block}.library-heading h1{font-size:25px}.library-heading button{margin-top:16px}.library-filters{grid-template-columns:1fr 1fr;padding:14px;gap:12px}.search-field{grid-column:1/-1}.library-result-line{flex-wrap:wrap}#library-list{grid-template-columns:1fr}.library-card{min-height:0;padding:20px}.library-card h2{font-size:20px}.source-catalog{font-size:13px}.dialog-header h2{font-size:20px}dialog{padding:20px}.source-byline{line-height:1.8}}
@media(max-width:360px){#review-words{grid-template-columns:1fr}.reader-settings{display:block}.translation-toggle{margin-top:14px}.brand strong span{font-size:13px}.settings-button{padding:8px}.settings-button span{font-size:12px}.audio-info strong{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.playback-controls button span{font-size:10px}.player-lesson-nav button{padding-inline:5px}.lesson-navigation{gap:4px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.listening-fields>label{min-width:0}.voice-test-note{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.7}

:root{--reading-ink:#000}
.sentence .ko,.word-example-ko,.wordbook-card .ko{opacity:1}
.reader-settings{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:4px}
.player-lesson-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:min(660px,100%);justify-self:center;padding-top:4px}
.player-lesson-nav button{padding:8px 6px;min-height:44px;border-radius:7px;white-space:nowrap}
.player-lesson-nav button:hover{background:#ffffff12}
.player-lesson-nav #open-settings{background:#ffffff12;border:1px solid #ffffff22}
.settings-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:var(--soft);padding:4px;border-radius:10px;margin-bottom:22px}
.settings-tabs button{border:0;border-radius:7px;background:transparent;font-size:15px;font-weight:600;min-height:46px;color:var(--muted)}
.settings-tabs button[aria-selected=true]{background:var(--surface);color:var(--pine);box-shadow:0 1px 4px #00000012}
#reading-dialog{width:min(540px,calc(100% - 28px))}
#reading-dialog .dialog-header{margin-bottom:18px}
#reading-dialog .dialog-actions{justify-content:flex-end;padding-top:14px;border-top:1px solid var(--line)}
#reading-dialog .dialog-actions button{min-width:104px}
#reading-dialog .listening-fields{grid-template-columns:1fr;gap:16px}
#reading-dialog .listening-fields select{min-height:46px}
#reading-dialog small{font-size:13px;color:var(--muted);line-height:1.7}
#reading-dialog #listening-summary{font-size:14px;margin:0 0 18px;color:var(--muted)}
.reset-reading{margin-top:16px}.settings-hint{margin:18px 0 0}
@media(max-width:680px){#reading-dialog{position:fixed;inset:auto 0 0;width:100%;max-height:88dvh;margin:0;border-radius:20px 20px 0 0;padding:22px 20px max(22px,env(safe-area-inset-bottom))}.player-lesson-nav button{font-size:12px;padding-inline:2px}.player-lesson-nav{gap:2px}.audio-options{gap:18px}.reading-tip{padding-top:14px}}

.voice-test-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 14px}.voice-test-buttons button{min-height:46px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--pine);font-size:14px}.voice-test-buttons button[aria-pressed=true]{border-color:var(--pine);background:var(--active)}.audio-options{flex-wrap:wrap;row-gap:4px}.player-auto-next{flex-basis:100%;justify-content:flex-end;margin:2px 0 0;font-size:13px;min-height:28px;color:#e1eee7;gap:9px}.player-auto-next input{accent-color:#d6f5ba;width:17px;height:17px}.audio-bar:has(.player-auto-next){padding-top:10px}.audio-options #sentence-position{margin-left:auto}@media(max-width:680px){.audio-options{column-gap:18px;justify-content:center}.audio-options #sentence-position{margin-left:0}.player-auto-next{justify-content:center;min-height:30px;margin-top:2px}body{padding-bottom:220px}.toast{bottom:217px}.voice-test-buttons{grid-template-columns:1fr}}

/* Shared mobile and desktop learning controls. */
.site-header{flex-wrap:wrap;gap:12px}.site-header nav{flex-wrap:wrap;gap:4px}.site-language{display:flex;align-items:center;gap:5px}.site-language select{max-width:135px;min-height:44px;padding:7px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--surface)}
.library-card{padding:0;overflow:hidden;position:relative}.library-open{width:100%;border:0;background:none;text-align:left;padding:22px;color:var(--ink)}.save-lesson-button{margin:0 22px 18px;min-height:44px}.text-button{background:none;border:0;color:var(--pine);padding:10px;min-height:44px}.article-save-row{display:flex;align-items:center;gap:12px;margin:12px 0}.article-title-en{font:700 clamp(25px,2.25vw,35px)/1.5 var(--sans);letter-spacing:-1px;overflow-wrap:anywhere}
.collection-heading{display:flex;justify-content:space-between;align-items:start;gap:15px}.collection-heading h1{font-size:30px;margin:8px 0}.collection-heading p,.collection-size{color:var(--muted)}.collection-heading>button{white-space:nowrap}.folder-list{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.folder-chip{border:1px solid var(--line);border-radius:24px;background:var(--surface);padding:10px 15px;min-height:44px;color:var(--ink)}.folder-chip[aria-pressed=true]{background:var(--pine);color:var(--surface);border-color:var(--pine)}.folder-chip span{margin-left:7px}.collection-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}.collection-toolbar>div{flex:1;min-width:130px}.collection-toolbar h2{margin:0 0 5px;font-size:22px}.collection-toolbar span{font-size:13px;color:var(--muted)}.collection-item{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);padding:12px 0}.collection-number{color:var(--muted);font-size:13px;min-width:20px}.collection-open{flex:1;border:0;background:none;text-align:left;color:var(--ink);padding:10px 0}.collection-open strong{display:block;font-size:17px;line-height:1.5}.collection-open span{display:block;font-size:12px;color:var(--muted);margin-top:7px}.collection-empty{text-align:center;padding:50px 10px;color:var(--muted)}.folder-name-field{display:grid;gap:10px}.folder-name-field input{min-height:48px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);padding:10px 12px}.save-folder-list{display:grid;gap:8px;margin:16px 0}.save-folder-list>button{display:flex;justify-content:space-between;gap:12px;min-height:48px;border:1px solid var(--line);border-radius:8px;background:var(--soft);padding:12px;color:var(--ink)}#collection-error,#save-article-error,#new-folder-error{font-size:14px;color:var(--pine);line-height:1.7}.workspace[data-view=collections]{grid-template-columns:244px minmax(0,1fr)}.workspace[data-view=collections] .vocabulary-panel{display:none}
.player-levels{grid-column:1/-1;display:flex;gap:12px;align-items:center;justify-content:center;padding:3px 0 10px;font-size:13px}.player-levels .segmented{background:#214d42}.player-levels .segmented button{color:#d7e9df;min-height:38px}.player-levels .segmented button.active{background:#def0d2;color:#123e35}.next-countdown{grid-column:1/-1;display:flex;gap:10px;align-items:center;background:#e7f5d9;color:#123e35;border-radius:10px;padding:14px 16px;margin:0 0 8px}.next-countdown>div{flex:1;min-width:0}.next-countdown strong{display:block;font-size:16px}.next-countdown span#countdown-title{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:65vw;margin:5px 0}.next-countdown progress{display:block;width:100%;height:5px;accent-color:#28593d}.next-countdown button{border:1px solid #9fb496;background:transparent;color:#123e35;border-radius:7px;padding:9px;min-height:44px;white-space:nowrap}#playing-collection{flex-basis:100%;font-size:12px;color:#c7e4d4;text-align:right}.voice-sample-copy{margin:14px 0 5px;font-size:13px;line-height:1.8;color:var(--muted)}.voice-test-buttons{margin-top:8px}.example-with-play{display:flex;gap:9px;align-items:flex-start}.example-with-play p{flex:1;margin:8px 0;line-height:1.7}.example-play{flex-shrink:0;width:44px;min-height:44px;border:1px solid var(--line);border-radius:50%;background:var(--soft);color:var(--pine)}.example-play[aria-pressed=true]{background:var(--pine);color:var(--surface)}.extra-examples{border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.word-example-label{display:block;margin-top:14px}.word-example-ko{font-size:13px;color:var(--muted);line-height:1.7}
body{padding-bottom:235px}.audio-bar{padding-bottom:max(10px,env(safe-area-inset-bottom))}body:has(#next-countdown:not([hidden])){padding-bottom:330px}
@media(max-width:960px){.workspace[data-view=collections]{grid-template-columns:1fr}.collection-heading{flex-wrap:wrap}.site-header nav{order:3;width:100%;justify-content:space-between}.site-language{margin-left:auto}}
@media(max-width:680px){.site-header{padding:14px 16px 10px}.site-header nav .nav-button{padding:8px 7px;font-size:13px;min-height:44px}.player-levels{gap:8px;padding-bottom:4px}.player-levels>span{display:none}.player-levels .segmented{width:100%;justify-content:center}.player-levels .segmented button{flex:1;font-size:13px}.collection-heading h1{font-size:26px}.collection-toolbar .primary-button,.collection-toolbar .secondary-button{min-height:46px}.next-countdown{flex-wrap:wrap;padding:12px}.next-countdown>div{flex-basis:100%}.next-countdown #countdown-title{max-width:80vw}.next-countdown button{flex:1}.voice-test-buttons{grid-template-columns:1fr 1fr}body{padding-bottom:295px}body:has(#next-countdown:not([hidden])){padding-bottom:440px}.toast{bottom:290px}#playing-collection{text-align:center}.brand small{display:none}}

.language-pair{display:flex;gap:12px;align-items:center;margin-left:auto}.language-pair .site-language{display:grid;gap:4px;font-size:12px}.language-pair select{width:140px;max-width:100%}.language-arrow{color:var(--muted);padding-top:16px}.translation-note{border:1px solid var(--line);background:var(--soft);padding:12px 16px;border-radius:9px;font-size:13px;line-height:1.7}.brand strong{white-space:nowrap}#article-title-en[hidden]{display:none}.voice-filters label[hidden]{display:none}@media(max-width:680px){.language-pair{width:100%;margin:0;display:grid;grid-template-columns:1fr auto 1fr}.language-pair .site-language{margin:0}.language-pair select{width:100%}.brand strong{font-size:20px}.site-header nav{order:4}}

#language-onboarding{width:min(560px,calc(100% - 32px));padding:38px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--ink);max-height:calc(100dvh - 32px);overflow:auto}#language-onboarding::backdrop{background:#15362fde;backdrop-filter:blur(6px)}#language-onboarding .brand-mark{display:flex;margin-bottom:18px}#language-onboarding h1{font-size:clamp(25px,4vw,32px);line-height:1.4;margin:14px 0}#language-onboarding p{color:var(--muted);line-height:1.7}.onboarding-brand{font-weight:700;font-size:14px}.onboarding-languages{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0}.onboarding-languages label{display:grid;gap:10px;font-weight:600}.onboarding-languages select{width:100%;min-height:54px;padding:10px 12px;border:1px solid var(--line);background:var(--soft);color:var(--ink);border-radius:10px}.onboarding-save-note{font-size:13px}#onboarding-submit{width:100%;min-height:54px;margin-top:15px}#onboarding-error{padding:12px;border:1px solid var(--line);border-radius:8px}@media(max-width:480px){#language-onboarding{padding:26px 22px}.onboarding-languages{grid-template-columns:1fr;gap:20px}}

/* Selection and listening share the bottom edge, with one focused bar per view. */
.lesson-group{border:1px solid var(--line);border-radius:14px;background:var(--surface);margin:16px 0;overflow:hidden}
.lesson-group>summary{list-style:none;display:flex;align-items:center;gap:16px;cursor:pointer;padding:22px 24px;min-height:76px}
.lesson-group>summary::-webkit-details-marker{display:none}.lesson-group>summary::after{content:'＋';font-size:23px;color:var(--pine)}.lesson-group[open]>summary::after{content:'−'}
.lesson-group>summary h2{margin:0;flex:1;font-size:20px;line-height:1.6;overflow-wrap:anywhere}.lesson-group>summary>span{font-size:14px;min-width:32px;border-radius:20px;background:var(--soft);color:var(--pine);padding:5px 9px;text-align:center}
.lesson-group[open]>summary{border-bottom:1px solid var(--line)}.lesson-group .lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px;background:var(--paper)}
.selection-time{display:block;margin-top:4px;font-size:14px;color:var(--muted)}.selection-time strong{color:var(--ink);font-weight:600}.library-time-note{grid-column:1/-1;display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;font-size:12px;color:var(--muted);line-height:1.5;margin:0}.library-selection-bar .library-time-note button{min-height:36px;padding:6px 10px;flex-shrink:0;font-size:14px}
.folder-chip{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:130px;max-width:100%;overflow-wrap:anywhere}.folder-chip small{font-size:13px;color:var(--muted);line-height:1.5;font-weight:400}.folder-chip[aria-pressed=true] small{color:inherit}
@media(max-width:960px){.lesson-group .lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.lesson-group>summary{padding:18px 16px;gap:10px}.lesson-group>summary h2{font-size:18px}.lesson-group .lesson-grid{grid-template-columns:1fr;padding:12px;gap:12px}.library-time-note span:last-child{display:none}}
.library-result-line{align-items:center;flex-wrap:wrap;margin:16px 0;font-size:14px}
.library-select-all,.library-select{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font-size:14px;color:var(--pine)}
.library-select-all input,.library-select input{width:22px;height:22px;min-height:22px;flex-shrink:0;accent-color:var(--pine)}
.library-select{align-self:flex-start;margin:12px 20px 0;padding:0 6px}
.library-card.is-selected{border-color:var(--pine);box-shadow:inset 0 0 0 1px var(--pine);background:var(--soft)}
.library-card .library-open{flex:1;min-width:0}
.library-selection-bar{position:fixed;z-index:21;inset:auto 0 0;background:var(--surface);color:var(--ink);border-top:1px solid var(--line);box-shadow:0 -8px 30px #092f2914;padding:16px max(20px,calc((100vw - 1100px)/2)) max(16px,env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(160px,1fr) minmax(200px,1.3fr) auto auto;gap:12px;align-items:end}
.library-selection-summary{display:flex;align-items:center;gap:8px 16px;justify-content:space-between;align-self:center;min-width:0;font-size:16px;flex-wrap:wrap}
#library-selected-status{min-width:0;overflow-wrap:anywhere}
#library-selected-count{font-size:24px;font-variant-numeric:tabular-nums;color:var(--pine)}
#library-hidden-selection{display:block;font-size:13px;color:var(--muted);margin-top:3px}
.library-selection-bar button{min-height:46px;border:1px solid var(--line);border-radius:9px;padding:10px 14px;font-size:14px;background:var(--surface);color:var(--pine);line-height:1.5}
.library-selection-bar #library-clear-selection{border:0;padding:8px;font-size:14px;white-space:nowrap}
.library-selection-bar .primary-button{background:#145442;color:white;border-color:#145442}
.library-folder-field{display:grid;gap:7px;font-size:14px;min-width:0}
.library-folder-field select{width:100%;min-width:0;min-height:46px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);text-overflow:ellipsis}
.library-selection-feedback{grid-column:1/-1;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.library-selection-feedback:has(p[hidden]):has(button[hidden]){display:none}
#library-save-error{margin:0;font-size:14px;line-height:1.6;color:var(--ink)}
body.library-selecting{padding-bottom:calc(var(--library-bar-height,180px) + 28px)}
body.library-selecting .toast{bottom:calc(var(--library-bar-height,180px) + 12px)}
.audio-bar{grid-template-areas:'countdown countdown countdown' 'info controls options' 'levels nav nav';grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px 20px;padding:14px max(20px,4vw) max(14px,env(safe-area-inset-bottom));background:#103e34;border-top:1px solid #315d50}
.next-countdown{grid-area:countdown;margin:0}.audio-info{grid-area:info}.playback-controls{grid-area:controls;gap:10px}.audio-options{grid-area:options;gap:10px;flex-wrap:wrap}
.player-levels{grid-area:levels;justify-content:flex-start;padding:0;gap:10px;font-size:14px}.player-levels .segmented{border-radius:10px;padding:3px}.player-levels .segmented button{min-height:42px;min-width:58px;padding:8px 12px;font-size:14px;border-radius:7px}
.player-lesson-nav{grid-area:nav;border:0;justify-content:flex-end;gap:8px}.player-lesson-nav button{min-height:44px;font-size:14px;padding:8px 14px;border-radius:8px}.player-lesson-nav button:hover,.audio-options button:hover{background:#245347}
.audio-options select{min-height:42px}.audio-options button{min-width:42px;min-height:42px;border-radius:8px}.player-auto-next{flex-basis:auto;margin:0;min-height:42px;gap:8px;font-size:14px;white-space:nowrap}.player-auto-next input{width:18px;height:18px;min-height:18px;accent-color:#d6f5ba}
body:not(.library-selecting),body:has(#audio-bar:not([hidden])){padding-bottom:calc(var(--audio-bar-height,190px) + 24px)}
body:not(.library-selecting) .toast{bottom:calc(var(--audio-bar-height,190px) + 12px)}
@media(max-width:900px){.library-selection-bar{grid-template-columns:minmax(0,1fr) auto auto;padding-inline:20px}.library-selection-summary{grid-column:1/-1}.library-folder-field{grid-column:1}.audio-bar{grid-template-areas:'countdown countdown' 'levels levels' 'controls options' 'nav nav';grid-template-columns:auto minmax(0,1fr);gap:10px;padding-inline:20px}.audio-info{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.player-levels{justify-content:center}.player-levels>span{display:block}.player-levels .segmented{width:auto}.player-lesson-nav{justify-content:center;border-top:1px solid #3b6458;padding-top:6px}.audio-options{justify-content:flex-end}.playback-controls{justify-content:center}.audio-options button span{display:none}}
@media(max-width:560px){.library-selection-bar{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px 16px max(12px,env(safe-area-inset-bottom))}.library-selection-summary{gap:12px}.library-folder-field{grid-column:1;gap:4px}.library-selection-bar #library-new-folder{grid-column:2}.library-selection-bar #library-save-selected{grid-column:1/-1;min-height:48px}.library-selection-bar button{padding-inline:12px}.audio-bar{padding:10px 12px max(10px,env(safe-area-inset-bottom));gap:8px 10px}.player-levels{gap:12px}.player-levels .segmented button{min-width:64px;padding-inline:10px}.playback-controls{gap:2px}.playback-controls button{min-width:42px;min-height:44px}.playback-controls .play-button{width:48px;height:48px}.audio-options{display:grid;grid-template-columns:auto auto;gap:2px 8px;justify-content:center}.audio-options select{width:72px}.audio-options #sentence-position{display:none}.audio-options .player-auto-next{grid-column:1/-1;justify-content:center;min-height:32px}.audio-options #playing-collection{grid-column:1/-1}.player-lesson-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.player-lesson-nav button{padding:8px 2px;font-size:14px;line-height:1.5;white-space:normal}.next-countdown{padding:12px}.next-countdown>div{flex-basis:100%}}

.connection-location{font-size:12px;line-height:1.6;color:var(--muted)}#site-location{flex-basis:100%;margin:0;text-align:right}.unavailable-course{max-width:720px;margin:60px auto;padding:36px 28px;background:var(--surface);border:1px solid var(--line);border-radius:20px}.unavailable-course h1{font-size:38px}.unavailable-course p{line-height:1.7;color:var(--muted)}#available-learning-languages{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}#onboarding-availability{font-size:13px;background:var(--soft);border-radius:9px;padding:12px}.onboarding-languages select{font-family:var(--sans)}@media(max-width:680px){.brand strong{font-size:18px}#site-location{order:5;text-align:left}.unavailable-course{margin:20px 16px;padding:25px 20px}}

.audio-bar:not(:has(#next-countdown:not([hidden]))){grid-template-areas:'info controls options' 'levels nav nav'}
.audio-options #sentence-position{margin-left:0}
.player-levels .segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;max-width:100%}
.player-levels .segmented button{min-width:0;white-space:normal;overflow-wrap:anywhere}
@media(max-width:900px){.audio-bar:not(:has(#next-countdown:not([hidden]))){grid-template-areas:'levels levels' 'controls options' 'nav nav'}.player-levels{flex-wrap:wrap}.player-levels .segmented{flex:1;max-width:460px}.player-levels .segmented button{min-width:0}.player-levels>span{flex-shrink:0}}
@media(max-width:560px){.playback-controls button span{font-size:12px}.player-lesson-nav button{overflow-wrap:anywhere}.library-selection-bar{max-height:80dvh;overflow-y:auto}.audio-bar{max-height:80dvh;overflow-y:auto}}

.settings-tabs{flex-wrap:wrap}.settings-tabs button{flex:1;min-width:90px}.feedback-field{display:grid;gap:8px;margin:16px 0;font-size:14px}.feedback-field textarea,.feedback-field input{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}.feedback-field textarea{resize:vertical;min-height:120px}.feedback-email-toggle{display:flex;align-items:center;gap:10px;font-size:14px;min-height:44px}.feedback-email-toggle input{width:20px;height:20px;min-height:20px;accent-color:var(--pine)}.feedback-note,.feedback-date{font-size:13px;color:var(--muted);line-height:1.7}.feedback-history-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px}.feedback-history-heading h3{font-size:17px}.feedback-ticket{padding:16px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.7}.feedback-ticket p{white-space:pre-wrap;overflow-wrap:anywhere}.feedback-reply{background:var(--soft);padding:12px 16px;border-radius:10px}.feedback-reply p{margin-bottom:0}#feedback-result{font-size:14px;line-height:1.7}#admin-link{display:inline-block;text-decoration:none;margin:18px 0}
@media(max-width:360px){.audio-bar,.audio-bar:not(:has(#next-countdown:not([hidden]))){grid-template-areas:'countdown' 'levels' 'controls' 'options' 'nav';grid-template-columns:minmax(0,1fr)}.audio-bar:not(:has(#next-countdown:not([hidden]))){grid-template-areas:'levels' 'controls' 'options' 'nav'}.audio-options{display:flex;flex-wrap:wrap;justify-content:center}.audio-options .player-auto-next{min-height:42px}.playback-controls{justify-content:center}}

/* Registration counts stay visible when groups are folded. */
.registration-toolbar,.word-filter-results,.wordbook-scope{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.registration-toolbar{margin:18px 0;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.registration-toolbar label{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:650;min-height:36px;cursor:pointer}.registration-toolbar input[type=checkbox]{width:18px;height:18px;accent-color:var(--pine)}
.registration-toolbar p{margin:0;font-size:13px;color:var(--muted)}.registration-toolbar button{margin-left:auto}
.lesson-counts{display:flex;align-items:center;gap:8px;font-size:14px;white-space:nowrap}.lesson-total,.lesson-today{padding:5px 10px;border-radius:7px;background:var(--soft);color:var(--pine);font-weight:500}.lesson-today{border:1px solid var(--line)}.lesson-counts strong{font-weight:750}
.word-filter-results{justify-content:space-between;padding:0 20px 14px;font-size:14px}.registration-empty{grid-column:1/-1;margin:8px;color:var(--muted);font-size:15px}.wordbook-scope{justify-content:space-between;background:var(--soft);border:1px solid var(--line);padding:10px 16px;border-radius:10px;margin:18px 0}
.settings-tabs{grid-template-columns:repeat(4,minmax(0,1fr));flex-wrap:wrap}.settings-tabs button{min-width:0;white-space:normal}.developer-card{padding:20px 0 28px}.developer-card h3{font-size:20px}.developer-card p{margin:12px 0 24px}.developer-card .site-admin-link{display:inline-flex;align-items:center;font-size:15px;min-height:44px}.developer-card .site-admin-link[hidden]{display:none}
@media(max-width:580px){.lesson-group>summary{flex-wrap:wrap}.lesson-group>summary h2{flex-basis:calc(100% - 40px);font-size:18px}.lesson-counts{order:2;flex-basis:100%;font-size:14px}.lesson-group>summary::after{margin-left:auto}.registration-toolbar p{flex-basis:100%}.registration-toolbar button{margin-left:0}.word-filter-results{padding:0 12px 14px}.settings-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}

.game-link{text-decoration:none;display:inline-flex;align-items:center}.appearance-field>input[type=range]{width:100%;accent-color:var(--pine);min-height:36px}.font-scope-note{font-size:calc(13px * var(--system-scale,1));color:var(--muted);margin:8px 0}
.library-selection-bar{grid-template-columns:minmax(180px,.8fr) minmax(200px,1.2fr) auto auto auto}.library-selection-bar #library-start-selected{background:var(--surface);color:var(--pine);border-color:var(--pine)}
@media(max-width:1000px){.library-selection-bar{grid-template-columns:minmax(0,1fr) auto auto auto}.library-selection-summary{grid-column:1/-1}}
@media(max-width:640px){.library-selection-bar{grid-template-columns:minmax(0,1fr) auto}.library-selection-bar #library-start-selected{grid-column:1}.library-selection-bar #library-save-selected{grid-column:2}.library-selection-bar #library-start-selected,.library-selection-bar #library-save-selected{min-width:0}}
@media(max-width:390px){.library-selection-bar #library-start-selected,.library-selection-bar #library-save-selected{grid-column:1/-1}}
#wordbook .wordbook-card h3,#wordbook .word-title-play,.library-word-play,.word-title,.review-word{font-size:calc(22px * var(--word-scale,1));line-height:1.6;overflow-wrap:anywhere}
#wordbook .wordbook-card p,.library-word-card p,.word-meaning,.word-example,.word-example-ko,.extra-examples p,.review-meaning{font-size:calc(16px * var(--word-scale,1));line-height:1.85;overflow-wrap:anywhere}
#wordbook .word-pronunciation,.word-ipa,.word-pronunciation [data-ipa],.review-ipa{font-size:calc(15px * var(--word-scale,1));line-height:1.7;overflow-wrap:anywhere}
.wordbook-card header{flex-wrap:wrap;gap:10px}.wordbook-card header h3{min-width:0}.example-with-play p{min-width:0}.article-title-en,#article-title{font-size:calc(clamp(25px,2.25vw,35px) * var(--reading-scale));line-height:1.5;overflow-wrap:anywhere}
:is(.site-header,.story-sidebar,.reader-path,.reader-settings,.library-heading,.library-filters,.library-result-line,.registration-toolbar,.word-library-filters,.library-selection-bar,.collection-heading,.collection-toolbar,.folder-list,.audio-bar,.wordbook-study-bar,.lesson-navigation,.wordbook-view-options,dialog,.site-footer) :is(button,a,label,input,select,textarea,summary,legend){font-size:calc(14px * var(--system-scale,1));line-height:1.6}
.settings-tabs button,.settings-hint,.settings-summary,.device-speech-note,.library-time-note,.library-selected-status,.lesson-counts,.story-bottom,.reading-tip{font-size:calc(14px * var(--system-scale,1));line-height:1.65}
.lesson-group>summary h2,.library-card h2,.dialog-header h2,.collection-toolbar h2{font-size:calc(20px * var(--system-scale,1));line-height:1.6}.library-card p,.library-count,.folder-list button,.registration-empty{font-size:calc(15px * var(--system-scale,1))}.site-header nav{min-width:0}.nav-button{white-space:normal}.settings-tabs button{overflow-wrap:anywhere}dialog{max-height:90dvh;overflow:auto}.dialog-header{position:sticky;top:-20px;z-index:2;background:var(--surface);padding-block:8px}.audio-bar .player-lesson-nav{flex-wrap:wrap}.library-save-controls{flex-wrap:wrap}.library-selection-bar button{white-space:normal}.appearance-field label{flex-wrap:wrap;gap:8px}
:root[data-large-ui=true] .library-filters,:root[data-large-ui=true] .word-library-filters{grid-template-columns:repeat(2,minmax(0,1fr))}:root[data-large-ui=true] .lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}:root[data-large-ui=true] .audio-bar{display:flex;flex-wrap:wrap}:root[data-large-ui=true] .site-header nav{flex-basis:100%}:root[data-large-ui=true] .library-selection-bar{max-height:60dvh;overflow:auto}:root[data-large-ui=true] .settings-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:680px){:root[data-large-ui=true] .library-filters,:root[data-large-ui=true] .word-library-filters,:root[data-large-ui=true] .lesson-grid{grid-template-columns:1fr}.reading-main{min-width:0}.wordbook-player-info{min-width:0}.wordbook-study-bar{flex-wrap:wrap}.library-save-controls{gap:8px}.lesson-group>summary{gap:8px}}

/* PineLingo: pine-green navigation, clear selection groups, quiet reading. */
.site-header{padding:16px max(24px,3vw);gap:20px;flex-wrap:wrap;box-shadow:0 2px 12px #0c352508}.brand{flex-shrink:0}.brand-mark{width:44px;height:44px;border-radius:13px;background:#123e35}.brand strong{font-size:26px;letter-spacing:-1px}.brand small{font-size:12px;letter-spacing:.4px}.site-header nav{gap:3px;flex:1;justify-content:center}.nav-button{padding:12px 13px;border-radius:12px;text-decoration:none}.nav-button.active{background:var(--pine);color:var(--surface);box-shadow:0 3px 0 #0c3627}.nav-button:not(.active):hover{background:var(--soft)}.language-pair{gap:8px}.site-language{position:relative;display:grid;grid-template-columns:minmax(90px,1fr) 34px;gap:4px}.site-language>span{grid-column:1/-1}.site-language select{width:100%;max-width:155px;border-radius:10px}.language-search-trigger{min-width:34px;min-height:40px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--pine);font-size:24px;line-height:1}.onboarding-languages label{position:relative}.onboarding-languages .language-search-trigger{position:absolute;right:4px;top:0;min-height:30px;height:30px;font-size:22px}.language-search-dialog{width:min(620px,calc(100% - 28px))}.language-search-dialog input{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}#language-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:48dvh;overflow:auto;padding:4px}.language-result{display:grid;gap:7px;align-content:center;text-align:start;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:14px;min-height:76px}.language-result:hover{border-color:var(--pine);background:var(--soft)}.language-result strong{font-size:18px;overflow-wrap:anywhere}.language-result span{font-size:13px;color:var(--muted)}.library-heading h1{letter-spacing:-1px}.library-heading{margin-bottom:26px}.registration-toolbar{border-radius:16px;background:var(--surface);padding:14px 18px}.lesson-group{border-radius:18px;box-shadow:0 3px 0 #163b2910;margin-bottom:18px;overflow:hidden}.lesson-group>summary{padding:20px 22px;gap:15px;min-height:88px}.lesson-group[open]>summary{border-bottom:1px solid var(--line);background:var(--soft)}.lesson-group>summary h2{margin:0;flex:1;font-size:21px}.group-checkbox{width:23px;height:23px;min-height:23px;flex-shrink:0;accent-color:var(--pine);cursor:pointer}.group-selection-tools{display:flex;align-items:center;gap:18px;justify-content:space-between;flex-wrap:wrap;padding:10px 22px;border-bottom:1px solid var(--line);font-size:14px}.group-selection-tools .library-select-all{margin:0}.lesson-grid{padding:18px;gap:16px}.library-card{border-radius:14px;transition:border-color .15s,box-shadow .15s}.library-card:hover{border-color:var(--pine);box-shadow:0 4px 14px #103b2510}.library-card.is-selected{outline:2px solid var(--pine);outline-offset:-2px;background:var(--soft)}.library-card .library-select{padding:12px 16px 0}.word-lessons-grid{padding:18px;gap:14px}.library-word-card{border-radius:14px}.library-word-card .library-select{margin-bottom:10px}.reader-top{padding-bottom:22px}.reader-settings{display:flex;flex-wrap:wrap;gap:18px}.sentence{border-radius:14px;border:1px solid var(--line);margin-bottom:14px;transition:border-color .2s}.sentence.active{border-color:var(--pine);box-shadow:inset 4px 0 0 var(--pine)}.sentence-ipa{position:relative;z-index:1;pointer-events:none;font-family:'Noto Sans',Arial,sans-serif;font-size:calc(1rem * var(--reading-scale));line-height:1.8;color:var(--muted);overflow-wrap:anywhere;margin:8px 0 14px;letter-spacing:.15px}.library-selection-bar,.wordbook-study-bar,.audio-bar{box-shadow:0 -8px 30px #092f290c;border-top:1px solid var(--line)}.primary-button{border-radius:11px}.site-admin-link{position:fixed;right:16px;bottom:max(5px,env(safe-area-inset-bottom));z-index:45;font-size:12px;line-height:1.5;color:var(--muted);text-decoration:none;padding:2px 6px;border-radius:4px;background:var(--surface)}.site-admin-link:hover,.site-admin-link:focus-visible{color:var(--pine);text-decoration:underline}body:has(#site-admin-link:not([hidden])) .audio-bar,body:has(#site-admin-link:not([hidden])) .library-selection-bar,body:has(#site-admin-link:not([hidden])) .wordbook-study-bar{padding-bottom:28px}.developer-card{padding:10px 0}.developer-card h3{font-size:28px;letter-spacing:-1px}.developer-card>p{margin:12px 0}.translation-help{margin-top:26px;font-size:14px;line-height:1.8}.source-byline{font-size:13px;margin-top:35px}.site-footer{padding-block:32px}.library-language-coverage{font-size:14px}
@media(min-width:1300px){.site-header .language-pair{margin-left:auto}.site-header .brand{margin-right:0}}
@media(max-width:1299px){.site-header nav{order:3;flex-basis:100%;justify-content:flex-start;border-top:1px solid var(--line);padding-top:10px}.site-header .language-pair{margin-left:auto}.site-header{padding-bottom:10px}.workspace{max-width:1240px}}
@media(max-width:650px){.site-header{padding:13px 16px 8px;gap:13px}.brand strong{font-size:25px}.brand small{font-size:11px}.site-header .language-pair{width:100%;margin:0}.site-language{flex:1;grid-template-columns:minmax(0,1fr) 34px}.site-language select{max-width:none}.site-header nav{gap:4px;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;scrollbar-width:thin}.nav-button{white-space:nowrap!important;flex-shrink:0;padding:11px 12px;font-size:14px}.lesson-group>summary{padding:17px 15px;gap:12px}.lesson-group>summary h2{flex-basis:calc(100% - 82px);font-size:19px}.lesson-counts{padding-left:35px}.group-selection-tools{padding:9px 15px}.lesson-grid,.word-lessons-grid{padding:12px}.library-filters{gap:10px}.registration-toolbar{gap:6px;padding:13px 15px}.language-result{padding:12px}.language-result strong{font-size:16px}.language-result span{font-size:12px}.reader-settings{gap:12px}.library-heading{align-items:flex-start}.library-heading .primary-button{font-size:14px}.site-admin-link{right:10px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.library-card,.sentence{transition:none}}

.countdown-track{height:4px;background:#173f3820;border-radius:6px;overflow:hidden;margin-top:9px}.countdown-track span{display:block;height:100%;width:100%;transform-origin:left center;background:#245e49;will-change:transform}

/* Full-width working surfaces; only the reader uses three columns. */
.workspace:not([data-view=learn]){display:block;max-width:1200px;width:100%;min-width:0}
.workspace:not([data-view=learn]) .reading-main{width:100%;min-width:0;padding:36px 28px 54px}
#profile-view,#library-view,#collections-view,#words-view{min-width:0;width:100%}
.profile-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
.profile-heading h1{font-size:32px;margin:8px 0;letter-spacing:-1px}.profile-account{color:var(--muted);overflow-wrap:anywhere;margin:8px 0}
.profile-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 26px}
.profile-metric{min-width:0;border:1px solid var(--line);border-radius:18px;padding:22px 24px;background:var(--surface);display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.profile-metric>div{font-size:16px;font-weight:650;line-height:1.5;word-break:keep-all}.profile-metric>strong{font-size:36px;line-height:1.25;color:var(--pine);white-space:nowrap;letter-spacing:-1px}.profile-metric>span{font-size:13px;color:var(--muted);line-height:1.65;word-break:keep-all}
.profile-metric:first-child{background:var(--pine);color:var(--surface);border-color:var(--pine)}.profile-metric:first-child>strong,.profile-metric:first-child>span{color:var(--surface)}
.profile-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}.profile-panel{min-width:0;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.profile-panel h2{font-size:20px;margin:0 0 22px;letter-spacing:-.5px}.profile-note{font-size:14px;color:var(--muted);line-height:1.75}.profile-progress-row{display:grid;grid-template-columns:minmax(66px,auto) minmax(50px,1fr) 45px;gap:14px;align-items:center;margin:18px 0;font-size:15px}.profile-progress-track{height:9px;background:var(--soft);border-radius:10px;overflow:hidden}.profile-progress-track>span{display:block;height:100%;background:var(--pine);border-radius:10px}.profile-progress-row strong{text-align:right;font-size:14px}.profile-recent-item{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 0;border-top:1px solid var(--line)}.profile-recent-item:first-child{border-top:0;padding-top:0}.profile-recent-item>div{min-width:0}.profile-recent-item strong{line-height:1.7;overflow-wrap:anywhere}.profile-recent-item p{font-size:13px;color:var(--muted);margin:5px 0 0}.profile-recent-item button{flex-shrink:0}.profile-method{margin-top:22px}
.library-heading{margin-bottom:24px}.library-heading p{margin-bottom:0}.library-control-panel{border:1px solid var(--line);border-radius:18px;background:var(--surface);margin-bottom:18px;overflow:hidden}.library-control-panel .library-filters{border:0;border-radius:0;padding:18px 20px;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));margin:0}.library-control-panel .registration-toolbar{margin:0;border:0;border-top:1px solid var(--line);border-radius:0;padding:10px 20px;background:var(--soft);justify-content:space-between}.registration-toolbar label{font-size:14px}.registration-toolbar p{font-size:12px}.library-result-line{margin:16px 0;font-size:14px}.lesson-group{box-shadow:none;margin-bottom:14px}.lesson-group>summary{min-height:102px;display:flex;flex-wrap:nowrap;gap:16px;padding:20px}.group-title{flex:1;min-width:0}.group-title h2{font-size:21px;margin:0!important;line-height:1.5;letter-spacing:-.6px}.group-title p{font-size:14px;color:var(--muted);margin:4px 0 0;line-height:1.6}.group-icon{flex:0 0 50px;height:50px;border-radius:14px;display:grid;place-items:center;background:var(--soft);color:var(--pine);font-size:29px;font-weight:750}.group-icon-chat{background:#fff0d5;color:#895a12;font-size:45px}.group-icon-words{background:#e9edff;color:#4e5f92;font-size:22px}.lesson-counts{margin-left:auto}.lesson-total{background:transparent;color:var(--muted);font-size:13px}.lesson-today{font-size:13px;border:0;font-weight:650}.lesson-group[open]>summary{background:var(--surface)}.group-checkbox{width:20px;height:20px;min-height:20px}.library-language-coverage,#library-language-coverage{font-size:13px;margin-top:26px}.group-selection-tools{background:var(--soft)}
@media(min-width:1400px){.profile-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.workspace:not([data-view=learn]) .reading-main{padding:26px 18px 44px}.profile-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-metric{padding:20px 17px}.profile-metric>strong{font-size:31px}.profile-insights{grid-template-columns:1fr;gap:14px}.profile-panel{padding:20px}.profile-heading h1{font-size:28px}.library-control-panel .library-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}.library-filters .search-field{grid-column:1/-1}.lesson-group>summary{flex-wrap:wrap;gap:12px;padding:16px}.group-icon{flex-basis:42px;height:42px;border-radius:12px;font-size:24px}.group-title{flex-basis:calc(100% - 126px)}.group-title h2{font-size:18px}.group-title p{font-size:12px}.lesson-counts{order:2;flex-basis:auto;margin-left:74px;padding:0;font-size:12px;gap:6px}.lesson-group>summary::after{order:1}.library-heading{gap:12px}.library-heading h1{font-size:27px}.library-heading p{font-size:14px}.library-heading .primary-button{max-width:125px}.profile-recent-item{flex-wrap:wrap}.profile-recent-item button{min-height:40px}.library-control-panel .registration-toolbar{padding:10px 16px;gap:2px}.registration-toolbar p{flex-basis:auto}}
@media(max-width:380px){.profile-metrics{grid-template-columns:1fr}.profile-metric{padding:20px}.profile-heading{gap:12px}.profile-heading button{font-size:13px}.group-title p{display:none}}

.registration-toolbar button{margin-left:0;font-size:13px;min-height:36px;border-radius:9px;padding:8px 12px}.registration-toolbar button[aria-pressed=true]{background:var(--pine);color:var(--surface)}.registration-toolbar>p{margin-left:auto}#registration-custom{display:flex;align-items:end;gap:14px;flex-wrap:wrap;padding:16px 20px;border-top:1px solid var(--line)}#registration-custom label{display:grid;gap:7px;font-size:13px;color:var(--muted)}#registration-custom input{width:180px;max-width:100%;font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);min-height:44px}#registration-custom>span{padding-bottom:12px}#registration-error{flex-basis:100%;font-size:13px;color:#9a3f25;margin:0}#registration-custom input[aria-invalid=true]{border-color:#b94d30}
@media(max-width:500px){#registration-custom{padding:14px;gap:8px}#registration-custom label{flex:1;min-width:0}#registration-custom input{width:100%;min-width:0}.registration-toolbar>p{width:100%;margin-left:0}}

.pronunciation-style{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--muted);margin:12px 0}.pronunciation-style select{font:inherit;color:var(--ink);padding:7px 10px;min-height:36px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.source-details .source-byline{margin:16px 0}.source-details .service-credit{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.pronunciation-credit{font-size:12px}

.translation-common-catalog{max-width:1100px;margin:20px auto;padding:20px;border:1px solid #d7e4df;border-radius:16px;background:#fff;color:#173e34}.translation-common-catalog summary{cursor:pointer;font-weight:700}.translation-catalog-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #e6eeea}.translation-catalog-row span{min-width:0}.translation-catalog-row button{flex-shrink:0}@media(max-width:600px){.translation-common-catalog{margin:12px}.translation-catalog-row{align-items:flex-start;flex-direction:column}}

.developer-card .development-info{margin:22px 0;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--soft);color:var(--ink)}.development-info strong{display:block;font-size:22px;line-height:1.5;font-variant-numeric:tabular-nums}.developer-card .development-info p{display:flex;flex-wrap:wrap;gap:6px 12px;margin:8px 0 2px;font-size:14px;line-height:1.6}.development-info small{font-size:12px;color:var(--muted)}

#library-selection-breakdown{margin:0 0 7px;display:grid;gap:3px;font-size:14px}#library-selection-breakdown>div{display:flex;gap:16px;justify-content:space-between;align-items:baseline}#library-selection-breakdown dt{font-weight:650}#library-selection-breakdown dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}.library-selection-total{border-top:1px solid var(--line);padding-top:7px;font-size:14px}#library-selection-basis{display:block;font-size:12px;color:var(--muted)}.library-selection-summary{align-items:flex-start}#library-selected-status{flex:1}@media(max-width:560px){#library-selection-breakdown>div{gap:8px}.library-selection-summary{width:100%}.library-selection-total #library-selected-count{font-size:20px}}

.registration-presets{display:flex;gap:4px;flex-wrap:wrap}.registration-presets button{min-height:44px}.lesson-week{font-size:13px;font-weight:650;color:var(--muted)}

.library-order-preview{display:block;margin:4px 0;color:var(--pine);font-weight:650;line-height:1.5}
.library-order-line{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px}.library-order-line:has([hidden]):not(:has(:not([hidden]))){display:none}
.library-order-line #library-order-edit{min-height:44px;padding:4px 6px;border:0;background:transparent;color:var(--pine);font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}
.library-learning-order{grid-column:1/-1;margin:0;padding:10px 0;border:0;min-width:0}
.library-learning-order legend{font-size:14px;font-weight:700}
.library-learning-order>div{display:flex;gap:8px;flex-wrap:wrap}
.library-learning-order label{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font-size:14px;cursor:pointer}
.library-learning-order label:has(input:checked){background:var(--soft);border-color:var(--pine);color:var(--pine);font-weight:700}
.library-learning-order input{accent-color:var(--pine);width:18px;height:18px;margin:0}
.library-learning-order p{margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}
.mixed-learning-status{margin:0 0 24px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:var(--soft);color:var(--ink)}
.mixed-learning-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mixed-learning-heading h2{margin:0;font-size:16px;line-height:1.5}
.mixed-learning-heading>button{min-height:44px;padding:6px 10px;background:transparent;border:0;color:var(--pine);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}
#mixed-learning-steps{display:flex;gap:10px;margin:10px 0;padding:0;list-style:none}
#mixed-learning-steps li{flex:1;min-width:0}
#mixed-learning-steps button{display:flex;gap:10px;align-items:center;width:100%;min-height:64px;padding:10px 12px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);font:inherit;cursor:pointer}
#mixed-learning-steps button[aria-current=step]{border-color:var(--pine);color:var(--pine);box-shadow:inset 0 0 0 1px var(--pine)}
.learning-step-number{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--soft);font-size:13px;font-weight:750}
#mixed-learning-steps button[aria-current=step] .learning-step-number{background:var(--pine);color:var(--surface)}
#mixed-learning-steps strong,#mixed-learning-steps small{display:block;line-height:1.5}
#mixed-learning-steps strong{font-size:15px}#mixed-learning-steps small{font-size:12px;font-variant-numeric:tabular-nums}
#mixed-learning-hint{margin:0;font-size:13px;line-height:1.6;color:var(--muted)}
@media(max-width:560px){.mixed-learning-status{padding:12px;margin-bottom:18px}.mixed-learning-heading{gap:6px}.mixed-learning-heading h2{font-size:14px}#mixed-learning-steps{gap:6px}#mixed-learning-steps button{padding:8px;gap:6px}#mixed-learning-steps strong{font-size:14px}.learning-step-number{width:23px;height:23px}.library-order-preview{font-size:12px}.library-learning-order>div{display:grid;grid-template-columns:1fr 1fr}.library-learning-order label{padding:8px;font-size:13px}}

/* Keep optional folder/settings controls available without filling the mobile bar. */
.library-selection-options,.library-selection-options-body{display:contents}
.library-selection-options>summary{display:none}
.library-selection-bar>.library-selection-feedback{order:6}
.library-selection-options .library-time-note{order:5}
@media(max-width:560px){
  .library-selection-bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:6px;padding:8px 8px max(8px,env(safe-area-inset-bottom));max-height:none;overflow:visible;align-items:center}
  .library-selection-bar .library-selection-summary{grid-column:1/-1;grid-row:1;gap:8px;align-items:flex-start}
  .library-selection-bar #library-selection-breakdown{gap:0;margin:0 0 3px;font-size:13px;line-height:1.35}
  .library-selection-bar .library-selection-total{padding-top:3px;font-size:13px;line-height:1.4}
  .library-selection-bar #library-selected-count{font-size:17px}
  .library-selection-bar #library-selection-basis,.library-selection-bar #library-hidden-selection{font-size:11px;line-height:1.35;margin:0}
  .library-selection-bar #library-clear-selection{min-height:44px;padding:2px 4px;font-size:12px}
  .library-selection-bar #library-start-selected{grid-column:1;grid-row:2}
  .library-selection-bar #library-save-selected{grid-column:2;grid-row:2}
  .library-selection-bar #library-start-selected,.library-selection-bar #library-save-selected{min-height:44px;padding:6px;font-size:12px;line-height:1.3}
  .library-selection-options{display:block;grid-column:3;grid-row:2;min-width:0}
  .library-selection-options>summary{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--pine);font-size:20px;cursor:pointer;list-style:none}
  .library-selection-options>summary::-webkit-details-marker{display:none}
  .library-selection-options-body{position:absolute;bottom:calc(100% + 8px);right:8px;left:8px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;max-height:45dvh;overflow:auto;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 -4px 18px #092f291c}
  .library-selection-options .library-folder-field{grid-column:1;min-width:0}
  .library-selection-options #library-new-folder{grid-column:2;align-self:end}
  .library-selection-options .library-time-note{grid-column:1/-1;order:0}
  .library-selection-bar>.library-selection-feedback{grid-column:1/-1;grid-row:3;gap:6px;flex-wrap:nowrap;min-width:0;order:0;font-size:11px;line-height:1.4}
  .library-selection-feedback #library-save-error{margin:0;min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .library-selection-feedback #library-reload-folders{min-height:44px;padding:2px 5px;font-size:11px;flex-shrink:0}
}
.bible-review-empty{padding:16px 18px;background:var(--soft);border:1px solid var(--line);border-radius:12px;line-height:1.7}
#sentences .sentence.audio-unavailable .sentence-state{font-size:11px;color:var(--muted);font-weight:500;white-space:nowrap}
.language-pair-readiness{flex:0 0 100%;margin:0;text-align:right;color:var(--muted);font-size:11px;line-height:1.45}
@media(max-width:680px){.language-pair-readiness{grid-column:1/-1}}
@media(max-width:650px){.language-pair-readiness{text-align:left;font-size:12px}}

.language-loading-error{max-width:1200px;margin:20px auto;padding:14px 18px;border:1px solid var(--line);border-radius:14px;background:var(--soft);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.language-loading-error p{flex:1;min-width:200px;margin:0;line-height:1.7;font-size:14px}.language-loading-error button{flex-shrink:0}@media(max-width:680px){.language-loading-error{margin:16px;padding:14px}.language-loading-error button{width:100%}}

.language-pair-readiness-details{flex:0 0 100%;grid-column:1/-1;min-width:0;color:var(--muted);font-size:.875rem;line-height:1.6;text-align:left}
.language-pair-readiness-details>summary{cursor:pointer;min-height:44px;padding:10px 0;overflow-wrap:anywhere}
.language-pair-readiness-details>p{margin:0 0 8px;overflow-wrap:anywhere}

/* learning-navigation.css */
/* A compact brand lockup, kept consistent across reading preferences. */
:is(.site-header,.game-brand-header) .brand{gap:11px;min-height:52px;align-items:center;border-radius:10px;text-decoration:none}
:is(.site-header,.game-brand-header) .brand-mark{display:block;flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:#124c38}
:is(.site-header,.game-brand-header) .brand-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
:is(.site-header,.game-brand-header) .brand-wordmark{display:flex;align-items:baseline;margin:0;color:var(--pine,#145442);font-family:var(--sans,Arial,sans-serif);font-size:30px;line-height:1.08;letter-spacing:-1.2px;white-space:nowrap}
:is(.site-header,.game-brand-header) .brand-wordmark span{margin:0;font-size:inherit;line-height:inherit;letter-spacing:inherit}
:is(.site-header,.game-brand-header) .brand-wordmark .brand-pine{font-weight:700}
:is(.site-header,.game-brand-header) .brand-wordmark .brand-lingo{font-weight:500}
:is(.site-header,.game-brand-header) .brand-credit{display:block;margin:0;color:var(--muted,#586961);font-size:12px;font-weight:500;line-height:1.5;letter-spacing:.15px;white-space:nowrap;text-transform:none}
:is(.site-header,.game-brand-header) .brand:focus-visible{outline:3px solid var(--blue,#27588e);outline-offset:5px}
@media(max-width:400px){:is(.site-header,.game-brand-header) .brand{gap:9px}:is(.site-header,.game-brand-header) .brand-mark{flex-basis:40px;width:40px;height:40px;border-radius:11px}:is(.site-header,.game-brand-header) .brand-wordmark{font-size:25px;letter-spacing:-.9px}:is(.site-header,.game-brand-header) .brand-copy{gap:2px}}
/* Learning and saved items share a centered navigation row. */
.learning-steps{display:flex;align-items:stretch;justify-content:space-between;gap:28px;min-width:0}
.site-header nav.learning-steps{order:3;flex:1 0 100%;width:100%;padding:14px 0 0;margin:0;border-top:1px solid var(--line,#dbe4e0);justify-content:space-between;gap:28px;overflow:visible;flex-wrap:nowrap}
.nav-main,.nav-saved{display:flex;align-items:stretch;gap:10px;min-width:0}
.nav-main{flex:0 1 460px}
.nav-saved{margin-inline-start:auto;flex:0 0 auto;padding-inline-start:24px;border-inline-start:1px solid var(--line,#dbe4e0)}
.learning-steps .nav-button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 0;min-width:0;min-height:52px;padding:10px 16px;border:1px solid var(--line,#dbe4e0);border-radius:12px;background:var(--surface,#fff);color:var(--muted,#586961);box-shadow:none;text-decoration:none;font:600 calc(14px * var(--system-scale,1))/1.5 var(--sans,system-ui);white-space:nowrap}
.nav-saved .nav-button{background:var(--soft,#edf4ef);flex:0 0 auto}
.learning-steps .nav-step{display:inline-grid;place-items:center;flex:0 0 26px;width:26px;height:26px;min-height:0;border-radius:50%;background:var(--soft,#edf4ef);color:var(--pine,#145442);font-size:13px;font-weight:750}
.learning-steps .nav-button:hover{background:var(--soft,#edf4ef);border-color:var(--pine,#145442)}
.learning-steps .nav-button.active{background:#145442;border-color:#145442;color:#fff;box-shadow:0 3px 0 #0d3d30}
.learning-steps .nav-button.active .nav-step{background:#d6f5ba;color:#173e2c}
.learning-steps .nav-button:focus-visible{outline:3px solid var(--blue,#27588e);outline-offset:3px}
.learning-steps .nav-count,.learning-steps #saved-count{display:inline-grid;place-items:center;min-width:20px;height:20px;margin:0;border-radius:6px;padding:0 4px;background:var(--soft,#edf4ef);color:var(--pine,#145442);font-size:12px}
body>nav.learning-steps{max-width:1200px;margin:18px auto 26px;padding-inline:20px}
.nav-button.profile-menu{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;min-height:44px;margin:0;padding:9px 14px;border:1px solid var(--line,#dbe4e0);border-radius:24px;background:var(--surface,#fff);color:var(--ink,#173e35);font-size:calc(14px * var(--system-scale,1));text-decoration:none;white-space:nowrap}
.nav-button.profile-menu.active{background:#145442;color:#fff;border-color:#145442}
.profile-menu svg{flex-shrink:0}
.reader-settings{justify-content:flex-start;column-gap:24px;row-gap:12px}
.reader-settings .translation-toggle{flex:0 0 auto;width:auto;margin:0}
.voice-test-buttons.single-voice{grid-template-columns:1fr}
#reading-dialog .voice-test-buttons{margin:20px 0 4px}
#reading-dialog .service-contact{font-size:14px;line-height:1.8;overflow-wrap:anywhere}
#reading-dialog .service-contact .contact-copy-button{appearance:none;border:0;background:none;padding:0;color:var(--pine);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:.15em;cursor:pointer}
#reading-dialog .service-contact .contact-copy-button:focus-visible{outline:2px solid var(--pine);outline-offset:3px;border-radius:2px}
#reading-dialog .contact-copy-status{display:block;margin-top:4px;color:var(--pine);font-size:13px}
#reading-dialog .contact-copy-status[hidden]{display:none}
@media(max-width:1000px){.site-header nav.learning-steps,body>nav.learning-steps{gap:16px}.nav-saved{padding-inline-start:16px}.learning-steps .nav-button{padding-inline:10px}.nav-main{flex:1 1 auto}}
@media(max-width:760px){.site-header nav.learning-steps,body>nav.learning-steps{flex-direction:column;gap:12px;overflow:visible}.nav-main{width:100%}.nav-saved{align-self:flex-end;padding:0;border:0}.learning-steps .nav-button{white-space:normal!important}.nav-main .nav-label{word-break:keep-all}.nav-saved .nav-button{min-height:42px;padding:8px 14px}.site-header .profile-menu{margin-inline-start:auto}.site-header .language-pair{order:1;width:100%}}
@media(max-width:400px){.reader-settings{display:flex;column-gap:16px;row-gap:10px}.reader-settings .translation-toggle{font-size:13px}.nav-main{gap:6px}.nav-main .nav-button{flex-direction:column;gap:4px;padding:8px 6px;font-size:calc(12px * var(--system-scale,1))}.learning-steps .nav-step{width:22px;height:22px;flex-basis:22px;font-size:12px}}

.site-header .connection-location{display:none}
.player-learning-order{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;grid-column:1/-1;flex-basis:100%;font-size:12px;color:var(--muted)}
.player-learning-order[hidden]{display:none}
.player-learning-order button{min-height:44px;padding:6px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);font:inherit;cursor:pointer}
.player-learning-order button[aria-current=step]{background:var(--soft);border-color:var(--pine);color:var(--pine);font-weight:700}
.library-selection-bar>.library-learning-order{flex-basis:100%;margin:0}
.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;justify-items:center}
.site-header .brand{grid-column:2;grid-row:1;margin:0}
.site-header .profile-menu{grid-column:3;grid-row:1;justify-self:end;margin:0}
.site-header .language-pair{grid-column:1/-1;grid-row:2;width:min(100%,560px);margin:0;justify-content:center}
.site-header nav.learning-steps{grid-column:1/-1;grid-row:3;justify-content:center}
.learning-steps .nav-main{flex:0 1 auto}
.learning-steps .nav-saved{margin-inline-start:0;padding-inline-start:0;border-inline-start:0}
.game-brand-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}
.game-brand-header .brand{grid-column:2;justify-self:center}
.game-brand-header .profile-menu{grid-column:3;justify-self:end}
body>nav.learning-steps{justify-content:center}
@media(max-width:760px){.site-header nav.learning-steps,body>nav.learning-steps{align-items:center}.learning-steps .nav-main,.learning-steps .nav-saved{width:100%;justify-content:center;align-self:center}.learning-steps .nav-saved .nav-button{flex:1 1 0}.site-header .profile-menu{margin:0}}
@media(max-width:480px){.site-header,.game-brand-header{grid-template-columns:minmax(0,1fr) auto;row-gap:12px}.site-header .brand,.game-brand-header .brand{grid-column:1/-1;grid-row:1}.site-header .profile-menu,.game-brand-header .profile-menu{grid-column:1/-1;grid-row:2;justify-self:center}.site-header .language-pair{grid-row:3}.site-header nav.learning-steps{grid-row:4}}
.language-pair .site-language{grid-template-columns:minmax(150px,200px) 34px;min-width:0}
.language-pair .site-language select{width:100%;max-width:none;min-width:0}
.unavailable-course h1{font-size:clamp(24px,4vw,34px);word-break:keep-all;overflow-wrap:break-word}
@media(max-width:680px){
  .language-pair .site-language{grid-template-columns:minmax(0,1fr) 44px;gap:2px}
  .language-pair .site-language>span{grid-column:1;grid-row:1;align-self:center}
  .language-pair .language-search-trigger{grid-column:2;grid-row:1;min-width:44px;min-height:44px;border:0;background:transparent}
  .language-pair .site-language select{grid-column:1/-1;grid-row:2;font-size:12px}
  .language-pair .language-arrow{padding-top:44px}
}
@media(max-width:400px){
  .site-header .language-pair{grid-template-columns:1fr;gap:6px}
  .language-pair .site-language{grid-template-columns:48px minmax(0,1fr) 44px;column-gap:4px}
  .language-pair .site-language select{grid-column:2;grid-row:1}
  .language-pair .language-search-trigger{grid-column:3}
  .language-pair .language-arrow{display:none}
}
/* One quiet header: integrated language fields and flat navigation tabs. */
.site-header{row-gap:18px;padding-block:22px 0;box-shadow:none}
.site-header .language-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:8px;width:min(100%,680px);padding:0 0 2px}
.site-header .language-pair .site-language{display:grid;flex:1;grid-template-columns:minmax(0,1fr) 44px;gap:0;position:relative;background:var(--soft);border-radius:12px;padding:7px 4px 3px 12px}
.site-header .language-pair .interface-language{grid-template-columns:minmax(0,1fr);padding-inline-end:10px}
.site-header .language-pair .site-language>span{grid-column:1;grid-row:1;padding:0;font-size:11px;line-height:1.5;color:var(--muted)}
.site-header .language-pair .site-language select{grid-column:1;grid-row:2;min-height:32px;padding:2px 16px 4px 0;border:0;border-radius:4px;background:transparent;font-size:14px;line-height:1.5;color:var(--ink)}
.site-header .language-pair .language-search-trigger{grid-column:2;grid-row:1/3;align-self:center;min-width:44px;min-height:44px;border:0;background:transparent;border-radius:8px;color:var(--muted);font-size:21px}
.site-header .language-pair .language-search-trigger:hover{background:var(--surface);color:var(--pine)}
.site-header .language-pair .language-arrow{display:block;padding:0;color:var(--muted);font-size:16px}
.site-header nav.learning-steps,body>nav.learning-steps{display:flex;flex-direction:row;justify-content:center;align-items:stretch;gap:4px;padding-top:0;border-top:0}
.learning-steps .nav-main,.learning-steps .nav-saved{display:flex;flex:0 1 auto;align-self:stretch;width:auto;gap:4px;margin:0;padding:0;border:0}
.learning-steps .nav-button,.learning-steps .nav-saved .nav-button{position:relative;flex:1 1 auto;min-height:52px;padding:12px 18px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;box-shadow:none;color:var(--muted);font-size:14px;white-space:nowrap!important;flex-direction:row;gap:6px}
.learning-steps .nav-button:hover{background:transparent;border-color:var(--line);color:var(--pine)}
.learning-steps .nav-button.active{background:transparent;border-color:var(--pine);color:var(--pine);box-shadow:none;font-weight:750}
.learning-steps .nav-count,.learning-steps #saved-count{min-width:18px;height:18px;padding:0 4px;font-size:11px;border-radius:9px;background:var(--soft);color:var(--muted)}
.site-header :is(select,.language-search-trigger):focus-visible{outline:2px solid var(--pine);outline-offset:2px}
@media(max-width:600px){
  .site-header{padding-inline:16px;row-gap:16px}
  .site-header nav.learning-steps,body>nav.learning-steps{gap:0;width:100%}
  .learning-steps .nav-main,.learning-steps .nav-saved{flex:1 1 50%;gap:0}
  .learning-steps .nav-button,.learning-steps .nav-saved .nav-button{flex:1 1 0;padding:10px 4px;min-height:52px;font-size:12px;gap:4px;white-space:normal!important;text-align:center}
  .learning-steps .nav-label{word-break:keep-all;overflow-wrap:normal;line-height:1.5}
  .site-header .language-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
  .site-header .language-pair .language-arrow{display:none}
  .site-header .language-pair label[for="target-language"]{grid-column:1/-1}
  .site-header .language-pair .language-pair-readiness{grid-column:1/-1}
}
@media(max-width:480px){
  .site-header .brand{grid-column:1/-1;grid-row:1;max-width:calc(100% - 96px)}
  .site-header .profile-menu{grid-column:1/-1;grid-row:1;justify-self:end;min-width:44px;min-height:44px;padding:10px;border:0;background:transparent;box-shadow:none}
  .site-header .profile-menu>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .site-header .language-pair{grid-row:2}
  .site-header nav.learning-steps{grid-row:3}
}
@media(max-width:360px){
  .site-header{padding-inline:12px}
  .site-header .language-pair .site-language{padding-inline-start:8px}
  .site-header .language-pair .site-language select{font-size:12px}
  .learning-steps .nav-button,.learning-steps .nav-saved .nav-button{gap:2px;font-size:11px}
}

.resume-learning{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 28px;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 4px 20px #143e3210}
.resume-title{margin:0 0 8px;font-size:18px;font-weight:700;line-height:1.5;color:var(--pine)}
.resume-detail{margin:0 0 6px;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.resume-copy small{font-size:12px;color:var(--muted);line-height:1.6}
.resume-actions{display:flex;flex-shrink:0;gap:8px;align-items:center}
.resume-actions button{min-height:44px;white-space:nowrap}
@media(max-width:600px){.resume-learning{align-items:stretch;flex-direction:column;gap:16px;padding:20px;margin-bottom:24px}.resume-title{font-size:17px}.resume-actions button{flex:1}.resume-actions{flex-wrap:wrap}}

/* Keep the complete menu together, including the authenticated admin action. */
.site-header nav.learning-steps{width:100%;max-width:840px;justify-self:center;margin-inline:auto;flex-wrap:wrap;gap:4px}
.learning-steps>[data-admin-link]{order:3;flex:0 0 auto;min-height:48px;font-size:13px}
.learning-steps [hidden]{display:none!important}
@media(max-width:600px){
  .site-header nav.learning-steps{gap:0}
  .learning-steps>[data-admin-link]{flex:0 0 auto;margin-inline:auto;min-height:44px;padding:8px 16px}
}

/* wordbook-player.css */
.wordbook-study-bar{position:fixed;z-index:21;inset:auto 0 0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;background:#103e34;color:#fff;border-top:1px solid #315d50;padding:18px max(20px,4vw) max(18px,env(safe-area-inset-bottom));box-shadow:0 -8px 30px #092f2914}
.wordbook-player-info{display:grid;gap:5px;min-width:0}.wordbook-player-info .eyebrow{color:#d6e6dd;font-size:11px}.wordbook-player-info strong{font-size:21px;overflow-wrap:anywhere}.wordbook-player-info>span:last-child{color:#c4dbcf;font-size:13px}
.wordbook-player-controls,.wordbook-player-options{display:flex;align-items:center;gap:12px}.wordbook-player-options{justify-content:flex-end;flex-wrap:wrap;font-size:14px}.wordbook-player-options label{display:flex;align-items:center;gap:8px;min-height:44px}.wordbook-player-options input{width:20px;height:20px;min-height:20px;accent-color:#d6f5ba}.wordbook-study-bar button{min-width:44px;min-height:44px;background:transparent;color:#fff;border:1px solid #54786c;border-radius:10px;font-size:20px}.wordbook-study-bar .player-settings{font-size:14px;padding:8px 12px}.wordbook-study-bar select{min-height:44px;background:#1e5143;color:#fff;border:1px solid #54786c;border-radius:8px;padding:6px}
#wordbook-play{height:56px;width:56px;background:#daf1c9;border:0;color:#123e35}.wordbook-study-bar button:disabled{opacity:.4;cursor:not-allowed}.wordbook-study-bar :focus-visible{outline:3px solid #daf1c9;outline-offset:3px}.wordbook-card.is-studying{border-color:var(--pine);box-shadow:inset 3px 0 var(--pine);background:var(--soft)}
body.wordbook-studying{padding-bottom:calc(var(--wordbook-bar-height,150px) + 28px)}body.wordbook-studying .toast{bottom:calc(var(--wordbook-bar-height,150px) + 12px)}
@media(max-width:800px){.wordbook-study-bar{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 18px max(14px,env(safe-area-inset-bottom))}.wordbook-player-options{grid-column:1/-1;justify-content:space-between;gap:8px}.wordbook-player-options .player-settings span{display:none}.wordbook-player-info strong{font-size:18px}}
@media(max-width:360px){.wordbook-study-bar{gap:8px;padding-inline:12px}.wordbook-player-controls{gap:4px}.wordbook-player-options{font-size:13px;flex-wrap:wrap}.wordbook-player-options label{gap:4px}.wordbook-player-options label>span{display:none}}

.word-learning-intro{padding:20px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.word-learning-intro p{margin:0;line-height:1.7;color:var(--muted)}.word-lessons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;padding:0 20px 20px}.library-word-card{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);display:flex;flex-direction:column;gap:12px;min-width:0}.library-word-card strong{font-size:21px;overflow-wrap:anywhere}.library-word-card p{font-size:14px;line-height:1.7;flex:1;margin:0}.library-word-card button{min-height:44px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--pine)}

.wordbook-card header .word-title-play{background:none;border:0;padding:6px 0;min-height:44px;text-align:left;font:inherit;font-weight:700;color:var(--reading-ink);display:inline-flex;align-items:center;gap:10px}.word-title-play span{font-size:18px;color:var(--pine)}

body[data-phonetics="hide"] [data-ipa],body[data-word-meaning="hide"] .wordbook-meaning,body[data-word-examples="hide"] .wordbook-examples{display:none!important}.wordbook-view-options{display:flex;flex-wrap:wrap;gap:12px 24px;margin:22px 0}.wordbook-view-options label,.word-phonetic-choice{display:flex;align-items:center;gap:8px;font-size:14px;min-height:44px}.wordbook-view-options input,.word-phonetic-choice input{width:18px;height:18px;min-height:18px;accent-color:var(--pine)}.word-library-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 20px 20px}.word-library-filters>label:not(.word-phonetic-choice){display:grid;gap:7px;font-size:14px;min-width:0}.word-library-filters select,.word-library-filters input[type=search]{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:8px;background:var(--surface);color:var(--ink)}.word-library-filters .word-phonetic-choice{grid-column:1/-1}.word-library-empty{grid-column:1/-1;padding:20px;line-height:1.7}.library-word-card .library-word-play{border:0;padding:0;background:none;color:var(--reading-ink);font-weight:700;font-size:21px;text-align:left}.word-ipa{font-family:system-ui,sans-serif;color:var(--muted);font-size:14px}.word-level-tag{font-size:12px;color:var(--muted)}.wordbook-source{font-size:12px;color:var(--muted);margin-top:20px}.word-audio-credits{font-size:12px;line-height:1.7;color:var(--muted);margin-top:30px}.word-audio-credits summary{cursor:pointer;min-height:40px}.word-audio-credits a{color:var(--pine)}.new-lesson-badge{display:inline-grid;place-items:center;vertical-align:middle;margin-left:5px;width:19px;height:19px;border-radius:5px;background:#ed763b;color:#fff;font-size:11px;font-weight:800;line-height:1}.site-admin-link{font-size:13px;color:var(--pine);text-decoration:none;border:1px solid var(--line);border-radius:8px;padding:9px 12px;min-height:38px}.reader-settings{gap:16px;flex-wrap:wrap}@media(max-width:760px){.word-library-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:380px){.word-library-filters{grid-template-columns:minmax(0,1fr)}}

/* Integration draft: load after wordbook-player.css, or replace its overlapping rules. */
.word-lessons-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  gap: 16px;
  padding: 18px;
}
.library-word-card {
  min-width: 0;
  padding: 18px;
  gap: 10px;
  border-radius: 14px;
  align-content: start;
}
.library-word-card.is-selected {
  border-color: var(--pine);
  box-shadow: inset 0 0 0 2px var(--pine);
  background: var(--soft);
}
.library-word-card .library-select { margin: 0; padding: 0; }
.library-word-card .library-word-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  align-items: start;
  gap: 10px;
}
.library-word-card .library-word-text {
  min-width: 0;
  font-size: calc(22px * var(--word-scale, 1));
  font-weight: 700;
  line-height: 1.45;
  color: var(--reading-ink);
  overflow-wrap: anywhere;
  word-break: normal;
}
.library-word-card .library-word-play {
  min-width: 44px;
  min-height: 44px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--surface);
  color: var(--pine);
  font-size: 20px;
  text-align: center;
}
.library-word-card .word-ipa {
  margin: 0;
  font-size: calc(15px * var(--word-scale, 1));
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.library-word-card p {
  font-size: calc(16px * var(--word-scale, 1));
  line-height: 1.7;
  margin: 0;
}
.library-word-card .library-word-status { min-height: 1.6em; font-size: 13px; color: var(--muted); }
.library-word-card .library-word-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.library-word-actions button { flex: 1; font-size: calc(14px * var(--system-scale, 1)); }
.library-word-card :focus-visible { outline: 3px solid var(--pine); outline-offset: 3px; }
.wordbook-filter-panel { margin-block: 20px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background:var(--surface); }
.wordbook-filter-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); gap: 12px; }
.wordbook-filter-grid label { display: grid; gap: 6px; min-width: 0; }
.wordbook-filter-grid select,.wordbook-filter-grid input,.wordbook-filter-dates input { width: 100%; min-width: 0; min-height: 44px; border:1px solid var(--line);border-radius:9px;padding:9px 12px;background:var(--surface);color:var(--ink);font:inherit; }
.wordbook-filter-panel [role=status]:empty{display:none}.wordbook-filter-panel .hint{font-size:13px;line-height:1.7;color:var(--muted);margin:14px 0 0}.wordbook-filter-panel :focus-visible{outline:3px solid var(--pine);outline-offset:3px}
.wordbook-filter-dates { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.wordbook-filter-dates label { display: grid; gap: 6px; }
:root[data-large-ui=true] .word-lessons-grid { grid-template-columns: repeat(auto-fill,minmax(min(100%,360px),1fr)); }
@media(max-width:650px) {
  .word-lessons-grid { grid-template-columns: minmax(0,1fr); padding: 12px; }
  .library-word-card { padding: 16px; }
}
.word-title-play:disabled{color:inherit;opacity:1;cursor:default}
.word-title-play:disabled>span{display:none}

/* wordbook-sync.css */
.wordbook-sync{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;margin:18px 0;border:1px solid var(--line,#d5e0dc);border-radius:16px;background:var(--surface,#fff)}
.wordbook-sync p{margin:0;font-size:14px;line-height:1.6}.wordbook-sync small{display:block;overflow-wrap:anywhere;color:var(--muted,#63756d);margin-top:3px}.wordbook-sync small:empty{display:none}.wordbook-sync[data-error="true"]{border-color:#b77b47}
.wordbook-sync-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.wordbook-sync-actions button,.wordbook-sync-actions a{min-height:44px;text-decoration:none;white-space:normal}
.wordbook-import-dialog .wordbook-import-error{padding:12px 14px;border-radius:12px;background:#fff3e9;color:#803a12;border:1px solid #e9c5a7}
.wordbook-import-dialog{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 48px);box-sizing:border-box;border:1px solid var(--line,#d5e0dc);border-radius:20px;padding:24px;color:var(--ink,#243c33);background:var(--surface,#fff);overflow:auto}.wordbook-import-dialog::backdrop{background:#122c2866}.wordbook-import-dialog h2{font-size:21px;line-height:1.4;margin:0 0 12px}.wordbook-import-dialog p{font-size:14px;line-height:1.65;overflow-wrap:anywhere}.wordbook-import-dialog ul{max-height:32dvh;overflow:auto;padding:0;list-style:none;border-block:1px solid var(--line,#d5e0dc)}.wordbook-import-dialog li{padding:9px 0;line-height:1.55;overflow-wrap:anywhere}.wordbook-import-dialog .wordbook-sync-actions{justify-content:flex-end}
@media(max-width:600px){.wordbook-sync{align-items:flex-start;flex-direction:column;gap:10px;padding:14px}.wordbook-sync-actions{width:100%}.wordbook-sync-actions button,.wordbook-sync-actions a{flex:1}.wordbook-import-dialog{padding:20px}}

/* profile.css */
.profile-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:26px}.profile-heading h1{margin:8px 0;font-size:30px}.profile-account{color:var(--muted);font-size:14px;overflow-wrap:anywhere}.profile-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.profile-metric,.profile-panel{padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.profile-metric strong{display:block;font-size:28px;margin:12px 0 6px;color:var(--pine)}.profile-metric span,.profile-note{font-size:13px;line-height:1.7;color:var(--muted)}.profile-panel{margin:18px 0}.profile-panel h2{font-size:21px;margin:0 0 16px}.profile-progress-row{display:grid;grid-template-columns:minmax(80px,1fr) minmax(50px,2fr) auto;gap:12px;align-items:center;margin:14px 0;font-size:14px}.profile-progress-track{height:9px;border-radius:6px;background:var(--soft);overflow:hidden}.profile-progress-track>span{display:block;height:100%;background:var(--pine)}.profile-recent-item{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.profile-recent-item p{margin:6px 0;font-size:13px;color:var(--muted)}.profile-recent-item button{flex-shrink:0}#profile-error{color:var(--ink);padding:12px;background:var(--soft);border-radius:9px}body:has(#profile-view:not([hidden])){padding-bottom:24px}@media(max-width:650px){.profile-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-metric,.profile-panel{padding:18px}.profile-metric strong{font-size:24px}.profile-recent-item{align-items:flex-start}.profile-progress-row{gap:8px}}

.nickname-form{max-width:620px;padding:20px;margin:0 0 24px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.nickname-form>label{font-weight:700;font-size:16px}.nickname-form>p{font-size:14px;line-height:1.6;color:var(--muted)}.nickname-form>div{display:flex;gap:10px}.nickname-form input{flex:1;min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:16px}.nickname-form button{flex-shrink:0;min-height:46px}.nickname-form #nickname-status:empty{display:none}@media(max-width:380px){.nickname-form{padding:16px}.nickname-form>div{flex-wrap:wrap}.nickname-form input{flex-basis:100%}}

#profile-view{max-width:1100px;margin-inline:auto}
#profile-view .profile-heading{margin-bottom:12px;align-items:flex-start}
#profile-display-name{display:block;font-size:1.125rem;font-weight:600;line-height:1.6;overflow-wrap:anywhere}
#profile-display-name:empty{display:none}
#profile-view .profile-account{margin:4px 0;color:var(--muted)}
.profile-name-editor{margin-bottom:28px}
.profile-name-editor>summary,.profile-record-note>summary{width:fit-content;min-height:44px;padding:10px 4px;font-size:.875rem;color:var(--pine);cursor:pointer}
.profile-name-editor .nickname-form{margin:8px 0 0;max-width:620px}
#profile-view .profile-metrics{gap:12px;margin-bottom:24px}
#profile-view .profile-metric{padding:20px 22px;min-height:120px;border-radius:18px}
#profile-view .profile-metric>div{font-size:.875rem;font-weight:500}
#profile-view .profile-metric strong{font-size:clamp(1.65rem,3vw,2rem);line-height:1.25;letter-spacing:-.025em;font-variant-numeric:tabular-nums;margin:14px 0 0;overflow-wrap:anywhere}
#profile-view .profile-insights{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#profile-view .profile-panel{margin:0 0 18px;border-radius:18px;min-width:0}
#profile-view .profile-panel h2{font-size:1.125rem;line-height:1.5}
#profile-view .profile-recent-item>div{min-width:0}
#profile-view .profile-recent-item strong{line-height:1.6;overflow-wrap:anywhere}
#profile-view .profile-recent-item button{min-height:44px;font-size:.875rem}
.profile-record-note .profile-note{max-width:65ch;margin-top:0}
@media(max-width:650px){
 #profile-view .profile-heading h1{font-size:1.65rem}
 #profile-view .profile-heading{gap:12px}
 #profile-view .profile-metrics{gap:10px}
 #profile-view .profile-metric{padding:16px;min-height:110px}
 #profile-view .profile-insights{grid-template-columns:1fr;gap:0}
 #profile-view .profile-recent-item{flex-wrap:wrap;align-items:center;gap:8px;padding-block:16px}
 #profile-view .profile-recent-item>div{flex:1 1 190px}
 #profile-view .profile-panel{padding:18px}
 .profile-name-editor{margin-bottom:20px}
}

.account-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}.account-actions .secondary-button{min-height:44px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.account-actions:has(> [hidden]):not(:has(> :not([hidden]))){display:none}#account-status:empty{display:none}

/* Identity and editing share one calm, responsive account header. */
#profile-view .profile-heading{padding:26px 28px 18px;margin:0;background:var(--surface);border:1px solid var(--line);border-bottom:0;border-radius:20px 20px 0 0}
#profile-view .profile-heading>div{min-width:0;flex:1}
#profile-view .profile-name-editor{margin:12px 0 0}
#profile-view .profile-name-editor>summary{display:flex;align-items:center;gap:12px;padding:0;list-style:none;max-width:100%;min-height:44px}
#profile-view .profile-name-editor>summary::-webkit-details-marker{display:none}
#profile-view .profile-edit-label{flex-shrink:0;font-size:13px;font-weight:500;border:1px solid var(--line);border-radius:999px;padding:5px 12px;background:var(--soft)}
#profile-view .profile-name-editor[open] .profile-edit-label{background:var(--pine);color:white}
#profile-view .profile-name-editor>summary:focus-visible{outline:2px solid var(--pine);outline-offset:4px;border-radius:8px}
#profile-view .profile-name-editor .nickname-form{margin:12px 0}
#profile-view .account-actions{padding:0 28px 22px;margin:0 0 24px;background:var(--surface);border:1px solid var(--line);border-top:0;border-radius:0 0 20px 20px;gap:8px}
#profile-view .account-actions .secondary-button{font-size:13px;padding-inline:16px}
#profile-view .profile-account{font-size:13px;margin-top:4px}
@media(max-width:650px){#profile-view .profile-heading{padding:20px 18px 14px}#profile-view .account-actions{padding:0 18px 18px}#profile-view .profile-heading>div{flex-basis:70%}}

#profile-view .profile-heading:not(:has(+ .account-actions > :not([hidden]))){border-bottom:1px solid var(--line);border-radius:20px;margin-bottom:24px}
#profile-view .profile-name-editor>summary strong{min-width:0}

/* learning-player.css */
#audio-bar{display:block;background:var(--surface,#fff);color:var(--ink,#183e34);border-top:1px solid var(--line,#dbe4df);box-shadow:0 -6px 28px #0c352514;padding:14px max(20px,3vw) max(14px,env(safe-area-inset-bottom));max-height:75dvh;overflow-y:auto}
#audio-bar .player-top-row,#audio-bar .player-bottom-row,#audio-bar .next-countdown{max-width:1380px;margin-inline:auto}
#audio-bar .player-top-row{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(290px,1fr);align-items:center;gap:24px}
#audio-bar .audio-info{grid-area:auto;position:static;width:auto;height:auto;clip-path:none;overflow:visible;min-width:0;display:block}
#audio-bar .audio-info>div{min-width:0}
#audio-bar #audio-label{display:block;color:var(--ink,#183e34);font-size:calc(15px * var(--system-scale,1));font-weight:700;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#audio-bar #audio-status{display:block;color:var(--muted,#5d7168);font-size:13px;line-height:1.5;margin:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#audio-bar .player-caption{display:flex;align-items:center;gap:10px;margin-top:6px;min-width:0}
#audio-bar .sentence-counter{display:inline-flex;align-items:center;gap:6px;margin:0;padding:3px 8px;border-radius:6px;background:var(--soft,#edf4ef);color:var(--pine,#145442);font-size:12px;line-height:1.4;white-space:nowrap}
#audio-bar .sentence-counter span{display:inline;margin:0;color:inherit;font-size:12px}
#audio-bar #sentence-position{display:inline;color:inherit;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
#audio-bar #playing-collection{flex:0 1 auto;margin:0;font-size:12px;color:var(--muted,#5d7168);text-align:start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
#audio-bar .playback-controls{grid-area:auto;display:flex;align-items:center;justify-content:center;gap:12px}
#audio-bar .playback-controls button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:78px;min-height:64px;margin:0;padding:6px 8px;border:0;border-radius:12px;background:transparent;color:var(--pine,#145442)}
#audio-bar .playback-controls button span{display:block;margin:0;font-size:calc(14px * var(--system-scale,1));line-height:1.4;white-space:nowrap}
#audio-bar .playback-controls .play-button{display:grid;place-items:center;flex:0 0 64px;width:64px;height:64px;min-width:64px;min-height:64px;padding:0;border-radius:50%;background:#145442;color:#fff;font-size:25px;line-height:1;box-shadow:0 4px 10px #14544224}
#audio-bar .playback-controls button:not(.play-button):not(:disabled):hover{background:var(--soft,#edf4ef)}
#audio-bar .playback-controls .play-button:hover{background:#0f4537}
#audio-bar button:disabled{opacity:.45;cursor:default;box-shadow:none}
#audio-bar :is(button,select,input):focus-visible{outline:3px solid #487cba;outline-offset:3px}
#audio-bar .audio-options{grid-area:auto;display:flex;grid-column:auto;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px}
#audio-bar .player-speed{display:flex;align-items:center;gap:8px}
#audio-bar .player-speed label{font-size:13px;color:var(--muted,#5d7168);white-space:nowrap}
#audio-bar #speed{width:82px;min-height:44px;padding:8px;border:1px solid var(--line,#dbe4df);border-radius:10px;background:var(--surface,#fff);color:var(--ink,#183e34);font-size:calc(14px * var(--system-scale,1));font-weight:600}
#audio-bar #repeat,#audio-bar .player-auto-next{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;min-width:0;flex:0 0 auto;margin:0;padding:8px 12px;border:1px solid var(--line,#dbe4df);border-radius:10px;background:var(--surface,#fff);color:var(--ink,#183e34);font-size:calc(14px * var(--system-scale,1));font-weight:500;text-decoration:none;white-space:nowrap}
#audio-bar .audio-options button span{display:inline;font-size:inherit}
#audio-bar #repeat .repeat-icon{font-size:21px;line-height:1}
#audio-bar #repeat .repeat-check{display:none}
#audio-bar #repeat[aria-pressed=true],#audio-bar .player-auto-next:has(input:checked){background:#e7f4dc;border-color:#9cbc86;color:#254b31}
#audio-bar #repeat[aria-pressed=true] .repeat-check{display:inline}
#audio-bar .player-auto-next input{width:18px;height:18px;min-height:18px;margin:0;accent-color:#145442}
#audio-bar .player-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line,#dbe4df);margin-top:12px;padding-top:12px}
#audio-bar .player-levels{display:flex;flex:0 1 auto;align-items:center;justify-content:flex-start;gap:10px;padding:0;flex-wrap:nowrap;min-width:0}
#audio-bar .player-levels>span{display:block;flex-shrink:0;color:var(--muted,#5d7168);font-size:14px}
#audio-bar .player-levels .segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:0 1 auto;width:auto;max-width:none;background:var(--soft,#edf4ef);border-radius:10px;padding:3px;gap:2px}
#audio-bar .player-levels button{min-width:58px;min-height:44px;padding:6px 12px;border-radius:7px;background:transparent;color:var(--muted,#5d7168);font-size:calc(14px * var(--system-scale,1));white-space:nowrap;overflow-wrap:normal}
#audio-bar .player-levels button.active{background:#145442;color:#fff;box-shadow:0 2px 5px #0c352520}
#audio-bar .player-lesson-nav{display:flex;flex:0 1 auto;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:0;margin-inline-start:auto;padding:0;border:0}
#audio-bar .player-lesson-nav button,#audio-bar #open-settings{min-height:44px;min-width:0;padding:8px 14px;border:1px solid var(--line,#dbe4df);border-radius:10px;background:var(--surface,#fff);color:var(--pine,#145442);font-size:calc(14px * var(--system-scale,1));font-weight:600;line-height:1.5;white-space:nowrap;overflow-wrap:normal}
#audio-bar .player-lesson-nav [data-view=library]{background:var(--soft,#edf4ef);border-color:transparent}
#audio-bar #open-settings{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:6px}
#audio-bar .player-lesson-nav button:not(:disabled):hover,#audio-bar #open-settings:hover,#audio-bar #repeat:not([aria-pressed=true]):hover{background:var(--soft,#edf4ef)}
#audio-bar .next-countdown{margin-bottom:12px;border:1px solid #cbdfb8;background:#edf7e4;padding:12px 14px;flex-wrap:wrap}
#audio-bar .next-countdown>div{min-width:0;flex:1 1 250px}
#audio-bar #countdown-title{max-width:none}
#audio-bar .next-countdown button{min-height:44px;font-size:14px}
@media(max-width:1100px){#audio-bar .player-top-row{grid-template-columns:minmax(150px,1fr) auto;gap:12px 24px}#audio-bar .audio-options{grid-column:1/-1;justify-content:flex-end}#audio-bar .audio-info>div{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px}#audio-bar #audio-status{grid-column:1}#audio-bar .player-caption{grid-column:2;grid-row:1/3;margin:0;align-self:center}#audio-bar #playing-collection{display:none}#audio-bar .player-bottom-row{flex-wrap:wrap}#audio-bar .player-lesson-nav{flex:1 1 auto}#audio-bar .player-levels button{min-width:52px}}
#audio-bar #player-options-toggle{display:none}
html{scroll-padding-bottom:calc(var(--audio-bar-height,0px) + 16px)}
@media(min-width:761px){:root[data-large-ui=true] #audio-bar .player-top-row,:root[data-large-ui=true] #audio-bar .player-bottom-row{display:flex;flex-wrap:wrap}:root[data-large-ui=true] #audio-bar .audio-info{flex:1 1 280px}:root[data-large-ui=true] #audio-bar .audio-options{flex:1 1 100%;justify-content:center}}
@media(max-width:760px){
  #audio-bar{padding:8px 14px max(8px,env(safe-area-inset-bottom));max-height:60dvh;overscroll-behavior:contain}
  #audio-bar .player-top-row{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px}
  #audio-bar .audio-info{grid-column:1/-1}
  #audio-bar .audio-info>div{display:flex;align-items:center;gap:10px}
  #audio-bar #audio-label{flex:1;min-width:0;font-size:14px;line-height:1.5}
  #audio-bar #audio-status,#audio-bar .sentence-counter>span{display:none}
  #audio-bar .player-caption{flex:0 0 auto;margin:0}
  #audio-bar .sentence-counter{padding:2px 6px}
  #audio-bar .playback-controls{grid-column:1;justify-content:center;gap:16px}
  #audio-bar .playback-controls button{min-width:48px;min-height:48px;padding:6px}
  #audio-bar .playback-controls button span{display:none}
  #audio-bar .playback-controls .play-button{flex-basis:48px;width:48px;height:48px;min-width:48px;min-height:48px;font-size:22px}
  #audio-bar #player-options-toggle{display:flex;align-items:center;justify-content:center;gap:3px;grid-column:2;grid-row:2;min-height:44px;padding:8px 6px;border:0;border-radius:8px;background:var(--soft);color:var(--pine);font-size:14px}
  #audio-bar #player-options-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
  #audio-bar:not([data-expanded=true]) .audio-options,#audio-bar:not([data-expanded=true]) .player-bottom-row{display:none}
  #audio-bar .audio-options{grid-column:1/-1;justify-content:flex-start;gap:8px;border-top:1px solid var(--line);padding-top:10px;margin-top:5px}
  #audio-bar .player-speed label{display:none}
  #audio-bar #speed{width:76px}
  #audio-bar #repeat,#audio-bar .player-auto-next{padding-inline:10px}
  #audio-bar .player-bottom-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:10px;padding-top:10px}
  #audio-bar .player-levels{grid-column:1;grid-row:1;gap:6px}
  #audio-bar .player-levels>span{font-size:13px}
  #audio-bar .player-levels .segmented{flex:1;max-width:260px}
  #audio-bar .player-levels button{min-width:0;padding-inline:7px}
  #audio-bar #open-settings{grid-column:2;grid-row:1;padding-inline:10px}
  #audio-bar .player-lesson-nav{grid-column:1/-1;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  #audio-bar .player-lesson-nav button{padding-inline:5px;white-space:normal;word-break:keep-all}
  #audio-bar .next-countdown{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:8px 10px;margin-bottom:8px;font-size:13px}
  #audio-bar .next-countdown>div{min-width:0}
  #audio-bar #countdown-title{display:none}
  #audio-bar .next-countdown button{min-height:44px;padding:6px 8px;font-size:13px}
  .reading-main .sentence{scroll-margin-block:16px;margin-inline:0;padding:16px 14px}
  .reading-main .sentence .en,.reading-main .sentence .ko,.reading-main .sentence-ipa{overflow-wrap:anywhere}
  .reading-main .sentence .ko{line-height:1.65}
  .reader-settings{flex-wrap:wrap}
}
@media(max-width:380px){#audio-bar{padding-inline:10px}#audio-bar .playback-controls{gap:8px}#audio-bar .player-levels>span{display:none}#audio-bar .player-bottom-row{gap:8px}}

.reading-title{background:var(--soft,#edf4ef);border-radius:16px;outline:2px solid var(--pine,#145442);outline-offset:8px;transition:background .2s}
#lesson-title{margin-top:18px}#lesson-title h2{margin:0}#play-title{position:relative;display:block;width:100%;padding:28px 0 0;border:0;border-radius:12px;background:transparent;text-align:start;color:inherit;cursor:pointer}#play-title #article-title,#play-title .article-title-en{display:block}#play-title .article-title-en{margin:0;font:650 clamp(25px,2.25vw,35px)/1.5 var(--sans);letter-spacing:-.6px;color:var(--reading-ink)}#play-title #article-title{margin-top:12px;font:400 18px/1.7 var(--sans);letter-spacing:0;color:var(--reading-ink)}.title-play-icon{position:absolute;top:0;right:3px;font:400 14px/1.5 var(--sans);color:var(--pine)}#play-title:focus-visible{outline:3px solid #487cba;outline-offset:8px}
#audio-bar .player-study-options{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;max-width:1380px;margin:10px auto 0;padding-top:10px;border-top:1px solid var(--line)}
#audio-bar .reader-settings{display:flex;flex-wrap:wrap;gap:14px;margin:0;padding:0;border:0}#audio-bar .reader-settings label{display:inline-flex;align-items:center;gap:7px;min-height:44px;font-size:13px;white-space:nowrap}#audio-bar .reader-settings input{width:18px;height:18px;margin:0;accent-color:#145442}
#audio-bar .article-save-row{display:flex;align-items:center;gap:8px;margin:0 0 0 auto}#audio-bar .article-save-row button{min-height:44px;font-size:13px;padding:8px 12px;white-space:nowrap}#audio-bar .pronunciation-style{margin:0;font-size:13px}#audio-bar .pronunciation-style select{min-height:44px;max-width:180px;font-size:13px}
@media(min-width:961px){.vocabulary-panel{max-height:calc(100dvh - var(--audio-bar-height,180px) - 16px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-bottom:20px}}
@media(max-width:760px){#audio-bar:not([data-expanded=true]) .player-study-options{display:none}#audio-bar .player-study-options{gap:8px;margin-top:10px;padding-top:10px}#audio-bar .reader-settings{width:100%;gap:12px}#audio-bar .article-save-row{margin:0;width:100%}#audio-bar .article-save-row button{flex:1}#audio-bar .pronunciation-style{width:100%}#play-title #article-title{font-size:16px}}

#audio-bar .playback-controls .player-lesson-skip{min-width:64px}#audio-bar .player-lesson-skip svg{width:24px;height:24px}
@media(max-width:760px){#audio-bar .playback-controls{gap:4px}#audio-bar .playback-controls button,#audio-bar .playback-controls .player-lesson-skip{flex:0 0 44px;min-width:44px;width:44px;padding:4px}#audio-bar .playback-controls .play-button{flex-basis:48px;min-width:48px;width:48px}#audio-bar .player-lesson-nav{grid-template-columns:1fr}}
@media(max-width:380px){#audio-bar .player-top-row{column-gap:4px}#audio-bar .playback-controls{gap:2px}#audio-bar #player-options-toggle{font-size:12px;gap:1px;padding-inline:4px;min-width:52px}#audio-bar #player-options-toggle svg{width:12px}}

#audio-bar .player-listening-mode{display:inline-flex;align-items:center;margin:0;min-width:0;max-width:156px}
#audio-bar #listening-mode{width:100%;min-width:0;min-height:44px;padding:8px 25px 8px 10px;border:1px solid var(--line,#dbe4df);border-radius:10px;background:var(--soft,#edf4ef);color:var(--pine,#145442);font:600 13px/1.4 var(--sans);text-overflow:ellipsis}
@media(max-width:760px){#audio-bar .player-listening-mode{max-width:136px}#audio-bar .player-caption{gap:6px}#audio-bar #listening-mode{font-size:12px;padding-inline:8px 20px}}
@media(max-width:380px){#audio-bar .player-listening-mode{max-width:124px}#audio-bar .audio-info>div{gap:6px}}

/* Keep listening primary; reveal secondary controls on demand on every screen. */
#audio-bar:not([data-expanded=true]) :is(#player-audio-options,#player-lesson-options,#player-study-options){display:none}
#audio-bar :is(.player-top-row,.player-bottom-row,.player-study-options,.player-progress,.player-learning-order,.next-countdown){max-width:1120px;margin-inline:auto}
#audio-bar #player-options-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid var(--line,#dbe4df);border-radius:12px;background:var(--surface,#fff);color:var(--pine,#145442);font-size:14px;white-space:nowrap}
#audio-bar #player-options-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
#audio-bar .playback-seek-location:empty{display:none}
@media(min-width:761px){
  #audio-bar{padding:12px max(24px,3vw) max(16px,env(safe-area-inset-bottom));box-shadow:0 -8px 32px #183e340a}
  #audio-bar .player-top-row{grid-template-columns:minmax(220px,1fr) auto minmax(120px,1fr);gap:12px 24px}
  #audio-bar .audio-info>div{display:block}
  #audio-bar #audio-label{font-size:16px;font-weight:650}
  #audio-bar #audio-status{font-size:13px;margin-top:2px}
  #audio-bar .player-caption{margin-top:6px;gap:8px}
  #audio-bar .playback-controls{gap:10px}
  #audio-bar .playback-controls button,#audio-bar .playback-controls .player-lesson-skip{min-width:44px;width:44px;min-height:48px;padding:6px}
  #audio-bar .playback-controls button span{display:none}
  #audio-bar .playback-controls .play-button{width:56px;height:56px;min-width:56px;min-height:56px;flex-basis:56px;margin-inline:8px;font-size:24px}
  #audio-bar #player-options-toggle{justify-self:end;grid-column:3;grid-row:1}
  #audio-bar .audio-options{grid-column:1/-1;justify-content:flex-start;padding-top:16px;margin-top:4px;border-top:1px solid var(--line,#dbe4df)}
  #audio-bar .player-bottom-row{justify-content:flex-start;flex-wrap:wrap}
  #audio-bar .player-lesson-nav{flex:0 0 auto;margin-inline-start:auto}
  #audio-bar .player-study-options{padding-block:12px 2px}
  #audio-bar .reader-settings label,#audio-bar .pronunciation-style,#audio-bar .article-save-row button{font-size:14px}
}
@media(min-width:761px) and (max-width:900px){#audio-bar .player-top-row{grid-template-columns:minmax(180px,1fr) auto auto;gap:12px}#audio-bar .playback-controls{gap:2px}}
@media(max-width:760px){#audio-bar #player-options-toggle{gap:4px;padding:8px;font-size:14px}#audio-bar .player-top-row{row-gap:10px}}
@media(max-width:380px){#audio-bar #player-options-toggle{font-size:12px;gap:1px;padding-inline:4px}}

/* One aligned settings toolbar instead of two separated rows. */
@media(min-width:1100px){
 #audio-bar[data-expanded=true] .player-secondary-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;max-width:1120px;margin:12px auto 0;padding-top:12px;border-top:1px solid var(--line,#dbe4df)}
 #audio-bar[data-expanded=true] .player-secondary-controls :is(.player-bottom-row,.player-study-options){display:contents}
 #audio-bar .player-secondary-controls .player-levels{gap:8px;flex:0 0 auto}
 #audio-bar .player-secondary-controls .player-levels button{min-width:46px;padding-inline:10px}
 #audio-bar .player-secondary-controls .player-lesson-nav{flex:0 0 auto;margin:0}
 #audio-bar .player-secondary-controls .reader-settings{gap:10px;flex:0 0 auto}
 #audio-bar .player-secondary-controls .reader-settings label{font-size:13px}
 #audio-bar .player-secondary-controls .pronunciation-style{gap:8px;font-size:13px;white-space:nowrap}
 #audio-bar .player-secondary-controls .pronunciation-style select{max-width:130px}
 #audio-bar .player-secondary-controls .article-save-row{margin-inline-start:auto;gap:6px}
 #audio-bar .player-secondary-controls .article-save-row button{padding-inline:8px;font-size:13px}
}
@media(min-width:1100px){#audio-bar .player-secondary-controls .player-lesson-nav{width:auto;max-width:none}}

#audio-bar #player-voice-select{min-height:40px;border:1px solid var(--line,#dbe4df);border-radius:9px;background:var(--surface,#fff);color:var(--ink,#174b40);font:inherit;font-weight:600;padding:6px 22px 6px 10px;max-width:145px}
#audio-bar .player-caption{flex-wrap:wrap}

/* library-categories.css */
#library-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0 28px}
.category-filter-row{display:flex;justify-content:flex-end;margin-top:18px}.category-filter-row button{min-height:44px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--pine);font-size:14px;padding:8px 15px}.category-filter-row button:before{content:'☆';margin-right:7px;font-size:19px}.category-filter-row [aria-pressed=true]{background:var(--pine);color:#fff;border-color:var(--pine)}.category-filter-row [aria-pressed=true]:before{content:'★'}.category-bookmark-empty{text-align:center;padding:28px 16px;color:var(--muted);font-size:15px}
.learning-category-card{position:relative;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:12px;box-shadow:0 4px 12px #123e3506}
.learning-category-card.is-favorite{border-color:#d1b856}.learning-category-card.is-open{outline:2px solid var(--pine);outline-offset:2px}
.category-tools .category-grip{cursor:grab;background:transparent;touch-action:none;color:var(--muted);min-width:44px;min-height:44px}.category-grip:active{cursor:grabbing}.learning-category-card img{user-select:none;-webkit-user-drag:none}.learning-category-card.is-dragging{opacity:.35}.learning-category-card.drop-before,.learning-category-card.drop-after{outline:3px solid var(--pine);outline-offset:3px;background:var(--soft)}.category-drag-ghost{position:fixed!important;z-index:10000;pointer-events:none;opacity:.92;transform:rotate(2deg);box-shadow:0 16px 42px #123e3530}.category-drag-ghost .category-open{cursor:grabbing}
.category-tools{display:flex;justify-content:flex-end;gap:5px}.category-tools button{width:40px;min-height:40px;display:grid;place-items:center;padding:0;border:0;border-radius:10px;background:var(--soft);color:var(--pine);font-size:20px}.category-tools button:first-child{margin-right:auto;font-size:26px}.category-tools [aria-pressed=true]{color:#8a6700;background:#fff3bd}.category-tools button:disabled{opacity:.25}
.category-open{display:flex;flex-direction:column;align-items:center;width:100%;min-height:270px;padding:6px 10px 16px;background:transparent;border:0;text-align:center;border-radius:14px;color:var(--ink)}
.category-art-wrap{position:relative;display:block;flex:0 0 auto;width:clamp(100px,12vw,160px);height:clamp(100px,12vw,160px);border-radius:18px}
.category-art-wrap img{display:block;width:100%;height:100%;object-fit:contain;border-radius:18px}
.category-open h2{font-size:22px;line-height:1.35;margin:12px 0 6px;word-break:keep-all}.category-open p{font-size:14px;line-height:1.6;margin:0;color:var(--muted);word-break:keep-all;overflow-wrap:break-word}
.category-counts{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:13px}.category-counts>span{padding:4px 8px;border-radius:8px;background:var(--soft)}
.category-panel>summary{display:none!important}.category-panel{border-radius:20px;scroll-margin-top:14px}.category-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line)}.category-panel-heading h2{font-size:21px;margin:0}.category-panel-heading button{min-height:44px;padding:8px 14px;background:var(--soft);color:var(--pine);border:1px solid var(--line);border-radius:10px}
@media(max-width:760px){#library-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.learning-category-card{padding:8px;border-radius:17px}.category-tools{gap:2px}.category-tools button{width:36px;min-height:40px}.category-open{min-height:224px;padding:3px 4px 12px}.category-open h2{font-size:18px}.category-art-wrap{width:108px;height:108px}.category-open p{font-size:13px}.category-counts{gap:4px;font-size:12px}.category-counts>span{padding:3px 5px}.category-panel-heading{padding:14px 16px}}
@media(max-width:350px){#library-categories{gap:8px}.category-tools button{width:32px}.category-art-wrap{width:94px;height:94px}.category-open h2{font-size:16px}.category-open p{font-size:12px}}
.category-filter-row{align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:12px}
.category-filter-row .registration-toolbar{flex:1;margin:0;padding:0;border:0;border-radius:0;background:transparent;gap:8px}
.category-filter-row .registration-toolbar button{min-height:44px;margin:0;white-space:nowrap}
.category-filter-row .registration-toolbar button::before{content:none}
.category-filter-row .category-bookmark-filter{margin-left:auto;white-space:nowrap}
.library-result-line{display:flex;justify-content:space-between;gap:8px}
.library-date-note{margin:0;font-size:12px;color:var(--muted)}
.category-filter-row+#registration-custom{margin-top:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
@media(max-width:580px){.category-filter-row{gap:8px}.category-filter-row .registration-toolbar{flex-basis:100%;gap:6px}.category-filter-row .registration-toolbar button{padding:8px 10px;font-size:13px}.category-filter-row .category-bookmark-filter{font-size:13px}.library-date-note{font-size:11px}}
.word-theme-picker{padding:18px 22px 4px}.word-theme-picker h3{margin:0 0 12px;font-size:15px;font-weight:650;color:var(--ink)}
.word-theme-options{display:flex;flex-wrap:wrap;gap:8px}.word-theme-options button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:9px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--pine);font:600 14px/1.4 var(--sans)}
.word-theme-options button[aria-pressed=true]{background:var(--pine);color:var(--surface);border-color:var(--pine)}.word-theme-options button:disabled{opacity:.45;cursor:default}.word-theme-count{font-size:12px;font-variant-numeric:tabular-nums;opacity:.8}
.word-theme-options button>span:first-child{min-width:0;word-break:keep-all;overflow-wrap:anywhere}.word-theme-count{flex-shrink:0}
@media(max-width:560px){.word-theme-picker{padding:16px 14px 2px}.word-theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.word-theme-options button{gap:6px;padding:9px 10px;font-size:13px}}

.news-order-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:4px 22px 18px}.news-order-toolbar label{font-size:14px;font-weight:600}.news-order-toolbar select{min-height:44px;max-width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit}.news-order-toolbar span{font-size:12px;color:var(--muted)}
@media(max-width:560px){.news-order-toolbar{padding:4px 14px 16px}.news-order-toolbar span{flex-basis:100%}}

.bible-learning-note{margin:18px 22px 0;padding:14px 16px;border:1px solid #d8e5c5;border-radius:12px;background:#f4f8ed;color:var(--ink)}.bible-learning-note strong{font-size:14px}.bible-learning-note p{margin:5px 0 0;font-size:13px;line-height:1.6;color:var(--muted)}@media(max-width:560px){.bible-learning-note{margin:14px 14px 0;padding:12px 14px}}

/* learning-progress.css */
.learning-progress{margin:22px 0 28px;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.learning-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.learning-progress h2{font-size:18px;margin:0}.progress-scopes{display:flex;gap:4px;background:var(--soft);padding:4px;border-radius:12px}.progress-scopes button{border:0;border-radius:9px;min-height:44px;padding:8px 14px;background:transparent;color:var(--muted);font-size:14px}.progress-scopes [aria-pressed=true]{background:var(--pine);color:white}.progress-overview{display:flex;gap:24px;align-items:center;margin:22px 0 12px}.progress-ring{flex:0 0 96px;width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--pine) var(--progress,0%),var(--soft) 0);position:relative}.progress-ring:before{content:'';position:absolute;inset:8px;border-radius:50%;background:var(--surface)}.progress-ring strong{z-index:1;font-size:23px;font-variant-numeric:tabular-nums}.progress-figures{min-width:0;flex:1}.progress-figures>strong{display:block;font-size:clamp(22px,3vw,30px);line-height:1.35;color:var(--pine)}.progress-figures p{margin:10px 0 0;display:flex;flex-wrap:wrap;gap:10px 20px;font-size:15px;color:var(--muted)}.progress-figures p b{color:var(--ink)}.progress-note{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.7}.learning-progress>progress{width:100%;height:6px;display:block;accent-color:var(--pine)}#audio-bar .player-progress{display:block;max-width:1380px;width:100%;min-height:0;margin:0 auto 8px;padding:0 0 4px;background:transparent;color:var(--pine);border:0;border-radius:0;text-align:start}.player-progress>span{display:flex;justify-content:space-between;gap:8px;font-size:13px;line-height:1.5}.player-progress progress{display:block;width:100%;height:3px;margin-top:3px;accent-color:var(--pine)}.player-progress [data-mini-value]{font-weight:600;font-variant-numeric:tabular-nums}.player-progress:focus-visible{outline:3px solid #487cba;outline-offset:2px}@media(max-width:600px){.learning-progress{padding:16px}.learning-progress-head{align-items:stretch}.progress-scopes{width:100%}.progress-scopes button{flex:1;padding-inline:8px}.progress-overview{gap:16px;margin-top:18px}.progress-ring{flex-basis:76px;width:76px;height:76px}.progress-ring strong{font-size:20px}.progress-figures p{font-size:14px;gap:6px 12px}.player-progress [data-mini-label]{display:none}.player-progress>span{justify-content:center}#audio-bar .player-progress{margin-bottom:4px}}@media(prefers-reduced-motion:reduce){.progress-ring{transition:none}}

@media(max-width:600px){#collections-view .collection-heading{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;margin-bottom:12px}#collections-view .collection-heading p,#collections-view .collection-heading .eyebrow{display:none}#collections-view .collection-heading h1{font-size:24px;margin:0}#collections-view .collection-heading button{white-space:nowrap;min-height:44px;font-size:13px;padding-inline:10px}}

#audio-bar .player-progress{margin-bottom:10px;padding:0;min-width:0}
.player-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;font-size:12px;line-height:1.5}
#audio-bar [data-mini-open]{border:0;background:none;color:var(--muted);font-size:12px;padding:0;min-height:28px;min-width:0;text-align:start}
#audio-bar [data-mini-open]:hover{color:var(--pine);text-decoration:underline}
.player-progress [data-mini-value]{color:var(--muted);text-align:end;font-size:12px}
.playback-seek-row{display:flex;align-items:center;gap:12px;min-width:0;font-size:12px;font-variant-numeric:tabular-nums}
.playback-seek-row>span{flex:0 0 auto;color:var(--pine);white-space:nowrap;unicode-bidi:isolate}
#audio-bar [data-playback-seek]{appearance:none;-webkit-appearance:none;display:block;flex:1;min-width:0;width:100%;height:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:0;cursor:pointer;touch-action:pan-y;background:transparent;accent-color:var(--pine);direction:ltr}
[data-playback-seek]::-webkit-slider-runnable-track{height:5px;border-radius:99px;background:linear-gradient(to right,var(--pine) var(--seek,0%),var(--soft) var(--seek,0%))}
[data-playback-seek]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;margin-top:-5.5px;border:3px solid var(--surface);border-radius:50%;background:var(--pine);box-shadow:0 0 0 1px #14544255,0 2px 5px #14544222}
[data-playback-seek]::-moz-range-track{height:5px;border-radius:99px;background:var(--soft)}
[data-playback-seek]::-moz-range-progress{height:5px;border-radius:99px;background:var(--pine)}
[data-playback-seek]::-moz-range-thumb{width:11px;height:11px;border:3px solid var(--surface);border-radius:50%;background:var(--pine);box-shadow:0 0 0 1px #14544255}
.playback-seek-location{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:16px;font-size:11px;color:var(--muted);line-height:16px;unicode-bidi:plaintext;margin-top:-4px}
@media(max-width:600px){#audio-bar .player-progress{margin-bottom:6px}.player-progress-heading{justify-content:flex-end}.player-progress-heading [data-mini-open]{display:none}.player-progress [data-mini-value]{font-size:11px}.playback-seek-row{gap:9px;font-size:11px}.playback-seek-location{font-size:10px}}

/* lesson-guide.css */
.lesson-guide{margin:24px 0 22px;padding-top:22px;border-top:1px solid var(--line);font-size:calc(1rem * var(--reading-scale,1));line-height:1.85;color:var(--ink);word-break:keep-all;overflow-wrap:anywhere}
.lesson-guide[hidden]{display:none}
.lesson-guide-title{margin:0 0 12px;font-size:1.2em;font-weight:700;line-height:1.55;letter-spacing:-.025em}
.lesson-guide-introduction{margin:10px 0;color:var(--muted)}
.lesson-guide-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.lesson-guide-section{min-width:0;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.lesson-guide-section h4{margin:0 0 12px;font-size:1em;line-height:1.6}
.lesson-guide-formula{margin:0 0 12px;padding:10px 12px;border-radius:9px;background:var(--soft);color:var(--pine);font-size:1.05em;font-weight:650;line-height:1.65}
.lesson-guide-explanation{margin:0;color:var(--muted)}
.lesson-guide-example{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.lesson-guide-example p{margin:0}
.lesson-guide-example-target{font-weight:600;line-height:1.65}
.lesson-guide-example .lesson-guide-example-meaning{margin-top:6px;color:var(--muted)}
.lesson-guide-note{margin-top:18px;padding:16px 18px;border-inline-start:3px solid var(--pine);background:var(--soft);border-radius:0 12px 12px 0}
.lesson-guide-note strong{font-weight:650}
.lesson-guide-note p{margin:5px 0 0;color:var(--muted)}
.lesson-guide-practice{margin:22px 0 0;color:var(--pine);font-weight:600}
@media(max-width:760px){.lesson-guide-sections{grid-template-columns:minmax(0,1fr);gap:12px}.lesson-guide-section{padding:17px}.lesson-guide{margin-top:20px;padding-top:20px}.lesson-guide-title{font-size:1.15em}}

/* home-simple.css */
/* Keep the PineLingo palette; give the learning catalogue room to lead. */
.home-language-settings,.home-library-settings{border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink)}
.home-language-settings{position:relative;margin-left:auto}
.site-header .brand{order:0;margin-right:auto}
.site-header .home-language-settings{order:1}
.site-header .profile-menu{order:2}
.site-header nav{order:3}
.home-language-settings>summary,.home-library-settings>summary{cursor:pointer;padding:12px 16px;font-size:1rem;min-height:44px;list-style:revert}
.home-language-settings .language-pair{margin:0;padding:16px;max-width:100%;flex-wrap:wrap}
.home-language-settings[open]{flex-basis:100%;order:5}
.home-language-settings[open] .language-pair{justify-content:flex-start}
.home-library-settings{margin:16px 0}
.home-library-settings .library-control-panel{margin:0;border:0;box-shadow:none}
.library-heading h1{font-size:clamp(1.75rem,4vw,2.5rem);letter-spacing:-.04em}
.library-heading .eyebrow{display:none}
.library-heading p{font-size:1rem;line-height:1.7}
.lesson-group{border-radius:18px;box-shadow:none}
.lesson-group>summary{padding-block:22px}
.connection-location{font-size:.875rem}
@media(max-width:680px){.home-language-settings{margin-left:0}.home-language-settings .language-pair{display:grid;grid-template-columns:1fr;gap:12px}.home-language-settings .language-arrow{display:none}.home-language-settings .site-language{width:100%}.home-language-settings select{max-width:100%}}

/* Explicit header rows keep the disclosure, account and brand together. */
.site-header{grid-template-columns:minmax(0,1fr) auto auto;row-gap:12px}
.site-header .brand{grid-column:1;grid-row:1;justify-self:start;margin:0}
.site-header .profile-menu{grid-column:3;grid-row:1;justify-self:end}
.site-header .home-language-settings{grid-column:2;grid-row:1;justify-self:end;margin:0;min-width:0}
.site-header .home-language-settings[open]{grid-column:1/-1;grid-row:2;justify-self:stretch;width:100%;max-width:960px;margin-inline:auto}
.site-header .home-language-settings .language-pair{grid-column:auto;grid-row:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto minmax(0,1fr);width:100%;padding:0 16px 12px;gap:8px;align-items:center}
.site-header .home-language-settings .site-language{width:100%;min-width:0;margin:0;align-self:stretch}
.site-header .home-language-settings .interface-language{background:var(--surface);border:1px solid var(--line)}
.site-header .home-language-settings .site-language>span{white-space:nowrap}
.site-header .home-language-settings select{min-height:44px;text-overflow:ellipsis}
.site-header .home-language-settings .language-arrow{padding:0;align-self:center}
.site-header .home-language-settings .language-pair-readiness{grid-column:1/-1;min-width:0;text-align:start;font-size:13px;line-height:1.6;word-break:keep-all;overflow-wrap:break-word}
.site-header .home-language-settings .language-pair-readiness-details{grid-column:1/-1}
.site-header .home-language-settings .language-pair-readiness-details>summary{padding:8px 0}
.site-header nav.learning-steps{grid-row:3;margin-top:0}
@media(max-width:600px){
 .site-header{grid-template-columns:minmax(0,1fr) auto;gap:10px}
 .site-header .brand{grid-column:1;max-width:none}
 .site-header .profile-menu{grid-column:2}
 .site-header .home-language-settings{grid-column:1/-1;grid-row:2;justify-self:stretch}
 .site-header .home-language-settings[open]{grid-row:2}
 .site-header .home-language-settings .language-pair{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding-inline:12px}
 .site-header .home-language-settings .interface-language{grid-column:1/-1}
 .site-header .home-language-settings label[for="target-language"]{grid-column:3}
 .site-header .home-language-settings .language-arrow{display:block}
 .site-header .home-language-settings .site-language{padding-inline-start:8px}
}

/* design-tokens.css */
/* Shared PineLingo tokens: suitable for the future game/app shell. */
:root{--paper:#f7f8f1;--surface:#fff;--pine:#155943;--pine-dark:#103f32;--accent:#d7ef82;--ink:#1d342c;--muted:#566960;--line:#d6e2dc;--soft:#edf4f0;--active:#e1efd9}
:root[data-theme=dark]{--paper:#101c18;--surface:#182a22;--pine:#b6dfbf;--pine-dark:#103f32;--ink:#e6eeea;--muted:#b2c5bd;--line:#3b5149;--soft:#253a31;--active:#284634}

/* redesign.css */
/* PineLingo: a compact learning desk. Existing reading themes remain available. */
body{padding-bottom:48px;background:var(--paper)}
body:has(.audio-bar:not([hidden])),body:has(.wordbook-study-bar:not([hidden])){padding-bottom:230px}
.site-header{max-width:1280px;margin:auto;padding:22px 40px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;background:transparent;border:0;box-shadow:none}
.site-header .brand{grid-column:1;grid-row:1}.site-header .profile-menu{grid-column:2;grid-row:1;border:1px solid var(--line);border-radius:50px;background:var(--surface);min-height:44px;padding:8px 18px}
.brand-mark{width:48px;height:48px;object-fit:contain}.brand-wordmark{font-size:1.7rem!important}.brand-credit{font-size:.75rem!important}
.site-header nav.learning-steps{grid-column:1/-1;grid-row:2;display:flex;width:100%;justify-content:space-between;gap:12px;margin:0;padding:0 0 12px;border-bottom:1px solid var(--line)}
.nav-main,.nav-saved{display:flex;gap:6px}.nav-button{border-radius:10px;min-height:44px;padding:10px 16px;font-size:.9375rem}.nav-button.active{background:var(--pine);color:var(--surface)}
.site-header .home-language-settings,.site-header .home-language-settings[open]{grid-column:1/-1;grid-row:3;justify-self:stretch;width:100%;max-width:none;margin:0;border:0;background:transparent}
.home-language-settings>summary{padding:0 0 8px;font-weight:700;min-height:32px;font-size:.875rem}
.site-header .home-language-settings .language-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(0,.8fr);gap:10px;padding:0;width:100%;max-width:none}
.site-header .home-language-settings .site-language{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:8px 12px;display:flex;align-items:center;gap:8px;min-width:0;margin:0}
.site-header .home-language-settings .interface-language{grid-column:4;grid-row:1;background:transparent}.site-header label[for=site-language]{grid-column:1;grid-row:1}.site-header label[for=target-language]{grid-column:3;grid-row:1}.site-header .language-arrow{grid-column:2;grid-row:1}
.site-language>span{font-size:.875rem;color:var(--muted);flex-shrink:0}.site-header .home-language-settings select{border:0;background:transparent;min-width:0;width:100%;min-height:44px;font-size:1rem}.language-search-trigger{min-width:44px;min-height:44px}
.site-header .language-pair-readiness{margin:0;font-size:.875rem!important;line-height:1.6!important}.site-header .language-pair-readiness-details{margin:0;font-size:.875rem}.site-header .language-pair-readiness-details>summary{min-height:44px;padding:8px 0}
.connection-location{grid-column:1/-1;margin:0;font-size:.875rem}.connection-location:empty{display:none}
.workspace,.workspace:not([data-view=learn]){max-width:1200px;margin:0 auto;background:transparent;border:0}.workspace:not([data-view=learn]) .reading-main{padding:26px 40px 40px;border:0}.reading-main{min-width:0}
.library-heading{margin:0 0 16px;display:flex}.library-heading h1{font-size:1.75rem;letter-spacing:-.04em;margin:0}.library-heading p{margin:6px 0 0;color:var(--muted);font-size:1rem}
.resume-learning{display:grid;grid-template-columns:100px minmax(0,1fr) auto;align-items:center;gap:22px;margin:0 0 28px;padding:26px 28px;background:var(--pine-dark);color:#fff;border:0;border-radius:24px;box-shadow:none}
.resume-character{width:100px;height:100px;object-fit:contain;filter:drop-shadow(0 7px 12px #0002)}.resume-copy{min-width:0}.resume-title{font-size:1.5rem;font-weight:700;margin:0 0 8px;color:#fff}.resume-detail{font-size:1rem;line-height:1.6;margin:0 0 6px;overflow-wrap:anywhere;color:#fff}.resume-copy small{font-size:.875rem;line-height:1.6;color:#d3e8dd}.resume-actions{display:flex;flex-direction:column;gap:8px;min-width:166px}.resume-actions .primary-button{background:var(--accent);color:#183d2c;border:0;border-radius:12px;min-height:50px;font-weight:700;font-size:1rem}.resume-actions .text-button{color:#fff;min-height:44px}.resume-actions button:disabled{opacity:1;background:#ffffff18;color:#d3e8dd;border:1px solid #ffffff35}
.home-library-settings{margin:12px 0;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.home-library-settings>summary{padding:12px 16px;font-size:.9375rem}.library-result-line{font-size:.875rem;margin:12px 0;line-height:1.6}
#library-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 26px}
.learning-category-card{padding:12px;border-radius:18px;box-shadow:none;overflow:hidden}.category-tools{gap:0}.category-tools button{width:44px;min-height:44px;background:transparent}.category-tools button:first-child{font-size:1.5rem}.category-grip{opacity:.6}
.category-open{display:grid;grid-template-columns:84px minmax(0,1fr);grid-template-rows:auto auto auto;align-items:center;text-align:start;min-height:126px;padding:0 4px 10px;gap:3px 12px;width:100%}
.category-art-wrap{grid-column:1;grid-row:1/4;width:84px;height:100px}.category-art-wrap img{border-radius:12px}.category-open h2{font-size:1.1875rem;line-height:1.45;margin:0;word-break:keep-all}.category-open p{font-size:.875rem;line-height:1.6;margin:0}.category-counts{justify-content:flex-start;margin:6px 0 0;font-size:.875rem;gap:4px}.category-counts .lesson-today,.category-counts .lesson-week{display:none}.category-counts>span{padding:3px 6px}
.learning-category-card:has([aria-controls=conversation-lessons]),.learning-category-card:has([aria-controls=news-lessons]),.learning-category-card:has([aria-controls=bible-lessons]){border-top:4px solid var(--pine)}
.category-panel-heading{padding:16px 20px}.category-panel-heading h2{font-size:1.25rem}.category-panel-heading button{font-size:.9375rem}.lesson-group{border-radius:18px;box-shadow:none}.category-panel{scroll-margin-top:16px}
.beginner-path,.bible-path{margin:20px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.beginner-path h3,.bible-path h3{margin:0 0 12px;font-size:1.125rem}.beginner-path>p,.bible-path>p{font-size:.875rem;line-height:1.7;margin:10px 0 0;color:var(--muted)}
.beginner-path ol,.bible-path ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.beginner-path li,.bible-path li{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:.9375rem;line-height:1.6}.beginner-path li>span,.bible-path li>span{display:block;font-size:.875rem;color:var(--muted);margin:4px 0 0}.beginner-path li>b{color:var(--pine);display:block;font-size:.875rem;margin-bottom:4px}.beginner-path button{border:0;background:transparent;color:var(--pine);padding:8px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px;text-align:start;font-size:.9375rem}
.lesson-grid{gap:12px}.library-card{border-radius:14px;box-shadow:none;padding:20px;min-height:0}.library-card h2{font-size:1.125rem;line-height:1.6}.library-card p{font-size:.9375rem;line-height:1.7}.library-card button{min-height:44px;font-size:.9375rem}
.workspace[data-view=learn]{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;padding:26px 40px}.workspace[data-view=learn] .reading-main{padding:24px 28px;background:var(--surface);border:1px solid var(--line);border-radius:20px}.vocabulary-panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px;height:fit-content;position:sticky;top:20px}
.reader-path{font-size:.9375rem;margin:0 0 20px;flex-wrap:wrap}.reader-path button{min-height:44px;font-size:.9375rem}.reader-top h2{font-size:1.75rem;line-height:1.6}.reading-tip{font-size:.875rem;line-height:1.7}.sentence{border-radius:12px;margin-block:8px}.sentence .en{line-height:1.8}.sentence .ko{line-height:1.8}.sentence.active{background:var(--active)}
.audio-bar,.wordbook-study-bar{border-radius:18px 18px 0 0;border-top:1px solid var(--line);box-shadow:0 -8px 32px #103f3214}.audio-bar #audio-status,.wordbook-player-mode{font-size:.875rem!important;line-height:1.6}.audio-info strong{font-size:1rem!important}.audio-info span{font-size:.875rem!important}.playback-controls button{min-width:44px;min-height:44px}.playback-controls button span{font-size:.875rem!important}.audio-bar .play-button{width:56px;height:56px;background:var(--accent);color:#183d2c}.player-learning-order{font-size:.875rem}.review-section,.quiz-section{margin-top:28px}.review-intro,.wordbook-note,.profile-note{font-size:.875rem;line-height:1.7}.wordbook-card,.profile-panel{border-radius:16px;box-shadow:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #387cc8;outline-offset:3px}dialog{border-radius:20px}dialog button{min-height:44px}
.site-header nav.learning-steps{max-width:none;padding-top:0;min-height:44px;flex-wrap:nowrap}
.site-header .learning-steps .nav-main,.site-header .learning-steps .nav-saved{width:auto;flex:0 1 auto}
.site-header .learning-steps .nav-button{min-height:44px;font-size:.9375rem;padding:8px 12px;border-radius:10px;border:0}
.site-header .learning-steps .nav-button.active{background:var(--pine);color:var(--surface)}
@media(max-width:600px){.site-header nav.learning-steps{gap:0}.site-header .learning-steps .nav-main,.site-header .learning-steps .nav-saved{flex:1 1 50%;gap:0}.site-header .learning-steps .nav-button{font-size:.875rem;padding:8px 4px;gap:2px}.site-header .learning-steps .nav-count{font-size:.75rem}.site-header .profile-menu span{display:inline}.site-header .profile-menu{padding:8px 12px}.site-header .language-pair-readiness-details>summary{min-height:32px;padding:4px 0}}
@media(max-width:999px){.site-header{padding:20px 24px 0}.workspace:not([data-view=learn]) .reading-main{padding:24px}.workspace[data-view=learn]{grid-template-columns:1fr;padding:24px}.vocabulary-panel{display:none}.category-open{display:flex;flex-direction:column;text-align:center;min-height:200px;padding:0 4px 10px}.category-art-wrap{width:88px;height:88px}.category-counts{justify-content:center}.category-open h2{font-size:1.125rem}.beginner-path ol,.bible-path ul{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-learning{grid-template-columns:80px minmax(0,1fr);gap:16px;padding:22px}.resume-character{width:80px;height:80px}.resume-actions{grid-column:2;flex-direction:row;flex-wrap:wrap}.resume-title{font-size:1.375rem}.site-header .home-language-settings .language-pair{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.site-header .home-language-settings .interface-language{grid-column:1/-1;grid-row:2}.site-header .home-language-settings .interface-language select{max-width:220px}}
@media(max-width:600px){.site-header{padding:16px 18px 0;gap:12px}.site-header nav.learning-steps{flex-wrap:wrap;gap:6px;grid-row:2;padding-bottom:10px}.nav-button{padding:8px 10px;font-size:.875rem}.nav-main,.nav-saved{gap:4px}.site-header .home-language-settings,.site-header .home-language-settings[open]{grid-row:3}.site-header .home-language-settings .language-pair{gap:6px}.site-header .home-language-settings .site-language{padding:6px 8px;flex-wrap:wrap;gap:0}.site-header .home-language-settings .site-language>span{width:100%;font-size:.875rem}.site-header .home-language-settings select{width:calc(100% - 44px);font-size:.9375rem}.site-header .home-language-settings .interface-language{flex-direction:row;align-items:center}.site-header .home-language-settings .interface-language>span{width:auto;margin-right:8px}.site-header .home-language-settings .interface-language select{width:auto;flex:1}.workspace:not([data-view=learn]) .reading-main{padding:22px 18px}.library-heading h1{font-size:1.5rem}.library-heading p{font-size:.9375rem}.resume-learning{grid-template-columns:64px minmax(0,1fr);padding:20px 16px;border-radius:18px;gap:12px;margin-bottom:24px}.resume-character{width:64px;height:72px}.resume-title{font-size:1.25rem}.resume-detail{font-size:.9375rem}.resume-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr}.resume-copy small{font-size:.875rem}.category-filter-row{margin-top:8px}.category-filter-row button{font-size:.875rem}#library-categories{grid-template-columns:1fr;gap:10px;margin-top:12px}.learning-category-card{display:grid;grid-template-columns:minmax(0,1fr) 44px;padding:12px}.category-tools{grid-column:2;grid-row:1;flex-direction:column;justify-content:center}.category-open{grid-column:1;grid-row:1;display:grid;grid-template-columns:68px minmax(0,1fr);grid-template-rows:auto auto auto;min-height:104px;text-align:start;gap:4px 10px;padding:4px}.category-art-wrap{width:68px;height:78px;grid-row:1/4}.category-open h2{font-size:1.125rem}.category-counts{justify-content:flex-start;margin:0}.category-open p{font-size:.875rem}.beginner-path,.bible-path{margin:14px;padding:14px}.beginner-path ol,.bible-path ul{grid-template-columns:1fr}.beginner-path li,.bible-path li{padding:10px 12px}.workspace[data-view=learn]{display:block;padding:20px 12px}.workspace[data-view=learn] .reading-main{padding:18px 14px;border-radius:16px}.reader-top h2{font-size:1.5rem}.reader-path{gap:8px}.reader-path span{font-size:.875rem}.audio-bar{padding-inline:12px}.audio-info strong{font-size:.9375rem!important}.player-lesson-skip{display:none!important}.playback-controls{gap:6px}.audio-bar .player-top-row{gap:10px}.wordbook-study-bar{padding-inline:12px}.wordbook-player-options{flex-wrap:wrap}.lesson-grid{grid-template-columns:1fr!important}.library-card{padding:16px}.library-filters,.word-library-filters{grid-template-columns:1fr!important}.library-filters label{grid-column:1!important}.library-filters input,.library-filters select{max-width:100%;width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(max-width:600px){.site-header nav.learning-steps{flex-wrap:nowrap;gap:0;min-height:44px}.site-header .learning-steps .nav-main,.site-header .learning-steps .nav-saved{flex:1 1 50%;width:auto;gap:0}.site-header .learning-steps .nav-button{font-size:.875rem;padding:8px 4px;gap:2px}.site-header .profile-menu span{display:inline!important}.site-header .profile-menu{padding:8px 12px}.site-header .language-pair-readiness-details>summary{min-height:32px;padding:4px 0}.workspace[data-view=learn] .site-header .home-language-settings{display:none}}
@media(max-width:600px){.site-header nav.learning-steps{flex-wrap:wrap}.site-header .learning-steps .nav-main,.site-header .learning-steps .nav-saved{flex:1 1 9rem;min-width:min(100%,9rem)}.learning-steps .nav-label{word-break:normal!important;overflow-wrap:anywhere!important;white-space:normal!important}.site-header .brand{min-width:0}.site-header .brand-copy{min-width:0}.site-header .brand-wordmark{font-size:clamp(24px,8vw,32px)!important}.site-header .brand-credit{white-space:normal!important}}
.learning-journey{margin:18px 0 24px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.learning-journey h2{font-size:1.25rem;margin:0 0 16px}.journey-controls{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.8fr) auto;align-items:end;gap:12px}.learning-journey label{display:grid;gap:6px;font-size:.875rem;color:var(--muted)}.learning-journey select{width:100%;min-width:0;min-height:44px;padding:8px 10px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px}.learning-journey button{min-height:44px;font-size:.875rem}.journey-empty,.journey-storage-note,.journey-recommendations p{font-size:.875rem;line-height:1.7;color:var(--muted)}.journey-list,.journey-recommendations ul{list-style:none;padding:0;margin:16px 0;display:grid;gap:8px}.journey-list{counter-reset:journey}.journey-list li{counter-increment:journey;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--soft);min-width:0}.journey-list li:before{content:counter(journey,decimal-leading-zero);font-size:.875rem;color:var(--pine);flex-shrink:0}.journey-item-copy{flex:1;min-width:0;display:grid;gap:4px}.journey-item-copy strong{font-size:1rem;overflow-wrap:anywhere}.journey-item-copy span{font-size:.875rem;color:var(--muted)}.journey-item-actions{display:flex;gap:4px;flex-wrap:wrap}.journey-item-actions button,.journey-recommendations button{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-width:44px;padding:8px}.journey-recommendations{margin-top:16px;padding:12px;border-radius:12px;background:var(--soft)}.journey-recommendations li{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.9375rem;line-height:1.6}.journey-recommendations li>span{min-width:0;overflow-wrap:anywhere}.journey-recommendations button{flex-shrink:0}.journey-chooser>summary{font-size:.9375rem;min-height:44px;padding:10px 0;cursor:pointer}.journey-chooser[open]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.journey-chooser summary{grid-column:1/-1}.journey-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.journey-footer span{font-size:.875rem;line-height:1.6}.journey-storage-note{margin:12px 0 0}#player-open-reader{min-height:44px;padding:4px 8px;font-size:.875rem;color:inherit}#audio-bar[data-expanded=true]{max-height:min(65dvh,600px);overflow-y:auto}body:has(#audio-bar:not([hidden])){padding-bottom:calc(var(--audio-bar-height,180px) + 36px)}body.library-selecting #audio-bar{bottom:var(--library-bar-height,180px)}body.library-selecting:has(#audio-bar:not([hidden])){padding-bottom:calc(var(--audio-bar-height,180px) + var(--library-bar-height,180px) + 40px)}body.library-selecting:has(#audio-bar:not([hidden])) .toast{bottom:calc(var(--audio-bar-height,180px) + var(--library-bar-height,180px) + 12px)}
@media(max-width:600px){#player-open-reader{min-height:44px!important}#audio-bar[data-expanded=true] .player-lesson-skip{display:flex!important}#audio-bar[data-expanded=true] .playback-controls{display:flex;justify-content:center;grid-column:1/-1;width:100%}}
body[data-view=library] #audio-bar:not([data-expanded=true]) :is(#player-progress,.player-learning-order){display:none!important}
button,select{min-height:44px}button{min-width:44px}:is(.audio-bar,.wordbook-study-bar,#library-selection-bar) :is(button,select){min-height:44px!important}:is(.audio-bar,.wordbook-study-bar) label{min-height:44px}.audio-bar input[type=range]{min-height:44px}:is(.site-header,.learning-journey) summary{min-height:44px!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:#0c6b4e}
.forest-entry{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:-6px 0 20px}.forest-entry>span{font-size:.875rem;line-height:1.6;color:var(--muted)}#forest-mission-dialog{width:min(1000px,calc(100% - 24px));max-height:92dvh;overflow:auto;padding:16px}#forest-mission-dialog .dialog-header{position:sticky;top:-16px;z-index:2;background:var(--surface);padding:10px 0;margin:0}#forest-mission-dialog #forest-mission{min-height:0;max-width:100%;margin:0;padding:16px}#forest-mission-dialog #forest-mission header{display:none}#forest-mission-dialog #forest-mission button{min-height:44px}#forest-mission-dialog #forest-mission .intro{padding:8px 0}#forest-mission-dialog #forest-mission h1{font-size:clamp(1.375rem,3vw,2rem)}#forest-load-status:empty{display:none}@media(max-width:600px){#forest-mission-dialog{padding:12px}#forest-mission-dialog .dialog-header{top:-12px}#forest-mission-dialog #forest-mission{padding:8px}#forest-mission-dialog .dialog-header h2{font-size:1.125rem}.forest-entry>button{width:100%}}
@media(max-width:600px){.learning-journey{padding:16px}.journey-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.journey-controls>label:first-child{grid-column:1/-1}.journey-controls>button{grid-column:1/-1}.journey-list li{flex-wrap:wrap;gap:8px}.journey-item-actions{margin-left:auto}.journey-item-copy{flex-basis:calc(100% - 40px)}.journey-recommendations li{flex-wrap:wrap}.journey-chooser[open]{grid-template-columns:1fr}.journey-footer>button:first-child{width:100%}#player-open-reader{padding:0;min-height:36px}.audio-bar .player-top-row{align-items:center}#audio-bar[data-expanded=true]{max-height:60dvh}}

/* practice-lab.css */
.practice-intro{padding:24px;display:grid;gap:16px;justify-items:start}.practice-dialog{width:min(780px,calc(100vw - 24px));max-height:90dvh;border:1px solid #cfe2dc;border-radius:24px;padding:0;color:#153e3b;background:#fbfdfc}.practice-dialog::backdrop{background:#163b36a6}.practice-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid #deebe7;position:sticky;top:0;background:#fbfdfc;z-index:1}.practice-header h2{font-size:24px;margin:0}.practice-body{padding:24px;display:flex;flex-direction:column;gap:16px}.practice-toolbar{display:flex;flex-wrap:wrap;gap:12px}.practice-field{display:grid;gap:8px;flex:1 1 140px;font-size:14px;font-weight:600}.practice-field select,.practice-field input{min-width:0;width:100%;padding:12px;border:1px solid #bdd5cc;border-radius:12px;background:white;font:inherit;color:inherit}.practice-field:first-child{flex-basis:280px}.practice-tabs,.practice-navigation{display:flex;gap:10px;flex-wrap:wrap}.practice-tabs [aria-pressed=true]{background:#187a61;color:white}.practice-counter{font-size:14px;color:#5c7b71;margin:0}.practice-sentence{font-size:clamp(22px,3vw,32px);line-height:1.5;padding:24px;background:#eaf5ee;border-radius:16px;margin:0}.practice-translation{margin:0;color:#506d66;font-size:17px;line-height:1.5}.practice-body textarea{resize:vertical;width:100%;box-sizing:border-box;font:inherit;font-size:19px;line-height:1.7;padding:16px;border:1px solid #bdd5cc;border-radius:14px;background:white;color:#173e3b}.practice-body button{min-height:48px;font-size:16px}.practice-body>.primary-button{align-self:start}.practice-status{font-size:14px;color:#537369;margin:0;min-height:20px}.practice-feedback[data-correct=true]{color:#137158}.practice-feedback[data-correct=false]{color:#9f521b}.practice-body small{font-size:13px;color:#637f75;line-height:1.6}.practice-photo{object-fit:contain;max-height:220px;border-radius:16px}.practice-writing-prompt{line-height:1.7;margin:0}.practice-dialog [hidden]{display:none!important}@media(max-width:600px){.practice-body,.practice-header{padding:18px}.practice-header h2{font-size:21px}.practice-toolbar{flex-direction:column}.practice-field,.practice-field:first-child{flex-basis:auto}.practice-dialog{border-radius:18px}}

.category-dictation-hint{font-size:15px;line-height:1.5;margin:0 12px 12px;color:#426c62}.selection-chip-handle[aria-disabled=true]{cursor:default}.practice-item-kind{align-self:flex-start;background:#e7f3ec;color:#276052;padding:5px 12px;border-radius:999px;font-size:14px;font-weight:600}
.practice-dialog:has(.practice-dictation){width:min(1100px,calc(100vw - 32px));max-height:94dvh}.practice-dialog:has(.practice-dictation) .practice-header{padding:20px 26px}.practice-dictation{padding:26px;gap:18px}.practice-dictation .practice-toolbar{flex-direction:row;align-items:center}.practice-dictation .practice-field,.practice-dictation .practice-field:first-child{flex:1 1 150px;max-width:300px}.practice-review-progress{display:flex;gap:10px;align-items:center;margin-left:auto}.practice-review-progress .practice-item-kind{align-self:auto}.practice-answer-actions{display:flex;gap:10px;flex-wrap:wrap}.practice-answer-actions button{flex:1}.practice-dictation .practice-feedback{margin:0;line-height:1.5}.practice-dictation .practice-status:empty,.practice-dictation .practice-feedback:empty{display:none}.practice-dictation .practice-sentence{font-size:clamp(20px,2.5vw,26px);padding:18px}.practice-dictation .practice-navigation{justify-content:space-between}.practice-dictation .practice-writing-prompt{font-size:16px;line-height:1.6}.practice-checklist{display:grid;gap:12px;font-size:16px}.practice-checklist label{display:flex;align-items:center;gap:10px;line-height:1.5;min-height:40px}.practice-checklist input{width:21px;height:21px;accent-color:#187a61;flex-shrink:0}@media(max-width:600px){.practice-dictation .practice-review-progress{flex:0 0 auto}.practice-dictation,.practice-dialog:has(.practice-dictation) .practice-header{padding:18px}.practice-answer-actions button{flex:1 1 130px}}
/* Interpreting shares the main learning workspace instead of the modal layer. */
.workspace[data-view=practice]{display:block;max-width:1360px}.workspace[data-view=practice] .reading-main{padding:32px clamp(18px,3vw,40px) 40px}.practice-workspace{min-width:0;color:var(--ink,#153e3b)}.practice-workspace[hidden],.practice-workspace [hidden]{display:none!important}.practice-workspace-path{margin-bottom:18px}.practice-workspace-path button{min-height:44px;font-size:15px}.practice-workspace-header{margin-bottom:24px}.practice-workspace-header h1{margin:0 0 8px;font-size:clamp(30px,3vw,40px);line-height:1.35;letter-spacing:-.8px}.practice-workspace-header p{margin:0;color:var(--muted,#506d66);font-size:16px;line-height:1.7}.practice-interpreting{padding:0;gap:20px}.practice-material h2{margin:0;font-size:clamp(23px,2.2vw,30px);line-height:1.5;overflow-wrap:anywhere;word-break:keep-all}.practice-interpreting .practice-toolbar{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(110px,1fr));gap:16px;padding:20px;background:var(--surface,#fff);border:1px solid var(--line,#bdd5cc);border-radius:16px}.practice-interpreting .practice-field{min-width:0;gap:8px;font-size:15px}.practice-interpreting .practice-field select{box-sizing:border-box;padding:12px;min-height:48px;font-size:16px}.practice-direction-row{display:flex;align-items:flex-end;gap:24px}.practice-direction-row .practice-field{flex:1;max-width:440px}.practice-workspace-progress{display:grid;gap:9px;align-self:center;margin-left:auto;min-width:180px;text-align:right}.practice-workspace-progress .practice-counter{font-size:15px;font-weight:600}.practice-workspace-progress progress{display:block;width:100%;height:7px;border:0;border-radius:999px;overflow:hidden;accent-color:var(--pine,#187a61)}.practice-workspace-progress progress::-webkit-progress-bar{background:#dceae3}.practice-workspace-progress progress::-webkit-progress-value{background:var(--pine,#187a61)}.practice-learning-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px;align-items:start}.practice-source-panel,.practice-response-panel{min-width:0;padding:26px;border:1px solid var(--line,#bdd5cc);border-radius:18px}.practice-source-panel{background:#edf6ef;min-height:290px}.practice-source-panel h3,.practice-response-panel h3{margin:0;font-size:18px;line-height:1.5}.practice-source-panel h3{margin-bottom:22px;color:#376959}.practice-source-row{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.practice-source-row .practice-sentence{min-width:0;padding:0;background:transparent;border-radius:0;font-size:clamp(26px,2.8vw,34px);line-height:1.65;overflow-wrap:anywhere;word-break:keep-all}.practice-source-row button{min-height:48px;font-size:16px}.practice-response-panel{display:flex;flex-direction:column;gap:16px;background:var(--surface,#fff)}.practice-interpreting textarea{font-size:21px;line-height:1.65;padding:18px;min-height:176px}.practice-interpreting .practice-status:empty,.practice-interpreting .practice-feedback:empty{display:none}.practice-source-panel .practice-status{margin-top:14px}.practice-interpreting .practice-writing-prompt{font-size:15px;line-height:1.6;color:var(--muted,#506d66)}.practice-interpreting .practice-feedback{font-size:15px;line-height:1.6;margin:0;color:#365e55}.practice-model-answer{padding:20px;display:grid;gap:14px;border:1px solid #c6dfd2;background:#f2f8f3;border-radius:14px}.practice-model-answer strong{font-size:16px}.practice-model-answer .practice-translation{font-size:22px;color:#153e3b;line-height:1.6;overflow-wrap:anywhere}.practice-model-answer button{justify-self:start}.practice-interpreting .practice-navigation{justify-content:space-between;padding:22px 0 0;border-top:1px solid var(--line,#bdd5cc)}.practice-interpreting .practice-navigation button{min-width:130px}.practice-interpreting .practice-answer-actions button{min-width:0;line-height:1.5;font-size:16px;min-height:50px}
@media(max-width:900px){.practice-learning-grid{grid-template-columns:minmax(0,1fr)}.practice-source-panel{min-height:0}.practice-source-row{gap:18px}.practice-source-row .practice-sentence{font-size:28px}}
@media(max-width:600px){.workspace[data-view=practice] .reading-main{padding:20px 16px 32px}.practice-workspace-header{margin-bottom:22px}.practice-workspace-header h1{font-size:32px}.practice-workspace-header p{font-size:15px}.practice-interpreting{gap:18px}.practice-interpreting .practice-toolbar{grid-template-columns:1fr 1fr;padding:16px;gap:14px}.practice-interpreting .practice-toolbar .practice-field:first-child{grid-column:1/-1}.practice-direction-row{align-items:center;gap:14px}.practice-direction-row .practice-field{max-width:none}.practice-workspace-progress{min-width:65px;max-width:82px}.practice-learning-grid{gap:18px}.practice-source-panel,.practice-response-panel{padding:20px}.practice-source-panel h3{margin-bottom:16px}.practice-source-row .practice-sentence{font-size:26px;line-height:1.6}.practice-interpreting textarea{font-size:20px;padding:14px;min-height:155px}.practice-model-answer{padding:16px}.practice-model-answer .practice-translation{font-size:21px}.practice-interpreting .practice-navigation button{min-width:0;min-height:48px}}

/* A visible route through each exercise keeps the large workspace welcoming. */
.practice-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0}.practice-steps li{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f3f7f5;border:1px solid #dbe7e1;border-radius:14px;color:#536f65;font-size:15px;font-weight:600;line-height:1.5;min-width:0}.practice-step-number{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#e2eae5;color:#4b6b5f;font-size:14px}.practice-steps li[data-state=current]{background:#eef8f1;border-color:#72aa91;color:#155b45;box-shadow:0 2px 8px #184e3610}.practice-steps li[data-state=current] .practice-step-number{background:#187a61;color:white}.practice-steps li[data-state=complete]{color:#24644c;background:#f5faf6}.practice-steps li[data-state=complete] .practice-step-number{background:#cde9d7;color:#155b45}.practice-completion-count{font-size:12px;line-height:1.5;color:#526d63;white-space:nowrap}.practice-keyboard-hint{margin-top:-6px;color:#61786d}.practice-result-header{padding:26px;border-radius:20px;background:linear-gradient(125deg,#e8f5eb,#f5f8ed);border:1px solid #cde3d3;display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px 16px;align-items:center}.practice-result-icon{grid-row:1/3;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#187a61;color:white;font-size:30px}.practice-result-header h2{margin:0;font-size:27px;line-height:1.4}.practice-result-header p{margin:0;color:#466b5a;line-height:1.6;font-size:16px}.practice-body .coach-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.practice-body .coach-stats p{display:flex;flex-direction:column;gap:10px;margin:0;padding:18px;border:1px solid #dce8df;border-radius:16px;background:white;color:#426655;line-height:1.5;font-size:15px}.practice-body .coach-stats strong{font-size:30px;color:#153e3b;line-height:1.2}.practice-result-actions{display:flex;flex-wrap:wrap;gap:12px}.practice-result-actions button{min-width:170px}.practice-review-list{border:1px solid #dce8df;border-radius:16px;background:white;overflow:hidden}.practice-review-list summary{padding:18px;font-weight:600;cursor:pointer;min-height:48px;box-sizing:border-box}.practice-review-list ul{list-style:none;padding:0 18px;margin:0 0 8px}.practice-review-list li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-top:1px solid #e5eee8;line-height:1.6;overflow-wrap:anywhere}.practice-review-tag{flex:0 0 auto;font-size:13px;color:#815224;background:#fcf1dd;border-radius:999px;padding:4px 10px}.practice-correction{padding:20px;border:1px solid #e6cfad;border-radius:16px;background:#fffaf1}.practice-correction h3{font-size:17px;margin:0 0 16px;color:#80532b}.practice-correction>p{font-size:14px;line-height:1.6;margin:14px 0 0;color:#775d3e}.practice-correction-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.practice-correction-row{min-width:0;padding:16px;background:white;border-radius:12px;border:1px solid #eee3d0}.practice-correction-label{display:block;font-size:13px;font-weight:600;color:#6b6352;margin-bottom:10px}.practice-correction-phrase{margin:0;font-size:22px;line-height:1.8;overflow-wrap:anywhere;color:#243c35}.practice-difference{border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.practice-difference.actual{background:#ffedda;text-decoration:underline dotted #a55e25;text-underline-offset:5px}.practice-difference.reference{background:#e0f3e5;text-decoration:underline solid #33815b;text-underline-offset:5px}.practice-body :is(button,select,textarea,summary):focus-visible{outline:3px solid #187a61;outline-offset:3px}
@media(max-width:600px){.practice-steps{gap:7px}.practice-steps li{padding:11px 8px;gap:7px;font-size:12px;align-items:flex-start;flex-direction:column;overflow-wrap:anywhere}.practice-step-number{flex-basis:26px;width:26px;height:26px;font-size:13px}.practice-result-header{padding:20px;grid-template-columns:40px minmax(0,1fr);gap:8px 12px}.practice-result-icon{width:40px;height:40px;font-size:24px}.practice-result-header h2{font-size:23px}.practice-result-header p{font-size:14px}.practice-body .coach-stats{gap:8px}.practice-body .coach-stats p{padding:12px 10px;font-size:12px}.practice-body .coach-stats strong{font-size:26px}.practice-result-actions button{flex:1 1 160px;min-width:0}.practice-review-list li{align-items:flex-start}.practice-correction{padding:16px}.practice-correction-rows{grid-template-columns:minmax(0,1fr);gap:10px}.practice-correction-phrase{font-size:20px}.practice-completion-count{font-size:11px;white-space:normal}}
@media(hover:none){.practice-keyboard-hint{display:none}}

/* learning-coach.css */
.learning-coach{margin:26px 0;border:1px solid #bad9cd;border-radius:22px;background:#fff;color:#153e3b;overflow:hidden;box-shadow:0 5px 22px #17453608}
.learning-coach>summary{padding:20px 24px;font-size:21px;font-weight:750;cursor:pointer;min-height:58px;background:linear-gradient(110deg,#eef8f2,#f7fbf9)}
.coach-content{padding:26px;display:grid;gap:18px}.coach-content p{margin:0;line-height:1.7}.coach-content h3{margin:0;font-size:25px}
.coach-goal-card{display:grid;gap:7px}.coach-eyebrow{font-size:13px;letter-spacing:.04em;color:#417266;font-weight:750}.coach-goal{font-size:17px}.coach-counter,.coach-note{color:#526f67;font-size:14px}
.coach-stages{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:0;gap:8px;counter-reset:coach-step}.coach-stages li{counter-increment:coach-step;display:flex;align-items:center;gap:8px;min-width:0;overflow-wrap:anywhere;border-radius:12px;background:#f4f7f5;color:#536d62;padding:10px 12px;font-size:14px;font-weight:650}.coach-stages li:before{content:counter(coach-step);display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:#e3ede6}.coach-stages li[data-active=true]{background:#e3f2e9;color:#146a51}.coach-stages li[data-active=true]:before{background:#187a61;color:#fff}
.coach-progress-row{display:flex;align-items:center;gap:16px}.coach-counter{font-variant-numeric:tabular-nums;flex:none;font-weight:650}.coach-progress{appearance:none;border:0;height:7px;width:100%;border-radius:20px;overflow:hidden;background:#e8f0eb;color:#187a61}.coach-progress::-webkit-progress-bar{background:#e8f0eb}.coach-progress::-webkit-progress-value{background:#187a61;border-radius:20px}.coach-progress::-moz-progress-bar{background:#187a61;border-radius:20px}
.coach-quote{font-size:clamp(23px,2.5vw,30px);line-height:1.65;white-space:pre-line;overflow-wrap:anywhere;padding:24px;background:#edf6f0;border-radius:16px}.coach-formula{padding:14px 18px;border-inline-start:4px solid #8fcab2;background:#f5f9f6;border-radius:0 10px 10px 0;font-weight:650}.coach-cue,.coach-prompt{color:#395c51;font-size:17px}
.coach-content input:not([type=checkbox]),.coach-content textarea{box-sizing:border-box;width:100%;padding:16px;min-height:54px;border:1px solid #a4c7b8;border-radius:13px;font:inherit;font-size:19px;color:#153e3b;background:#fff}.coach-content textarea{min-height:135px;resize:vertical}.coach-keyboard-note{color:#62796d;font-size:13px}
.coach-listening,.coach-actions,.coach-rating,.coach-navigation{display:flex;flex-wrap:wrap;gap:10px}.coach-content button{font-size:16px;min-height:48px;max-width:100%;padding:12px 18px;border-radius:12px;line-height:1.45;overflow-wrap:anywhere}.coach-rating{padding-top:4px}.coach-rating button{flex:1 1 190px}.coach-navigation{justify-content:space-between;border-top:1px solid #e0ece4;padding-top:16px}.coach-navigation button{font-size:14px}.coach-navigation button:last-child{color:#516f61}.coach-feedback{color:#476b5e;display:flex;align-items:center;gap:12px}.coach-feedback:empty{display:none}.coach-feedback strong{font-size:20px}.coach-feedback[data-correct=true]{color:#137158}.coach-feedback[data-correct=false]{padding:12px 16px;border-radius:11px;background:#fff5e5;color:#785727}
.coach-reference{padding:20px;display:grid;gap:12px;border:1px solid #c4ddcf;border-radius:14px;background:#f5faf7;overflow-wrap:anywhere}.coach-selfcheck{border:1px solid #c4ddcf;border-radius:14px;margin:0;padding:8px 16px 14px;display:grid;gap:2px}.coach-selfcheck legend{padding:0 6px;font-weight:750;font-size:15px;color:#315b4c}.coach-selfcheck label{display:flex;align-items:center;gap:12px;min-height:48px;cursor:pointer;font-size:15px;line-height:1.6}.coach-selfcheck input[type=checkbox]{appearance:auto;accent-color:#187a61;width:21px;height:21px;min-height:21px;flex:none;margin:0}
.coach-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.coach-stats p{padding:18px;background:#edf6f0;border-radius:14px;font-size:14px;overflow-wrap:anywhere}.coach-stats strong{display:block;font-size:30px;margin-top:8px}.coach-result-message{color:#3d6554;font-size:17px}.learning-coach [hidden]{display:none!important}.coach-content :focus-visible{outline:3px solid #137b60;outline-offset:3px}
@media(max-width:600px){.coach-content{padding:18px;gap:16px}.learning-coach>summary{padding:18px}.coach-quote{padding:18px;font-size:24px}.coach-stages{gap:5px}.coach-stages li{padding:9px 6px;font-size:12px;gap:5px}.coach-stages li:before{width:20px;height:20px}.coach-actions button{flex:1 1 140px}.coach-rating button{flex-basis:100%}.coach-stats{gap:8px}.coach-stats p{padding:12px;font-size:12px}.coach-stats strong{font-size:24px}.coach-keyboard-note{display:none}.coach-navigation button:last-child{flex:1 1 160px}.coach-selfcheck{padding:8px 12px 12px}}
@media(prefers-reduced-motion:no-preference){.coach-stages li,.coach-content button{transition:background-color .15s,color .15s}.coach-progress::-webkit-progress-value{transition:width .2s}}

/* site-motion.css */
/* Motion explains navigation and interaction; reading content stays still. */
:is(.primary-button,.secondary-button,.studio-learning-entry,.selection-study-choice,.selection-study-mode){position:relative;isolation:isolate;overflow:hidden}
.site-click-wave{position:absolute;left:50%;top:50%;width:220px;height:220px;border-radius:50%;background:currentColor;pointer-events:none;z-index:-1}
:is(button,a,[role=button]){transition:background-color .18s ease,border-color .18s ease,color .18s ease}
:is(.primary-button,.secondary-button,.studio-learning-entry,.selection-study-choice,.selection-study-mode):active:not(:disabled){translate:0 1px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  :is(.studio-learning-entry,.selection-study-choice,.selection-study-mode,.library-category,.profile-metric){transition:transform .24s cubic-bezier(.2,.7,.3,1),box-shadow .24s,border-color .18s}
  :is(.studio-learning-entry,.selection-study-choice,.selection-study-mode,.library-category):hover{transform:translateY(-4px)}
  :is(.studio-learning-entry,.selection-study-choice):hover :is(.studio-entry-arrow,.selection-study-choice-action){translate:5px 0;transition:translate .24s ease}
  .studio-learning-entry:hover img{animation:siteMascotHello .65s ease-in-out 1;transform-origin:50% 85%}
  .brand:hover .brand-mark{animation:siteMascotHello .55s ease-in-out 1;transform-origin:50% 90%}
}
.selection-study-shell,.studio-time-plan,.studio-audio-choice,.studio-audio-player,.studio-audio-advanced,.home-info-banner,.settings-dialog[open],dialog[open],.profile-metric,.admin-panel:not([hidden]){animation:sitePanelIn .34s cubic-bezier(.2,.7,.3,1) both}
.studio-learning-entry,.selection-study-choice{animation:siteCardIn .4s cubic-bezier(.2,.7,.3,1) both}.studio-learning-entry:nth-child(2),.selection-study-choice:nth-child(2){animation-delay:55ms}.studio-learning-entry:nth-child(3){animation-delay:110ms}.studio-learning-entry:nth-child(4){animation-delay:165ms}
dialog[open]::backdrop{animation:siteBackdropIn .22s ease both}
details>summary{transition:color .18s,background-color .18s}details[open]>summary{color:var(--pine,#247754)}
.studio-audio-visual span{transform-origin:center;animation:none}.studio-audio-player[data-playing=true] .studio-audio-visual span{animation:siteAudioBeat .95s ease-in-out infinite}.studio-audio-player[data-playing=true] .studio-audio-visual span:nth-child(2n){animation-delay:-.35s}.studio-audio-player[data-playing=true] .studio-audio-visual span:nth-child(3n){animation-delay:-.65s}
:is(.studio-results,.studio-summary,.practice-results,.studio-result,.profile-learning-empty,[role=tabpanel]):not([hidden]){animation:sitePanelIn .32s ease-out both}
.studio-task{animation:siteBackdropIn .22s ease-out both}
:is(.studio-difficulty-option,.studio-duration-presets button,.duration-presets button){transition:background-color .2s,border-color .2s,transform .2s}
.studio-difficulty-option:has(input:checked){animation:siteSelected .27s ease-out 1}
.studio-paused:not([hidden]){animation:siteBackdropIn .18s ease both}.studio-paused:not([hidden]) button{animation:siteCardIn .25s ease both}
.site-utility-footer .nav-button:active{translate:0 1px}.site-utility-footer .nav-button.active svg{animation:siteSelected .3s ease-out 1}
.site-motion-hidden :is(.pine-growth-scene,.studio-audio-visual) *{animation-play-state:paused!important}
@keyframes sitePanelIn{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes siteCardIn{from{opacity:.4;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes siteBackdropIn{from{opacity:0}to{opacity:1}}
@keyframes siteMascotHello{0%,100%{transform:rotate(0)}25%{transform:rotate(-3deg) translateY(-2px)}65%{transform:rotate(3deg) translateY(-2px)}}
@keyframes siteAudioBeat{0%,100%{transform:scaleY(.45);opacity:.65}45%{transform:scaleY(1);opacity:1}}
@keyframes siteSelected{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){:is(.selection-study-shell,.studio-time-plan,.studio-audio-choice,.studio-audio-player,.studio-audio-advanced,.home-info-banner,dialog[open],.profile-metric,.admin-panel,.studio-learning-entry,.selection-study-choice,.studio-results,.studio-summary,.practice-results,.studio-result,.profile-learning-empty,.studio-difficulty-option,.studio-paused,.nav-button svg,.studio-audio-visual span,.studio-task,[role=tabpanel]){animation:none!important;transition:none!important}dialog::backdrop{animation:none!important}.site-click-wave{display:none}:is(.primary-button,.secondary-button,.studio-learning-entry,.selection-study-choice,.selection-study-mode):active{translate:none!important}}

/* language-flags.css */
.home-language-settings select.language-flag-select,.onboarding-languages select.language-flag-select{padding-inline-start:38px;background-repeat:no-repeat;background-position:left 8px center;background-size:24px 18px}
[dir=rtl] .home-language-settings select.language-flag-select,[dir=rtl] .onboarding-languages select.language-flag-select{background-position:right 8px center}
.language-country-flag{display:inline-block;object-fit:contain;vertical-align:middle;margin-inline-end:8px;box-shadow:0 0 0 1px #103f3220;border-radius:2px}
.home-language-settings select.language-flag-select{width:100%}
.site-language:has(select.language-flag-select) .language-search-trigger,.onboarding-languages label:has(select.language-flag-select) .language-search-trigger{display:none}

/* home-listening.css */
.home-listening{margin:24px 0 30px}.home-listening-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-listening h2{font-size:1.3rem;margin:0 0 8px}.home-listening p{line-height:1.6}.home-today-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0 24px}.home-today-card{border:1px solid var(--line);border-radius:18px;padding:20px;background:var(--paper);display:flex;flex-direction:column;gap:10px}.home-today-card h3{margin:0;font-size:1.15rem}.home-today-card p{margin:0;color:var(--muted)}.home-today-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}.home-today-actions button,.home-playlist-actions button{min-height:44px}.home-playlist{border:1px solid var(--line);border-radius:18px;padding:20px;background:var(--paper)}.home-playlist-header,.home-playlist-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.home-playlist ol{padding-left:24px}.home-playlist li{padding:6px 0;overflow-wrap:anywhere}.home-playlist p{margin-bottom:12px}.playlist-order-controls{display:flex;gap:6px}.playlist-order-controls button{min-width:44px;min-height:44px}.home-topic-heading{margin:28px 0 8px}.home-topic-heading h2{margin:0;font-size:1.3rem}.home-topic-heading p{color:var(--muted);line-height:1.6}.home-listening button:focus-visible,.playlist-order-controls button:focus-visible{outline:3px solid #145442;outline-offset:3px}@media(max-width:680px){.home-today-list{grid-template-columns:1fr}.home-listening-header{align-items:flex-start}.home-today-card,.home-playlist{padding:16px}.collection-item{flex-wrap:wrap}.playlist-order-controls{margin-left:auto}}@media(prefers-color-scheme:dark){html[data-theme=dark] .home-today-card,html[data-theme=dark] .home-playlist{background:var(--paper)}}
.home-extra-path{border:1px solid var(--line);border-radius:14px;margin:16px 0;background:var(--paper)}.home-extra-path>summary{cursor:pointer;min-height:44px;padding:12px 16px;font-size:1rem}.home-extra-path .learning-journey{margin:0;border:0}

/* Center the complete brand in the header, with separate control tracks. */
.site-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.site-header .brand{grid-column:2;grid-row:1;justify-self:center;margin:0}
.site-header .profile-menu{grid-column:3;grid-row:1;justify-self:end}
.site-header .home-language-settings,.site-header .home-language-settings[open]{grid-column:1/-1;grid-row:3;justify-self:stretch}
.site-header .home-language-settings .language-pair{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
#library-categories[hidden],.category-filter-row[hidden],.category-selection-actions button[hidden]{display:none!important}
.category-selection-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin:20px 0}
.category-selection-actions p{margin:0;flex:1;min-width:150px;color:var(--muted,#657468)}
.learning-category-card.is-selected{outline:3px solid #22865d;outline-offset:-3px}
.learning-category-card.is-selected .category-open::after{content:'✓';position:absolute;right:12px;bottom:12px;color:#22865d;font-size:24px;font-weight:800}
.category-open{position:relative}
body[data-category-stage="choose"] #library-selection-bar{display:none!important}
@media(max-width:400px){.site-header .profile-menu{padding:8px;min-width:0}.site-header .profile-menu span{display:none}.site-header .brand-mark{width:36px;height:36px}.site-header .brand-wordmark{font-size:27px}.site-header .brand-credit{font-size:10px}}

/* home-polish.css */
/* Home refinement: retain the original characters and all learning controls. */
body:has(.workspace[data-view=library]){background:#faf8f2}
.site-header{max-width:1180px;padding-top:28px;row-gap:20px}
.site-header nav.learning-steps{padding-bottom:16px}
.site-header .brand-wordmark{letter-spacing:-.045em}
.site-header .home-language-settings>summary{color:var(--muted);font-weight:500}
.nav-button{border-radius:999px;padding-inline:20px}
.workspace[data-view=library]{max-width:1180px}
.workspace[data-view=library] .reading-main{padding-top:30px}
.workspace[data-view=library] .resume-learning{background:linear-gradient(120deg,#174e3e,#29634e);border-radius:28px;box-shadow:0 12px 32px #174e3e0d;padding:30px}
.workspace[data-view=library] .resume-character{width:112px;height:112px}
.home-listening{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:0 24px;margin:30px 0 42px}
.home-listening-header{grid-column:1;align-items:start}
.home-listening-header h2{font-size:1.5rem;letter-spacing:-.035em}
.home-listening-header p{color:var(--muted);margin:0}
.home-today-list{grid-column:1;gap:16px;margin:20px 0 0}
.home-today-card{border:1px solid #e6e9de;background:#fffefa;border-radius:24px;padding:24px;gap:14px;box-shadow:0 6px 24px #174e3e04}
.home-today-card>span{color:#41705a;font-size:.8rem;font-weight:700;letter-spacing:.015em}
.home-today-card h3{font-size:1.2rem;line-height:1.5;letter-spacing:-.025em}
.home-today-card p{font-size:.875rem}
.home-today-actions{gap:8px;padding-top:8px}
.home-today-actions button{border-radius:12px;font-size:.875rem;padding-inline:14px}
.home-playlist{grid-column:2;grid-row:1/3;background:#eef3e9;border:1px solid #dde6d4;border-radius:24px;padding:24px;display:flex;flex-direction:column}
.home-playlist h2{font-size:1.2rem;letter-spacing:-.025em}
.home-playlist p,.home-playlist li{color:#53644f;font-size:.9rem;line-height:1.8}
.home-playlist-header .text-button{font-size:.8rem}
.home-playlist-actions{margin-top:auto;display:grid;gap:10px;padding-top:20px}
.home-playlist-actions button{width:100%;border-radius:12px}
.workspace[data-view=library] .library-heading{justify-content:center;text-align:center;margin:0 0 26px}
.workspace[data-view=library] .library-heading h1{font-size:clamp(1.75rem,3vw,2.2rem);letter-spacing:-.045em}
.workspace[data-view=library] .library-heading p{margin-top:12px}
#library-categories{gap:18px}
.learning-category-card{background:#fffefa;border:1px solid #e6e9de!important;border-radius:24px;padding:14px;transition:box-shadow .18s ease,border-color .18s ease}
.learning-category-card:hover{box-shadow:0 8px 28px #174e3e0d}
.learning-category-card.is-selected{background:#eff5e9;outline:3px solid #3a7954;outline-offset:-3px}
.category-open{min-height:150px;gap:5px 16px}
.category-art-wrap{width:94px;height:108px}
.category-open h2{letter-spacing:-.035em}
.category-counts>span{border-radius:999px;background:#edf1e7;padding:4px 10px}
.category-selection-actions{padding:18px 22px;background:#f0f2e9;border-radius:18px;margin-top:22px}
.category-selection-actions .primary-button{border-radius:12px;min-height:48px}
.home-extra-path,.home-library-settings{background:transparent;border-color:#e3e6db;border-radius:16px}
.home-listening button:focus-visible,.category-open:focus-visible,.nav-button:focus-visible{outline:3px solid #3a7954;outline-offset:4px}
@media(max-width:900px){.home-listening{grid-template-columns:minmax(0,1fr) 260px;gap:0 18px}.home-today-list{grid-template-columns:1fr}.home-playlist{padding:20px}}
@media(max-width:680px){.site-header{padding:20px 18px 0;row-gap:14px}.nav-button{padding-inline:12px}.home-listening{grid-template-columns:1fr;gap:20px;margin:24px 0 34px}.home-today-list{margin:0;gap:12px}.home-playlist{grid-column:1;grid-row:auto;padding:20px}.home-today-card{padding:20px;border-radius:20px}.home-today-actions button{flex:1}.home-playlist-actions{grid-template-columns:1fr 1fr;gap:8px}.home-playlist-actions button{font-size:.875rem;padding-inline:10px}.workspace[data-view=library] .resume-learning{padding:22px 18px;border-radius:22px}.workspace[data-view=library] .resume-character{width:64px;height:78px}.workspace[data-view=library] .library-heading{text-align:start;justify-content:start}.learning-category-card{border-radius:20px;padding:12px}#library-categories{gap:12px}.category-open{min-height:112px;grid-template-columns:76px minmax(0,1fr);gap:4px 12px}.category-art-wrap{width:76px;height:88px}.category-selection-actions{padding:16px;gap:14px}.category-selection-actions p{flex-basis:100%}.category-selection-actions .primary-button{flex:1}}
@media(prefers-reduced-motion:reduce){.learning-category-card{transition:none}}
html[data-theme=dark] body:has(.workspace[data-view=library]){background:var(--paper)}
html[data-theme=dark] .home-today-card,html[data-theme=dark] .learning-category-card{background:var(--surface);border-color:var(--line)!important}
html[data-theme=dark] .home-playlist,html[data-theme=dark] .category-selection-actions,html[data-theme=dark] .learning-category-card.is-selected{background:var(--soft);border-color:var(--line)}
html[data-theme=dark] .home-playlist p,html[data-theme=dark] .home-playlist li,html[data-theme=dark] .home-today-card>span{color:var(--muted)}
/* Shared learning layout: prominent language controls and consistent saved views. */
body{background:#faf8f2}
.workspace{max-width:1180px;margin-inline:auto;padding-top:30px}
.site-header .home-language-settings,.site-header .home-language-settings[open]{width:100%;max-width:none;margin:0;border:1px solid #b9d2bb;border-radius:20px;background:#edf4e8;overflow:hidden}
.site-header .home-language-settings>summary{padding:18px 22px;min-height:58px;color:#174e3e;font-size:1.15rem;font-weight:750;line-height:1.5}
.site-header .home-language-settings[open]>summary{border-bottom:1px solid #d3e2ce}
.site-header .home-language-settings .language-pair{padding:18px 22px;gap:14px;align-items:center}
.site-header .home-language-settings .site-language{background:#fffefa;border:1px solid #d3dfce;border-radius:12px;padding:10px 12px;gap:8px;font-size:.9rem;font-weight:650;color:#174e3e;min-width:0}
.site-header .home-language-settings .site-language select{width:100%;min-height:48px;background:#fffefa;color:#203a2b;border:1px solid #b9cdb7;border-radius:9px;font-size:1rem;padding-inline:10px}
.site-header .home-language-settings .language-search-trigger{min-width:44px;min-height:48px;border-radius:9px}
.site-header .home-language-settings .language-pair-readiness{margin:0;line-height:1.7;color:#3e5948}
.site-header .home-language-settings summary:focus-visible,.site-header .home-language-settings .site-language select:focus-visible{outline:3px solid #3a7954;outline-offset:-3px}
.profile-heading,.collection-heading,.reader-top{gap:18px;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid #e1e6d9}
.profile-heading h1,.collection-heading h1,.reader-top h1,#words-view h2{letter-spacing:-.035em;line-height:1.3}
.profile-account,.profile-panel,.wordbook-card,.wordbook-filter-panel,.collection-empty{background:#fffefa;border:1px solid #e1e6d9;border-radius:20px;padding:24px}
.profile-insights{gap:20px}.profile-metrics{gap:14px}.profile-note,.wordbook-note{line-height:1.8}
.collection-toolbar,.wordbook-view-options,.wordbook-scope,.reader-settings{gap:14px;flex-wrap:wrap}
.collection-toolbar button,.wordbook-view-options button,.account-actions button{min-height:44px;border-radius:12px}
.reader-top{max-width:100%}.sentence{padding:22px;border-radius:18px;background:#fffefa;line-height:1.85}.sentence p{overflow-wrap:anywhere}
.site-footer{max-width:1180px;margin-inline:auto;padding-inline:24px;color:var(--muted)}
@media(max-width:680px){.workspace{padding-top:22px}.site-header .home-language-settings>summary{padding:15px 16px;font-size:1.1rem}.site-header .home-language-settings .language-pair{padding:14px;gap:10px}.site-header .home-language-settings .site-language{padding:9px;font-size:.8rem}.site-header .home-language-settings .site-language select{font-size:.9rem;padding-inline:6px}.profile-account,.profile-panel,.wordbook-card,.wordbook-filter-panel,.collection-empty{padding:18px;border-radius:18px}.profile-insights{grid-template-columns:1fr}.sentence{padding:18px}.profile-heading,.collection-heading{flex-wrap:wrap}}
html[data-theme=dark] body{background:var(--paper)}
html[data-theme=dark] .site-header .home-language-settings{background:var(--soft);border-color:var(--line)}
html[data-theme=dark] .site-header .home-language-settings>summary,html[data-theme=dark] .site-header .home-language-settings .site-language,html[data-theme=dark] .site-header .home-language-settings .site-language select{color:var(--ink)}
html[data-theme=dark] .site-header .home-language-settings .site-language,html[data-theme=dark] .site-header .home-language-settings .site-language select,html[data-theme=dark] .profile-account,html[data-theme=dark] .profile-panel,html[data-theme=dark] .wordbook-card,html[data-theme=dark] .wordbook-filter-panel,html[data-theme=dark] .collection-empty,html[data-theme=dark] .sentence{background:var(--surface);border-color:var(--line)}
html[data-theme=dark] .site-header .home-language-settings[open]>summary,html[data-theme=dark] .profile-heading,html[data-theme=dark] .collection-heading,html[data-theme=dark] .reader-top{border-color:var(--line)}
html[data-theme=dark] .site-header .home-language-settings .language-pair-readiness{color:var(--muted)}

/* A wider learning library, compact resume prompt and right-side language menu. */
.site-header{max-width:1600px;padding-inline:32px;grid-template-columns:minmax(0,1fr) auto auto;column-gap:16px;row-gap:16px}
.site-header .brand{grid-column:1;grid-row:1;justify-self:start}
.site-header .profile-menu{grid-column:2;grid-row:1}
.site-header .home-language-settings,.site-header .home-language-settings[open]{grid-column:3;grid-row:1;justify-self:end;position:relative;width:auto;max-width:none;margin:0;overflow:visible;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.site-header .home-language-settings>summary{min-height:44px;padding:10px 16px;font-size:.95rem;border:0;line-height:24px;white-space:nowrap}
.site-header .home-language-settings[open]>summary{border-bottom:0}
.site-header .home-language-settings .language-pair{position:absolute;inset-inline-end:0;top:calc(100% + 10px);z-index:30;width:min(560px,calc(100vw - 36px));padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 40px #173e3220;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.site-header .home-language-settings select.language-flag-select{background-repeat:no-repeat;background-size:24px 18px;background-position:left 8px center;padding-inline-start:40px}
[dir=rtl] .site-header .home-language-settings select.language-flag-select{background-position:right 8px center}
.workspace,.workspace[data-view=library],.site-footer{max-width:1600px;padding-inline:32px}
.workspace[data-view=library] .reading-main{padding-top:8px}
.workspace[data-view=library] .resume-learning{display:flex;align-items:center;gap:16px;padding:16px 20px;margin:0 0 18px;border:1px solid #d9e4d3;border-radius:16px;background:#eef4e9;color:var(--ink);box-shadow:none}
.workspace[data-view=library] .resume-character{display:none}
.workspace[data-view=library] .resume-copy{flex:1;min-width:0}
.workspace[data-view=library] .resume-title{font-size:1.05rem;line-height:1.5;margin:0 0 4px;color:var(--ink)}
.workspace[data-view=library] .resume-detail{font-size:.9rem;margin:0;color:var(--muted)}
.workspace[data-view=library] .resume-copy small{display:none}
.workspace[data-view=library] .resume-actions{display:flex;flex-direction:row;gap:8px;flex-shrink:0}
.workspace[data-view=library] .resume-actions button{min-height:44px;font-size:.9rem;border-radius:10px;white-space:nowrap}
.workspace[data-view=library] .resume-actions .primary-button{background:var(--pine);color:#fff}
.workspace[data-view=library] .resume-actions .text-button{color:var(--ink)}
#home-listening{display:none}
html[data-theme=dark] .workspace[data-view=library] .resume-learning{background:var(--soft);border-color:var(--line)}
@media(max-width:680px){.site-header{padding:16px 18px 0;column-gap:8px;grid-template-columns:minmax(0,1fr) auto auto}.site-header .brand-mark{width:36px;height:36px}.site-header .brand-wordmark{font-size:1.35rem!important}.site-header .brand-credit{font-size:.6rem!important}.site-header .profile-menu{padding:8px}.site-header .profile-menu span{display:none!important}.site-header .home-language-settings>summary{padding:10px;font-size:.85rem}.site-header .home-language-settings .language-pair{grid-template-columns:1fr;padding:14px}.site-header .home-language-settings .site-language{grid-column:1;grid-row:auto}.site-header .home-language-settings .language-arrow{display:none}.site-header .home-language-settings .site-language>span{width:auto}.site-header .home-language-settings .site-language select{width:100%}.workspace,.workspace[data-view=library],.site-footer{padding-inline:18px}.workspace[data-view=library] .resume-learning{flex-wrap:wrap;padding:14px;gap:10px}.workspace[data-view=library] .resume-copy{flex-basis:100%}.workspace[data-view=library] .resume-actions{width:100%;justify-content:flex-start}.workspace[data-view=library] .resume-title{font-size:1rem}}
@media(max-width:680px){.site-header .home-language-settings .language-pair>.site-language{grid-column:1!important;grid-row:auto!important}.site-header .home-language-settings .language-pair{max-height:calc(100dvh - 100px);overflow-y:auto}.site-header .home-language-settings .language-pair>.site-language select{min-width:0}}

/* Desktop type scale: comfortable reading without changing the mobile layout. */
@media(min-width:901px){
  :root{font-size:112.5%}
  body{line-height:1.65}
  .site-header .nav-button,.site-header .settings-button,.site-header .profile-menu,
  .site-header .home-language-settings>summary,
  .workspace button:not(.vocab-word):not(.sentence-toggle),
  .workspace input,.workspace select{font-size:.944444rem;line-height:1.5}
  .workspace .library-filters label,.workspace .library-folder-field,
  .workspace .library-select-all,.workspace .library-select,
  .workspace .home-library-settings>summary,
  .workspace .listening-fields label,.workspace .translation-toggle,
  .workspace .auto-next-toggle,.workspace .reader-path{font-size:.944444rem;line-height:1.6}
  .workspace .article-summary,.workspace .story-card h2{font-size:1rem}
  .workspace .library-result-line,.workspace .library-time-note,
  .workspace .category-counts,.workspace .category-counts>span,
  .workspace .story-category,.workspace .story-bottom,
  .workspace .source-byline,.workspace .article-meta,
  .workspace .reading-tip,.workspace .sidebar-note p,
  .workspace .folder-chip small,.workspace .saved-hint{font-size:.833333rem;line-height:1.7}
  .workspace[data-view=library] .resume-title{font-size:1.111111rem}
  .workspace[data-view=library] .resume-detail{font-size:.944444rem}
  .workspace .category-open h2{font-size:1.333333rem;line-height:1.5}
  .site-header .home-language-settings .site-language{font-size:.888889rem}
  .site-header .home-language-settings .site-language select{font-size:1rem}
  .site-footer{font-size:.833333rem;line-height:1.7}
}
/* Search is an optional disclosure next to the topic heading. */
.workspace[data-view=library] .library-heading{position:relative;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:start;margin-bottom:24px}
.workspace[data-view=library] .library-heading h1{margin:0}
.workspace[data-view=library] .library-heading p{margin-bottom:0}
.workspace[data-view=library] .library-heading .home-library-settings{position:static;flex-shrink:0;margin:0;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.workspace[data-view=library] .home-library-settings>summary{min-height:44px;padding:9px 14px;font-size:.944444rem;color:var(--pine);font-weight:600;cursor:pointer;white-space:nowrap}
.workspace[data-view=library] .home-library-settings .library-control-panel{position:absolute;inset-inline-end:0;top:calc(100% + 10px);z-index:20;width:min(800px,100%);border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 14px 40px #173e3220;max-height:calc(100dvh - 140px);overflow-y:auto}
@media(max-width:680px){.workspace[data-view=library] .library-heading{align-items:flex-start;gap:10px}.workspace[data-view=library] .library-heading h1{font-size:1.5rem}.workspace[data-view=library] .library-heading p{font-size:.875rem}.workspace[data-view=library] .home-library-settings>summary{font-size:.875rem;padding-inline:10px}}
.home-date-shortcuts{margin:0 0 22px}
.home-date-shortcuts .registration-toolbar{padding:0;border:0;background:transparent;justify-content:flex-start}
.home-date-shortcuts .registration-toolbar p{margin-inline-start:auto}
.workspace .registration-toolbar .registration-calendar{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;border:0!important;background:transparent!important;border-radius:8px;color:var(--pine)}
.workspace .registration-toolbar .registration-calendar:hover,.workspace .registration-toolbar .registration-calendar[aria-pressed=true]{background:var(--soft)!important}
.workspace [data-registration-custom]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px;background:var(--soft);border-radius:12px}
.workspace [data-registration-custom] label{display:grid;gap:5px}
.workspace [data-registration-error]{flex-basis:100%}
@media(min-width:901px){.site-header{position:relative}.site-header .brand{position:absolute;left:50%;top:22px;transform:translateX(-50%);margin:0}.site-header .brand strong{font-size:28px}.site-header .brand-credit{font-size:13px!important}}
@media(max-width:680px){.home-date-shortcuts .registration-toolbar{gap:6px}.home-date-shortcuts .registration-toolbar p{flex-basis:100%;margin-inline-start:0}}
.site-header .home-language-settings .language-pair-readiness,.site-header .home-language-settings .language-pair-readiness-details{display:none}
/* Keep personal learning destinations together. */
.site-header .learning-steps .nav-saved{display:flex;align-items:center;flex:0 0 auto;gap:8px;margin-inline-start:auto;padding-inline-start:0;border-inline-start:0}
.site-header .learning-steps .nav-saved .profile-menu{position:static;order:0;min-height:44px;margin:0;transform:none;gap:6px}
.site-header .learning-steps .nav-saved button{white-space:nowrap}
.site-header .learning-steps .nav-saved .profile-menu span{display:inline!important}
@media(max-width:760px){.site-header .learning-steps{flex-wrap:wrap;gap:8px}.site-header .learning-steps .nav-main{flex:1 1 100%}.site-header .learning-steps .nav-saved{min-width:0;gap:4px}.site-header .learning-steps .nav-saved button{padding:8px;font-size:14px}.site-header .learning-steps .nav-saved .nav-label{white-space:nowrap!important;overflow-wrap:normal!important}}

.workspace[data-view=library] .home-date-shortcuts,.workspace[data-view=library] #library-count{display:none!important}

/* Always-visible, compact learning filters. */
.workspace[data-view=library] .library-heading{flex-wrap:wrap;gap:18px}
.workspace[data-view=library] .library-heading .home-library-settings{flex:1 0 100%;width:100%;border:0;background:transparent;border-radius:0}
.workspace[data-view=library] .home-library-settings>summary{display:none}
.workspace[data-view=library] .home-library-settings .library-control-panel{position:static;width:100%;max-height:none;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
.workspace[data-view=library] .home-library-settings .library-filters{padding:0;gap:12px;background:transparent}
.workspace[data-view=library] .home-library-settings .registration-toolbar{padding:12px 0 0;margin:0;border:0;background:transparent;gap:8px}
.workspace[data-view=library] .home-library-settings .registration-toolbar p{margin:0 0 0 auto;font-size:13px}
.workspace[data-view=library] .home-library-settings .registration-presets button{min-height:40px;padding:7px 13px;border:1px solid var(--line);border-radius:8px}
@media(max-width:680px){.workspace[data-view=library] .home-library-settings .library-filters{grid-template-columns:1fr 1fr}.workspace[data-view=library] .home-library-settings .search-field{grid-column:1/-1}.workspace[data-view=library] .home-library-settings .registration-toolbar p{flex-basis:100%;margin:2px 0 0}}
.site-header .home-language-settings>summary{display:none}
.site-header .home-language-settings{border:0;background:transparent;min-width:0}
.site-header .home-language-settings .language-pair{position:static;display:flex;width:auto;max-width:none;padding:8px 10px;box-shadow:none;border:1px solid var(--line);border-radius:12px;gap:8px;background:var(--surface)}
.site-header .home-language-settings .site-language{min-width:0;gap:6px}
.site-header .home-language-settings .site-language select{width:145px;min-width:0}
@media(max-width:900px){.site-header .home-language-settings{grid-column:1/-1;grid-row:3;justify-self:end;margin-bottom:12px}.site-header .home-language-settings .site-language select{width:110px}.site-header .home-language-settings .language-pair{flex-wrap:wrap}}
.site-header .home-language-settings[open]{border:0;background:transparent}
.site-header .home-language-settings .site-language{display:grid;grid-template-columns:minmax(0,1fr) 32px;padding:0;border:0;background:transparent;gap:4px}
.site-header .home-language-settings .site-language>span{grid-column:1/-1;font-size:13px}
.site-header .home-language-settings .site-language select{min-height:40px;width:135px;font-size:15px}
.site-header .home-language-settings .language-search-trigger{min-width:32px;min-height:40px}
@media(max-width:900px){.site-header .home-language-settings,.site-header .home-language-settings[open]{grid-column:1/-1;grid-row:3;justify-self:end;margin-bottom:12px}.site-header .home-language-settings .site-language select{width:110px}}

.workspace[data-view=library] .home-library-settings .registration-toolbar>p{display:none!important}

@media(min-width:901px){.workspace[data-view=library] .home-library-settings .library-control-panel{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.workspace[data-view=library] .home-library-settings .library-filters{display:grid;grid-template-columns:minmax(200px,1fr) 155px 155px;flex:1;min-width:0;margin:0;padding:0;gap:10px}.workspace[data-view=library] .home-library-settings .library-filters label{margin:0;gap:0}.workspace[data-view=library] .home-library-settings .registration-toolbar{flex:0 0 auto;margin:0;padding:0;gap:6px}.workspace[data-view=library] .home-library-settings .library-filters input,.workspace[data-view=library] .home-library-settings .library-filters select{min-height:44px;height:44px}.workspace[data-view=library] .home-library-settings [data-registration-custom]{flex-basis:100%}}

/* solhyang-brand.css */
/* Shared Solhyang palette for learning, games and operations. Loaded last. */
:root{--paper:#f4f8fd;--surface:#fff;--pine:#2463b7;--pine-dark:#183e68;--blue:#2463b7;--green:#18765c;--accent:#d8f3e9;--ink:#22364d;--muted:#586b80;--line:#dbe5ef;--soft:#edf4fc;--active:#e4f3ed;color-scheme:light}
:root[data-theme=dark]{--paper:#111e2c;--surface:#192b3d;--pine:#9dc5ff;--pine-dark:#183e68;--blue:#9dc5ff;--green:#8ed9bc;--accent:#25483f;--ink:#e8f0fb;--muted:#b6c7da;--line:#3b5269;--soft:#22384e;--active:#25483f;color-scheme:dark}
html,body,body:has(.workspace[data-view=library]){background:var(--paper);color:var(--ink)}
.brand-pine{color:var(--pine)}.brand-lingo{color:var(--green)}.brand-credit{color:var(--muted)}
.primary-button,.library-selection-bar .primary-button,.category-selection-actions .primary-button{background:var(--pine);border-color:var(--pine);color:var(--surface)}
html:not([data-theme=dark]) .primary-button{color:#fff}
.primary-button:not(:disabled):hover{background:#1c5199;border-color:#1c5199;color:#fff}
:is(button,input,select,textarea,a):focus-visible{outline:3px solid var(--pine);outline-offset:3px}
input,select,textarea{border-color:var(--line);color:var(--ink)}
.site-header .home-language-settings .site-language select{background:var(--surface);color:var(--ink);border-color:var(--line)}
.site-header .home-language-settings .language-pair{box-shadow:0 3px 12px #1d4f8010}
.nav-button.active,.registration-presets button[aria-pressed=true]{background:var(--pine);border-color:var(--pine);color:var(--surface)}
.site-header .nav-button:not(.active):hover{background:var(--soft);color:var(--pine)}
.workspace[data-view=library] .resume-learning{background:linear-gradient(110deg,var(--soft),var(--active));border-color:var(--line);border-inline-start:4px solid var(--green)}
.workspace[data-view=library] .resume-actions .primary-button{background:var(--green);border-color:var(--green);color:var(--surface)}
html:not([data-theme=dark]) .workspace[data-view=library] .resume-actions .primary-button{color:#fff}
.learning-category-card{background:var(--surface);border-color:var(--line)!important;box-shadow:0 4px 16px #234d7810}
.learning-category-card:nth-child(3n+1){border-top:3px solid #488bd7!important}
.learning-category-card:nth-child(3n+2){border-top:3px solid #42a58b!important}
.learning-category-card:nth-child(3n){border-top:3px solid #6b9ebc!important}
.learning-category-card:hover{border-color:var(--pine)!important;box-shadow:0 8px 24px #234d781a}
.learning-category-card.is-selected{background:var(--active);outline:2px solid var(--green);outline-offset:-2px}
.category-counts>span,.nav-count{background:var(--soft);color:var(--pine)}
.category-tools button{color:var(--green)}
.category-selection-actions{background:var(--soft);border:1px solid var(--line)}
.profile-account,.profile-panel,.wordbook-card,.wordbook-filter-panel,.collection-empty,.sentence,.home-today-card{background:var(--surface);border-color:var(--line)}
.sentence.active{background:var(--active)}
.home-playlist,.bible-learning-note{background:var(--active);border-color:var(--line)}
.audio-bar,.wordbook-study-bar{background:var(--surface);border-color:var(--line);box-shadow:0 -6px 28px #234d7814}
/* Game pages retain green success states with a cooler blue shell. */
body:has(#game-lobby) header,body:has(.admin-signin) header{background:var(--pine-dark);color:#fff}
.game-arena,.game-hud{background:var(--pine-dark)}
.game-launch-panel,.wallet{background:var(--soft);border-color:var(--line);color:var(--ink)}
.game-primary,#game-start{background:#2463b7;border-color:#2463b7;border-bottom-color:#183e68;color:#fff}
.game-mode-grid button[aria-pressed=true]{border-color:var(--pine);background:var(--soft);color:var(--ink)}
/* Management uses the same neutral surfaces and blue/green accents. */
.workspace-page{--muted:#586b80;--line:#dbe5ef;--green:#18765c;background:var(--paper);color:var(--ink)}
.workspace-page header.admin-topbar{background:var(--surface);border-color:var(--line);color:var(--ink)}
.workspace-page .back{background:var(--soft);color:var(--pine)}
.workspace-page .welcome-panel p{color:var(--muted)}
.workspace-page .primary-link{background:var(--green);color:#fff}
.workspace-page .primary-link:hover{background:#125c48;color:#fff}
.workspace-page .admin-sidebar{background:var(--surface);border-color:var(--line)}
.workspace-page .welcome-panel{background:linear-gradient(115deg,var(--soft),var(--active));border-color:var(--line);color:var(--ink)}
.workspace-page :is(.metric,.panel,.ticket,.action-card){background:var(--surface);border-color:var(--line)}
.workspace-page .workspace-nav button[aria-pressed=true],.workspace-page nav button[aria-pressed=true]{background:var(--soft);color:var(--pine);border-color:var(--line)}
.workspace-page .bar-track{background:var(--soft)}.workspace-page .bar-fill{background:var(--green)}
.workspace-page :is(.eyebrow,.welcome-kicker,.section-tag){color:var(--green)}
body:has(.readiness-table)>header,body:has(#cost-form)>header{background:var(--pine-dark);color:#fff}
#cost-form>button,.gmail-actions button,#ticket-list [data-send-reply]{background:var(--pine);color:#fff;border-color:var(--pine)}
body:has(#game-lobby) header .brand-pine{color:#c1ddff}body:has(#game-lobby) header .brand-lingo{color:#a3e3cc}body:has(#game-lobby) header .brand-credit{color:#d2e0ef}
@media(prefers-reduced-motion:reduce){.learning-category-card{transition:none}}
/* Surface background shorthands above must not reset decorative flag layout. */
.site-header .home-language-settings .site-language select.language-flag-select,.onboarding-languages select.language-flag-select{background-repeat:no-repeat;background-position:left 10px center;background-size:24px 18px;padding-inline-start:42px}
[dir=rtl] .site-header .home-language-settings .site-language select.language-flag-select,[dir=rtl] .onboarding-languages select.language-flag-select{background-position:right 10px center}
/* Larger category characters, with only the title and lesson count. */
.category-open{grid-template-columns:132px minmax(0,1fr);grid-template-rows:auto auto;gap:8px 16px;min-height:160px}
.category-open p{display:none}
.category-open .category-art-wrap{grid-column:1;grid-row:1/3;width:132px;height:144px}
.category-open h2{grid-column:2;grid-row:1;align-self:end}
.category-open .category-counts{grid-column:2;grid-row:2;align-self:start}
@media(max-width:680px){.category-open{grid-template-columns:1fr;grid-template-rows:auto auto auto;justify-items:center;gap:8px;min-height:210px;text-align:center;padding:4px}.category-open .category-art-wrap{grid-column:1;grid-row:1;width:112px;height:124px}.category-open h2{grid-column:1;grid-row:2;align-self:center}.category-open .category-counts{grid-column:1;grid-row:3;justify-content:center}}

/* home-sidebar.css */
/* Selected large-type design: one navigation surface adapts to desktop and mobile. */
body{--pine:#18785d;--pine-dark:#123f34;--ink:#17384b;--paper:#f5faff;--line:#dce8ee;--muted:#4f6270;background:var(--paper);font-size:18px;padding-left:208px}
.site-header{max-width:1240px;margin:0 auto;padding:20px 28px 12px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:0}
.site-header .brand{position:static;left:auto;right:auto;transform:none;display:flex;gap:9px;justify-self:auto;flex-shrink:0}
.site-header .brand-mark{width:34px;height:42px;border-radius:0;background:none;object-fit:contain}
.site-header .brand-wordmark{font-size:26px;letter-spacing:-1px;font-weight:800}
.site-header .brand-pine,.site-header .brand-lingo{color:#153e39}
.site-header nav.learning-steps{position:fixed;inset:0 auto 0 0;width:208px;z-index:50;padding:94px 14px 24px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;background:linear-gradient(160deg,#164d3f,#103b32);border:0;margin:0;border-radius:0;overflow-y:auto}
.site-header nav.learning-steps::before{content:'PineLingo';position:absolute;top:28px;left:27px;color:#fff;font-size:25px;font-weight:800;letter-spacing:-.6px}
.site-header nav.learning-steps .nav-main,.site-header nav.learning-steps .nav-saved{display:contents}
.site-header nav.learning-steps .nav-button{width:100%;min-height:56px;display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:12px 14px;color:#e7f5ee;border:0;border-radius:12px;background:transparent;font-size:17px;font-weight:700;white-space:nowrap}
.site-header nav.learning-steps .nav-button:hover{background:#ffffff12}
.site-header nav.learning-steps .nav-button.active,.site-header nav.learning-steps .nav-button[aria-current=page]{background:#278568;color:white;box-shadow:0 4px 14px #001f2220}
.site-header nav.learning-steps .nav-button svg{width:24px;height:24px;flex-shrink:0}
.site-header nav.learning-steps .nav-count{margin-left:auto;background:#ffffff18;color:white;font-size:12px}
.site-header [data-admin-link]{order:5;margin-top:auto;font-size:14px}
.site-header .home-language-settings,.site-header .home-language-settings[open]{margin:0;width:auto;max-width:440px;flex:0 1 auto;padding:0;border:0;background:none}
.site-header .home-language-settings .language-pair{padding:0;gap:10px;border:0;background:none;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.site-header .site-language>span{font-size:12px;color:var(--muted)}
.site-header .site-language select{height:44px;min-width:140px;font-size:15px;border-radius:10px;background-color:white}
.site-header .home-language-settings .site-language{grid-column:1!important;grid-row:1!important;padding:0;border:0;background:none}
.site-header .home-language-settings .site-language select{min-height:44px;max-width:none;width:100%;background-color:white}
.site-header .home-language-settings .language-arrow{grid-column:2;grid-row:1;display:block}
.site-header .home-language-settings .site-language:last-of-type{grid-column:3!important}
.workspace,.workspace[data-view=library]{max-width:1240px;width:100%;margin:0 auto;padding:16px 28px 40px;display:block}
.workspace #main{min-width:0}
.workspace[data-view=library] .reading-main{padding:0}
#resume-learning[hidden]{display:none!important}
.workspace[data-view=library] .library-heading{margin:18px 0 20px;text-align:start}
.workspace[data-view=library] .library-heading h1{font-size:clamp(28px,2.6vw,40px);line-height:1.25;font-weight:850;letter-spacing:-1.5px}
.workspace[data-view=library] .resume-learning{padding:12px 16px;border-radius:12px;background:#e8f2f4;border:0;margin-bottom:16px}
.workspace[data-view=library] .resume-title{font-size:17px}.workspace[data-view=library] .resume-detail{font-size:14px}
.workspace[data-view=library] .resume-actions button{min-height:44px;font-size:15px}
.workspace[data-view=library] .home-library-settings .library-control-panel{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:0;background:none;border:0}
.workspace[data-view=library] .home-library-settings .library-filters{display:grid;grid-template-columns:minmax(180px,1fr) repeat(3,minmax(110px,145px));flex:1;min-width:0;gap:8px;margin:0;padding:0;background:none}
.workspace[data-view=library] .library-filters input,.workspace[data-view=library] .library-filters select{height:46px;font-size:15px;background-color:#fff;border-radius:10px;min-width:0;width:100%}
.workspace[data-view=library] .library-filters label{min-width:0;gap:0}
.workspace[data-view=library] .registration-toolbar{padding:0;margin:0;border:0;background:none;gap:6px}
.workspace[data-view=library] .registration-presets{gap:5px}
.workspace[data-view=library] .registration-presets button{font-size:14px;min-height:44px;padding:8px 10px}
.workspace[data-view=library] .registration-toolbar>p{display:none}
#library-categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0 14px}
.learning-category-card[data-category]{display:block;position:relative;padding:12px 14px 14px;border:1px solid #a7e9d0;border-radius:20px;background:linear-gradient(145deg,#c9fbe1,#a5efd3);box-shadow:0 5px 15px #17384b05;overflow:hidden}
.learning-category-card[data-category=news],.learning-category-card[data-category=vocabulary],.learning-category-card[data-category=patterns]{border-color:#a6daf1;background:linear-gradient(145deg,#c7eeff,#a5ddf7)}
.category-tools{position:absolute;top:5px;left:5px;right:5px;z-index:1;height:32px;pointer-events:none}
.category-tools button{pointer-events:auto;min-width:32px;min-height:32px;width:32px;height:32px;padding:4px;color:#267565;font-size:22px;background:transparent}
.category-open{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;min-height:250px;padding:24px 0 0;text-align:center;background:transparent}
.category-open h2{font-size:clamp(23px,2vw,29px);line-height:1.2;font-weight:850;letter-spacing:-1px;margin:0;color:#103949;align-self:center}
.category-open .category-art-wrap{width:100%;height:174px;margin:0;align-self:center;display:flex;align-items:center;justify-content:center}
.category-art-wrap img{width:100%;height:100%;max-width:230px;object-fit:contain;filter:drop-shadow(0 5px 3px #1b666015)}
.category-open p{display:none}.category-open .category-counts{align-self:center;margin:0;justify-content:center}
.category-counts .lesson-total,.category-counts .lesson-today,.category-counts .lesson-week{background:white;color:#165347;border:0;font-size:15px;padding:4px 14px;border-radius:99px}
.category-selection-actions{padding:12px 16px;background:#e8f2f4;border-radius:12px;margin:16px 0}.category-selection-actions p{font-size:16px}
.nav-button:focus-visible,.category-open:focus-visible{outline:3px solid #43b7e6;outline-offset:3px}
@media(min-width:1600px){body{padding-left:228px}.site-header nav.learning-steps{width:228px}}
@media(max-width:1100px) and (min-width:761px){body{padding-left:180px}.site-header nav.learning-steps{width:180px;padding-inline:10px}.site-header nav.learning-steps .nav-button{font-size:15px;gap:8px;padding-inline:10px}.site-header,.workspace,.workspace[data-view=library]{padding-inline:20px}.workspace[data-view=library] .home-library-settings .library-filters{grid-template-columns:minmax(160px,1fr) repeat(3,minmax(95px,1fr))}.category-open h2{font-size:23px}.category-open .category-art-wrap{height:150px}.category-open{min-height:228px}}
@media(max-width:760px){body{padding-left:0;padding-bottom:calc(78px + env(safe-area-inset-bottom));font-size:17px}.site-header{padding:14px 16px 8px;flex-wrap:wrap;gap:12px}.site-header .brand-wordmark{font-size:24px}.site-header .brand-mark{width:30px;height:36px}.site-header .home-language-settings,.site-header .home-language-settings[open]{flex:1 1 100%;max-width:none}.site-header .site-language select{min-width:0;width:100%;font-size:14px}.site-header .home-language-settings .language-pair{gap:8px}.site-header nav.learning-steps{inset:auto 0 0;width:100%;height:calc(72px + env(safe-area-inset-bottom));padding:5px 6px calc(5px + env(safe-area-inset-bottom));flex-direction:row;justify-content:space-around;gap:2px;overflow:visible;border-radius:16px 16px 0 0;box-shadow:0 -3px 16px #103b3214}.site-header nav.learning-steps::before{display:none}.site-header nav.learning-steps .nav-button{flex:1;width:auto;min-width:0;min-height:58px;padding:5px 2px;flex-direction:column;gap:4px;font-size:10px;border-radius:10px;position:relative}.site-header nav.learning-steps .nav-button svg{height:22px;width:22px}.site-header nav.learning-steps .nav-count{position:absolute;top:1px;right:calc(50% - 25px);font-size:9px;line-height:1;padding:3px;min-width:13px}.site-header [data-admin-link]{position:absolute;right:14px;bottom:calc(100% + 10px);width:auto;min-height:36px;flex:none;padding:7px 10px;background:#164d3f;font-size:11px}.workspace,.workspace[data-view=library]{padding:10px 16px 24px}.workspace[data-view=library] .library-heading h1{font-size:27px;letter-spacing:-1px}.workspace[data-view=library] .library-heading{margin:14px 0 16px}.workspace[data-view=library] .resume-learning{padding:10px 12px;gap:8px;flex-wrap:wrap}.workspace[data-view=library] .resume-title{font-size:15px}.workspace[data-view=library] .resume-detail{font-size:13px}.workspace[data-view=library] .resume-actions{gap:6px}.workspace[data-view=library] .resume-actions button{font-size:13px}.workspace[data-view=library] .home-library-settings .library-filters{flex:1 1 100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.workspace[data-view=library] .library-filters .search-field{grid-column:1/-1}.workspace[data-view=library] .library-filters select{font-size:12px;padding-inline:8px}.workspace[data-view=library] .library-filters input{font-size:15px}.workspace[data-view=library] .registration-toolbar{width:100%;justify-content:flex-end}.workspace[data-view=library] .registration-presets{margin-right:auto}#library-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.learning-category-card{padding:8px 6px 10px;border-radius:16px}.category-open{padding-top:24px;gap:5px;min-height:208px}.category-open h2{font-size:clamp(17px,4.4vw,23px);letter-spacing:-.6px}.category-open .category-art-wrap{width:100%;height:135px}.category-counts .lesson-total,.category-counts .lesson-today,.category-counts .lesson-week{font-size:12px;padding:3px 10px}.category-tools{top:1px;left:1px;right:1px}.category-selection-actions{padding:10px 12px;gap:8px}.category-selection-actions p{font-size:14px;flex-basis:auto}.category-selection-actions .primary-button{flex:none;min-height:44px}}
@media(max-width:360px){.workspace,.workspace[data-view=library]{padding-inline:10px}.category-open h2{font-size:16px}.category-open .category-art-wrap{height:120px}.category-open{min-height:195px}}
html[data-theme=dark] body{--paper:#14272d;--ink:#e5f5f5;--muted:#adc5ce;--line:#35515c}html[data-theme=dark] .site-header .brand-pine,html[data-theme=dark] .site-header .brand-lingo{color:#d2eee4}

@media(min-width:761px){.site-header nav.learning-steps{flex:none;flex-direction:column;flex-wrap:nowrap;max-width:none;margin:0;width:208px;padding:94px 14px 24px;gap:8px}.site-header nav.learning-steps .nav-button,.site-header nav.learning-steps .nav-saved .nav-button{flex:none;justify-content:flex-start;width:100%;border:0;flex-direction:row;color:#e7f5ee;min-height:56px}.site-header nav.learning-steps .nav-saved .profile-menu{gap:12px}.site-header nav.learning-steps .nav-main,.site-header nav.learning-steps .nav-saved{display:contents}.site-header nav.learning-steps .nav-button.active{background:#278568;color:#fff}}
@media(min-width:1600px){.site-header nav.learning-steps{width:228px}}
@media(max-width:760px){.learning-category-card[data-category]{padding:8px 6px 10px}.site-header .home-language-settings .language-pair{width:100%;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr)}.site-header .home-language-settings .site-language{grid-template-columns:minmax(0,1fr);grid-row:1}.site-header .home-language-settings .site-language select{font-size:14px}.site-header .home-language-settings .language-search-trigger{display:none}.site-header nav.learning-steps .nav-saved .profile-menu span{display:inline!important}.audio-bar,.library-selection-bar,.wordbook-study-bar{bottom:calc(72px + env(safe-area-inset-bottom))}.workspace[data-view=library] .home-library-settings .library-control-panel .library-filters{grid-template-columns:repeat(3,minmax(0,1fr))!important}.workspace[data-view=library] .home-library-settings .library-filters label{grid-column:auto}.workspace[data-view=library] .home-library-settings .library-filters .search-field{grid-column:1/-1}}
@media(max-width:760px){.site-header nav.learning-steps{max-width:none;width:100%;flex-direction:row;flex-wrap:nowrap;margin:0}.site-header nav.learning-steps .nav-main,.site-header nav.learning-steps .nav-saved{display:contents}.site-header nav.learning-steps .nav-saved .nav-button{flex:1;flex-direction:column;padding:5px 2px;gap:4px;font-size:10px;min-height:58px;color:#e7f5ee}.site-header nav.learning-steps .nav-button.active{background:#278568;color:#fff}}
@media(max-width:760px){.workspace[data-view=library] .home-library-settings .library-filters .search-field{grid-column:1/-1!important}.workspace[data-view=library] .home-library-settings .library-filters label:not(.search-field){grid-column:auto!important}}
.learning-category-card[data-category]{border-top-width:1px!important}.category-tools{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.site-header .home-language-settings .language-pair{box-shadow:none}.site-header .brand{width:auto}.category-open .category-art-wrap,.category-open h2,.category-open .category-counts{flex-shrink:0}

/* forest-home.css */
/* Text stays in HTML so the same forest can greet every interface language. */
body{background:linear-gradient(180deg,#f6fbff 0%,#eaf6ff 65%,#edf9f5 100%)}
.site-header nav.learning-steps::before{display:none}
.sidebar-brand{position:absolute;top:23px;left:20px;right:14px;display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-size:25px;font-weight:800;letter-spacing:-.7px}
.site-header nav.learning-steps .sidebar-brand{font-size:25px;font-weight:800;color:#fff}
.sidebar-brand img{width:32px;height:42px;filter:brightness(1.6) drop-shadow(0 2px 2px #001d2630)}
.sidebar-brand:focus-visible{outline:3px solid #a4e4ff;outline-offset:4px;border-radius:8px}
.workspace[data-view=library] .library-heading{display:flex;flex-direction:column;align-items:stretch;gap:20px;margin:0 0 20px}
.forest-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.5fr) minmax(0,1fr);align-items:start;gap:20px;min-height:300px;padding:36px 5% 140px;background:#d5efff url('/forest-lake-hero-v1.png') center bottom/cover no-repeat;border-radius:24px;overflow:hidden;box-shadow:0 5px 24px #24557008}
.forest-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#ffffff2b,transparent 65%)}
.workspace[data-view=library] .forest-hero h1{font-size:clamp(32px,3.1vw,48px);line-height:1.3;font-weight:850;letter-spacing:-1.4px;text-align:center;text-wrap:balance;margin:12px 0 0;color:#12384a;text-shadow:0 1px 8px #ffffffaa;overflow-wrap:anywhere}
.forest-hero p{font-size:clamp(16px,1.45vw,20px);line-height:1.6;font-weight:650;margin:0;color:#1b4354;text-align:center;text-wrap:balance;text-shadow:0 1px 6px white;overflow-wrap:anywhere}
.forest-hero-encouragement{transform:rotate(-5deg)}
.forest-hero-discovery{transform:rotate(4deg)}
.workspace[data-view=library] .home-library-settings{width:100%;margin:0}
.learning-category-card[data-category]{border:1px solid #d5e6df;background:linear-gradient(150deg,#fff,#f0faf4);box-shadow:0 5px 16px #25466006}
.learning-category-card[data-category=news],.learning-category-card[data-category=vocabulary],.learning-category-card[data-category=patterns]{border-color:#d7e5ef;background:linear-gradient(150deg,#fff,#eff7fd)}
.learning-category-card[data-category]:hover{border-color:#86b9ad;box-shadow:0 8px 22px #24557012}
.category-open h2{font-size:clamp(28px,2.5vw,36px);line-height:1.25;letter-spacing:-1px;text-wrap:balance;overflow-wrap:anywhere}
.category-counts .lesson-total,.category-counts .lesson-today,.category-counts .lesson-week{font-size:18px;font-weight:750;background:#ffffffd9;padding:5px 16px;box-shadow:0 1px 5px #24465a08}
.forest-footer{position:relative;isolation:isolate;min-height:150px;margin:30px -28px -40px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:24px 24px 0 0;background:linear-gradient(180deg,transparent,#d8f0f5)}
.forest-footer::before{content:'';position:absolute;inset:40px -10% -50px;z-index:-1;background:#c7e8ea;border-radius:50% 60% 0 0;transform:rotate(-3deg)}
.forest-footer::after{content:'';position:absolute;inset:auto 0 0;height:135px;z-index:-1;background-image:url('/pinelingo-tree.svg'),url('/pinelingo-tree.svg'),url('/pinelingo-tree.svg'),url('/pinelingo-tree.svg');background-repeat:no-repeat;background-size:72px 90px,50px 68px,72px 90px,50px 68px;background-position:left 12px bottom -8px,left 65px bottom -12px,right 12px bottom -8px,right 65px bottom -12px;opacity:.65}
.forest-footer .brand{display:flex;align-items:center;gap:8px;position:static;transform:none;text-decoration:none;color:#153e39}
.forest-footer .brand img{width:28px;height:38px}.forest-footer .brand-copy{display:flex;flex-direction:column;align-items:center;gap:3px}.forest-footer strong{font-size:24px;font-weight:800;letter-spacing:-.6px}.forest-footer small{font-size:10px;color:#476879}
@media(min-width:761px) and (max-width:1100px){.forest-hero{min-height:270px;padding:28px 3% 100px;gap:12px}.forest-hero p{font-size:15px}.sidebar-brand{left:13px;font-size:22px;gap:6px}.sidebar-brand img{width:28px}.category-open h2{font-size:27px}.forest-footer{margin-inline:-20px}}
@media(max-width:760px){.sidebar-brand{display:none}.workspace[data-view=library] .library-heading{margin:0 0 16px;gap:16px}.forest-hero{min-height:260px;padding:18px 12px 135px;grid-template-columns:1fr 1fr;gap:8px 16px;border-radius:20px;background-size:100% auto;background-color:#d9f1ff}.workspace[data-view=library] .forest-hero h1{grid-column:1/-1;grid-row:1;font-size:29px;line-height:1.25;letter-spacing:-.8px;margin:0 auto 2px;max-width:24ch}.forest-hero p{font-size:13px;line-height:1.5;transform:none;margin:0;align-self:start}.forest-hero-encouragement{grid-column:1;grid-row:2}.forest-hero-discovery{grid-column:2;grid-row:2}.learning-category-card[data-category]{padding:10px 6px 12px}.category-open h2{font-size:clamp(21px,5.4vw,27px);letter-spacing:-.6px}.category-counts .lesson-total,.category-counts .lesson-today,.category-counts .lesson-week{font-size:15px;padding:4px 12px}.forest-footer{margin:24px -16px -24px;min-height:140px}.forest-footer::after{background-size:58px 80px,40px 56px,58px 80px,40px 56px;background-position:left -4px bottom -8px,left 38px bottom -12px,right -4px bottom -8px,right 38px bottom -12px}}
@media(prefers-reduced-motion:no-preference){.learning-category-card[data-category]{transition:box-shadow .18s,border-color .18s}}
#home-settings{width:min(780px,calc(100% - 32px));max-height:80dvh;border:1px solid #d5e6df;border-radius:22px;padding:24px;color:#17384b;background:#fff;box-shadow:0 24px 80px #103b3240}
#home-settings::backdrop{background:#153e3960;backdrop-filter:blur(4px)}
#home-settings .dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
#home-settings h2{margin:0;font-size:28px}#home-settings h3{margin:0 0 20px;font-size:24px}
.settings-information-layout{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px}
#settings-information{width:100%;border:0;border-radius:10px;background:#e7f5ee;color:#165741;padding:14px;font-size:18px;font-weight:750}
#home-settings .source-catalog{margin:0;padding:16px;background:#f4f9fc;border-radius:12px}#home-settings .source-catalog summary{font-size:18px;font-weight:700}
@media(max-width:760px){#home-settings{padding:20px}.settings-information-layout{grid-template-columns:1fr;gap:16px}#settings-information{width:auto;padding:10px 20px}.site-header nav.learning-steps #open-home-settings{font-size:10px}}

/* Compact selection controls; advanced choices stay available on demand. */
#library-selection-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px max(20px,calc((100vw - 1100px)/2));max-height:55dvh;overflow:auto}
#library-selection-bar[hidden]{display:none}
#library-selection-bar .library-selection-summary{flex:1;min-width:180px}
#library-selection-breakdown,#library-selection-basis,#library-order-preview{display:none}
#library-selection-bar .library-selection-total{font-size:20px;margin:0}
#library-selection-bar .library-order-line{display:none}
#library-selection-options{position:relative;flex:0 0 auto}
#library-selection-options>summary{padding:10px 14px;cursor:pointer;font-size:16px}
#library-selection-options .library-selection-options-body{display:grid;gap:12px;width:min(440px,calc(100vw - 48px));padding:16px;background:#f5f9fb;border-radius:14px}
#library-learning-order{border:0;padding:0;margin:0}
#library-selection-bar .library-time-note span{display:none}
#library-selection-bar>.primary-button{min-height:46px;padding:10px 20px}
#library-selection-bar .library-selection-feedback:has(p[hidden]):has(button[hidden]){display:none}
@media(max-width:760px){#library-selection-bar{padding:10px 16px;gap:8px}#library-selection-bar .library-selection-summary{min-width:0}#library-selection-bar>.primary-button{flex:1;padding:10px 8px}#library-selection-options[open]{flex-basis:100%;order:5}#library-selection-options .library-selection-options-body{width:100%}}

#lesson-title{display:flex;align-items:flex-start;gap:8px;position:relative}#lesson-title h2{flex:1;margin:0}.lesson-source-icon{flex:0 0 auto;border:0;margin:0;padding:0}.lesson-source-icon>summary{list-style:none;color:#75909b;font-size:18px;cursor:pointer;padding:6px;line-height:1}.lesson-source-icon>summary::-webkit-details-marker{display:none}.lesson-source-icon[open]>div{position:absolute;right:0;top:100%;z-index:10;background:white;border:1px solid #d7e6eb;border-radius:12px;padding:16px;width:min(420px,100%);box-shadow:0 8px 28px #173a4820}#mixed-learning-status{display:none!important}

#word-detail .word-meaning,#word-detail .word-example-ko{display:flex;align-items:center;justify-content:space-between;gap:12px}#word-detail [data-detail-native]{flex-shrink:0;width:36px;height:36px;min-width:36px;min-height:36px;font-size:14px}

.site-header .home-language-settings .language-arrow{align-self:end;display:flex;align-items:center;justify-content:center;height:46px;color:#7c969f}.language-arrow svg{width:20px;height:20px}#language-search-dialog{width:min(1080px,calc(100vw - 40px));max-width:none;height:min(860px,90dvh);max-height:90dvh;padding:28px;box-sizing:border-box}#language-search-results{max-height:none;height:calc(100% - 210px);overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:12px}@media(max-width:760px){#language-search-dialog{width:calc(100vw - 20px);height:92dvh;max-height:92dvh;padding:20px}#language-search-results{grid-template-columns:repeat(2,minmax(0,1fr));height:calc(100% - 240px)}}

#language-search-results .language-result:disabled{background:#f0f2f4;border-color:#dce1e5;color:#78858e;cursor:not-allowed;opacity:1;box-shadow:none}#language-search-results .language-result:disabled strong,#language-search-results .language-result:disabled span{color:#78858e}#language-search-results .language-result:disabled .language-country-flag{filter:grayscale(.75);opacity:.65}

.multi-topic-picker{position:relative;width:100%;min-width:0}.multi-topic-picker>summary{list-style:none;cursor:pointer;min-height:44px;border:1px solid #d3e2e8;border-radius:10px;background:white;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;white-space:nowrap}.multi-topic-picker>summary:after{content:'⌄';margin-left:12px}.multi-topic-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:30;width:min(400px,calc(100vw - 40px));max-height:400px;overflow:auto;background:white;border:1px solid #d3e2e8;border-radius:14px;box-shadow:0 12px 30px #173a4820;padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.multi-topic-panel label{display:flex!important;gap:8px;align-items:center;padding:8px;font-size:14px!important}.multi-topic-panel input{width:18px;min-height:18px;height:18px}.multi-topic-panel button{grid-column:1/-1;justify-self:start}@media(max-width:760px){.multi-topic-panel{left:0;width:min(340px,calc(100vw - 40px))}}

#category-filter[hidden]{display:none!important}

/* Locally bundled typography and uncluttered app navigation. */
/* Pretendard comes from toss-clean.css as the unicode-range subset "Pretendard Variable".
   The full local files (265KB each) were only fetched for a glyph outside those subsets,
   which falls through to Noto Sans KR now. */
:root{--sans:Pretendard,'Noto Sans KR','DM Sans',sans-serif}
.workspace[data-view=library] .forest-hero h1{font-family:var(--sans);font-size:clamp(32px,2.8vw,42px);font-weight:700;letter-spacing:-.7px;line-height:1.35;word-break:keep-all;overflow-wrap:normal;margin:8px auto 0;max-width:21ch}
.forest-hero p{font-family:var(--sans);font-weight:400;word-break:keep-all;overflow-wrap:normal;line-height:1.65;font-size:clamp(15px,1.3vw,19px)}
.forest-hero-encouragement,.forest-hero-discovery{transform:none}
@media(min-width:761px){
 .site-header nav.learning-steps{height:100dvh;gap:0}
 .site-header nav.learning-steps .sidebar-brand{left:14px;right:14px;justify-content:center;font-weight:700}
 .sidebar-menu-group{display:flex;flex-direction:column;gap:8px;width:100%;margin:0}
 .sidebar-bottom{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:auto;padding-top:24px}
 .site-header nav.learning-steps .sidebar-bottom [data-admin-link]{margin-top:0;order:0}
 .site-header nav.learning-steps .sidebar-bottom #open-home-settings{order:1}
}

@media(max-width:760px){
 .sidebar-menu-group,.sidebar-bottom{display:contents}
 .workspace[data-view=library] .forest-hero h1{font-size:28px;letter-spacing:-.4px;line-height:1.35;margin:0 auto 2px}
 .forest-hero p{font-size:13px;line-height:1.6}
}
/* Touch friendly topic rows and a clear selection dock. */
.workspace[data-view=library] .multi-topic-picker .multi-topic-panel{width:400px;max-width:calc(100vw - 40px);padding:8px;gap:5px;grid-template-columns:repeat(2,minmax(0,1fr));max-height:min(460px,65dvh);scrollbar-width:thin}
.workspace[data-view=library] .multi-topic-picker .multi-topic-panel label{min-width:0;min-height:44px;display:flex!important;flex-direction:row;gap:9px;margin:0;padding:10px;border:1px solid transparent;border-radius:9px;cursor:pointer;font-size:15px!important;background:#f5f8fa;color:#294957;word-break:keep-all;line-height:1.3}
.workspace[data-view=library] .multi-topic-picker .multi-topic-panel label:hover{background:#edf6f1}
.workspace[data-view=library] .multi-topic-picker .multi-topic-panel label:has(:checked){background:#e3f4ec;border-color:#8bbdaa;color:#146749}
.workspace[data-view=library] .multi-topic-picker .multi-topic-panel input[type=checkbox]{appearance:auto;flex:0 0 17px;width:17px!important;height:17px!important;min-height:17px;max-width:17px;margin:0;padding:0;accent-color:#18785d;box-shadow:none;border-radius:4px}
.topic-name{flex:1;min-width:0}.topic-count{flex:none;color:#728993;font-size:12px;font-variant-numeric:tabular-nums}
.multi-topic-header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;position:sticky;top:-8px;z-index:1;background:white;padding:5px 2px 8px;border-bottom:1px solid #edf1f3;margin-bottom:3px}
.workspace[data-view=library] .multi-topic-header button{min-height:36px;padding:7px 12px;border:0;border-radius:8px;background:#edf5f1;color:#18785d;font-size:14px;cursor:pointer}
.workspace[data-view=library] .multi-topic-header button:last-child{background:transparent;color:#627b88}
.category-selection-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:12px 16px;border:1px solid #dce9e6;background:#fff;border-radius:16px;box-shadow:0 4px 18px #214e4208}
.category-selection-actions p{display:flex;flex-wrap:wrap;gap:6px;flex:1;margin:0;min-width:0;color:#67818d;font-size:15px}
.category-selection-actions[data-has-selection=true]{position:sticky;bottom:16px;z-index:20;border-color:#a9d2c2;box-shadow:0 8px 30px #1948391a}
.category-selection-chip{display:inline-flex;align-items:center;min-height:36px;border:0;border-radius:9px;padding:7px 10px;background:#eaf5ef;color:#176c50;font-size:14px;cursor:pointer;word-break:keep-all}
.category-selection-actions .primary-button{min-height:44px;padding:10px 22px;border-radius:11px;white-space:nowrap;font-size:16px;font-weight:700}
.category-selection-actions .primary-button:disabled{background:#f1f4f6;border:1px solid #e0e7eb;color:#8b9aa2;opacity:1;box-shadow:none}
@media(max-width:760px){.workspace[data-view=library] .multi-topic-picker .multi-topic-panel{width:min(360px,calc(100vw - 32px));grid-template-columns:1fr 1fr}.workspace[data-view=library] .multi-topic-picker .multi-topic-panel label{padding:9px 8px;font-size:14px!important;gap:7px}.category-selection-actions{gap:10px;padding:10px 12px}.category-selection-actions[data-has-selection=true]{bottom:calc(82px + env(safe-area-inset-bottom))}.category-selection-actions p{font-size:14px}.category-selection-actions .primary-button{padding:10px 14px;flex:none}.category-selection-chip{font-size:12px;padding:6px 8px}}

/* Keep desktop navigation and content together in a centered application frame. */
@media(min-width:761px){
 body{--app-sidebar-width:208px;--app-frame-width:1448px;--app-frame-inset:max(24px,calc((100vw - var(--app-frame-width))/2));padding-left:calc(var(--app-frame-inset) + var(--app-sidebar-width));padding-right:var(--app-frame-inset)}
 .site-header nav.learning-steps{left:var(--app-frame-inset);width:var(--app-sidebar-width)}
 .sidebar-menu-group{position:static;transform:none;width:100%;margin:0}
}
@media(min-width:1600px){body{--app-sidebar-width:228px;--app-frame-width:1468px}}
@media(min-width:761px) and (max-width:1100px){body{--app-sidebar-width:180px;--app-frame-inset:16px}}
@media(min-width:761px){.site-header nav.learning-steps{padding-top:24px}}

/* Strong category titles with quiet, consistent typography across the app. */
body,button,input,select,textarea{font-family:var(--sans)}
.workspace .category-open h2{font-family:var(--sans);font-size:clamp(30px,2.6vw,36px);font-weight:700;line-height:1.22;letter-spacing:-1px;word-break:keep-all;overflow-wrap:normal;margin-block:0 6px}
@media(max-width:1100px) and (min-width:761px){.workspace .category-open h2{font-size:28px}}
@media(max-width:760px){.workspace .category-open h2{font-size:clamp(23px,5.8vw,28px);line-height:1.25;letter-spacing:-.7px;min-height:2.5em;display:flex;align-items:center;justify-content:center}}
@media(max-width:360px){.workspace .category-open h2{font-size:21px}}
/* Translated navigation labels must fit beside fixed icons and count badges. */
@media(min-width:761px){
 .site-header nav.learning-steps .nav-button{white-space:normal;height:auto;min-width:0;gap:10px}
 .site-header nav.learning-steps .nav-button>span:not(.nav-count){flex:1 1 0;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.35}
 .site-header nav.learning-steps .nav-count{flex:0 0 auto;margin-left:0}
}
/* Match the visible artwork height, including the smaller pattern illustration. */
.workspace .category-open .category-art-wrap{height:210px;width:100%;overflow:visible}
.workspace .category-art-wrap img{width:210px;height:210px;max-width:none;object-fit:contain;transform:scale(var(--category-art-scale,1.025))}
.learning-category-card[data-category=news]{--category-art-scale:1.125}
.learning-category-card[data-category=bible]{--category-art-scale:1.06}
.learning-category-card[data-category=patterns]{--category-art-scale:1.39}
@media(min-width:761px) and (max-width:1100px){.workspace .category-open .category-art-wrap{height:184px}.workspace .category-art-wrap img{width:184px;height:184px}}
@media(max-width:760px){.workspace .category-open .category-art-wrap{height:150px}.workspace .category-art-wrap img{width:150px;height:150px}}
@media(max-width:360px){.workspace .category-open .category-art-wrap{height:134px}.workspace .category-art-wrap img{width:134px;height:134px}}
.completed-learning-filter{display:flex;align-items:center;gap:10px;width:fit-content;min-height:44px;margin:8px 0 12px;padding:8px 14px;border:1px solid #d5e6df;border-radius:12px;background:#fff;color:#245c4e;font-size:15px;cursor:pointer}
.completed-learning-filter input{width:18px;height:18px;margin:0;accent-color:#21846a}
/* Keep the fixed player inside the same desktop frame as the workspace. */
@media(min-width:761px){
 .audio-bar{left:calc(var(--app-frame-inset) + var(--app-sidebar-width));right:var(--app-frame-inset);width:auto;padding-inline:20px}
}

/* Personal information and settings share the sidebar footer. */
.sidebar-account-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;width:100%}
.site-header nav.learning-steps .sidebar-account-actions .nav-button{justify-content:center;gap:6px;padding:12px 6px;font-size:14px;min-height:48px}
.site-header nav.learning-steps .sidebar-account-actions .nav-button svg{width:18px;height:18px;flex:none}
.site-header nav.learning-steps .sidebar-account-actions .nav-button>span{flex:0 1 auto;text-align:center}
@media(max-width:760px){.sidebar-account-actions{display:flex;gap:4px;width:auto}}

/* New portraits share the same canvas and visible character scale. */
.learning-category-card[data-category]{--category-art-scale:1.08}
/* Keep the whole banner visible at its original panoramic ratio. */
.workspace[data-view=library] .forest-hero{display:block;box-sizing:border-box;width:100%;height:auto;min-height:0;aspect-ratio:3/1;padding:0;background-size:contain;background-position:center;border-radius:24px}
.workspace[data-view=library] .forest-hero h1{position:absolute;inset:14% 22% auto;width:auto;max-width:none;margin:0;font-size:clamp(22px,2.8vw,42px);line-height:1.3}
@media(max-width:760px){.workspace[data-view=library] .forest-hero{aspect-ratio:3/1;border-radius:16px}.workspace[data-view=library] .forest-hero h1{inset:12% 19% auto;font-size:clamp(14px,4vw,26px);line-height:1.25}}

/* my-forest.css */
#my-forest-dialog{width:min(1120px,calc(100vw - 32px));max-width:1120px;max-height:calc(100dvh - 40px);padding:28px;border:1px solid #d6e7df;border-radius:28px;background:#f8fcf9;color:#1a4538;box-shadow:0 24px 80px #0d352b35;overflow:auto}#my-forest-dialog::backdrop{background:#102f2b88;backdrop-filter:blur(4px)}#my-forest-dialog button,#my-forest-dialog input{font:inherit}#my-forest-dialog button{cursor:pointer}#my-forest-dialog button:disabled{cursor:default;opacity:.5}#my-forest-dialog button:focus-visible,#my-forest-dialog a:focus-visible,.forest-map:focus-visible{outline:3px solid #45a27d;outline-offset:3px}
.forest-dialog-header{display:flex;align-items:center;gap:16px}.forest-dialog-header>div:first-child{flex:1}.forest-dialog-header h2{margin:0;font-size:30px}.forest-eyebrow{font-size:12px;letter-spacing:1.4px;margin:0 0 5px;color:#6a8c7c}.forest-wallet{display:flex;gap:10px;align-items:center;background:#e4f4ea;border-radius:14px;padding:12px 16px}.forest-wallet strong{font-size:24px}.forest-dialog-header button{min-width:44px;min-height:44px;border:0;border-radius:12px;background:#edf3ef;color:#244b3e}.forest-reward-copy{font-size:14px;color:#678272;line-height:1.7}.forest-tabs{display:flex!important;gap:6px;position:static!important;background:#eaf2ed;padding:5px;border-radius:14px}.forest-tabs button{flex:1;min-height:44px;border:0;border-radius:10px;background:transparent;color:#4a6a5b;font-weight:700}.forest-tabs button[aria-pressed=true]{background:white;color:#18785d;box-shadow:0 2px 8px #294d3912}.forest-message{margin:12px 0;min-height:20px;font-size:14px;color:#18785d}.forest-body{display:block;min-height:380px}.forest-primary,.forest-secondary{min-height:44px;padding:10px 16px;border-radius:12px;font-weight:700}.forest-primary{border:1px solid #207d61;background:#207d61;color:white}.forest-secondary{border:1px solid #d1e4d7;background:white;color:#256148}.forest-hint,.forest-save-note{font-size:12px;color:#819486;line-height:1.6}.forest-save-note{margin-top:20px;text-align:center}.forest-section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px}.forest-section-title h3{margin:0;font-size:19px}.forest-section-title>span{font-size:13px;color:#77907f}
.forest-roster-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.forest-character-card{position:relative;border:1px solid #d6e6db;background:#fff;border-radius:18px;padding:8px 3px 12px;min-width:0;color:#234c3a;transition:background .2s,box-shadow .2s}.forest-character-card[aria-pressed=true]{border:2px solid #238160;background:#e7f4e8;padding:7px 2px 11px;box-shadow:0 3px 0 #b9d7ba}.forest-character-card.is-adopted:before{content:'♥';position:absolute;top:7px;right:9px;color:#73a478;font-size:12px}.forest-character-card strong,.forest-character-card small{display:block;overflow-wrap:anywhere}.forest-character-card strong{font-size:14px;margin:3px 0}.forest-character-card small{font-size:10px;color:#7a8e7e}.forest-sprite{display:block;aspect-ratio:1;background-size:1000% 600%;background-repeat:no-repeat;width:100%;filter:drop-shadow(0 5px 3px #355f3020)}.forest-character-card .forest-sprite{width:86px;max-width:100%;margin:auto}
.forest-friend-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:24px;margin-top:22px}.forest-pet-scene{position:relative;text-align:center;background:radial-gradient(ellipse at 50% 15%,#dfefdf,transparent 70%),linear-gradient(#edf8f0,#fcfefb);padding:24px;border:2px solid transparent;border-radius:24px;overflow:hidden}.forest-pet-halo{position:relative;height:250px;display:flex;align-items:center;justify-content:center}.forest-pet-art{width:250px;height:250px;max-width:100%;transform-origin:50% 80%;animation:forest-breathe 4s ease-in-out infinite}.is-egg .forest-pet-art{animation:forest-egg 5s ease-in-out infinite}.forest-stage{display:inline-block;background:#e0f0e3;padding:6px 13px;border-radius:20px;font-size:13px}.forest-pet-scene h3{font-size:29px;margin:12px 0}.forest-pet-scene progress{width:85%;height:10px;accent-color:#248663}.forest-pet-scene>small{display:block;color:#6a8275;margin:7px 0 16px}.forest-pet-bond{font-size:13px;color:#70917f}.forest-pet-scene .forest-primary{margin-top:10px}.forest-drop-hint{display:none;position:absolute;inset:auto 0 0;background:#278966;color:white;padding:9px;border-radius:12px;font-size:13px}.forest-pet-scene.is-drop-target{border-color:#2b9169;background:#d9f1df}.is-drop-target .forest-drop-hint{display:block}.forest-animal-profile{padding:8px 0}.forest-animal-profile h3{font-size:27px;margin:0}.forest-animal-skill{font-size:14px;color:#669077;margin:5px 0 16px}.forest-animal-profile dl{margin:0}.forest-animal-profile dl>div{margin:12px 0}.forest-animal-profile dt{font-size:13px;font-weight:700;color:#4d7d66;margin-bottom:4px}.forest-animal-profile dd{margin:0;font-size:14px;line-height:1.65;color:#536f60}.forest-source{color:#668673;font-size:12px;text-underline-offset:3px}.forest-aniaal-invite{font-size:14px;padding:18px;border-radius:16px;background:#ebf3eb;margin-top:24px;line-height:1.7}
#forest-name-form{margin-top:12px}#forest-name-form label{display:block;font-size:14px;margin-bottom:7px}#forest-name-form>div{display:flex;justify-content:center;gap:6px}#forest-name-form input{min-width:0;width:170px;border:1px solid #cce0d4;border-radius:12px;padding:10px;background:white}#forest-name-form small,.forest-name-confirm small{display:block;color:#798d7e;font-size:12px;margin-top:9px}.forest-name-confirm h4{font-size:23px;margin:18px 0 4px;overflow-wrap:anywhere}.forest-name-confirm p{font-size:17px;margin:0}.forest-name-confirm>div{display:flex;gap:8px;justify-content:center;margin:14px 0}.forest-inline-shop{border-top:1px solid #dce9dd;margin-top:20px;padding-top:17px}.forest-inline-shop h4{margin:0;font-size:17px}.forest-inline-shop>p{font-size:13px;line-height:1.6;color:#6b8472}.forest-food-grid{display:grid;grid-template-columns:1fr;gap:9px}.forest-food-grid article{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #dce8df;background:white;border-radius:15px}.forest-food-icon{font-size:30px}.forest-food-grid article>div{flex:1;min-width:0}.forest-food-grid h5{font-size:14px;margin:0 0 3px}.forest-food-grid small{font-size:11px;color:#748b79}.forest-food-grid .forest-secondary{padding:8px 10px;font-size:12px;min-height:42px}.forest-owned-food{touch-action:none;border:1px dashed #91bc9c;border-radius:11px;background:#eff8ee;color:#336943;min-height:44px;padding:5px 9px;cursor:grab!important}.forest-owned-food small{display:block;font-size:9px}.forest-owned-food:disabled{cursor:default!important}.forest-drag-food{position:fixed;z-index:2147483647;pointer-events:none;font-size:44px;transform:translate(-50%,-50%);filter:drop-shadow(0 5px 8px #173c3540)}.forest-feeding-token{position:absolute;top:0;left:0;font-size:38px;pointer-events:none;z-index:5}.forest-pet-art.is-eating{animation:forest-chew .17s ease-in-out 6}.forest-feeding-hearts{position:absolute;top:70px;left:40%;color:#ce805a;font-size:28px;animation:forest-heart .95s ease-out both;pointer-events:none}.forest-hatching{position:absolute;inset:0;background:#f2f9e5d9;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:6;animation:forest-hatch-fade 1.3s both}.forest-hatching>span{font-size:100px;animation:forest-crack 1s both}.forest-hatching strong{font-size:20px}.forest-milestones{margin-top:25px}.forest-milestones h3{font-size:20px}.forest-milestones>p{font-size:13px;color:#708677}.forest-milestones>div{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px}.forest-milestones figure{margin:0;padding:5px;background:white;border:1px solid #e0ebdf;border-radius:12px;text-align:center}.forest-milestones figure.is-current{border:2px solid #268569;background:#eaf5e8}.forest-milestones figcaption{font-size:10px;color:#6d886f}
.forest-expedition-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:4px 0 12px}.forest-expedition-header h3{font-size:20px;margin:0}.forest-expedition-header p{font-size:12px;color:#758775;margin:4px 0}.forest-quiz-reward{padding:8px 12px;background:#fcf2cb;color:#806b37;border-radius:20px;font-size:12px;white-space:nowrap}.forest-companions{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.forest-companions button{display:flex;align-items:center;gap:4px;border:1px solid #d8e7d5;background:white;border-radius:24px;padding:3px 12px 3px 4px;color:#456e51}.forest-companions button[aria-pressed=true]{background:#dff0da;border-color:#77a779}.forest-companions .forest-sprite{width:36px;height:36px}.forest-companions button>span:last-child{font-size:12px}.forest-map{position:relative;aspect-ratio:1000/680;max-height:none;width:min(100%,780px);margin:0 auto;overflow:hidden;border-radius:24px;border:1px solid #bcd3aa;background:#d3e5bc;touch-action:manipulation;isolation:isolate}.forest-map-art{position:absolute;inset:0;width:100%;height:100%}.forest-place{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none}.forest-place>span{font-size:40px;filter:drop-shadow(0 5px 3px #325b3020)}.forest-place>strong{font-size:11px;font-weight:700;white-space:nowrap;background:#fff9dfd9;color:#5c744d;border-radius:10px;padding:3px 8px}.forest-walker,.forest-follower{position:absolute;width:85px;height:85px;transform:translate(-50%,-78%);z-index:3;pointer-events:none}.forest-walker strong{display:block;position:absolute;top:88%;left:50%;transform:translateX(-50%);font-size:11px;white-space:nowrap;color:#fff;background:#265944bd;border-radius:12px;padding:3px 9px}.forest-walker:before,.forest-follower:before{content:'';position:absolute;bottom:7%;left:15%;width:70%;height:12%;background:#466b4133;border-radius:50%;z-index:-1}.forest-walker.in-basket:after{content:'🧺';position:absolute;font-size:37px;bottom:0;left:23%;z-index:-1}.is-moving .forest-sprite{animation:forest-walk .3s ease-in-out infinite}.forest-follower{width:62px;height:62px;opacity:.92;z-index:2}.forest-map-label{position:absolute;right:18px;bottom:14px;font-size:15px;color:#537845;font-weight:700}.forest-world-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.forest-world-actions>.forest-primary{font-size:13px}.forest-dpad{display:grid;grid-template-columns:repeat(3,40px);grid-template-rows:40px 40px;gap:4px}.forest-dpad button{border:1px solid #bfd7bd;border-radius:10px;background:white;color:#486e42;font-size:22px;touch-action:none}.forest-dpad button:first-child{grid-column:2}.forest-dpad button:nth-child(2){grid-column:1;grid-row:2}.forest-dpad button:nth-child(3){grid-column:2;grid-row:2}.forest-dpad button:nth-child(4){grid-column:3;grid-row:2}.forest-carrier-copy,.forest-world-tip{font-size:12px;color:#7b8c73;line-height:1.6}.forest-question{margin:20px 0;padding:22px;border:1px solid #c4ddbb;border-radius:20px;background:#fffdf3;text-align:center;box-shadow:0 6px 20px #617c3710}.forest-question>span{font-size:12px;color:#839260}.forest-question h4{font-size:32px;margin:12px 0 6px;color:#315335}.forest-question p{font-size:14px}.forest-question>div{display:flex;gap:10px;margin:15px 0}.forest-question button{flex:1;min-height:48px;padding:10px;border:1px solid #ccd9bc;border-radius:12px;background:white;color:#49673f;font-weight:700}.forest-question small{font-size:12px;color:#93a17d}.forest-empty{text-align:center;padding:50px 20px}.forest-empty>span{font-size:64px}.forest-empty p{color:#738c77;font-size:14px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@keyframes forest-breathe{50%{transform:translateY(-3px) scale(1.015)}}@keyframes forest-egg{0%,76%,100%{transform:rotate(0)}80%{transform:rotate(-3deg)}84%{transform:rotate(3deg)}88%{transform:rotate(-2deg)}}@keyframes forest-chew{50%{transform:scale(1.04,.96) translateY(3px)}}@keyframes forest-heart{from{opacity:1;transform:translateY(40px)}to{opacity:0;transform:translateY(-40px)}}@keyframes forest-crack{0%{transform:rotate(-6deg)}25%{transform:rotate(7deg)}50%{transform:rotate(-10deg)}100%{transform:translateY(65px) scale(1.35);opacity:0}}@keyframes forest-hatch-fade{0%,60%{opacity:1}100%{opacity:0}}@keyframes forest-walk{50%{transform:translateY(-6px) rotate(2deg)}}
@media(min-width:761px){.site-header nav.learning-steps{top:20px;bottom:20px;height:calc(100dvh - 40px);border-radius:24px;padding:16px 12px;box-shadow:0 16px 50px #163d2d22;border:1px solid #ffffff24}.sidebar-menu-group{gap:18px}.sidebar-own-space{border-top:1px solid #ffffff25;padding-top:16px;margin-top:8px}.sidebar-own-space>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:6px 12px;cursor:pointer;font-size:14px;font-weight:700;color:#bcdace}.sidebar-own-space>summary::after{content:'⌄';font-size:18px}.sidebar-own-space[open]>summary::after{transform:rotate(180deg)}.sidebar-own-space>summary::-webkit-details-marker{display:none}.sidebar-own-space .nav-saved{display:flex;flex-direction:column;gap:6px}.site-header nav.learning-steps .nav-button{min-height:50px;font-size:16px;padding:12px;border-radius:14px}.site-header nav.learning-steps #my-forest-launch{background:#ffffff13;color:#e5fff1}.sidebar-bottom{padding-top:14px}.sidebar-account-actions{border-top:1px solid #ffffff25;padding-top:10px}.site-header nav.learning-steps .sidebar-account-actions .nav-button{font-size:13px;padding:10px 4px}}
@media(max-width:760px){.sidebar-own-space{display:contents}.sidebar-own-space>summary{display:none}.sidebar-own-space .nav-saved{display:contents}.site-header nav.learning-steps .sidebar-account-actions{display:contents}.site-header nav.learning-steps{overflow-x:auto;justify-content:flex-start;gap:2px}.site-header nav.learning-steps .nav-button{flex:0 0 auto;min-width:54px}.site-header nav.learning-steps #my-forest-launch{font-size:10px}#my-forest-dialog{padding:16px;border-radius:20px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.forest-dialog-header{gap:8px}.forest-dialog-header h2{font-size:25px}.forest-wallet{padding:8px 10px;font-size:12px}.forest-wallet strong{font-size:20px}.forest-roster-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.forest-character-card .forest-sprite{width:75px}.forest-character-card strong{font-size:12px}.forest-friend-detail{grid-template-columns:1fr;gap:18px}.forest-pet-halo{height:220px}.forest-pet-art{width:220px;height:220px}.forest-pet-scene{padding:17px}.forest-animal-profile{padding:0 4px}.forest-reward-copy{font-size:11px}.forest-milestones>div{grid-template-columns:repeat(5,minmax(0,1fr))}.forest-expedition-header{align-items:start}.forest-quiz-reward{font-size:10px;padding:7px 8px}.forest-map{border-radius:16px}.forest-place>span{font-size:27px}.forest-place>strong{font-size:8px;padding:2px 5px}.forest-walker{width:60px;height:60px}.forest-follower{width:42px;height:42px}.forest-walker strong{font-size:9px}.forest-walker.in-basket:after{font-size:28px}.forest-world-actions>.forest-primary{font-size:11px;padding:8px}.forest-dpad{grid-template-columns:repeat(3,35px);grid-template-rows:35px 35px}.forest-question{padding:17px}.forest-question>div{gap:5px}.forest-question button{font-size:12px;padding:8px}.forest-section-title h3{font-size:16px}.forest-section-title>span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.forest-pet-art,.is-egg .forest-pet-art,.forest-pet-art.is-eating,.is-moving .forest-sprite,.forest-feeding-hearts,.forest-hatching,.forest-hatching>span{animation:none}.forest-character-card{transition:none}}

/* Forest animal care and map presentation. */
.forest-animal-details{margin-top:16px;padding:14px 16px;background:#edf5ed;border:1px solid #d5e6d4;border-radius:15px;font-size:14px;line-height:1.8}.forest-animal-details summary{cursor:pointer;font-weight:700;color:#237859}.forest-animal-details small{font-size:12px;color:#718473}.forest-animal-invite{padding:18px;background:#ebf3eb;border-radius:16px;line-height:1.7}
#my-forest-dialog.is-food-dragging,#my-forest-dialog.is-food-dragging *,.forest-owned-food,.forest-owned-food *{user-select:none;-webkit-user-select:none}.forest-owned-food{touch-action:none}.forest-map{width:100%;max-width:960px;border:0;box-shadow:0 12px 30px #304c3024}.forest-map-art{object-fit:fill;pointer-events:none}.forest-place>span{font-size:24px;background:#fff8e9e6;padding:6px;border:1px solid #eed9a2;border-radius:50%}.forest-place>strong{font-size:12px;box-shadow:0 3px 8px #17392924}.forest-map-label{color:white;text-shadow:0 2px 6px #213b21}
.forest-milestones .forest-sprite{width:100%;height:auto;aspect-ratio:1;min-height:0;box-sizing:border-box;flex-shrink:0}.forest-milestones figure{overflow:visible}.forest-sprite{line-height:0;max-width:100%}

/* forest-polish-v245.css */
/* Compact navigation and a single, persistent library filter area. */
.forest-hero[role=button]{cursor:pointer}.forest-hero:focus-visible{outline:3px solid #218568;outline-offset:4px}
#my-forest-dialog{width:min(1400px,calc(100vw - 36px));max-width:1400px;padding:24px;background:#f5faf7}.forest-map{max-width:none;aspect-ratio:1000/680;background:#bed2b5;box-shadow:0 7px 20px #24453118}.forest-map-art{filter:saturate(.75);object-fit:fill}.forest-sprite{object-fit:contain;background:none}.forest-follower,.forest-walker{filter:drop-shadow(0 3px 2px #243d3220)}.forest-milestones .forest-sprite{padding:5px;object-fit:contain}.forest-milestones figure{background:white}.forest-message:empty{display:none}.forest-expedition-tools{display:flex;gap:8px;flex-wrap:wrap}.forest-expedition-header{gap:12px;margin-bottom:14px}.forest-companions{flex-wrap:wrap}.forest-friends-panel>header,.forest-arcade-catalog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:10px 0 18px}.forest-friends-panel>header h3,.forest-arcade-catalog h3{margin:0;font-size:24px}.forest-first-choice>h3{font-size:26px;margin-bottom:8px}.forest-first-choice>p{color:#6b8276;font-size:14px;line-height:1.7}.forest-world-actions{gap:12px;flex-wrap:wrap}.forest-character-card .forest-sprite{width:110px;height:110px}.forest-character-card{padding:10px 4px 13px!important}.forest-pet-scene .forest-secondary{display:block;margin:12px auto 0}.forest-pet-halo .forest-sprite{object-fit:contain}.forest-arcade-districts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.forest-arcade-districts button{border:1px solid #cfe1d6;border-radius:24px;padding:10px 16px;min-height:44px;background:white;color:#426a59}.forest-arcade-districts button[aria-pressed=true]{background:#23775c;color:white;border-color:#23775c}.forest-game-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.forest-game-grid>button{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:190px;text-align:left;padding:20px;background:white;border:1px solid #d5e5da;border-radius:20px;color:#285344;box-shadow:0 4px 0 #e0ece4;transition:transform .15s,border-color .15s}.forest-game-grid>button:hover{transform:translateY(-3px);border-color:#5d9e7a}.forest-game-grid>button>span{font-size:33px;line-height:1.2}.forest-game-grid strong{font-size:17px}.forest-game-grid small{font-size:12px;line-height:1.6;color:#71877b}.forest-game-grid em{font-style:normal;font-size:11px;color:#8b9e92;margin-top:auto}.forest-minigame{margin:16px 0;background:#fffdf5}.arcade-answer-form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:20px auto}.arcade-answer-form label{width:100%;font-size:13px;color:#728377}.arcade-answer-form input{width:min(300px,65%);border:1px solid #b9cfbc;border-radius:12px;padding:12px;font-size:24px;background:white;color:#31573f}.arcade-clue,.arcade-flash-word,.arcade-sequence,.arcade-hidden-word{font-size:clamp(23px,3vw,34px);font-weight:700;line-height:1.6;color:#365b47}.arcade-picture{font-size:100px;line-height:1.2;margin:12px}.arcade-keys,.arcade-colors,.arcade-round-choices,.arcade-sequence-tray{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.arcade-keys button,.arcade-matching button,.arcade-bingo button,.arcade-round-choices button,.arcade-sequence-tray button{min-height:52px;min-width:52px;border:1px solid #bdcfb8;background:white;color:#365c44;border-radius:12px;padding:12px 18px;font-size:20px;box-shadow:0 3px 0 #dbe7d3}.arcade-keys button[aria-pressed=true],.is-matched{background:#dfefd9!important;border-color:#6b9a66!important}.arcade-matching{display:grid;grid-template-columns:1fr 1fr;gap:25px}.arcade-matching>div{display:grid;gap:15px}.arcade-bingo{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.arcade-colors button{border:2px solid #fff;box-shadow:0 0 0 1px #90a69a;min-height:90px;min-width:100px;border-radius:18px;color:#163b2d;font-size:19px}.arcade-wordsearch{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;max-width:600px;margin:auto}.arcade-wordsearch button{aspect-ratio:1;border:1px solid #d0dec8;border-radius:7px;background:white;color:#325340;font-size:clamp(13px,2vw,20px);padding:0}.arcade-counter{display:flex;align-items:center;justify-content:center;gap:25px;margin:30px 0}.arcade-counter button{min-width:54px;min-height:54px;border-radius:50%;border:1px solid #b3cfae;background:white;color:#345d40;font-size:28px}.arcade-counter strong{font-size:35px}.arcade-route{position:relative;height:100px;border-radius:18px;background:linear-gradient(#ecf4e7,#d5e6c9);margin:25px 0;display:flex;align-items:center;justify-content:flex-end;font-size:40px;padding:0 15px}.arcade-route [data-route-pawn]{position:absolute;left:0;transition:left .2s}.arcade-audio-hint{font-size:23px;color:#315d4b}.arcade-word-drop{margin:25px auto;border:2px dashed #a7c2a0;border-radius:16px;padding:25px;color:#627d5d;background:#eef6e8}.arcade-balloons button{border-radius:45% 45% 40% 40%;min-height:100px;background:#e6eff7;animation:arcade-float 3s ease-in-out infinite}.arcade-balloons button:nth-child(2){animation-delay:-1s;background:#f8ece5}.arcade-balloons button:nth-child(3){animation-delay:-2s;background:#e7f3e4}.arcade-sequence-tray[hidden],.arcade-flash-input[hidden],.arcade-audio-hint[hidden]{display:none!important}
@keyframes arcade-float{50%{transform:translateY(-9px)}}
@media(max-width:1100px){.forest-game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.forest-roster-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){#my-forest-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:15px;border-radius:20px}.forest-game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.forest-game-grid>button{min-height:170px;padding:14px;gap:7px}.forest-game-grid strong{font-size:15px}.forest-expedition-tools{width:100%}.forest-expedition-tools>button{flex:1;font-size:12px;padding:10px}.forest-expedition-header{flex-wrap:wrap}.forest-roster-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.forest-character-card .forest-sprite{height:74px}.forest-friends-panel>header h3{font-size:20px}.forest-arcade-catalog>header{align-items:start}.forest-arcade-catalog>header .forest-secondary{font-size:12px}.arcade-matching{gap:10px}.arcade-keys button,.arcade-matching button,.arcade-bingo button,.arcade-round-choices button{font-size:16px;padding:10px;min-width:44px;min-height:44px}.arcade-wordsearch{gap:2px}.arcade-wordsearch button{border-radius:4px}.arcade-colors button{min-width:75px;min-height:75px}.forest-world-actions .forest-quiz-reward{display:none}.forest-world-actions>.forest-primary{flex:1}}
@media(prefers-reduced-motion:reduce){.arcade-balloons button{animation:none}.forest-game-grid>button,.arcade-route [data-route-pawn]{transition:none}}
@media(min-width:761px){.site-header nav.learning-steps{height:auto;min-height:0;bottom:auto;max-height:calc(100dvh - 40px);overflow-y:auto}.site-header nav.learning-steps .sidebar-bottom{margin-top:20px;flex:0 0 auto}.site-header nav.learning-steps .sidebar-menu-group{flex:0 0 auto}.sidebar-account-actions{gap:8px}.sidebar-own-space{margin-top:0;padding-top:10px}}
.home-library-settings{position:relative;margin-bottom:18px!important;border:1px solid #dbe6ea;border-radius:18px;background:#ffffffb8;padding:12px!important;overflow:visible!important}.home-library-settings>.library-control-panel{display:flex!important;flex-direction:column!important;gap:12px!important;padding:0!important}.home-library-settings .library-filters{display:grid!important;grid-template-columns:minmax(210px,2.7fr) repeat(3,minmax(110px,1fr));gap:9px;width:100%}.home-library-settings .library-filters>label{min-width:0}.home-library-settings .library-filters input,.home-library-settings .library-filters select,.home-library-settings .multi-topic-picker>summary{width:100%;min-height:44px;margin:0}.home-library-settings .multi-topic-picker{width:100%}.home-library-settings .multi-topic-panel{z-index:30;box-shadow:0 15px 35px #203d3226}
.library-filter-secondary{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-top:1px solid #e5edf0;padding-top:10px}.library-filter-secondary .registration-toolbar{margin:0!important;display:flex!important;flex:none;align-items:center;gap:6px}.library-filter-secondary .registration-toolbar>p{display:none}.library-filter-secondary .registration-presets{display:flex;gap:4px}.library-filter-secondary .registration-presets button,.library-filter-secondary .registration-calendar{height:38px;min-height:38px}.library-filter-secondary .category-filter-row{display:contents}.library-filter-secondary .category-bookmark-filter,.library-filter-secondary .completed-learning-filter{min-height:38px;border:1px solid #d8e6e4;border-radius:10px;padding:7px 11px!important;font-size:13px!important;white-space:nowrap;background:white;margin:0!important;display:inline-flex;align-items:center;gap:7px}.library-filter-secondary .completed-learning-filter input{width:16px;height:16px;margin:0;accent-color:#178367}.library-filter-secondary .category-bookmark-filter[aria-pressed=true]{background:#e5f4ed;border-color:#77b99f;color:#176849}.library-filter-status{font-size:11px;color:#758c88;margin-left:auto}.library-filter-reset{border:0;background:transparent;padding:8px;color:#617f79;font-size:12px;text-decoration:underline;text-underline-offset:3px}.home-date-shortcuts{display:none!important}.home-library-settings #registration-custom{width:100%;margin:0;padding:12px;background:#f1f7f7;border-radius:12px}.home-library-settings #registration-custom[hidden]{display:none!important}
@media(max-width:760px){.home-library-settings{padding:10px!important}.home-library-settings>summary{display:block!important;cursor:pointer;font-weight:700;margin-bottom:10px}.home-library-settings:not([open])>.library-control-panel{display:none!important}.home-library-settings .library-filters{grid-template-columns:repeat(3,minmax(0,1fr))!important}.home-library-settings .search-field{grid-column:1/-1}.home-library-settings .library-filters select,.multi-topic-picker>summary{font-size:12px}.library-filter-secondary{gap:6px}.library-filter-secondary .category-bookmark-filter,.library-filter-secondary .completed-learning-filter{font-size:12px!important}.library-filter-status{order:10;width:100%;margin:0}.library-filter-reset{margin-left:auto}}

/* forest-polish-v246.css */
/* Readable settings: stable labels and comfortably sized targets. */
.home-library-settings{padding:18px!important;background:#fff!important;box-shadow:0 4px 18px #173f3510}
.home-library-settings>.library-control-panel{gap:16px!important}
.home-library-settings .library-filters{gap:12px!important;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr))!important}
.home-library-settings .library-filters>label>span:not(.sr-only){display:block;font-size:14px;font-weight:700;color:#254b50;margin:0 0 7px}
.home-library-settings .library-filters input,.home-library-settings .library-filters select,.home-library-settings .multi-topic-picker>summary{font-size:17px!important;min-height:52px!important;border-color:#b6cec9!important;padding:12px 14px!important;border-radius:12px}
.library-filter-secondary{gap:12px!important;justify-content:flex-start!important;width:100%;border-top:1px solid #dce8e4;padding-top:14px!important}
.library-filter-secondary .registration-toolbar{gap:10px!important}
.library-filter-secondary .registration-presets{gap:6px!important;padding:4px;background:#edf4f1;border-radius:12px}
.library-filter-secondary .registration-presets button,.library-filter-secondary .registration-calendar{font-size:16px!important;font-weight:600;min-height:46px!important;height:auto!important;min-width:65px;padding:10px 15px!important}
.library-filter-secondary .registration-calendar{display:inline-flex;align-items:center;gap:8px}
.library-filter-secondary .category-bookmark-filter,.library-filter-secondary .completed-learning-filter{min-height:54px!important;padding:12px 16px!important;font-size:16px!important;font-weight:600;gap:10px!important;color:#245b50!important;border-color:#a9cbc0!important}
.library-filter-secondary .completed-learning-filter input{width:22px!important;height:22px!important;flex-shrink:0}
.library-filter-secondary button[aria-pressed=true]{box-shadow:0 0 0 2px #197d63 inset}
.library-filter-status{font-size:13px!important;color:#53716a!important;margin-left:0!important;flex-basis:100%;order:8}
.library-filter-reset{font-size:15px!important;min-height:48px;white-space:nowrap;margin-left:auto;color:#365f56!important}
.home-library-settings :is(button,input,select,summary):focus-visible{outline:3px solid #e8ac38;outline-offset:3px}
/* Compact personal learning pages. */
#collections-view .collection-heading{margin-bottom:20px;padding-bottom:0;border:0;align-items:center}
#collections-view .collection-heading .eyebrow,#words-view>.eyebrow{display:none}
#collections-view .collection-heading p,#words-view .wordbook-note{margin:8px 0 0}
#collections-view .learning-progress{padding:16px 20px;margin:16px 0;box-shadow:none}
#collections-view .learning-progress-head h2{font-size:16px}
#collections-view .progress-overview{margin:10px 0;gap:16px;align-items:center}
#collections-view .progress-ring{width:52px;height:52px;font-size:15px;flex:0 0 52px;border-width:5px}
#collections-view .progress-figures>strong{font-size:21px}
#collections-view .progress-figures p{margin:5px 0 0}
#collections-view .learning-progress progress{height:6px}
#collections-view .progress-note{font-size:12px;margin:8px 0 0}
#collections-view .folder-list{display:block;margin:20px 0 12px}
.collection-folder-select{display:flex;align-items:center;gap:12px;font-weight:600;font-size:16px}
.collection-folder-select select{width:min(360px,100%);min-height:50px;font-size:17px;margin:0}
#collections-view .collection-toolbar{gap:10px;flex-wrap:wrap;padding-bottom:12px}
#collections-view .collection-toolbar>div{margin-right:auto}
.collection-manage{position:relative}
.collection-manage>summary{list-style:none;cursor:pointer;min-height:48px;padding:12px 15px;background:white;border:1px solid #d1e1dd;border-radius:10px;font-weight:600;color:#285b50}
.collection-manage[open]>div{position:absolute;right:0;top:52px;z-index:5;width:180px;padding:8px;display:grid;gap:8px;background:white;border:1px solid #c8dcd5;border-radius:12px;box-shadow:0 8px 24px #143f3520}
#collections-view .collection-item{padding:16px 0}
#words-view .wordbook-top-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0 12px}
#wordbook-search{font-size:17px;min-height:50px;max-width:520px;flex:1;margin:0}
.wordbook-top-tools>button{min-height:50px;white-space:nowrap;font-size:16px}
.wordbook-settings{margin:0 0 12px;border:1px solid #d3e3dc;border-radius:12px;padding:12px 16px;background:#fff}
.wordbook-settings>summary,.wordbook-extra-filters>summary{font-size:16px;font-weight:600;cursor:pointer;min-height:26px;color:#285b50}
.wordbook-settings .wordbook-view-options{margin:15px 0 0;padding:0;gap:18px;flex-wrap:wrap}
#words-view .wordbook-sync{padding:10px 16px;margin:12px 0;min-height:0;font-size:14px;gap:12px}
#words-view .wordbook-sync p{margin:0}
#words-view .wordbook-sync small{font-size:12px}
#words-view .wordbook-sync .secondary-button{padding:9px 13px;font-size:14px;min-height:42px}
#words-view .wordbook-filter-panel{padding:12px 16px;margin:0 0 18px}
.wordbook-extra-filters[open] .wordbook-filter-grid{margin-top:16px}
#words-view .wordbook-card{padding:18px 22px;margin:12px 0;border-radius:14px}
#words-view .wordbook-card h3{font-size:23px}
#words-view .wordbook-source{font-size:12px;margin-bottom:0}
#words-view .wordbook-empty{padding:55px 16px;line-height:1.8}
#words-view .wordbook-empty button{display:block;margin:18px auto 0}
#words-view .word-audio-credits{margin:12px 0}
/* The scene has its own camera; the viewport never expands to map size. */
#my-forest-dialog.is-playing{width:calc(100vw - 24px);max-width:1600px;height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);padding:14px;overflow:hidden;box-sizing:border-box}
.forest-shell.is-playing{height:100%;display:flex;flex-direction:column;min-height:0;gap:8px}
.forest-shell:fullscreen{background:#f3faf6;width:100vw;height:100dvh;box-sizing:border-box;padding:14px;overflow:auto}
.forest-shell.is-playing:fullscreen{overflow:hidden}
.forest-shell.is-playing .forest-dialog-header{flex:none;gap:12px;margin:0;align-items:center}
.forest-shell.is-playing .forest-dialog-header h2{font-size:24px;margin:0}
.forest-shell.is-playing .forest-eyebrow,.forest-shell.is-playing>.forest-reward-copy,.forest-shell.is-playing>.forest-save-note{display:none}
.forest-dialog-header [data-fullscreen]{min-height:44px;border:1px solid #bcd7c9;border-radius:12px;background:white;color:#215745;font-size:15px;padding:10px 14px;white-space:nowrap;cursor:pointer}
.forest-shell.is-playing .forest-wallet{padding:8px 14px;font-size:14px}
.forest-shell.is-playing .forest-wallet strong{font-size:21px}
.forest-shell.is-playing>.forest-message:empty{display:none}
.forest-shell.is-playing>.forest-message{margin:0;font-size:13px;flex:none}
.forest-shell.is-playing .forest-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px;overflow:hidden}
.forest-expedition-header{flex:none;gap:12px;margin:0}
.forest-expedition-header h3{font-size:18px;margin:0}
.forest-expedition-header p{font-size:13px;margin:4px 0 0}
.forest-expedition-tools>button{min-height:42px;font-size:14px;padding:8px 14px}
.forest-region-bar{display:flex;gap:6px;flex:none;overflow-x:auto;scrollbar-width:none}
.forest-region-bar button{flex:1;min-width:110px;min-height:42px;padding:8px 12px;background:#e8f2eb;border:1px solid #d1e2d5;border-radius:10px;color:#355b45;font-weight:600;cursor:pointer}
.forest-region-bar button[aria-pressed=true]{background:#245e47;color:white;border-color:#245e47}
.forest-companions{margin:0!important;flex:none;gap:6px!important}
.forest-companions button{height:40px;font-size:14px;padding:3px 12px}
.forest-companions .forest-sprite{width:32px;height:32px}
.forest-shell.is-playing .forest-map{flex:1;aspect-ratio:auto;height:auto;min-height:100px;max-height:none;margin:0;width:100%;overflow:hidden;position:relative;border-radius:20px;border:2px solid #4d9678;background:#dcebcf;outline-offset:-5px;touch-action:none;isolation:isolate}
.forest-world-scene{position:absolute;left:0;top:0;width:2400px;height:1400px;transform-origin:0 0;will-change:transform}
.forest-world-scene .forest-map-art{width:100%;height:100%;object-fit:fill;position:absolute;inset:0;filter:none;pointer-events:none}
.forest-world-scene .forest-place{position:absolute;transform:translate(-50%,-50%) scale(var(--place-scale,1));width:auto;min-width:134px;height:auto;padding:8px 12px;display:flex;flex-direction:row;align-items:center;gap:8px;background:#fffaf0f5;border:1px solid #adbe99;border-radius:16px;box-shadow:0 4px 8px #284a3030;cursor:pointer;z-index:3}
.forest-world-scene .forest-place>span{font-size:25px;width:auto;height:auto;margin:0;background:none;border:0;box-shadow:none}
.forest-world-scene .forest-place>strong{font-size:17px;line-height:1.3;white-space:nowrap;padding:0;background:none}
.forest-world-scene .forest-walker,.forest-world-scene .forest-resident{position:absolute;width:112px;transform:translate(-50%,-85%);display:flex;align-items:center;flex-direction:column;z-index:4;pointer-events:none}
.forest-world-scene .forest-walker .forest-sprite{width:112px;height:112px;object-fit:contain;animation:none}
.forest-world-scene .forest-resident .forest-sprite{width:90px;height:90px;object-fit:contain;animation:none}
.forest-world-scene .forest-walker.is-moving .forest-sprite{animation:forest-walk-hop .3s infinite alternate ease-out}
.forest-world-scene .forest-resident{width:90px;opacity:.95}
.forest-world-scene :is(.forest-walker,.forest-resident)>strong{font-size:15px;padding:3px 10px;border-radius:20px;background:#255f45d9;color:white;white-space:nowrap}
.forest-minimap{position:absolute;right:14px;bottom:14px;width:190px;height:111px;border:2px solid #ffffffb0;border-radius:14px;background:#eff5e6e8;box-shadow:0 3px 14px #183b3130;z-index:6}
.forest-minimap button{position:absolute;transform:translate(-50%,-50%);min-width:26px;min-height:26px;background:#fff;border:1px solid #b3cbb4;border-radius:8px;padding:2px;font-size:15px;cursor:pointer}
.forest-minimap i{position:absolute;width:10px;height:10px;border:2px solid white;background:#c37a25;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.forest-map-label{bottom:12px;left:14px;right:auto;font-size:13px;color:white;background:#1e4b38c9;border-radius:20px;padding:5px 12px}
.forest-shell.is-playing .forest-world-actions{flex:none;display:flex;gap:12px;align-items:center;margin:0}
.forest-world-actions .forest-dpad{display:flex;gap:5px;width:auto;grid-template:none}
.forest-dpad button{min-width:44px;min-height:44px;width:44px;height:44px;grid-area:auto!important;padding:5px;font-size:21px}
.forest-world-actions>p{margin:0;font-size:13px;color:#4f725f}
.forest-world-actions .forest-quiz-reward{margin-left:auto}
.forest-shell.is-playing .forest-minigame{flex:1;min-height:0;overflow:auto;margin:0;padding:16px;display:flex;flex-direction:column;align-items:center;background:#f8f7ed}
.forest-shell.is-playing .forest-minigame>header{flex:none;text-align:center;width:100%}
.forest-shell.is-playing .forest-minigame>header h3{margin:6px 0;font-size:22px}
.forest-shell.is-playing .forest-minigame>header p{margin:6px 0;font-size:14px}
.forest-shell.is-playing .mini-play-area{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:12px 0}
.forest-shell.is-playing .mini-feedback{flex:none;margin:8px 0;font-size:14px}
.forest-shell.is-playing .forest-minigame>footer{flex:none;font-size:11px;margin:0}
.forest-body>[data-abandon]{align-self:flex-start;min-height:36px;padding:7px 12px;font-size:13px;flex:none}
.forest-shell.is-playing .mini-success{display:grid;justify-items:center;align-content:center;flex:1;gap:15px;padding:30px}
.maze-hud{display:flex;justify-content:space-between;gap:12px;align-items:center;width:min(850px,100%);font-size:15px;color:#315940}
.maze-board{position:relative;aspect-ratio:13/9;width:min(1100px,100%,calc((100dvh - 370px)*13/9));max-height:100%;flex:0 1 auto;min-height:0;outline-offset:3px;border:4px solid #8c9c72;border-radius:16px;overflow:hidden;background:#eadfb6;box-shadow:0 8px 25px #34553025}
.maze-grid{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));grid-template-rows:repeat(9,minmax(0,1fr));width:100%;height:100%;position:absolute;inset:0}
.maze-tile{display:grid;place-items:center;font-size:clamp(14px,2.5vw,29px)}
.maze-wall{background:#49764d;border:2px solid #628359;border-radius:5px;box-shadow:inset 0 4px #779966,inset 0 -5px #2b503c55}
.maze-path{background:#eadfb6;border:1px solid #e3d7ad}
.maze-hero{position:absolute;width:7.6%;height:11%;object-fit:contain;transform:translate(-50%,-50%);transition:top .1s,left .1s;filter:drop-shadow(0 3px 2px #27412950);pointer-events:none}
.maze-hop{animation:maze-step .12s ease-out}
.maze-treasure-question{position:absolute;inset:15% 10%;z-index:6;background:#fffaf0f5;border:3px solid #b99445;border-radius:18px;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;box-shadow:0 8px 40px #223f3450}
.maze-treasure-question[hidden]{display:none}
.maze-treasure-question strong{font-size:30px;color:#255339}
.maze-treasure-question p{margin:0;font-size:15px}
.maze-treasure-question button{width:min(330px,100%);min-height:44px;border:1px solid #bad2b2;border-radius:10px;background:white;color:#28533d;font-size:17px;cursor:pointer}
.maze-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.maze-controls button{min-height:44px;min-width:65px;padding:8px 14px;font-size:16px;color:#29573e;background:#fff;border:1px solid #a2b894;border-radius:10px;cursor:pointer}
@keyframes forest-walk-hop{to{transform:translateY(-7px) rotate(3deg)}}
@keyframes maze-step{50%{transform:translate(-50%,-60%)}}
@media(max-width:950px){.home-library-settings .library-filters{grid-template-columns:repeat(3,minmax(0,1fr))!important}.home-library-settings .search-field{grid-column:1/-1}.library-filter-secondary{gap:8px!important}.library-filter-reset{margin-left:0}.forest-expedition-tools>button{padding:8px 10px}}
@media(max-width:600px){.home-library-settings{padding:14px!important}.home-library-settings .library-filters{grid-template-columns:1fr!important}.home-library-settings .library-filters>label{grid-column:auto}.home-library-settings>summary{font-size:18px;padding:8px 0}.library-filter-secondary .registration-toolbar{width:100%;flex-wrap:wrap!important}.library-filter-secondary .category-bookmark-filter,.library-filter-secondary .completed-learning-filter{font-size:16px!important;flex:1;justify-content:center}.library-filter-secondary .completed-learning-filter{flex-basis:100%}.library-filter-status{font-size:13px!important}.library-filter-reset{padding-left:0}.collection-folder-select{align-items:flex-start;flex-direction:column}.collection-folder-select select{width:100%}.progress-scopes button{font-size:13px;padding:9px}.learning-progress-head{gap:10px;flex-wrap:wrap}.wordbook-top-tools{align-items:stretch}#wordbook-search{flex-basis:100%}.wordbook-filter-grid{grid-template-columns:1fr!important}#my-forest-dialog.is-playing{height:calc(100dvh - 8px);max-height:calc(100dvh - 8px);width:calc(100vw - 8px);padding:8px;border-radius:16px}.forest-shell:fullscreen{padding:8px}.forest-shell.is-playing .forest-dialog-header{gap:7px}.forest-shell.is-playing .forest-dialog-header h2{font-size:20px}.forest-shell.is-playing .forest-wallet{gap:5px;padding:6px 8px}.forest-shell.is-playing .forest-wallet strong{font-size:18px}.forest-dialog-header [data-fullscreen]{font-size:12px;min-height:40px;padding:7px 9px}.forest-shell.is-playing [data-forest-close]{width:36px;height:36px}.forest-expedition-header>div:first-child p{display:none}.forest-expedition-header h3{font-size:15px}.forest-expedition-tools{width:auto!important;gap:5px;flex:1}.forest-expedition-tools>button{font-size:12px;padding:6px 8px;min-height:36px}.forest-region-bar button{min-width:100px;min-height:38px;font-size:12px}.forest-shell.is-playing .forest-map{border-radius:14px}.forest-minimap{width:130px;height:76px;right:8px;bottom:8px}.forest-minimap button{font-size:12px;min-width:22px;min-height:22px}.forest-companions{flex-wrap:nowrap;overflow:auto}.forest-companions button{flex-shrink:0}.forest-world-actions>p{display:none}.forest-shell.is-playing .forest-minigame{padding:10px}.forest-shell.is-playing .mini-location,.forest-shell.is-playing .forest-minigame>footer{display:none}.forest-shell.is-playing .forest-minigame>header h3{font-size:19px}.forest-shell.is-playing .forest-minigame>header p{font-size:12px}.maze-board{width:min(100%,calc((100dvh - 340px)*13/9))}.maze-hud{font-size:12px;gap:6px}.maze-controls{gap:5px}.maze-controls button{font-size:13px;min-width:49px;padding:8px}.maze-treasure-question{inset:5%;padding:10px;gap:6px}.maze-treasure-question strong{font-size:23px}.maze-treasure-question p{font-size:12px}.maze-treasure-question button{min-height:36px;font-size:14px}.forest-shell.is-playing .mini-play-area{gap:8px}}
@media(prefers-reduced-motion:reduce){.forest-world-scene .forest-walker.is-moving .forest-sprite,.maze-hop{animation:none}.maze-hero{transition:none}}
/* Readable selected topics and a compact, aligned sidebar. */
#category-selection-status{display:flex;flex-wrap:wrap;align-items:center;gap:10px;flex:1;margin:0;min-width:0}
#category-selection-status .category-selection-chip{display:flex;align-items:center;gap:0;background:#edf5f1;border:1px solid #d1e5db;border-radius:12px;position:relative;padding:0;color:#205c4b;user-select:none;min-height:46px}
.category-selection-chip .selection-chip-handle{padding:10px 8px 10px 12px;border:0;background:none;font-size:16px;color:inherit;cursor:grab;touch-action:none;min-height:46px}
.category-selection-chip .selection-chip-remove{border:0;background:none;min-width:36px;min-height:44px;font-size:21px;color:inherit;padding:4px}
.selection-chip-controls{position:relative;margin:0;background:none;border:0;padding:0}
.selection-chip-controls summary{list-style:none;font-size:12px;padding:10px 6px;cursor:pointer;color:#557969}
.selection-chip-controls[open]{position:absolute;right:34px;top:100%;z-index:20;background:white;border:1px solid #c7dfd2;box-shadow:0 6px 18px #183c2520;border-radius:10px;padding:6px;min-width:92px}
.selection-chip-controls button{display:block;width:100%;padding:9px;border:0;background:none;color:#205c4b;min-height:44px;font-size:15px}
.selection-chip-controls button:disabled{opacity:.4}
.category-selection-chip.is-dragging{opacity:.55;outline:2px solid #1d8767}.category-selection-chip.drop-before{box-shadow:-5px 0 #1d8767}.category-selection-chip.drop-after{box-shadow:5px 0 #1d8767}
@media(min-width:761px){
 .site-header nav.learning-steps{padding:14px 12px 12px;border-radius:20px;gap:0;box-shadow:0 8px 22px #0b493314}
 .site-header nav.learning-steps .nav-button{justify-content:flex-start;text-align:left;gap:12px;min-height:52px;padding:13px 14px;font-size:17px;font-weight:650}
 .site-header nav.learning-steps .nav-button>span:not(.nav-count){text-align:left;flex:1 1 auto}
 .site-header nav.learning-steps .nav-count{margin-left:auto;min-width:24px;height:24px;display:grid;place-items:center;background:#ffffff20;font-size:13px;line-height:1}
 .site-header nav.learning-steps .sidebar-own-space{margin:12px 0 0;padding-top:12px;border-top:1px solid #ffffff20}
 .site-header nav.learning-steps .sidebar-own-space>summary{padding:5px 14px 9px;font-size:13px;color:#bcd4ca;letter-spacing:.03em}
 .site-header nav.learning-steps .sidebar-own-space>summary::after{display:none}
 .site-header nav.learning-steps .nav-saved{display:flex;flex-direction:column;gap:4px}
 .site-header nav.learning-steps .sidebar-bottom{margin-top:12px;padding-top:10px;border-top:1px solid #ffffff20}
 .site-header nav.learning-steps .sidebar-bottom>[data-admin-link]{display:flex;margin:0 0 8px;font-size:14px;min-height:40px;padding:8px 14px;color:#bfd8ce}
 .site-header nav.learning-steps .sidebar-bottom>[data-admin-link]:not([hidden])::before{content:'⚙';font-size:18px;width:24px;text-align:center}
 .site-header nav.learning-steps .sidebar-bottom>[data-admin-link][hidden]{display:none}
 .site-header nav.learning-steps .sidebar-account-actions{border:0;padding-top:0;gap:6px}
 .site-header nav.learning-steps .sidebar-account-actions .nav-button{justify-content:center;gap:6px;min-height:44px;padding:9px 6px;font-size:14px;background:#ffffff09}
 .site-header nav.learning-steps .sidebar-account-actions .nav-button>span{flex:none;text-align:center}
}
@media(max-width:560px){.category-selection-actions{align-items:stretch;flex-wrap:wrap}#category-selection-status{width:100%;flex-basis:100%}.category-selection-actions>button{min-height:48px!important;font-size:16px!important}.category-selection-chip .selection-chip-handle{font-size:15px}}

.forest-shell.is-playing .forest-minigame:has(.maze-board)>header .mini-location{display:none}
.forest-shell.is-playing .forest-minigame:has(.maze-board) .mini-play-area{max-width:1100px}

.maze-board{container-type:size}.maze-tile{min-width:0;min-height:0;font-size:clamp(12px,5cqw,29px)}
@container(max-width:400px){.maze-treasure-question{inset:0;padding:8px;gap:4px;border-radius:12px}.maze-treasure-question strong{font-size:21px}.maze-treasure-question p{font-size:12px}.maze-treasure-question button{min-height:30px;font-size:14px;padding:3px}}

/* forest-polish-v247.css */
/* Native-ratio artwork and readable titles in daylight and at night. */
.home-library-settings{border:1px solid #d6e5e4!important;border-radius:18px!important;padding:20px!important;box-shadow:0 5px 18px #284c4710!important}
.library-filter-secondary{align-items:center!important;gap:12px!important}
.library-filter-secondary .registration-toolbar{gap:12px!important;flex-wrap:wrap!important}
.material-date-label{display:flex;flex-direction:column;gap:4px;min-width:174px;color:#254e56}
.material-date-label strong{font-size:16px}.material-date-label small{font-size:13px;color:#657c83}
.registration-presets button{white-space:nowrap}.library-filter-status{color:#6c8385;font-size:12px!important;margin:0!important}
.forest-walker.is-boating:after,.forest-resident.is-boating:after{content:'⛵';position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:86px;z-index:-1}
.forest-walker.faces-left .forest-sprite{transform:scaleX(-1)}
.forest-world-scene .forest-portal{z-index:4}.forest-world-scene .forest-route-overlay{z-index:1}.forest-world-scene .forest-walker,.forest-world-scene .forest-resident{z-index:3}
.forest-world-scene .forest-place.near-portal{margin-top:100px}
.forest-shell.is-playing .forest-reward-copy{display:none}.forest-message:empty{display:none}
.workspace[data-view=library] .forest-hero h1{color:#fff;text-shadow:0 2px 3px #10283cf2,0 0 12px #10283cc0;font-weight:800;background:linear-gradient(90deg,transparent,#122c4b66 18%,#122c4b66 82%,transparent);border-radius:14px;padding:8px 10px;inset:12% 19% auto;line-height:1.4}
body.forest-open{overflow:hidden}
#my-forest-dialog,#my-forest-dialog.is-playing{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;box-sizing:border-box;border:0;border-radius:0;padding:12px;overflow:hidden;background:#eff7f2}
#my-forest-dialog .forest-shell{height:100%;display:flex;flex-direction:column;gap:8px;min-height:0}
#my-forest-dialog .forest-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
#my-forest-dialog .forest-shell.is-playing .forest-body{overflow:hidden}
#my-forest-dialog .forest-dialog-header{flex-shrink:0;margin:0;padding:0 2px;gap:12px}
#my-forest-dialog .forest-save-note{margin:0;font-size:11px}
.forest-world-scene .forest-map-art{filter:saturate(.88);image-rendering:auto}
.forest-region-bar{display:none!important}
.forest-portal{position:absolute;transform:translate(-50%,-80%) scale(var(--place-scale,1));transform-origin:center bottom;display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 14px;border:2px solid #fff5d1;border-radius:14px;background:#24494ced;color:#fff;box-shadow:0 4px 14px #14363050;font-size:16px;font-weight:700;white-space:nowrap}
.forest-portal span{font-size:26px}.forest-portal small{display:block;font-size:12px;color:#ddf0e0;font-weight:400}
.forest-route-overlay{position:absolute;inset:0;width:2400px;height:1400px;pointer-events:none;overflow:visible}
.forest-route-line{fill:none;stroke:#fff8d9;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:10 16;filter:drop-shadow(0 1px 2px #24593c)}
.forest-route-target{fill:#f1b752;stroke:white;stroke-width:4}
.forest-resident.is-moving .forest-sprite{animation:forest-walk-hop .45s ease-in-out infinite}
.forest-travel-card{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;background:linear-gradient(#c5e8f8ed,#d3eff4f7);color:#214954;text-align:center;padding:24px}
.forest-travel-card h3{font-size:32px;margin:0}.forest-travel-card p{font-size:18px;margin:0}.forest-travel-card [data-voyage-art]{font-size:100px;animation:forest-voyage 2s ease-in-out infinite}.forest-travel-card button{min-height:48px;padding:12px 22px;border-radius:12px;border:1px solid #aacbbf;background:white;color:#245741;font-size:17px;font-weight:700}
.forest-travel-track{width:min(420px,85%);height:8px;border-radius:8px;background:#fff9;overflow:hidden}.forest-travel-track i{display:block;height:100%;background:#2b8a72;animation:forest-voyage-progress 3s linear forwards}
.forest-world-toast{position:absolute;top:18px;left:50%;transform:translateX(-50%);z-index:7;max-width:calc(100% - 32px);padding:12px 20px;border-radius:16px;background:#fff8e9f2;color:#254f42;box-shadow:0 5px 20px #1e453f30;text-align:center;font-size:17px;pointer-events:none}
.forest-world-toast strong{display:block;font-size:23px;margin-bottom:4px}
.forest-discovery{position:absolute;transform:translate(-50%,-85%) scale(var(--place-scale,1));transform-origin:center bottom;border:0;border-radius:50%;background:#fff9d6ef;width:43px;height:43px;font-size:25px;box-shadow:0 2px 12px #6e82213b}
.forest-expedition-tools button{min-height:42px;font-size:15px}
@keyframes forest-voyage{50%{transform:translateY(-8px) rotate(-4deg)}}
@keyframes forest-voyage-progress{from{width:0}to{width:100%}}
@media(max-width:760px){#my-forest-dialog,#my-forest-dialog.is-playing{padding:8px}.workspace[data-view=library] .forest-hero h1{padding:4px 7px;inset:9% 18% auto}.forest-travel-card h3{font-size:26px}.forest-expedition-header p{display:none}.forest-minimap{width:140px;height:82px}.forest-expedition-tools{gap:5px}}
@media(prefers-reduced-motion:reduce){.forest-resident.is-moving .forest-sprite,.forest-travel-card [data-voyage-art]{animation:none}.forest-travel-track i{animation:none;width:100%}}

/* settings-polish.css */
#reading-dialog{width:min(720px,calc(100% - 32px));max-height:90dvh;padding:26px;border-radius:22px;overflow:auto}#reading-dialog .dialog-header{margin-bottom:12px}#reading-dialog .dialog-header h2{font-size:26px}#reading-dialog .settings-note{font-size:14px;color:var(--muted);margin:0 0 18px;line-height:1.6}#reading-dialog .settings-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:24px;position:static;top:0;z-index:2;background:var(--soft)}#reading-dialog .settings-tabs button{font-size:15px;min-width:0;min-height:48px;padding:10px 6px;color:var(--ink)}#reading-dialog .settings-tabs button[aria-selected=true]{background:var(--pine);color:white}#reading-dialog .appearance-field{padding:16px 0;border-bottom:1px solid var(--line);margin:0}#reading-dialog .appearance-field label,#reading-dialog .appearance-field legend{font-size:16px;font-weight:650}#reading-dialog .listening-fields{grid-template-columns:1fr 1fr;gap:20px}#reading-dialog .listening-fields label{font-size:16px}#reading-dialog .settings-toggle{display:flex;align-items:center;gap:12px;min-height:52px;margin:20px 0;font-size:16px}#reading-dialog .settings-toggle input{width:21px;height:21px;accent-color:var(--pine)}#reading-dialog .voice-test-buttons{display:flex;gap:12px;flex-wrap:wrap}#reading-dialog .voice-test-buttons button{min-height:46px}#reading-dialog .source-catalog{margin-top:24px;padding:16px;border:1px solid var(--line);border-radius:12px}#reading-dialog .source-catalog summary{font-size:16px;font-weight:650;cursor:pointer}#reading-dialog .developer-card{text-align:left}#reading-dialog .feedback-field{font-size:16px}#reading-dialog .feedback-field textarea{font-size:16px}#reading-dialog :focus-visible{outline:3px solid #3c9a7e;outline-offset:3px}.forest-hero[data-no-background=true]{background-color:#e5f1ea}.forest-hero[data-no-background=true] h1{color:#183c35;text-shadow:none}@media(max-width:600px){#reading-dialog{width:calc(100% - 20px);max-height:90dvh;inset:0;margin:auto;padding:20px;border-radius:20px}#reading-dialog .settings-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}#reading-dialog .listening-fields{grid-template-columns:1fr}}
#settings-language-pair{display:inline-flex;align-items:center;min-height:36px;margin:0 0 12px;padding:6px 12px;background:var(--soft);color:var(--pine);font-size:15px;font-weight:650;border-radius:10px}
#reading-dialog .voice-test-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#reading-dialog .voice-test-buttons.single-voice{grid-template-columns:1fr}
#reading-dialog .voice-test-buttons button{width:100%;padding:12px;font-size:15px;line-height:1.4;text-align:center;min-height:48px}
.wordbook-settings{margin:12px 0 18px;border:1px solid var(--line);border-radius:14px;padding:0 16px;background:var(--card,#fff)}
.wordbook-settings summary{display:flex;align-items:center;min-height:48px;cursor:pointer;font-weight:650;color:var(--pine)}
.wordbook-settings .appearance-field{padding:4px 0 16px;max-width:680px}
.wordbook-settings .appearance-field label{display:flex;justify-content:space-between;margin-bottom:12px}
.wordbook-settings input[type=range]{width:100%;min-height:36px;accent-color:var(--pine)}
.wordbook-settings .font-scope-note{font-size:14px;color:var(--muted);margin:4px 0 0}
@media(max-width:600px){#reading-dialog .voice-test-buttons{grid-template-columns:1fr}#reading-dialog .settings-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}#reading-dialog .settings-tabs button{padding:8px 3px;font-size:14px;line-height:1.5;min-height:48px}#reading-dialog .dialog-header h2{font-size:22px}}

/* learning-evidence.css */
.learning-design-entry{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px 8px;text-align:center}
.learning-design-entry button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 20px;border:1px solid var(--line);border-radius:999px;background:var(--surface,#fff);color:var(--pine);font:inherit;font-size:15px;font-weight:700;cursor:pointer}
.learning-design-entry button:hover{background:var(--soft)}
.learning-design-entry p{margin:0;color:var(--muted);font-size:14px;line-height:1.7;max-width:42rem}
.learning-design-entry button:focus-visible{outline:3px solid #3c9a7e;outline-offset:4px}
#reading-dialog .learning-evidence{font-size:16px;line-height:1.8;color:var(--ink);margin:0 0 28px}
.learning-evidence .evidence-kicker{font-size:12px;letter-spacing:.13em;font-weight:750;color:var(--pine);margin:0 0 8px}
#reading-dialog .learning-evidence h3{font-size:clamp(22px,4vw,28px);line-height:1.35;margin:0 0 14px;font-weight:750;letter-spacing:-.025em}
.learning-evidence p{margin:0 0 16px}
.learning-evidence .evidence-intro{color:var(--muted)}
.learning-evidence .evidence-cycle{padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--soft);margin:24px 0}
.learning-evidence h4{font-size:17px;line-height:1.5;margin:0 0 14px;font-weight:750}
.learning-evidence .evidence-cycle ol{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;padding:0;margin:0;list-style:none;counter-reset:learning-cycle}
.learning-evidence .evidence-cycle li{counter-increment:learning-cycle;min-width:0;position:relative;padding-inline-start:34px}
.learning-evidence .evidence-cycle li:before{content:counter(learning-cycle);position:absolute;inset-inline-start:0;top:1px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--pine);color:#fff;font-size:13px;font-weight:700}
.learning-evidence .evidence-cycle strong{display:block;font-size:16px;line-height:1.5;margin-bottom:4px}
.learning-evidence .evidence-cycle p{font-size:14px;line-height:1.7;color:var(--muted);margin:0}
.learning-evidence .evidence-no-input{padding:14px 16px;border-inline-start:3px solid var(--pine);font-size:14px;color:var(--muted)}
.learning-evidence details{border:1px solid var(--line);border-radius:16px;background:var(--surface,#fff);margin:12px 0;overflow:hidden}
.learning-evidence summary{padding:16px 18px;cursor:pointer;font-size:16px;font-weight:700;line-height:1.6}
.learning-evidence details[open] summary{border-bottom:1px solid var(--line)}
.learning-evidence .evidence-detail{padding:18px}
.learning-evidence .evidence-plan-note{font-size:14px;line-height:1.8;color:var(--muted);padding:12px 14px;background:var(--soft);border-radius:12px}
.learning-evidence .evidence-menu-list{list-style:none;padding:0;margin:20px 0;counter-reset:learning-area}
.learning-evidence .evidence-menu-list li{counter-increment:learning-area;padding:15px 0 15px 38px;position:relative;border-bottom:1px solid var(--line)}
.learning-evidence .evidence-menu-list li:last-child{border:0}
.learning-evidence .evidence-menu-list li:before{content:counter(learning-area,decimal-leading-zero);position:absolute;left:0;top:16px;font-size:13px;color:var(--pine);font-weight:750}
.learning-evidence .evidence-menu-list strong{display:block;line-height:1.5;margin-bottom:5px;font-size:16px}
.learning-evidence .evidence-menu-list p{margin:0;color:var(--muted);font-size:14px;line-height:1.8}
.learning-evidence .evidence-study{padding:18px 0;border-bottom:1px solid var(--line)}
.learning-evidence .evidence-study:first-of-type{padding-top:4px}
.learning-evidence .evidence-study:last-child{border-bottom:0;padding-bottom:0}
.learning-evidence .evidence-study h4{margin:0 0 4px}
.learning-evidence .evidence-study .study-authors{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 8px}
.learning-evidence .evidence-study p{font-size:14px;line-height:1.8;margin-bottom:8px}
.learning-evidence .evidence-study a{display:inline-block;padding:4px 0;font-size:14px;color:var(--pine);text-underline-offset:4px;text-decoration:underline}
.learning-evidence .evidence-evaluation{margin:0;padding-inline-start:22px;font-size:14px}
.learning-evidence .evidence-evaluation li{margin:10px 0;padding-inline-start:3px}
.learning-evidence .evidence-reviewed{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin:16px 0 0}
@media(max-width:540px){.learning-evidence .evidence-cycle{padding:16px}.learning-evidence .evidence-cycle ol{grid-template-columns:1fr;gap:16px}.learning-evidence .evidence-detail{padding:15px}.learning-evidence summary{padding:15px}.learning-design-entry{padding-inline:8px}}

/* library-hero.css */
/* Keep the heading and its contrast backdrop between the banner characters. */
.workspace[data-view=library] .forest-hero h1 {
  box-sizing: border-box;
  inset: 9% auto auto 50%;
  transform: translateX(-50%);
  width: fit-content;
  max-width: min(52%, 720px);
  margin: 0;
  padding: 7px 12px;
  font-size: clamp(16px, 2.6vw, 36px);
  line-height: 1.3;
  text-wrap: balance;
  word-break: normal;
  overflow-wrap: anywhere;
  background: #122c4bb3;
  border-radius: 12px;
}

@media (max-width: 760px) {
  .workspace[data-view=library] .forest-hero h1 {
    inset: 8% auto auto 50%;
    max-width: 54%;
    padding: 4px 6px;
    font-size: clamp(14px, 3.5vw, 24px);
  }
}

/* learning-categories-polish.css */
/* Scoped final rules replace the old title-only category layout. */
.workspace #library-categories{gap:18px;align-items:stretch}
.workspace .learning-category-card[data-learning-profile]{padding:16px 18px 18px;border-radius:22px;background:linear-gradient(155deg,var(--surface) 60%,#edf8f2);overflow:visible}
.workspace .learning-category-card[data-learning-profile][data-category=news],.workspace .learning-category-card[data-learning-profile][data-category=vocabulary],.workspace .learning-category-card[data-learning-profile][data-category=patterns]{background:linear-gradient(155deg,var(--surface) 60%,#eef7fc)}
.workspace .learning-category-card[data-learning-profile].is-selected{background:var(--active,#edf8f2);outline:3px solid var(--pine);outline-offset:-3px}
.workspace [data-learning-profile] .category-tools{position:static;height:auto;display:flex;align-items:center;justify-content:space-between;margin:-6px -8px 2px;pointer-events:auto}
.workspace [data-learning-profile] .category-tools button{min-width:48px;min-height:48px;width:48px;height:48px;border-radius:12px;color:var(--pine);font-size:24px}
.workspace [data-learning-profile] .category-open{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;padding:0 0 4px;min-height:336px;position:relative;border-radius:14px;text-align:center}
.workspace [data-learning-profile] .category-open h2{font-size:clamp(22px,1.7vw,27px);line-height:1.35;letter-spacing:-.5px;margin:0;min-height:2.7em;display:flex;align-items:center;justify-content:center;color:var(--ink);max-width:100%}
.workspace [data-learning-profile] .category-open .category-art-wrap{width:100%;height:152px;flex:none;align-self:center;margin:0}
.workspace [data-learning-profile] .category-art-wrap img{width:152px;height:152px;max-width:100%;object-fit:contain;transform:scale(1.06);filter:drop-shadow(0 5px 3px #1b666010)}
.workspace [data-learning-profile] .category-open p{display:block;margin:0;word-break:keep-all;overflow-wrap:anywhere;max-width:100%}
.workspace [data-learning-profile] .category-open .category-goal{font-size:16px;line-height:1.55;color:var(--ink);min-height:3.1em}
.workspace [data-learning-profile] .category-open .category-method{font-size:14px;line-height:1.6;color:var(--muted);min-height:3.2em}
.workspace [data-learning-profile] .category-open .category-counts{display:flex;align-self:center;justify-content:center;margin:0;padding-top:4px;font-size:14px}
.workspace [data-learning-profile] .category-availability{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;padding:6px 12px;background:var(--soft);color:var(--pine);border-radius:12px;line-height:1.4}
.workspace [data-learning-profile] .category-availability strong{font-size:16px;font-variant-numeric:tabular-nums}
.workspace [data-learning-profile] .category-unavailable{color:var(--muted);font-size:13px}
.workspace [data-learning-profile] .category-open::after{right:-4px;bottom:4px}
.workspace [data-learning-profile] .category-open:focus-visible,.workspace [data-learning-profile] .category-tools button:focus-visible{outline:3px solid var(--pine);outline-offset:3px}
@media(min-width:761px) and (max-width:1050px){.workspace #library-categories{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .workspace #library-categories{grid-template-columns:1fr;gap:12px}
 .workspace .learning-category-card[data-learning-profile]{display:grid;grid-template-columns:minmax(0,1fr) 48px;padding:14px;gap:6px;border-radius:18px}
 .workspace [data-learning-profile] .category-tools{grid-column:2;grid-row:1;flex-direction:column;justify-content:flex-start;margin:0;gap:6px}
 .workspace [data-learning-profile] .category-open{grid-column:1;grid-row:1;display:grid;grid-template-columns:82px minmax(0,1fr);grid-template-rows:auto auto auto auto;gap:6px 12px;min-height:164px;text-align:start;align-items:start;padding:0}
 .workspace [data-learning-profile] .category-open h2{grid-column:2;grid-row:1;display:block;font-size:21px;line-height:1.35;min-height:0;margin:0;text-align:start;align-self:start}
 .workspace [data-learning-profile] .category-open .category-art-wrap{grid-column:1;grid-row:1/5;align-self:center;width:82px;height:106px}
 .workspace [data-learning-profile] .category-art-wrap img{width:82px;height:106px;transform:scale(1.08)}
 .workspace [data-learning-profile] .category-open .category-goal{grid-column:2;grid-row:2;min-height:0;font-size:15px;line-height:1.5}
 .workspace [data-learning-profile] .category-open .category-method{grid-column:2;grid-row:3;min-height:0;font-size:14px;line-height:1.6}
 .workspace [data-learning-profile] .category-open .category-counts{grid-column:2;grid-row:4;align-self:end;justify-content:flex-start;padding-top:4px;font-size:14px}
 .workspace [data-learning-profile] .category-availability{justify-content:flex-start;padding:5px 8px;gap:6px}
 .workspace [data-learning-profile] .category-open::after{right:-48px;bottom:2px}
}
@media(max-width:370px){.workspace [data-learning-profile] .category-open{grid-template-columns:64px minmax(0,1fr);gap:6px 8px}.workspace [data-learning-profile] .category-open .category-art-wrap{width:64px;height:90px}.workspace [data-learning-profile] .category-art-wrap img{width:64px;height:90px}.workspace [data-learning-profile] .category-open h2{font-size:20px}}
html[data-theme=dark] .workspace .learning-category-card[data-learning-profile]{background:var(--surface)}
@media(prefers-reduced-motion:reduce){.workspace .learning-category-card[data-learning-profile]{transition:none}}

/* learning-studio.css */
.has-learning-studio #library-categories,.has-learning-studio .category-selection-actions,.has-learning-studio .category-bookmark-empty,.has-learning-studio .category-filter-row>.category-bookmark-filter{display:none!important}
.has-learning-studio .lesson-group{display:none!important}.has-learning-studio[data-studio-materials=true] #library-view .lesson-group{display:block!important}
.learning-studio-home{margin:28px 0 40px}.studio-home-intro,.studio-home-actions,.studio-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.studio-home-intro h2{margin:8px 0;font-size:clamp(24px,2.7vw,34px);letter-spacing:-.8px}.studio-home-intro p{margin:0;color:var(--muted);line-height:1.8}.studio-home-intro>.primary-button{flex:none}.studio-eyebrow{font-size:13px;font-weight:750;color:var(--pine);letter-spacing:.03em}.studio-home-actions{margin:16px 0;flex-wrap:wrap;gap:8px}.studio-home-actions>p{flex:1;min-width:250px}.studio-home-actions button{white-space:nowrap;font-size:13px}.studio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.studio-card{position:relative;min-width:0;border:1px solid var(--line);border-radius:24px;background:linear-gradient(160deg,var(--surface) 40%,var(--soft));overflow:hidden;transition:border-color .16s,transform .16s,box-shadow .16s}.studio-card:hover{border-color:var(--pine);box-shadow:0 10px 24px #0b574812;transform:translateY(-2px)}.studio-launch{width:100%;border:0;padding:32px 22px 24px;background:none;text-align:center;display:flex;align-items:center;flex-direction:column;min-height:342px;color:var(--ink);cursor:pointer}.studio-launch h3{font-size:clamp(20px,2vw,27px);letter-spacing:-.8px;margin:9px 0 4px;line-height:1.35;min-height:38px}.studio-launch img{width:156px;height:156px;object-fit:contain;filter:drop-shadow(0 5px 6px #2b402415);margin:10px 0}.studio-launch p{font-size:14px;line-height:1.75;margin:0 0 16px;color:var(--muted);flex:1}.studio-count{font-size:12px;padding:6px 12px;border-radius:20px;background:var(--surface);color:var(--pine);font-weight:650}.studio-star,.studio-grip{position:absolute;z-index:1;top:12px;border:0;background:none;color:var(--pine);width:36px;height:36px;font-size:21px;cursor:pointer}.studio-star{left:12px}.studio-grip{right:12px;cursor:grab;color:var(--muted)}.studio-star:focus-visible,.studio-grip:focus-visible,.studio-launch:focus-visible{outline:3px solid var(--pine);outline-offset:-4px}.studio-audio-entry{display:flex;gap:24px;align-items:center;padding:26px 30px;margin-top:20px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(130deg,var(--surface),var(--soft));}.studio-audio-entry h3{font-size:25px;margin:0 0 8px}.studio-audio-entry p{color:var(--muted);margin:0;line-height:1.7}.studio-audio-entry>div{flex:1}.studio-audio-entry .studio-sound-icon{font-size:42px;width:70px;height:70px;border-radius:24px;margin:0}.studio-note{font-size:13px!important;color:var(--muted);line-height:1.8}.learning-studio-workspace{max-width:1240px;width:100%;margin:0 auto;padding:20px 0 64px;min-height:calc(100dvh - 120px)}.studio-path{margin-bottom:18px}.studio-heading{display:block;margin-bottom:24px}.studio-heading h1{font-size:clamp(28px,3.5vw,42px);letter-spacing:-1px;margin:0 0 12px}.studio-heading p{color:var(--muted);margin:0;line-height:1.8}.studio-controls,.studio-audio-settings{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:14px;border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:20px}.studio-field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:13px;font-weight:650}.studio-field select,.studio-field input{width:100%;min-width:0;height:46px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:var(--surface);color:var(--ink);font-size:14px}.studio-progress{display:flex;align-items:center;gap:16px;margin:20px 0 14px;font-size:13px;color:var(--muted)}.studio-progress progress{width:100%;height:7px;accent-color:var(--pine);border:0;border-radius:9px;overflow:hidden}.studio-progress progress::-webkit-progress-bar{background:var(--soft)}.studio-progress progress::-webkit-progress-value{background:var(--pine);border-radius:9px}.studio-progress span{flex:none}.studio-item-meta{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:13px;margin-bottom:16px;line-height:1.7}.studio-exercise{display:grid;grid-template-columns:1fr 1.1fr;gap:24px}.studio-prompt,.studio-task,.studio-reader,.studio-audio-player,.studio-results{border:1px solid var(--line);border-radius:24px;background:var(--surface);padding:30px;min-width:0}.studio-prompt{background:var(--soft);min-height:330px}.studio-phrase{font-size:calc(clamp(24px,2.6vw,34px) * var(--reading-scale,1));line-height:1.7;overflow-wrap:anywhere;margin:26px 0;color:var(--reading-ink,var(--ink))}.studio-task h2{font-size:21px;line-height:1.7;margin:16px 0;color:var(--ink)}.studio-task>.primary-button,.studio-task>.secondary-button{display:block;width:100%;margin:12px 0;min-height:48px}.studio-options{display:grid;gap:10px;margin:18px 0}.studio-choice{border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font-size:17px;line-height:1.75;text-align:left;padding:14px 18px;cursor:pointer}.studio-choice:hover{border-color:var(--pine);background:var(--soft)}.studio-answer{padding:18px 20px;border-radius:16px;background:var(--soft)}.studio-answer .studio-phrase{font-size:25px;margin:12px 0}.studio-meaning{font-size:18px;line-height:1.8;color:var(--muted);overflow-wrap:anywhere}.studio-example{font-size:18px;line-height:1.8;border-top:1px solid var(--line);padding-top:14px;overflow-wrap:anywhere}.studio-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.studio-actions button{flex:1;min-width:130px;min-height:48px}.studio-sound-icon{display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);width:92px;height:92px;border-radius:30px;color:var(--pine);font-size:55px;margin:30px auto}.studio-prompt:has(.studio-sound-icon){text-align:center}.studio-chips{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}.studio-chip{border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font-size:18px;padding:10px 14px;cursor:pointer}.studio-chip:disabled{opacity:.3}.studio-built{background:var(--soft);border-radius:12px;min-height:90px;padding:16px;font-size:21px;line-height:1.8}.studio-built p{margin:0;overflow-wrap:anywhere}.studio-reader{max-width:920px;margin:20px auto;line-height:1.9}.studio-reader h2{font-size:28px}.studio-paragraph{padding:12px 0 22px;border-bottom:1px solid var(--line)}.studio-paragraph:last-child{border:0}.studio-paragraph .studio-phrase{font-size:calc(23px * var(--reading-scale,1));margin:12px 0}.studio-paragraph button{font-size:13px;min-height:38px;margin:0 8px 8px 0}.studio-reading-words{margin-top:28px;padding:16px;background:var(--soft);border-radius:14px}.studio-reading-words summary{font-weight:700}.studio-reading-words>div{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line)}.studio-reading-words strong{font-size:19px}.studio-reading-words span{flex:1;color:var(--muted)}.studio-reading-words button{font-size:13px}.studio-empty,.studio-results{text-align:center;padding:50px 24px;margin-top:26px}.studio-empty h2{font-size:24px;line-height:1.6}.studio-empty-icon{font-size:50px;display:block;margin-bottom:20px}.studio-results h2{font-size:30px}.studio-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:30px auto;max-width:700px;gap:18px}.studio-stats>div{background:var(--soft);padding:20px 10px;border-radius:16px;display:flex;gap:8px;flex-direction:column}.studio-stats strong{font-size:32px;color:var(--pine)}.studio-stats span{font-size:13px;color:var(--muted)}.studio-results>button{margin:6px;min-height:48px}.studio-audio-settings{grid-template-columns:repeat(4,minmax(0,1fr))}.studio-audio-settings>p{grid-column:1/-1;margin:0}.studio-audio-settings>.primary-button{grid-column:1/-1;max-width:300px}.studio-audio-player{text-align:center;margin-top:24px}.studio-audio-player .studio-phrase{min-height:90px}.studio-audio-actions{display:flex;justify-content:center;gap:16px}.studio-audio-actions button{min-width:100px;min-height:52px}.studio-playlist{border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:20px;margin-top:22px}.studio-playlist summary{font-weight:700}.studio-playlist ol{padding-left:24px;max-height:380px;overflow:auto}.studio-playlist li{padding:6px 0;color:var(--muted)}.studio-playlist button{border:0;background:none;text-align:left;color:var(--ink);line-height:1.8;padding:8px;font-size:15px;cursor:pointer}#workspace[data-view=studio] #main{max-width:none}#workspace[data-view=studio] .home-filters{display:none}.studio-home-heading{min-width:0}
@media(max-width:760px){.studio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.studio-launch{padding:30px 14px 18px;min-height:300px}.studio-launch img{width:125px;height:125px}.studio-launch h3{font-size:21px;min-height:56px;display:flex;align-items:center}.studio-launch p{font-size:12px}.studio-home-intro{align-items:flex-start;flex-direction:column;gap:14px}.studio-controls,.studio-audio-settings{grid-template-columns:1fr 1fr;padding:16px;gap:12px}.studio-controls>.studio-field:first-child{grid-column:1/-1}.studio-exercise{grid-template-columns:1fr;gap:16px}.studio-prompt,.studio-task,.studio-reader{padding:22px}.studio-prompt{min-height:0}.studio-phrase{font-size:25px;margin:18px 0}.studio-heading h1{font-size:30px}.studio-audio-entry{padding:22px;gap:16px;flex-wrap:wrap}.studio-audio-entry>button{width:100%}.studio-audio-entry h3{font-size:22px}.studio-audio-entry .studio-sound-icon{width:55px;height:55px;font-size:32px}.studio-audio-actions{gap:8px}.studio-audio-actions button{min-width:0;flex:1}.studio-audio-player{padding:22px}.learning-studio-workspace{padding-top:14px}.studio-stats{gap:8px}.studio-stats>div{padding:16px 8px}.studio-results{padding:28px 18px}.studio-item-meta{font-size:12px}.studio-home-actions{align-items:flex-start}.studio-home-actions>p{flex-basis:100%;margin:0}}
@media(max-width:400px){.studio-grid{gap:9px}.studio-launch{padding:30px 10px 16px;min-height:285px}.studio-launch h3{font-size:19px}.studio-launch img{width:110px;height:110px}.studio-launch p{font-size:12px}.studio-count{font-size:11px;padding:5px 8px}.studio-controls,.studio-audio-settings{grid-template-columns:1fr}.studio-phrase{font-size:23px}.studio-actions{flex-direction:column}.studio-audio-player .studio-phrase{font-size:23px}}
@media(prefers-reduced-motion:reduce){.studio-card{transition:none}.studio-card:hover{transform:none}}

.studio-situation{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:16px 22px;margin:14px 0 20px}.studio-situation p{margin:4px 0}.studio-pattern-guide{margin:16px 0;padding:14px;background:var(--surface);border-radius:12px;line-height:1.8}.studio-pattern-guide summary{font-weight:700}.studio-pattern-guide p{font-size:15px}
@media(max-width:760px){body:has(#workspace[data-view=studio]) .site-header nav.learning-steps{display:none!important}body:has(#workspace[data-view=studio]){padding-bottom:0}}

/* Keep the next action visible; optional audio filters belong in native details. */
.studio-audio-entry{margin:0 0 20px;padding:22px 26px;box-shadow:0 7px 24px #0b574808}
.studio-audio-entry>button{min-height:48px;min-width:132px}.studio-audio-entry h3{font-size:24px}
.studio-launch{min-height:322px;padding:44px 22px 22px}.studio-launch img{width:146px;height:146px;margin:6px 0}.studio-launch h3{margin:0 0 2px}.studio-launch p{margin:0 0 12px}
.studio-star,.studio-grip{width:44px;height:44px;top:6px}.studio-star{left:6px}.studio-grip{right:6px}
.learning-studio-home button:focus-visible,.learning-studio-workspace :is(button,select,input,summary):focus-visible{outline:3px solid var(--pine);outline-offset:3px}
.studio-launch:focus-visible{outline-offset:-5px}.studio-star:focus-visible,.studio-grip:focus-visible{outline-offset:-4px;border-radius:12px}
.learning-studio-workspace :is(button,summary){min-height:44px}.learning-studio-workspace :is(button,select,input,summary){scroll-margin-block:100px 80px}
.studio-audio-player{margin-top:0;padding:24px 30px 22px;background:linear-gradient(145deg,var(--surface) 35%,var(--soft));box-shadow:0 10px 30px #0b574808}
.studio-audio-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;text-align:left;padding-bottom:20px;border-bottom:1px solid var(--line)}
.studio-audio-player .studio-phrase{display:grid;align-items:center;min-height:108px;margin:24px 0;line-height:1.65;font-size:clamp(23px,2.7vw,34px)}
.studio-audio-actions{align-items:center;gap:12px}.studio-audio-actions>[data-audio-play]{min-width:170px;font-size:17px;min-height:54px}.studio-audio-actions>[data-audio-move]{background:var(--surface)}
.studio-audio-position{margin:16px 0 0;font-variant-numeric:tabular-nums}.studio-speech-status{min-height:24px;margin:8px 0 0}.studio-wait-time{margin:2px 0 0;font-variant-numeric:tabular-nums}.studio-stop{min-width:100px;margin-top:10px}
.studio-audio-advanced,.studio-playlist{border:1px solid var(--line);border-radius:18px;background:var(--surface);margin-top:18px;overflow:hidden;padding:0}
.studio-audio-advanced>summary,.studio-playlist>summary{padding:16px 22px;font-weight:700;color:var(--ink);cursor:pointer;line-height:1.6}
.studio-audio-advanced[open]>summary,.studio-playlist[open]>summary{border-bottom:1px solid var(--line)}
.studio-audio-settings{border:0;border-radius:0;padding:22px;gap:18px}.studio-audio-settings>.secondary-button{grid-column:1/-1;justify-self:start}.studio-playlist ol{margin:16px 22px 20px;padding-left:24px}.studio-playlist button{min-height:44px}
@media(max-width:760px){.studio-launch{min-height:290px;padding:43px 14px 18px}.studio-launch img{width:122px;height:122px}.studio-launch h3{font-size:20px;min-height:52px}.studio-audio-entry{padding:20px;gap:14px}.studio-audio-entry>button{min-width:0}.studio-audio-player{padding:20px}.studio-audio-quick{gap:12px}.studio-audio-actions>[data-audio-play]{min-width:0;flex:1.5}.studio-audio-actions>[data-audio-move]{flex:1}.studio-audio-settings{padding:18px;gap:14px}.studio-audio-player .studio-phrase{min-height:90px;margin:20px 0}.studio-audio-advanced>summary,.studio-playlist>summary{padding:15px 18px}}
@media(max-width:500px){.studio-audio-quick{grid-template-columns:1fr 1fr}.studio-audio-quick>.studio-field:last-child{grid-column:1/-1}.studio-audio-actions{gap:8px}.studio-audio-actions button{padding-inline:12px}.studio-audio-actions>[data-audio-play]{font-size:16px}.studio-launch{padding-inline:10px;min-height:285px}.studio-launch img{width:112px;height:112px}.studio-launch h3{font-size:19px}.studio-card{border-radius:20px}}
@media(prefers-reduced-motion:reduce){.learning-studio-home *,.learning-studio-workspace *{scroll-behavior:auto;animation:none!important;transition:none!important}}

/* A short, numbered route makes the next learning action easy to find. */
.studio-recommendation{margin:0 0 22px;padding:24px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,var(--soft),var(--surface) 70%);box-shadow:0 7px 24px #0b574808}
.studio-route-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.studio-route-heading>div{min-width:0}.studio-route-heading h3{margin:0 0 7px;color:var(--ink);font-size:clamp(21px,2.3vw,26px);letter-spacing:-.6px;line-height:1.35}.studio-route-heading p{margin:0;max-width:680px;color:var(--muted);font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.studio-route-profiles{display:flex;flex:none;align-items:center;gap:6px;padding:4px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}
.studio-route-profiles button{min-height:44px;min-width:92px;padding:9px 14px;border:0;border-radius:10px;background:transparent;color:var(--ink);font:inherit;font-size:13px;font-weight:700;line-height:1.5;cursor:pointer;transition:background .15s,color .15s}
.studio-route-profiles button[aria-pressed=true],.studio-route-profiles button.is-active{background:var(--pine);color:#fff}.studio-route-profiles button:not([aria-pressed=true]):not(.is-active):hover{background:var(--soft)}
.studio-route-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.studio-route-steps:has(>li:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}.studio-route-steps>li{display:flex;flex-direction:column;min-width:0}
.studio-route-step{display:grid;flex:1;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto 1fr;align-items:start;column-gap:10px;row-gap:5px;width:100%;min-height:96px;padding:16px 12px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.studio-route-number{display:grid;grid-column:1;grid-row:1 / 3;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:var(--soft);color:var(--pine);font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}
.studio-route-step strong{grid-column:2;grid-row:1;min-width:0;font-size:15px;font-weight:750;line-height:1.55;overflow-wrap:anywhere}.studio-route-purpose{grid-column:2;grid-row:2;min-width:0;color:var(--muted);font-size:12px;line-height:1.65;overflow-wrap:anywhere}
.studio-route-step:hover{border-color:var(--pine);box-shadow:0 3px 12px #0b574810}.studio-route-step[aria-current=step],.studio-route-step.is-current{border-color:var(--pine);box-shadow:inset 0 0 0 1px var(--pine)}.studio-route-step[aria-current=step] .studio-route-number,.studio-route-step.is-current .studio-route-number{border-color:var(--pine);background:var(--pine);color:#fff}
.studio-route-step.is-complete .studio-route-number{border-color:var(--pine)}.studio-route-step:disabled{cursor:default;opacity:.65;box-shadow:none}.studio-route-step:disabled:hover{border-color:var(--line)}
.studio-route-actions{display:flex;align-items:center;gap:18px;margin-top:18px}.studio-route-actions>button{flex:none;min-height:48px;padding-inline:22px}.studio-route-actions p{margin:0;color:var(--muted);font-size:12px;line-height:1.8;overflow-wrap:anywhere}.studio-route-actions a{color:var(--pine);text-underline-offset:3px}.studio-recommendation :is(button,a):focus-visible{outline:3px solid var(--pine);outline-offset:3px}
.studio-card-order{position:absolute;z-index:1;top:16px;left:50%;display:grid;place-items:center;min-width:26px;min-height:26px;max-width:calc(100% - 112px);padding:2px 7px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--pine);font-size:12px;font-weight:750;line-height:1.4;font-variant-numeric:tabular-nums;transform:translateX(-50%);pointer-events:none}
@media(max-width:1100px){.studio-route-heading{flex-wrap:wrap;gap:14px}.studio-route-steps,.studio-route-steps:has(>li:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.studio-route-step{min-height:82px;padding:14px}.studio-route-steps>li:last-child:nth-child(odd){grid-column:1 / -1}}
@media(max-width:600px){.studio-recommendation{padding:18px;border-radius:20px;margin-bottom:18px}.studio-route-heading{margin-bottom:14px}.studio-route-heading h3{font-size:21px}.studio-route-heading p{font-size:13px}.studio-route-profiles{width:100%;min-width:0}.studio-route-profiles button{flex:1;min-width:0;padding-inline:8px;overflow-wrap:anywhere}.studio-route-steps,.studio-route-steps:has(>li:nth-child(4):last-child){grid-template-columns:1fr;gap:7px}.studio-route-steps>li:last-child:nth-child(odd){grid-column:auto}.studio-route-step{min-height:58px;grid-template-columns:30px minmax(0,1fr);padding:8px 13px;row-gap:1px}.studio-route-step strong{font-size:14px}.studio-route-purpose{font-size:12px}.studio-route-actions{align-items:stretch;flex-direction:column;gap:9px;margin-top:14px}.studio-route-actions>button{width:100%;min-width:0}.studio-route-actions p{font-size:12px}.studio-card-order{top:15px;font-size:11px;min-width:24px;min-height:24px}}
@media(prefers-reduced-motion:reduce){.studio-route-step,.studio-route-profiles button{transition:none}}
.studio-route-steps:has(>li:nth-child(6):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}.studio-route-alternative{flex:none;min-height:44px;width:100%;font-size:12px;line-height:1.5}.studio-guided-progress{display:inline-block;padding:7px 13px;border-radius:20px;background:var(--soft);color:var(--pine);font-weight:650}
.studio-feedback{display:grid;gap:8px;margin:18px 0;padding:20px;border:1px solid var(--line);border-inline-start:4px solid var(--pine);border-radius:14px;background:var(--soft);color:var(--ink)}
.studio-feedback[data-correct=false]{border-inline-start-color:#ac622b}
.studio-feedback>.studio-eyebrow{font-size:15px;color:var(--ink);font-weight:750}
.studio-feedback>strong{font-size:13px;color:var(--muted);margin-top:7px}
.studio-feedback>.studio-example{border:0;padding:0;margin:0;font-size:19px;line-height:1.7;overflow-wrap:anywhere}
html[data-theme=dark] .studio-feedback[data-correct=false]{border-inline-start-color:#efb881}
@media(max-width:1100px){.studio-route-steps:has(>li:nth-child(6):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.studio-route-steps:has(>li:nth-child(6):last-child){grid-template-columns:1fr}}

.studio-phonetics{color:var(--muted);font-family:"Segoe UI","Noto Sans",sans-serif;font-size:clamp(17px,2vw,21px);line-height:1.6;overflow-wrap:anywhere;margin:8px 0 16px;}
.studio-automatic{margin:20px 0 24px;padding:18px 22px;border:1px solid var(--line);border-radius:18px;background:var(--soft)}
.studio-automatic h2{font-size:18px;margin:0 0 12px}
.studio-automatic .studio-actions{align-items:end;gap:10px}
.studio-automatic .studio-field{max-width:180px;margin:0}
.studio-automatic .studio-note{margin:10px 0 0}
.studio-automatic[data-status=recall] [data-studio-automatic-status]{color:var(--pine);font-weight:750}
.studio-automatic[data-status=error] [data-studio-automatic-status]{color:#9b502d}
@media(max-width:600px){.studio-automatic{padding:16px}.studio-automatic .studio-actions{display:grid;grid-template-columns:1fr 1fr}.studio-automatic .studio-field{grid-column:1/-1;max-width:none}}

/* home-study-polish.css */
/* Home only: the study workspace and existing sidebar keep their own styles. */
body.has-learning-studio:has(#workspace[data-view=library]){background:#f6f9f6}
body.has-learning-studio #library-view{
  --ink:#183e4a;--muted:#51656d;--pine:#176e55;--line:#d9e5dd;--soft:#edf4ec;--surface:#fff;
  color:var(--ink);
}
body.has-learning-studio #library-view .library-heading{margin:0 0 22px;gap:0}
body.has-learning-studio #library-view .forest-hero{
  display:block;min-height:0;height:auto;max-height:none;aspect-ratio:auto!important;
  padding:calc(100% / var(--banner-ratio,3)) 0 0;
  border-radius:18px;background-color:#e5eee6;background-position:center top;
  background-size:100% auto;background-repeat:no-repeat;box-shadow:none;
}
body.has-learning-studio #library-view .forest-hero .banner-learning-tip{
  position:absolute;top:clamp(12px,3vw,40px);left:50%;transform:translateX(-50%);
  width:calc(100% - 32px);max-width:1040px;box-sizing:border-box;margin:0;padding:12px 5%;
  border:0;border-radius:12px;background:linear-gradient(90deg,transparent,#071c31cc 5%,#071c31cc 95%,transparent);color:#fff;
  font-size:clamp(20px,1.7vw,25px);font-weight:700;letter-spacing:-.2px;
  line-height:1.5;text-align:center;text-wrap:balance;overflow-wrap:anywhere;text-shadow:0 1px 3px #0009;
}
body.has-learning-studio #library-view .forest-hero[data-no-background=true]{background-color:#17382f}
body.has-learning-studio #library-view .banner-quote-reference{display:block;margin-top:6px;font-size:17px;font-weight:450;letter-spacing:0;color:#f3f6fa}
body.has-learning-studio #library-view .forest-banner-brand{
  position:absolute;inset:clamp(10px,2vw,24px) auto auto 50%;transform:translateX(-50%);
  display:inline-flex;align-items:center;gap:9px;max-width:calc(100% - 32px);padding:8px 15px;
  border:1px solid #ffffff40;border-radius:999px;background:#10352ee6;color:#fff;
  line-height:1;white-space:nowrap;pointer-events:none;box-shadow:0 3px 14px #071d2329;
}
body.has-learning-studio #library-view .forest-banner-brand img{width:28px;height:33px;object-fit:contain;filter:brightness(0) invert(1)}
body.has-learning-studio #library-view .forest-banner-brand strong{font-size:clamp(17px,2vw,27px);font-weight:800;letter-spacing:-.6px}
body.has-learning-studio #library-view .forest-hero:focus-visible{outline:3px solid var(--pine);outline-offset:4px}

body.has-learning-studio #library-view .forest-footer{
  display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:24px;
  min-height:132px;margin:32px 0 0;padding:28px 34px;overflow:visible;
  border:1px solid var(--line);border-radius:20px;background:linear-gradient(120deg,var(--soft),var(--surface));
}
body.has-learning-studio #library-view .forest-footer::before{content:none}
body.has-learning-studio #library-view .forest-footer::after{
  inset:auto 18px 0 auto;width:128px;height:96px;
  background-image:url('/pinelingo-tree.svg'),url('/pinelingo-tree.svg');
  background-size:44px 52px,62px 74px;background-position:left 10px bottom,right 0 bottom;
  opacity:.07;pointer-events:none;
}
body.has-learning-studio #library-view .forest-footer .brand{justify-self:start;gap:12px;color:var(--ink);padding:8px 0;border-radius:8px}
body.has-learning-studio #library-view .forest-footer .brand img{width:34px;height:42px}
body.has-learning-studio #library-view .forest-footer .brand-copy{align-items:flex-start;gap:3px}
body.has-learning-studio #library-view .forest-footer .brand-wordmark{display:flex;align-items:baseline;margin:0;font-size:25px;line-height:1.1;letter-spacing:-1px}
body.has-learning-studio #library-view .forest-footer .brand-wordmark span{margin:0;font-size:inherit;line-height:inherit;letter-spacing:inherit}
body.has-learning-studio #library-view .forest-footer .brand-pine{font-weight:700}
body.has-learning-studio #library-view .forest-footer .brand-lingo{font-weight:500}
body.has-learning-studio #library-view .forest-footer small{display:block;margin:0;font-size:11px;line-height:1.3;color:var(--muted)}
body.has-learning-studio #library-view .forest-footer .learning-design-entry{align-items:flex-end;gap:8px;min-width:0;padding:0;text-align:end}
body.has-learning-studio #library-view .forest-footer .learning-design-entry button{min-height:44px;padding:10px 17px;border-color:var(--line);background:var(--surface);color:var(--pine);font-size:14px;transition:background .18s,border-color .18s}
body.has-learning-studio #library-view .forest-footer .learning-design-entry button:hover{background:var(--soft);border-color:var(--pine)}
body.has-learning-studio #library-view .forest-footer .learning-design-entry p{max-width:42ch;font-size:12px;line-height:1.6;color:var(--muted)}
body.has-learning-studio #library-view .forest-footer :is(a,button):focus-visible{outline:3px solid var(--pine);outline-offset:4px}

#learning-studio{margin:0 0 24px}
#learning-studio .studio-home-feature{
  display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:stretch;gap:18px;margin-bottom:28px;
}
#learning-studio .studio-recommendation{
  display:flex;flex-direction:column;min-width:0;margin:0;padding:24px 26px;
  border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:none;
}
#learning-studio .studio-route-heading{display:block;margin:0}
#learning-studio .studio-route-heading :is(h2,h3){margin:0 0 8px;font-size:clamp(23px,2.6vw,30px);line-height:1.35;font-weight:750;letter-spacing:-.7px}
#learning-studio .studio-route-heading p{margin:0;font-size:14px;line-height:1.7;color:var(--muted);max-width:none}
#learning-studio .studio-profile-field{display:grid;gap:9px;margin:20px 0 16px;min-width:0}
#learning-studio .studio-profile-field>span{font-size:13px;font-weight:700;line-height:1.6;color:var(--ink)}
#learning-studio .studio-route-profiles{
  display:flex;gap:10px;min-width:0;width:100%;padding:0;border:0;border-radius:0;background:none;
}
#learning-studio .studio-route-profiles button{
  display:flex;align-items:center;justify-content:flex-start;gap:9px;flex:1;min-width:0;min-height:48px;
  padding:10px 13px;border:1px solid var(--line);border-radius:11px;background:var(--surface);
  color:var(--ink);font-size:14px;font-weight:650;line-height:1.5;text-align:start;overflow-wrap:anywhere;
}
#learning-studio .studio-route-profiles button::before{
  content:'';flex:none;width:17px;height:17px;border:1.5px solid #8aa598;border-radius:50%;background:var(--surface);
}
#learning-studio .studio-route-profiles button[aria-pressed=true],#learning-studio .studio-route-profiles button.is-active{
  border-color:#79b397;background:var(--soft);color:var(--ink);box-shadow:inset 0 0 0 1px #79b39722;
}
#learning-studio .studio-route-profiles button[aria-pressed=true]::before,#learning-studio .studio-route-profiles button.is-active::before{
  border:5px solid var(--pine);background:var(--surface);
}
#learning-studio .studio-route-actions{display:flex;align-items:stretch;flex-direction:column;gap:8px;margin:0}
#learning-studio .studio-route-actions>button{
  width:100%;min-height:48px;padding:11px 18px;border-radius:11px;font-size:16px;line-height:1.5;
  background:var(--pine);border-color:var(--pine);color:#fff;
}
#learning-studio .studio-route-preview{margin:0;font-size:12px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
#learning-studio .studio-route-actions>button.secondary-button{background:var(--surface);border-color:var(--line);color:var(--ink);font-size:14px}
#learning-studio .studio-route-preview strong{margin-inline-start:6px;color:var(--ink);font-weight:650}
#learning-studio .studio-route-details{margin-top:12px;padding-top:4px;border:0;background:none;color:var(--ink)}
#learning-studio .studio-route-details>summary{
  display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 4px;
  cursor:pointer;list-style:none;color:var(--pine);font-size:13px;font-weight:650;line-height:1.5;
}
#learning-studio .studio-route-details>summary::-webkit-details-marker{display:none}
#learning-studio .studio-route-details>summary::after{content:'⌄';font-size:18px;line-height:1}
#learning-studio .studio-route-details[open]>summary::after{content:'⌃'}
#learning-studio .studio-route-details .studio-route-steps{
  display:grid;grid-template-columns:1fr;gap:7px;margin:8px 0 0;padding:0;list-style:none;
}
#learning-studio .studio-route-details:not([open])>.studio-route-steps{display:none}
#learning-studio .studio-route-details .studio-route-steps>li:last-child{grid-column:auto}
#learning-studio .studio-route-details .studio-route-step{min-height:58px;padding:9px 12px;border-radius:10px;grid-template-columns:28px minmax(0,1fr);column-gap:9px;row-gap:2px}
#learning-studio .studio-route-details .studio-route-number{width:28px;height:28px;font-size:12px}
#learning-studio .studio-route-details .studio-route-step strong{font-size:13px;line-height:1.5}
#learning-studio .studio-route-details .studio-route-purpose{font-size:12px;line-height:1.55}

#learning-studio .studio-audio-entry{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-width:0;
  margin:0;padding:24px;border:1px solid var(--line);border-radius:18px;
  background:linear-gradient(145deg,var(--soft),var(--surface));box-shadow:none;text-align:center;
}
#learning-studio .studio-audio-entry .studio-sound-icon{
  display:grid;place-items:center;flex:none;width:74px;height:76px;margin:0;
  border:0;border-radius:0;background:none;color:#51846a;font-size:68px;line-height:1;
}
#learning-studio .studio-audio-entry>div{flex:none;min-width:0;width:100%}
#learning-studio .studio-audio-entry :is(h2,h3){margin:0 0 8px;font-size:clamp(23px,2.3vw,28px);line-height:1.4;font-weight:750;letter-spacing:-.6px;overflow-wrap:anywhere}
#learning-studio .studio-audio-entry p{margin:0;color:var(--muted);font-size:14px;line-height:1.7;overflow-wrap:anywhere}
#learning-studio .studio-audio-entry>button{
  width:100%;max-width:240px;min-width:0;min-height:48px;margin-top:4px;padding:10px 18px;
  border:1px solid var(--pine);border-radius:999px;background:transparent;color:var(--ink);font-size:15px;line-height:1.5;
}

#learning-studio .studio-grid-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px}
#learning-studio .studio-grid-heading h2,#learning-studio .studio-grid-heading h3{margin:0;font-size:25px;line-height:1.4;font-weight:750;letter-spacing:-.6px}
#learning-studio .studio-menu-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;min-width:0}
#learning-studio .studio-menu-actions button{
  min-width:44px;min-height:44px;padding:9px 13px;border:1px solid var(--line);border-radius:10px;
  background:var(--surface);color:var(--ink);font-size:13px;font-weight:650;line-height:1.5;text-decoration:none;white-space:normal;
}
#learning-studio .studio-menu-actions button[aria-pressed=true]{background:var(--soft);border-color:#79b397;color:var(--pine)}
#learning-studio .studio-menu-actions button[hidden]{display:none!important}
#learning-studio .studio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#learning-studio .studio-card{
  min-width:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);
  box-shadow:none;transition:border-color .15s,box-shadow .15s;overflow:hidden;
}
#learning-studio .studio-card:hover{border-color:#82aa94;box-shadow:0 3px 12px #254d3710;transform:none}
#learning-studio .studio-launch{
  display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:13px;
  min-height:148px;width:100%;padding:17px 16px;border:0;background:none;color:var(--ink);text-align:start;
}
#learning-studio .studio-launch img{flex:none;width:80px;height:88px;margin:0;object-fit:contain;filter:none}
#learning-studio .studio-card-copy{flex:1;min-width:0;text-align:start}
#learning-studio .studio-launch h3{
  display:block;min-height:0;margin:0;font-size:18px;font-weight:750;line-height:1.45;letter-spacing:-.4px;overflow-wrap:anywhere;
}
#learning-studio .studio-launch p{flex:none;margin:6px 0 8px;font-size:13px;line-height:1.55;color:var(--muted);overflow-wrap:anywhere}
#learning-studio .studio-count{display:inline-block;max-width:100%;padding:0;margin:0;border:0;border-radius:0;background:none;color:var(--muted);font-size:12px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
#learning-studio .studio-count strong{font-weight:650;color:var(--muted)}
#learning-studio[data-editing=false] :is(.studio-star,.studio-grip,.studio-card-order),#learning-studio :is(.studio-star,.studio-grip,.studio-card-order)[hidden]{display:none!important}
#learning-studio[data-editing=true] .studio-launch{padding-top:44px}
#learning-studio[data-editing=true] .studio-star,#learning-studio[data-editing=true] .studio-grip{top:1px;width:44px;height:44px}
#learning-studio[data-editing=true] .studio-card-order{top:10px}
#learning-studio :is(button,summary,a):focus-visible{outline:3px solid var(--pine);outline-offset:3px}
#learning-studio .studio-launch:focus-visible{outline-offset:-4px;border-radius:15px}
#learning-studio :is(.studio-star,.studio-grip):focus-visible{outline-offset:-4px}

/* Earlier home styles force the filter panel to be displayed. Respect details. */
body.has-learning-studio #library-view .home-library-settings{
  width:100%;margin:0 0 22px!important;padding:0!important;border:1px solid var(--line)!important;
  border-radius:16px!important;background:var(--surface)!important;box-shadow:none!important;
}
body.has-learning-studio #library-view .home-library-settings>summary{
  display:flex!important;align-items:center;flex-wrap:wrap;gap:8px 14px;min-height:64px;margin:0;
  padding:15px 20px;list-style:none;font-size:16px;font-weight:700;line-height:1.5;color:var(--ink);cursor:pointer;
}
body.has-learning-studio #library-view .home-library-settings>summary::-webkit-details-marker{display:none}
body.has-learning-studio #library-view .home-library-settings>summary>:first-child{color:var(--ink);font-size:16px;font-weight:700}
body.has-learning-studio #library-view .home-library-settings>summary>.studio-filter-hint{flex:1;min-width:0;color:var(--muted);font-size:13px;font-weight:400;overflow-wrap:anywhere}
body.has-learning-studio #library-view .home-library-settings>summary>.studio-filter-state{padding:3px 8px;border-radius:999px;background:var(--soft);color:var(--pine);font-size:11px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}
body.has-learning-studio #library-view .home-library-settings>summary::after{content:'⌄';margin-inline-start:auto;color:var(--muted);font-size:22px;line-height:1}
body.has-learning-studio #library-view .home-library-settings[open]>summary{border-bottom:1px solid var(--line)}
body.has-learning-studio #library-view .home-library-settings[open]>summary::after{content:'⌃'}
body.has-learning-studio #library-view .home-library-settings:not([open])>:not(summary){display:none!important}
body.has-learning-studio #library-view .home-library-settings[open]>.library-control-panel{display:flex!important;gap:14px!important;margin:0;padding:18px 20px!important;border:0;background:none}
body.has-learning-studio #library-view .home-library-settings .library-filters{padding:0;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr))!important;gap:12px!important;background:none}
body.has-learning-studio #library-view .home-library-settings .library-filters label{min-width:0}
body.has-learning-studio #library-view .home-library-settings .library-filters :is(input,select),body.has-learning-studio #library-view .home-library-settings .multi-topic-picker>summary{
  min-height:48px!important;font-size:14px!important;line-height:1.5;padding:10px 12px!important;border-color:var(--line)!important;background:var(--surface);color:var(--ink);
}
body.has-learning-studio #library-view .home-library-settings .library-filters label>span:not(.sr-only){color:var(--ink);font-size:13px;line-height:1.5}
body.has-learning-studio #library-view .home-library-settings :is(button,.category-bookmark-filter,.completed-learning-filter){min-height:44px!important;height:auto!important;line-height:1.5;white-space:normal}
body.has-learning-studio #library-view .home-library-settings :is(button,input,select,summary):focus-visible{outline:3px solid var(--pine);outline-offset:3px}

@media(max-width:1100px){
  #learning-studio .studio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #learning-studio .studio-home-feature{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px}
  #learning-studio .studio-recommendation{padding:22px}
  #learning-studio .studio-route-profiles{flex-direction:column;gap:8px}
  #learning-studio .studio-route-profiles button{width:100%}
  #learning-studio .studio-audio-entry{padding:22px 18px}
}
@media(max-width:800px){
  #learning-studio .studio-home-feature{grid-template-columns:1fr}
  #learning-studio .studio-route-profiles{flex-direction:row}
  #learning-studio .studio-audio-entry{display:grid;grid-template-columns:50px minmax(0,1fr) auto;text-align:start;gap:16px;padding:18px 20px}
  #learning-studio .studio-audio-entry .studio-sound-icon{width:50px;height:60px;font-size:48px}
  #learning-studio .studio-audio-entry :is(h2,h3){font-size:22px;margin-bottom:4px}
  #learning-studio .studio-audio-entry p{font-size:13px}
  #learning-studio .studio-audio-entry>button{width:auto;max-width:none;margin:0;padding-inline:14px;font-size:14px}
  body.has-learning-studio #library-view .home-library-settings .library-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.has-learning-studio #library-view .home-library-settings .library-filters .search-field{grid-column:1 / -1!important}
}
@media(max-width:600px){
  body.has-learning-studio #library-view .library-heading{margin-bottom:18px}
  body.has-learning-studio #library-view .forest-footer{margin-inline:0}
  body.has-learning-studio #library-view .forest-hero{height:auto;min-height:0;max-height:none;border-radius:15px;background-size:contain;background-position:center}
  body.has-learning-studio #library-view .forest-hero .banner-learning-tip{top:8px;width:calc(100% - 16px);padding:8px 5%;font-size:18px;line-height:1.4;border-radius:10px}
  body.has-learning-studio #library-view .forest-hero{background-size:100% auto;background-position:center top}
  body.has-learning-studio #library-view .forest-banner-brand{gap:7px;padding:6px 11px}
  body.has-learning-studio #library-view .forest-banner-brand img{width:20px;height:24px}
  body.has-learning-studio #library-view .banner-quote-reference{margin-top:4px;font-size:14px;line-height:1.4}
  body.has-learning-studio #library-view .forest-footer{grid-template-columns:1fr;justify-items:center;gap:16px;margin-top:24px;padding:24px 20px;border-radius:18px}
  body.has-learning-studio #library-view .forest-footer .brand{justify-self:center}
  body.has-learning-studio #library-view .forest-footer .learning-design-entry{align-items:center;text-align:center}
  body.has-learning-studio #library-view .forest-footer .learning-design-entry p{max-width:34ch}
  #learning-studio .studio-home-feature{gap:12px;margin-bottom:24px}
  #learning-studio .studio-recommendation{padding:20px;border-radius:16px}
  #learning-studio .studio-route-heading :is(h2,h3){font-size:24px}
  #learning-studio .studio-route-heading p{font-size:13px}
  #learning-studio .studio-profile-field{margin:16px 0 14px}
  #learning-studio .studio-route-profiles{flex-direction:column;gap:8px}
  #learning-studio .studio-route-profiles button{font-size:14px}
  #learning-studio .studio-route-details{margin-top:8px}
  #learning-studio .studio-audio-entry{grid-template-columns:42px minmax(0,1fr);gap:9px 13px;padding:16px 18px;border-radius:16px}
  #learning-studio .studio-audio-entry .studio-sound-icon{width:42px;height:54px;font-size:43px}
  #learning-studio .studio-audio-entry :is(h2,h3){font-size:21px}
  #learning-studio .studio-audio-entry>button{grid-column:1 / -1;width:100%;min-height:44px;margin-top:4px}
  #learning-studio .studio-grid-heading{align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:12px}
  #learning-studio .studio-grid-heading h2,#learning-studio .studio-grid-heading h3{font-size:23px}
  #learning-studio .studio-menu-actions{justify-content:flex-start;gap:6px}
  #learning-studio .studio-menu-actions button{font-size:12px;padding:9px 11px}
  #learning-studio .studio-grid{grid-template-columns:1fr;gap:10px}
  #learning-studio .studio-launch{min-height:132px;gap:16px;padding:16px 18px}
  #learning-studio .studio-launch img{width:76px;height:84px}
  #learning-studio .studio-launch h3{font-size:18px}
  #learning-studio .studio-launch p{font-size:13px;margin:5px 0 7px}
  body.has-learning-studio #library-view .home-library-settings>summary{padding:14px 16px;gap:5px 10px}
  body.has-learning-studio #library-view .home-library-settings>summary>.studio-filter-hint{flex-basis:100%;order:2}
  body.has-learning-studio #library-view .home-library-settings>summary>.studio-filter-state{order:3}
  body.has-learning-studio #library-view .home-library-settings>summary::after{order:1}
  body.has-learning-studio #library-view .home-library-settings[open]>.library-control-panel{padding:16px!important}
  body.has-learning-studio #library-view .home-library-settings .library-filters{grid-template-columns:1fr!important}
  body.has-learning-studio #library-view .home-library-settings .library-filters label,body.has-learning-studio #library-view .home-library-settings .library-filters .search-field{grid-column:auto!important}
}
@media(prefers-reduced-motion:reduce){#learning-studio *{transition:none!important;animation:none!important;scroll-behavior:auto!important}body.has-learning-studio #library-view .forest-footer .learning-design-entry button{transition:none}}
@media(forced-colors:active){#learning-studio .studio-route-profiles button[aria-pressed=true]{border:2px solid Highlight}#learning-studio .studio-route-profiles button[aria-pressed=true]::before{border-color:Highlight}#learning-studio .studio-card:hover{border-color:Highlight}}
html[data-theme=dark] body.has-learning-studio:has(#workspace[data-view=library]){background:#102a24}
html[data-theme=dark] body.has-learning-studio #library-view{--ink:#e0eee5;--muted:#b7cfc1;--pine:#8dd4ad;--line:#355749;--soft:#193e32;--surface:#12302a}
html[data-theme=dark] #learning-studio .studio-route-actions>button{color:#102a24}

/* learning-entry.css */
.studio-learning-entries,.studio-audio-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.studio-learning-entry{display:flex;align-items:center;gap:22px;padding:30px;min-height:170px;border:1px solid var(--line);border-radius:22px;background:var(--surface);color:var(--ink);text-align:start;cursor:pointer;box-shadow:0 6px 22px #143e2e06;transition:border-color .16s,box-shadow .16s}
.studio-learning-entry:hover{border-color:var(--pine);box-shadow:0 8px 26px #143e2e12}
.studio-learning-entry:focus-visible,.studio-audio-choice button:focus-visible{outline:3px solid var(--pine);outline-offset:4px}
.studio-learning-entry img{width:104px;height:104px;object-fit:contain;flex:none}
.studio-entry-copy{display:flex;flex:1;flex-direction:column;gap:10px;min-width:0}
.studio-entry-copy strong{font-size:clamp(21px,2.1vw,26px);font-weight:750;letter-spacing:-.6px;line-height:1.4}
.studio-entry-copy>span{font-size:14px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}
.studio-entry-arrow{font-size:26px;color:var(--pine);flex:none}
.studio-section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}
.studio-section-heading h2{margin:0;font-size:28px;letter-spacing:-.6px}
.studio-section-heading button{padding:0;min-height:44px}
#learning-studio .studio-general-panel>.studio-recommendation{margin-bottom:30px}
.studio-audio-choices{margin:28px 0}
.studio-audio-choice{display:flex;flex-direction:column;align-items:flex-start;padding:30px;border:1px solid var(--line);border-radius:22px;background:var(--surface);min-width:0}
.studio-audio-choice:first-child{background:linear-gradient(140deg,var(--surface),var(--soft))}
.studio-audio-choice h2{font-size:26px;letter-spacing:-.6px;margin:12px 0}
.studio-audio-choice>p{color:var(--muted);line-height:1.8;font-size:15px;margin:0 0 16px;overflow-wrap:anywhere}
.studio-audio-choice .studio-audio-selection{font-size:13px;color:var(--ink)}
.studio-audio-choice>button{margin-top:auto;width:100%;min-height:52px;white-space:normal;line-height:1.5}
.studio-audio-choice .studio-note{font-size:13px}
.learning-studio-home [hidden],.learning-studio-workspace [hidden]{display:none!important}
@media(max-width:760px){.studio-learning-entries,.studio-audio-choices{grid-template-columns:1fr;gap:14px}.studio-learning-entry{min-height:144px;padding:22px;gap:18px}.studio-learning-entry img{width:88px;height:88px}.studio-entry-copy strong{font-size:22px}.studio-entry-copy>span{font-size:13px}.studio-audio-choice{padding:24px}.studio-audio-choice h2{font-size:24px}.studio-section-heading h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.studio-learning-entry{transition:none}}
a.studio-learning-entry{text-decoration:none;font:inherit}

/* learning-route.css */
.studio-route-status {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .4rem .8rem;
  margin: .65rem 0 1rem;
  padding: .65rem .8rem;
  border: 1px solid var(--border, #dce5df);
  border-radius: .75rem;
  background: var(--surface, #fff);
}
.studio-route-progress {
  margin: 0;
  font-size: .86rem;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}
.studio-route-meta {
  margin: 0;
  font-size: .8rem;
  color: var(--muted, #617168);
}
.studio-route-status button {
  margin-left: auto;
  min-height: 2.5rem;
  font-size: .82rem;
}
.studio-route-settings {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border, #dce5df);
}
.studio-route-settings h3 { margin: 0 0 .5rem; }
.studio-route-settings-list {
  display: grid;
  gap: .4rem;
  margin: .85rem 0;
  padding: 0;
  list-style: none;
}
.studio-route-settings-row {
  display: flex;
  align-items: center;
  gap: .55rem;
  min-width: 0;
  padding: .4rem .55rem;
  border: 1px solid var(--border, #dce5df);
  border-radius: .65rem;
  background: var(--surface, #fff);
}
.studio-route-settings-number {
  flex: 0 0 1.5rem;
  text-align: center;
  font-size: .8rem;
  color: var(--muted, #617168);
  font-variant-numeric: tabular-nums;
}
.studio-route-settings-title {
  flex: 1 1 auto;
  min-width: 0;
  font-size: .88rem;
  overflow-wrap: anywhere;
}
.studio-route-settings-actions {
  display: flex;
  flex: 0 0 auto;
  gap: .3rem;
}
.studio-route-settings .studio-route-order-move {
  min-width: 3rem;
  min-height: 2.5rem;
  padding: .3rem .5rem;
  font-size: .8rem;
}
.studio-route-order-move:disabled { opacity: .4; cursor: default; }
.studio-route-order-reset { min-height: 2.5rem; }
.studio-route-settings-status { min-height: 1.4em; margin-bottom: 0; }
.studio-route-settings-row:focus,
.studio-route-settings button:focus-visible {
  outline: 2px solid var(--accent, #2e7651);
  outline-offset: 3px;
}
@media (max-width: 380px) {
  .studio-route-settings-row { gap: .35rem; padding: .35rem; }
  .studio-route-settings-number { flex-basis: 1.1rem; }
  .studio-route-settings-title { font-size: .82rem; }
  .studio-route-settings .studio-route-order-move { min-width: 2.65rem; padding: .3rem; }
}
@media (prefers-reduced-motion: reduce) {
  .studio-route-status *,
  .studio-route-settings * {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}
.studio-time-plan{max-width:680px;margin:28px auto;padding:36px;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:0 14px 45px #153e4308}
.studio-time-plan h1{margin:0 0 12px;font-size:clamp(25px,4vw,34px);line-height:1.35;color:var(--ink)}
.studio-time-plan>.studio-field{display:block;margin:28px 0 18px}
.studio-time-plan>.studio-field select{width:100%;min-height:54px;font-size:18px}
.studio-time-plan>[data-study-start]{width:100%;min-height:54px;margin:24px 0 12px}
.studio-time-plan .studio-time-custom{color:var(--muted);font-size:14px}
.studio-time-custom summary{cursor:pointer;padding:12px 0;min-height:44px}
.studio-time-custom .studio-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.studio-time-custom select{min-height:48px;width:100%}
.studio-route-time{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:700;color:var(--pine)}
@media(max-width:600px){.studio-time-plan{margin:12px auto;padding:24px 18px;border-radius:20px}.studio-route-time{margin-left:0}}

/* home-pointer-effects.css */
.home-pointer-settings label{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.home-pointer-settings select{min-width:140px;min-height:44px;padding:8px 12px;border:1px solid var(--line,#dce7de);border-radius:10px;background:var(--surface,#fff);color:var(--ink,#17392e);font:inherit}
.home-pointer-settings .font-scope-note{margin:8px 0 0}
.home-pointer-overlay{position:fixed;inset:0;z-index:8;overflow:hidden;pointer-events:none!important;user-select:none;contain:strict}
.home-pointer-overlay[hidden]{display:none!important}
.home-pointer-overlay *{pointer-events:none!important}
.home-pointer-glow{position:absolute;top:0;left:0;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,#9decc34d 0,#a5efd624 38%,#a5efd600 72%);will-change:transform}
.home-pointer-particle{position:absolute;top:0;left:0;display:block;animation:home-pointer-drift 700ms ease-out forwards;will-change:transform,opacity}
.home-pointer-sparkle{width:13px;height:13px;background:#81c9a4;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}
.home-pointer-leaf{width:12px;height:8px;border-radius:0 80% 0 80%;background:#79b58a;box-shadow:inset 1px -1px 0 #4d936b}
@keyframes home-pointer-drift{0%{opacity:.65;transform:translate3d(var(--pointer-x),var(--pointer-y),0) translate(-50%,-50%) rotate(0deg) scale(.8)}100%{opacity:0;transform:translate3d(calc(var(--pointer-x) + var(--pointer-drift)),calc(var(--pointer-y) + 20px),0) translate(-50%,-50%) rotate(var(--pointer-turn)) scale(.25)}}
@media(prefers-reduced-motion:reduce),(pointer:coarse){.home-pointer-overlay{display:none!important}}

/* selection-study.css */
.selection-study-view{max-width:1120px;margin:0 auto;padding:8px 0 40px}
.selection-study-view[hidden]{display:none!important}
.selection-study-header{margin-bottom:24px}
.selection-study-back{min-height:44px;margin-bottom:10px}
.selection-study-header h1{margin:0 0 8px;font-size:clamp(28px,3vw,38px);letter-spacing:-.8px;line-height:1.25}
.selection-study-header p{margin:0;color:var(--muted,#596a60);line-height:1.65}
.selection-study-layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);align-items:start;gap:24px}
.selection-study-custom,.selection-study-individual{min-width:0;padding:24px;border:1px solid var(--line,#dce7de);border-radius:20px;background:var(--surface,#fff)}
.selection-study-layout h2{margin:0 0 16px;font-size:22px;letter-spacing:-.35px}
.selection-study-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px}
.selection-study-field{display:grid;gap:8px;min-width:0;font-size:15px;font-weight:600}
.selection-study-field select{min-width:0;width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--line,#dce7de);border-radius:10px;color:var(--ink,#17392e);background:var(--surface,#fff);font:inherit}
.selection-study-studied{grid-column:1/-1;display:flex;align-items:center;gap:10px;min-height:44px;font-size:15px;cursor:pointer}
.selection-study-studied input{width:22px;height:22px;min-height:22px;margin:0;accent-color:var(--pine,#245b44);flex:none}
.selection-study-order{padding-top:18px;border-top:1px solid var(--line,#dce7de)}
.selection-study-order .studio-route-settings{margin:0}
.selection-study-start{display:grid;gap:10px;margin-top:20px}
.selection-study-start .primary-button{width:100%;min-height:48px;padding:12px 16px;white-space:normal}
.selection-study-start .settings-note,.selection-study-individual>.settings-note{margin:0;line-height:1.7}
.selection-study-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.selection-study-mode{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-height:104px;padding:15px;text-align:start;border:1px solid var(--line,#dce7de);border-radius:12px;background:var(--surface,#fff);color:var(--ink,#17392e);font:inherit;cursor:pointer}
.selection-study-mode strong{font-size:16px;line-height:1.4}
.selection-study-mode span{font-size:13px;line-height:1.65;color:var(--muted,#596a60)}
.selection-study-mode:hover{border-color:var(--pine,#245b44);background:var(--soft,#eef5ee)}
.selection-study-extras{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px;padding-top:18px;border-top:1px solid var(--line,#dce7de)}
.selection-study-extras button{min-height:44px;white-space:normal}
.selection-study-view :is(button,select,input):focus-visible{outline:3px solid var(--pine,#245b44);outline-offset:3px}
.selection-study-header h1:focus-visible{outline:3px solid var(--pine,#245b44);outline-offset:6px;border-radius:4px}
@media(max-width:840px){.selection-study-layout{grid-template-columns:minmax(0,1fr);gap:18px}.selection-study-custom,.selection-study-individual{padding:20px}.selection-study-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.selection-study-view{padding-top:0}.selection-study-header{margin-bottom:20px}.selection-study-custom,.selection-study-individual{padding:18px;border-radius:16px}.selection-study-fields{gap:12px}.selection-study-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selection-study-mode{min-height:110px;padding:13px}.selection-study-extras .secondary-button{flex:1}}
@media(prefers-reduced-motion:reduce){.selection-study-view *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.selection-study-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.selection-study-choice{display:flex;flex-direction:column;align-items:flex-start;gap:18px;min-height:280px;padding:32px;text-align:start;font:inherit;color:var(--ink,#17392e);background:var(--surface,#fff);border:1px solid var(--line,#dce7de);border-radius:24px;cursor:pointer;box-shadow:0 8px 26px #17392e06;transition:transform .2s,border-color .2s,box-shadow .2s}
.selection-study-choice:hover{transform:translateY(-3px);border-color:var(--pine,#176e55);box-shadow:0 12px 32px #17392e0d}
.selection-study-choice strong{font-size:clamp(21px,2vw,27px);line-height:1.35;letter-spacing:-.5px}
.selection-study-choice-icon{display:grid;place-items:center;min-width:90px;height:54px;padding:0 16px;border-radius:16px;background:#edf5f0;color:var(--pine,#176e55);font-size:18px;font-weight:700}
.selection-study-choice-description{color:var(--muted,#596a60);font-size:15px;line-height:1.65}
.selection-study-choice-action{margin-top:auto;color:var(--pine,#176e55);font-size:14px;font-weight:600}
.selection-study-detail{max-width:900px;margin:0 auto;padding:28px;border:1px solid var(--line,#dce7de);border-radius:24px;background:var(--surface,#fff)}
.selection-study-detail .selection-study-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.selection-study-wordbook{width:100%;margin-top:18px;min-height:48px}
@media(max-width:760px){.selection-study-choices{grid-template-columns:1fr;gap:16px}.selection-study-choice{min-height:230px;padding:24px}.selection-study-detail{padding:20px}.selection-study-detail .selection-study-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* home-navigation.css */
/* The learning choices live in the main area; account tools follow every view. */
body:has(#workspace){padding-inline:0;padding-bottom:0}
.site-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;max-width:1240px;margin-inline:auto;padding:22px 28px 12px}
.site-header .brand{position:static;inset:auto;transform:none;width:auto;flex:none;margin:0}
.site-header .home-language-settings,.site-header .home-language-settings[open]{flex:0 1 440px;width:auto;max-width:440px;margin:0}
#workspace,#workspace[data-view=library]{width:100%;max-width:1240px;margin-inline:auto;padding:18px 28px 32px}
#workspace[data-view=library]{max-width:1680px}
body:has(#workspace[data-view=library]) .site-utility-footer{max-width:1680px}
#workspace:not([data-view=learn]) #main{width:100%;max-width:none;padding:0;margin:0}
.studio-learning-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:20px}
.studio-learning-entry{width:100%;min-width:0}
.site-utility-footer{width:100%;max-width:1240px;margin:0 auto;padding:0 28px calc(32px + env(safe-area-inset-bottom))}
.site-utility-nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:20px 0 0;border-top:1px solid var(--line)}
.site-utility-nav .nav-button{position:static;display:flex;align-items:center;justify-content:center;flex-direction:row;gap:8px;width:auto;min-height:46px;margin:0;padding:10px 14px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--muted);font-size:14px;font-weight:600;line-height:1.5;text-decoration:none;white-space:nowrap}
.site-utility-nav .nav-button svg{flex:none;width:19px;height:19px}
.site-utility-nav .nav-button:hover{background:var(--soft);color:var(--ink)}
.site-utility-nav .nav-button.active,.site-utility-nav .nav-button[aria-current=page]{background:var(--surface);border-color:var(--line);color:var(--pine)}
.site-utility-nav .nav-button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.site-utility-nav .nav-count{position:static;min-width:22px;margin:0;padding:2px 6px;border-radius:20px;background:var(--soft);color:var(--ink);font-size:11px;line-height:1.5;text-align:center}
.site-utility-nav [hidden]{display:none!important}
.site-utility-footer .home-language-settings{position:static;width:100%;max-width:540px;margin:0 auto 18px;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.site-utility-footer .home-language-settings>summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:12px 18px;font-size:14px;font-weight:650;color:var(--ink);cursor:pointer}
.site-utility-footer .home-language-settings>summary::after{content:'⌄';font-size:18px;color:var(--pine)}
.site-utility-footer .home-language-settings[open]>summary{border-bottom:1px solid var(--line)}
.site-utility-footer .home-language-settings[open]>summary::after{content:'⌃'}
.site-utility-footer .language-pair{padding:16px;max-width:none;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)}
.site-utility-footer .connection-location{position:static;display:block;text-align:center;margin:16px 0 0;font-size:12px;color:var(--muted)}
body:has(#workspace[data-view=library]:not([hidden])) .site-header{display:none}
body:has(#audio-bar:not([hidden])){padding-bottom:156px}
#audio-bar{left:0;right:0;width:100%}
@media(max-width:760px){
  .site-header{padding:16px 18px 8px;flex-wrap:wrap;gap:14px}
  .site-header .home-language-settings,.site-header .home-language-settings[open]{flex:1 1 100%;width:100%;max-width:none}
  #workspace,#workspace[data-view=library]{padding:12px 18px 28px}
  .studio-learning-entries{grid-template-columns:1fr;gap:14px}
  .site-utility-footer{padding-inline:18px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  .site-utility-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:16px}
  .site-utility-nav .nav-button{width:100%;min-width:0;min-height:48px;padding:10px 8px;font-size:13px;white-space:normal}
  body:has(#audio-bar:not([hidden])){padding-bottom:210px}
}
@media(max-width:360px){
  .site-header,#workspace,#workspace[data-view=library],.site-utility-footer{padding-inline:12px}
}

/* learning-controls.css */
.study-duration-control{display:grid;gap:10px;margin:22px 0}
.study-duration-row{display:grid;grid-template-columns:48px minmax(90px,1fr) auto 48px;gap:10px;align-items:center}
.study-duration-row :is(input,button){min-height:52px;border:1px solid var(--line,#d9e5dd);border-radius:12px;background:var(--surface,#fff);color:var(--ink,#183e4a);font:inherit}
.study-duration-row input{width:100%;text-align:center;font-size:24px;font-weight:700;padding:8px}
.study-duration-row button{font-size:24px;padding:0}.study-duration-row button:hover{background:var(--soft,#edf4ec)}
.study-duration-presets{display:flex;gap:8px;flex-wrap:wrap}.study-duration-presets button{min-height:40px;border:1px solid var(--line,#d9e5dd);border-radius:24px;padding:7px 16px;background:var(--surface,#fff);color:var(--pine,#176e55);font:inherit;font-size:14px}
.study-duration-control p{margin:0}.study-duration-control :focus-visible{outline:3px solid var(--pine,#176e55);outline-offset:3px}
.studio-auto-example{display:flex;align-items:center;gap:9px;min-height:44px;font-size:14px}.studio-auto-example input{width:20px;height:20px;accent-color:var(--pine,#176e55)}
.selection-study-layout{display:block!important}.selection-study-custom{max-width:760px;margin:auto}.selection-study-individual{margin:20px auto 0;max-width:760px}
.selection-study-order>summary,.selection-study-individual>summary{display:flex;justify-content:space-between;align-items:center;min-height:52px;cursor:pointer;font-weight:700}
.selection-study-order>summary::after,.selection-study-individual>summary::after{content:'⌄'}.selection-study-order[open]>summary::after,.selection-study-individual[open]>summary::after{content:'⌃'}
.selection-study-simple-mode{display:grid;gap:8px;margin:20px 0}.selection-study-simple-mode select{width:100%;min-height:52px;border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit;background:var(--surface);color:var(--ink)}
.selection-study-start .primary-button{width:100%}.selection-study-extras{max-width:760px;margin:18px auto;justify-content:center}
@media(max-width:480px){.study-duration-row{grid-template-columns:44px minmax(80px,1fr) auto 44px;gap:7px}.study-duration-presets button{padding:7px 12px}}

/* A calm content hierarchy: one task, its progress, then optional settings. */
.learning-studio-workspace{padding-top:8px}.learning-studio-workspace .studio-path{margin-bottom:12px}.learning-studio-workspace .studio-path button{min-height:36px;padding:6px 10px}
.study-duration-control{gap:12px;margin:26px 0 24px;padding:20px;background:var(--soft,#f1f6f3);border-radius:20px}
.study-duration-row{grid-template-columns:52px minmax(0,1fr) 52px;margin-top:12px}
.study-duration-readout{font-size:36px;line-height:1.25;font-weight:750;text-align:center;color:var(--ink);overflow-wrap:anywhere}
.study-duration-row button{border-radius:50%;width:52px;height:52px;background:var(--surface);transition:background .15s,transform .15s}
.study-duration-row button:active{transform:scale(.94)}
.study-duration-control>.studio-note{text-align:center;font-size:12px}
.study-duration-presets{justify-content:center;margin-top:6px}
.study-duration-presets button[aria-pressed=true]{background:var(--pine,#176e55);border-color:var(--pine,#176e55);color:white}
.study-duration-direct{font-size:13px;text-align:center;margin-top:4px}.study-duration-direct summary{min-height:36px;cursor:pointer;color:var(--pine)}
.study-duration-entry{display:flex;align-items:center;justify-content:center;gap:8px;margin:10px auto 0;max-width:240px}
.study-duration-entry input{min-width:0;width:180px;min-height:44px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:18px;text-align:center;background:var(--surface);color:var(--ink)}
.studio-difficulty{border:0;padding:0;margin:22px 0 10px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.studio-difficulty legend{font-size:14px;font-weight:700;margin-bottom:12px}
.studio-difficulty-option{position:relative;display:grid;justify-items:center;align-content:center;gap:8px;min-height:86px;cursor:pointer;padding:12px 5px;border:1px solid var(--line);border-radius:14px;background:var(--surface);font-size:13px;color:var(--ink);transition:border-color .15s,background .15s,transform .15s}
.studio-difficulty-option input{position:absolute;opacity:0;width:1px;height:1px}.studio-difficulty-number{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--soft);font-weight:700}
.studio-difficulty-option:has(:checked){border-color:var(--pine);background:var(--soft);box-shadow:inset 0 0 0 1px var(--pine)}.studio-difficulty-option:has(:checked) .studio-difficulty-number{background:var(--pine);color:#fff}
.studio-difficulty-option:has(:focus-visible){outline:3px solid var(--pine);outline-offset:3px}.studio-difficulty-option:active{transform:scale(.97)}
.studio-difficulty-explanation{font-size:12px!important;margin:6px 0 26px!important}
.learning-studio-workspace .studio-path{margin:0 0 12px}.learning-studio-workspace .studio-heading{display:grid;grid-template-columns:64px minmax(0,1fr);gap:3px 16px;align-items:center;margin:0 0 18px}
.learning-studio-workspace .studio-heading h1{font-size:32px;line-height:1.2;margin:0;letter-spacing:-.04em}.learning-studio-workspace .studio-heading>p{grid-column:2;margin:0;font-size:15px}
.studio-mode-icon{grid-row:1/3;display:grid;place-items:center;width:64px;height:64px;color:#204d62}.studio-mode-icon svg{width:64px;height:64px}
.learning-studio-workspace .studio-route-status{padding:8px 14px;min-height:52px;margin:0 0 10px;gap:12px;border-radius:14px;font-size:13px;box-shadow:none}.learning-studio-workspace .studio-route-skip{min-height:36px;padding:6px 10px}
.learning-studio-workspace .studio-route-meta{font-size:12px}.learning-studio-workspace .studio-route-time{font-size:14px}.learning-studio-workspace .studio-route-skip{font-size:13px}
.studio-study-options{margin:0 0 10px;font-size:13px}.studio-study-options>summary{cursor:pointer;min-height:36px;display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--pine)}.studio-study-options>summary:after{content:'⌄'}.studio-study-options[open]>summary:after{content:'⌃'}
.studio-study-options[open]{padding:0 16px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.studio-study-options .studio-controls{margin:8px 0 12px}.studio-study-options .studio-note{font-size:12px;margin:8px 0}
.learning-studio-workspace .studio-progress{margin:0 0 8px;gap:16px;font-size:12px}.learning-studio-workspace .studio-progress progress{height:4px}.learning-studio-workspace .studio-progress>span{white-space:nowrap}
.learning-studio-workspace .studio-item-meta{font-size:12px;margin:0 0 12px;gap:10px}.learning-studio-workspace .studio-item-meta>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learning-studio-workspace .studio-item-meta>span:last-child{white-space:nowrap}
.learning-studio-workspace .studio-automatic{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 16px;padding:12px 16px;margin:0 0 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:none}
.learning-studio-workspace .studio-automatic h2{font-size:12px;margin:0;color:var(--muted,#637e86)}
.learning-studio-workspace .studio-automatic .studio-actions{grid-column:2;grid-row:1/3;display:flex;align-items:center;margin:0;gap:8px}.learning-studio-workspace .studio-automatic .studio-actions>button{min-height:42px;width:auto;min-width:96px;padding:9px 16px;margin:0;font-size:14px}
.learning-studio-workspace .studio-automatic .studio-note{grid-column:1;margin:0;font-size:14px;color:var(--pine);line-height:1.6}.learning-studio-workspace .studio-automatic .studio-field{max-width:120px;font-size:12px}.learning-studio-workspace .studio-automatic .studio-field select{min-height:40px}
.learning-studio-workspace .studio-exercise{margin-top:0;gap:20px}.learning-studio-workspace .studio-prompt,.learning-studio-workspace .studio-task{padding:26px;min-height:280px;border-radius:20px}.learning-studio-workspace .studio-phrase{font-size:32px;line-height:1.5;margin:22px 0}.learning-studio-workspace .studio-task h2{font-size:20px;margin:16px 0}
.learning-studio-workspace .studio-audio-player{padding:24px 30px 28px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,var(--surface,#fff),var(--soft,#f0f6f3));box-shadow:0 12px 30px #183e4a05}
.learning-studio-workspace .studio-audio-quick{padding:0 0 20px;border-bottom:1px solid var(--line);gap:16px;margin:0}.learning-studio-workspace .studio-audio-quick .studio-field>span{font-size:12px;font-weight:600}.learning-studio-workspace .studio-audio-quick select{min-height:44px;background:var(--surface);border-radius:12px}
.studio-audio-visual{height:66px;display:flex;justify-content:center;align-items:center;gap:5px;margin:20px auto 0}.studio-audio-visual>span{width:5px;height:20px;background:var(--pine);border-radius:8px;opacity:.35}.studio-audio-visual>span:nth-child(2n){height:36px}.studio-audio-visual>span:nth-child(3n){height:48px}
.studio-audio-player[data-playing=true] .studio-audio-visual>span{opacity:.65;animation:audio-breathe 1s ease-in-out infinite alternate}.studio-audio-player[data-playing=true] .studio-audio-visual>span:nth-child(2n){animation-delay:-.3s}.studio-audio-player[data-playing=true] .studio-audio-visual>span:nth-child(3n){animation-delay:-.65s}
@keyframes audio-breathe{from{transform:scaleY(.55)}to{transform:scaleY(1)}}
.learning-studio-workspace .studio-audio-player .studio-phrase{font-size:26px;margin:12px auto 20px;min-height:40px;max-width:760px;color:var(--ink);line-height:1.5;text-align:center}.learning-studio-workspace .studio-audio-player .studio-phrase[data-empty=true]{font-size:21px;font-weight:600}
.learning-studio-workspace .studio-audio-actions{margin:0;gap:12px;justify-content:center;align-items:center}.learning-studio-workspace .studio-audio-actions>button{min-height:48px;padding:10px 24px}.learning-studio-workspace .studio-audio-actions .primary-button{border-radius:28px;min-width:180px;box-shadow:0 5px 12px #176e5515}.studio-audio-actions .primary-button:before{content:'▶';font-size:11px;margin-inline-end:10px}
.studio-audio-player[data-playing=true] .studio-audio-actions .primary-button:before{content:'Ⅱ';font-size:14px}
.learning-studio-workspace .studio-audio-position{margin:14px 0 0;text-align:center;font-size:12px}.learning-studio-workspace .studio-audio-player .studio-speech-status{margin:8px 0 0;text-align:center}.studio-audio-player .studio-phonetics{text-align:center}
.learning-studio-workspace .studio-audio-advanced{margin:16px 0;border-radius:16px;background:var(--surface)}.learning-studio-workspace .studio-audio-advanced>summary{font-size:14px;min-height:56px;padding:16px 20px;color:var(--ink);cursor:pointer}
.learning-studio-workspace .studio-audio-settings{display:block;padding:0 20px 20px}.studio-audio-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0 24px;border:0;padding:0}.studio-audio-group legend{font-size:14px;font-weight:700;margin-bottom:14px}.studio-audio-group .studio-field>span{font-size:12px}.studio-audio-settings>.studio-note{font-size:12px;max-width:680px}
.home-language-settings.home-language-visible{max-width:1680px;margin:12px auto 4px;padding:0 28px;border:0;background:transparent;box-shadow:none}.home-language-visible .language-pair{display:grid;grid-template-columns:minmax(150px,230px) 24px minmax(150px,230px) 1fr;align-items:center;gap:12px;max-width:none;padding:12px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.home-language-visible .site-language{display:grid;gap:4px;margin:0}.home-language-visible .site-language>span{font-size:11px;color:var(--muted,#637e86)}.home-language-visible .site-language select{width:100%;height:40px;min-height:40px;color:var(--ink);font:inherit;font-size:14px;border:1px solid var(--line);border-radius:9px;background-color:var(--surface);padding-inline-start:40px;padding-inline-end:24px;background-size:24px 18px;background-position:8px center;background-repeat:no-repeat}
.home-language-visible .language-arrow{display:grid;place-items:center}.home-language-visible .language-arrow svg{width:20px;height:20px}.home-language-visible .language-readiness-copy{grid-column:4;display:grid;gap:4px;justify-items:end;text-align:end}.home-language-visible .language-pair-readiness{font-size:12px;margin:0}.home-language-visible .language-pair-readiness-details{font-size:11px;margin:0}.home-language-visible .language-pair-readiness-details>summary{min-height:24px;padding:0;cursor:pointer}.home-language-visible .language-pair-readiness-details>p{max-width:560px;line-height:1.6}
body:has(#workspace:not([hidden]) #studio-view:not([hidden])) .home-language-visible{display:none}
@media(max-width:760px){
 .home-language-settings.home-language-visible{padding:0 18px;margin-top:8px}.home-language-visible .language-pair{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);padding:10px 12px;gap:8px}.home-language-visible .language-readiness-copy{grid-column:1/-1;justify-items:start;text-align:start}.home-language-visible .site-language select{font-size:13px}
 .learning-studio-workspace .studio-heading{grid-template-columns:52px minmax(0,1fr);column-gap:12px}.learning-studio-workspace .studio-heading h1{font-size:27px}.studio-mode-icon,.studio-mode-icon svg{width:52px;height:52px}.learning-studio-workspace .studio-heading>p{font-size:13px}
 .learning-studio-workspace .studio-route-status{flex-wrap:wrap;gap:6px 12px}.learning-studio-workspace .studio-route-meta{order:4;flex-basis:100%}.learning-studio-workspace .studio-route-time{margin-inline-start:auto}.learning-studio-workspace .studio-route-skip{padding:0;min-height:36px}
 .learning-studio-workspace .studio-prompt,.learning-studio-workspace .studio-task{padding:20px;min-height:220px}.learning-studio-workspace .studio-phrase{font-size:27px}
 .learning-studio-workspace .studio-automatic{padding:10px 12px;gap:4px 10px}.learning-studio-workspace .studio-automatic .studio-note{font-size:12px}.learning-studio-workspace .studio-automatic .studio-actions{flex-wrap:wrap;justify-content:flex-end;max-width:190px}.learning-studio-workspace .studio-automatic .studio-actions>button{min-width:76px;padding:8px 12px;font-size:13px}
 .learning-studio-workspace .studio-audio-player{padding:18px 16px 22px}.learning-studio-workspace .studio-audio-quick{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.learning-studio-workspace .studio-audio-quick>.studio-field:last-child{grid-column:1/-1}.learning-studio-workspace .studio-audio-player .studio-phrase{font-size:22px}.learning-studio-workspace .studio-audio-player .studio-phrase[data-empty=true]{font-size:18px}
 .studio-audio-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.learning-studio-workspace .studio-audio-actions>button{padding:10px 14px}.learning-studio-workspace .studio-audio-actions .primary-button{min-width:140px}
}
@media(max-width:480px){.study-duration-control{padding:16px}.study-duration-row{grid-template-columns:48px minmax(0,1fr) 48px}.study-duration-row button{width:48px;height:48px}.study-duration-readout{font-size:32px}.study-duration-presets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.study-duration-presets button{min-height:44px;padding:7px 3px;font-size:12px}.studio-difficulty{gap:5px}.studio-difficulty-option{min-height:80px;font-size:11px;border-radius:12px}.studio-difficulty-number{width:25px;height:25px}.studio-audio-group{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.study-duration-row button,.studio-difficulty-option{transition:none}.studio-audio-player[data-playing=true] .studio-audio-visual>span{animation:none}}

/* logo-badges.css */
/* All decorative candidates use a dark opaque base under the white main logo. */
.logo-badge,.forest-banner-brand{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:9px 17px;background:#174c43;color:#fff;border:1px solid #ffffff38;box-shadow:0 4px 16px #102b3b30;font-family:system-ui,sans-serif;isolation:isolate}
.logo-badge img,.forest-banner-brand img{width:25px;height:30px;filter:brightness(0) invert(1);flex:none}
.logo-badge strong,.forest-banner-brand strong{display:flex;align-items:baseline;font-size:23px;line-height:1.1;letter-spacing:-.9px;color:#fff}
.logo-badge .brand-pine,.forest-banner-brand .brand-pine{font-weight:700;color:#fff}
.logo-badge .brand-lingo,.forest-banner-brand .brand-lingo{font-weight:500;color:#fff}
.logo-badge,.forest-banner-brand{border:2px solid #e9fff0c9;box-shadow:0 0 0 1px #123c36,0 5px 18px #001b2940}
[data-logo-design="pine"]{background:#164d40}
[data-logo-design="moss"]{background:linear-gradient(125deg,#385b3e,#123e33)}
[data-logo-design="lake"]{background:linear-gradient(125deg,#185c63,#173e42)}
[data-logo-design="midnight"]{background:radial-gradient(circle at 80% 22%,#ffffff30 1px,transparent 2px),radial-gradient(circle at 30% 78%,#ffffff30 1px,transparent 2px),#132c2b;background-size:37px 37px,51px 51px,auto}
[data-logo-design="emerald"]{background:linear-gradient(135deg,#104f42 15%,#1d6855 46%,#174738 70%)}
[data-logo-design="leaf"]{background:repeating-linear-gradient(128deg,transparent 0 24px,#ffffff0a 25px 26px),#204c39}
[data-logo-design="rain"]{background:repeating-linear-gradient(95deg,transparent 0 13px,#ffffff0a 14px 15px),#184449}
[data-logo-design="aurora"]{background:linear-gradient(120deg,#35415d,#1f5553 60%,#214c37)}
[data-logo-design="navy"]{background:#243b52}
[data-logo-design="copper"]{background:linear-gradient(115deg,#554438,#234b3c)}
[data-logo-design="glass"]{background:linear-gradient(180deg,#37685c,#18463c);border:1px solid #b9e0c9;box-shadow:inset 0 1px 0 #ffffff40,0 5px 16px #153e4030}
[data-logo-design="ring"]{background:#1b453f;border:2px solid #d2e4d8;box-shadow:0 0 0 3px #214f3f25}
[data-logo-design="contour"]{background:repeating-radial-gradient(ellipse at 30% 100%,transparent 0 13px,#ffffff08 14px 15px),#204c46}
[data-logo-design="grid"]{background:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px),#224b42;background-size:13px 13px}
[data-logo-design="seed"]{background:radial-gradient(#ffffff12 1px,transparent 1.5px),#254d3b;background-size:12px 12px}
[data-logo-design="dawn"]{background:linear-gradient(110deg,#293c52,#245b56)}
[data-logo-design="sunbeam"]{background:linear-gradient(120deg,#5b6040,#234d3c 55%)}
[data-logo-design="velvet"]{background:#1c3e33;box-shadow:inset 0 1px 8px #ffffff0a,0 4px 16px #152c3530}
[data-logo-design="ribbon"]{background:linear-gradient(130deg,transparent 68%,#ffffff0e 69% 78%,transparent 79%),#255348}
[data-logo-design="halo"]{background:#1a4c3e;border-color:#bcd6b580;box-shadow:0 0 0 4px #d5efd01c,0 4px 18px #163e3b35}
[data-logo-design="fern"]{background:repeating-radial-gradient(ellipse at 100% 120%,transparent 0 10px,#a4d4b10b 11px 12px),#164538}
[data-logo-design="bamboo"]{background:repeating-linear-gradient(88deg,#ffffff05 0 1px,transparent 2px 19px),#234b3b}
[data-logo-design="jade"]{background:radial-gradient(ellipse at 45% 120%,#24785e,#123d35 70%)}
[data-logo-design="ink"]{background:radial-gradient(ellipse at 80% 20%,#285d44,transparent 70%),#142d2c}
[data-logo-design="starlight"]{background:linear-gradient(170deg,transparent 35%,#c1dae919 36% 37%,transparent 38%),#233f4b}
[data-logo-design="moon"]{background:radial-gradient(circle at 100% 0,#b6caba35,transparent 48%),#234c42}
[data-logo-design="clay"]{background:linear-gradient(125deg,#574b3e,#184a37 70%)}
[data-logo-design="river"]{background:radial-gradient(ellipse at 75% -80%,transparent 60%,#639d9814 61% 67%,transparent 68%),#1e5350}
[data-logo-design="petal"]{background:linear-gradient(135deg,#463f50,#21483b 75%)}
[data-logo-design="canopy"]{background:radial-gradient(ellipse at 10% 0,#49684450,transparent 60%),radial-gradient(ellipse at 100% 100%,#294e44,transparent 60%),#163b32}
[data-logo-design="frost"]{background:linear-gradient(180deg,#2b585c,#173e43);border-color:#dbe9e6}
[data-logo-design="bronze"]{background:#1c4036;border-color:#c3ae84}
[data-logo-design="pearl"]{background:#244e3f;border-color:#edf1df;box-shadow:inset 0 1px 0 #ffffff24,0 0 0 1px #214d3c,0 5px 15px #102d3530}
[data-logo-design="linen"]{background:repeating-linear-gradient(0deg,#ffffff05 0 1px,transparent 1px 3px),#23493f}
[data-logo-design="ripple"]{background:repeating-radial-gradient(circle at 105% 50%,transparent 0 8px,#c0d7c609 9px 10px),#1d4840}
[data-logo-design="prism"]{background:conic-gradient(from 90deg at 75% 25%,#173c33,#294958,#314e43,#173c33)}
[data-logo-design="horizon"]{background:linear-gradient(0deg,#367764,#17463d 25%)}
[data-logo-design="grove"]{background:linear-gradient(135deg,transparent 65%,#b6d0bc08 66% 69%,transparent 70%),#214a39;background-size:24px 24px}
[data-logo-design="comet"]{background:linear-gradient(125deg,#71866c55,transparent 34%),#214538}
[data-logo-design="basalt"]{background:linear-gradient(135deg,#354543,#203e35)}
/* Keep a contrasting edge on every candidate, including dark backgrounds. */
.logo-badge[data-logo-design],.forest-banner-brand[data-logo-design]{border-width:2px;box-shadow:0 0 0 1px #123c36,0 5px 18px #001b2940}

/* readable-ui.css */
/* Respect the existing text-size preference while making the default readable. */
:root{--ui-readable:calc(1.0625rem * var(--system-scale,1))}
:is(.learning-studio-home,.learning-studio-workspace,#library-view,.home-language-strip) :is(.studio-note,.studio-meaning,.studio-field>span,.studio-route-meta,.studio-eyebrow,.home-entry-description,.home-language-label){font-size:var(--ui-readable);line-height:1.65}
:is(.learning-studio-home,.learning-studio-workspace,#library-view) :is(button,select,input,summary){font-size:var(--ui-readable);min-height:48px}
.studio-heading{grid-template-columns:76px minmax(0,1fr);column-gap:20px;margin-bottom:22px}
.studio-mode-icon{width:76px;height:76px;color:#174e52}
.studio-route-status{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 20px;border-radius:20px;margin-bottom:12px}
.studio-route-progress{font-size:var(--ui-readable)}
.studio-route-meta{flex:1}.studio-route-time{font-size:calc(1.125rem * var(--system-scale,1));font-variant-numeric:tabular-nums}
.studio-study-options{margin:12px 0;border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}
.studio-study-options>summary{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;font-weight:750;color:var(--ink);cursor:pointer;list-style:none}
.studio-study-options>summary::after{content:'설정 열기 ＋';font-size:var(--ui-readable);color:var(--pine)}
.studio-study-options[open]>summary::after{content:'설정 닫기 −'}
.studio-study-options>:not(summary){margin:16px 20px}
.studio-wait-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.studio-wait-settings>.studio-note{grid-column:1/-1;margin:0}
.studio-study-options input[type=number]{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink)}
.studio-automatic{display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--surface);margin:12px 0 20px;padding:16px 20px;border-radius:18px}
.studio-automatic>.studio-phase-label{margin:0;font-size:var(--ui-readable);font-weight:700}.studio-automatic .studio-actions{margin:0;flex:none}
.studio-pause-toggle{min-width:190px;min-height:54px!important}
.studio-exercise-automatic{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:0;overflow:hidden;border:1px solid var(--line);border-radius:26px;background:var(--surface);box-shadow:0 12px 36px #16474309}
.studio-exercise-automatic>:is(.studio-prompt,.studio-task){border:0;border-radius:0;min-height:310px;padding:30px}
.studio-exercise-automatic .studio-prompt{background:var(--soft)}
.studio-exercise-automatic .studio-task{display:flex;flex-direction:column;justify-content:center;gap:12px}
.studio-exercise-automatic .studio-task>h2{font-size:calc(1.45rem * var(--system-scale,1));line-height:1.5;margin:0}
.studio-exercise-automatic .studio-task>.studio-note{margin:0}
.studio-exercise-automatic .studio-sound-icon{margin:24px auto}
.studio-countdown{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:16px 20px;background:var(--soft);font-size:var(--ui-readable)}
.studio-countdown[hidden]{display:none}.studio-countdown strong{font-size:calc(1.75rem * var(--system-scale,1));color:var(--pine);font-variant-numeric:tabular-nums}
.studio-countdown-track{grid-column:1/-1;height:9px;background:var(--line);border-radius:99px;overflow:hidden}.studio-countdown-track span{display:block;width:100%;height:100%;background:var(--pine);border-radius:99px;transform:scaleX(var(--remaining,1));transform-origin:left;transition:transform .25s linear}
.studio-paused{position:fixed;z-index:110;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(90vw,520px);padding:36px;text-align:center;border:2px solid var(--pine);border-radius:28px;background:var(--surface);box-shadow:0 20px 100px #08283150;animation:study-pause-in .18s ease-out}
.studio-paused[hidden]{display:none}.studio-paused h2{font-size:2rem;margin:14px 0}.studio-paused-symbol{display:inline-grid;place-items:center;width:76px;height:76px;border-radius:24px;background:var(--soft);font-size:40px;font-weight:800;color:var(--pine)}
.studio-paused>.primary-button{width:100%;min-height:58px}
.study-duration-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.study-duration-presets button{min-height:48px;font-size:var(--ui-readable)}
.study-duration-add-hour{width:100%;margin-top:12px;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--surface);color:var(--pine);font-weight:700}
.studio-duration-direct summary,.study-duration-direct summary{font-size:var(--ui-readable)}
.home-footer-description,.home-entry-description{font-size:var(--ui-readable)!important;line-height:1.6}
@keyframes study-pause-in{from{opacity:0;scale:.96}to{opacity:1;scale:1}}
@media(max-width:760px){.studio-exercise-automatic{grid-template-columns:1fr}.studio-exercise-automatic>:is(.studio-prompt,.studio-task){min-height:0;padding:24px}.studio-heading{grid-template-columns:64px minmax(0,1fr);gap:14px}.studio-mode-icon{width:64px;height:64px}.studio-automatic{flex-wrap:wrap}.studio-automatic .studio-actions{width:100%}.studio-pause-toggle{flex:1;min-width:0}.studio-route-meta{flex-basis:100%;order:5}.studio-wait-settings{grid-template-columns:1fr}.studio-countdown{padding:14px}.studio-paused{padding:24px}.studio-time-plan{padding:24px}.study-duration-row{gap:12px}}
@media(prefers-reduced-motion:reduce){.studio-countdown-track span{transition:none}.studio-paused{animation:none}}

/* learning-focus.css */
/* The lesson occupies a stable viewport; optional settings open over it. */
body[data-view=studio]:has(.studio-exercise){display:flex;flex-direction:column;height:100svh}
body[data-view=studio]:has(.studio-exercise)>.site-header{flex:none}
body[data-view=studio]:has(.studio-exercise) #language-loading-error{flex:none;margin:4px 24px;padding:8px 12px;font-size:16px}
body[data-view=studio]:has(.studio-exercise) #workspace{flex:1;min-height:0;box-sizing:border-box}
body[data-view=studio]:has(.studio-exercise) #main{height:100%;min-height:0}
#studio-view:has(.studio-exercise){min-height:0}
body[data-view=studio]:has(.studio-exercise) .site-header{height:60px;min-height:60px;padding:8px 24px}
body[data-view=studio]:has(.studio-exercise) .site-header .brand{margin:0}
body[data-view=studio]:has(.studio-exercise) .site-utility-footer{display:none}
body[data-view=studio]:has(.studio-exercise) #workspace{padding:4px 24px 12px}
#studio-view:has(.studio-exercise){position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:32px 54px auto 18px 24px 66px minmax(220px,1fr);gap:6px;height:100%;padding:0;max-width:1160px;margin:auto;box-sizing:border-box}
#studio-view:has(.studio-exercise)>.studio-path{grid-row:1;grid-column:1;margin:0}
#studio-view:has(.studio-exercise)>.studio-path button{min-height:32px;padding:2px 0}
#studio-view:has(.studio-exercise)>.studio-heading{grid-row:2;grid-column:1/-1;display:flex;align-items:center;gap:14px;margin:0}
#studio-view:has(.studio-exercise) .studio-heading h1{font-size:30px;line-height:1.2;margin:0}
#studio-view:has(.studio-exercise) .studio-heading>p{display:none}
#studio-view:has(.studio-exercise) .studio-mode-icon{width:46px;height:46px;flex:none}
.studio-phonetics-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;margin-left:auto;font-size:18px;min-height:44px;padding:6px 14px}
.studio-phonetics-toggle [data-phonetics-state]{border-radius:20px;background:var(--soft);padding:3px 9px;font-size:16px;color:var(--ink)}
.studio-phonetics-toggle[aria-checked=true] [data-phonetics-state]{background:var(--pine);color:white}
#studio-view:has(.studio-exercise)>.studio-route-status{grid-row:3;grid-column:1/-1;margin:0;padding:4px 12px;min-height:50px;gap:10px;border-radius:14px}
#studio-view:has(.studio-exercise) .studio-route-meta{font-size:16px;line-height:1.3;flex-basis:auto;order:0}
#studio-view:has(.studio-exercise) .studio-route-status button{min-height:40px;padding:5px 12px;font-size:17px}
#studio-view:has(.studio-exercise)>.studio-study-options{position:absolute;top:0;right:0;width:260px;z-index:12;margin:0;max-height:calc(100svh - 90px);overflow:auto;box-shadow:0 12px 30px #16474312}
#studio-view:has(.studio-exercise) .studio-study-options>summary{min-height:32px;padding:4px 12px;font-size:17px}
#studio-view:has(.studio-exercise) .studio-study-options>summary::after{font-size:16px}
#studio-view:has(.studio-exercise) .studio-wait-settings{grid-template-columns:1fr}
#studio-view:has(.studio-exercise)>.studio-progress{grid-row:4;grid-column:1/-1;margin:0;gap:12px;align-items:center}
#studio-view:has(.studio-exercise)>.studio-item-meta{grid-row:5;grid-column:1/-1;margin:0;gap:12px;font-size:16px;line-height:1.4;white-space:nowrap;overflow:hidden}
#studio-view:has(.studio-exercise)>.studio-item-meta>span:first-child{overflow:hidden;text-overflow:ellipsis}
#studio-view:has(.studio-exercise)>.studio-automatic{grid-row:6;grid-column:1/-1;position:relative;margin:0;padding:6px 14px;gap:12px;border-radius:14px;min-height:66px;box-sizing:border-box}
#studio-view:has(.studio-exercise) .studio-automatic .studio-phase-label{font-size:18px;line-height:1.3}
#studio-view:has(.studio-exercise) .studio-automatic .studio-actions{display:flex;align-items:center;gap:10px}
#studio-view:has(.studio-exercise) .studio-pause-toggle{min-height:46px;padding:8px 18px;font-size:19px;white-space:nowrap}
.studio-shortcut{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:16px;line-height:1.3}
.studio-shortcut kbd{border:1px solid var(--line);border-bottom-width:3px;border-radius:7px;background:var(--surface);padding:4px 8px;font:inherit;color:var(--ink)}
#studio-view:has(.studio-exercise)>.studio-exercise{grid-row:7;grid-column:1/-1;display:block;margin:0;min-width:0;min-height:220px;width:100%;height:100%;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:0 10px 30px #16474308;overflow:visible}
#studio-view:has(.studio-exercise)>.studio-exercise>.studio-task{height:100%;box-sizing:border-box;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:10px;border:0;border-radius:22px;padding:20px 28px;background:var(--surface)}
#studio-view .studio-prompt{padding:0 0 12px;min-height:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
#studio-view .studio-prompt .studio-phrase{font-size:30px;line-height:1.4;margin:8px 0}
#studio-view .studio-prompt-audio{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
#studio-view .studio-prompt-audio .studio-speech-status:empty{display:none}
#studio-view .studio-exercise-automatic .studio-prompt{display:none}
#studio-view .studio-exercise-automatic .studio-task>.studio-eyebrow{display:none}
#studio-view .studio-task>h2{font-size:26px;line-height:1.4;margin:0}
#studio-view .studio-task>.studio-note{margin:0}
#studio-view .studio-exercise-automatic[data-study-phase=answer] .studio-task>h2{display:none}
#studio-view .studio-answer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 18px;padding:0;border:0;background:transparent;width:100%;min-width:0}
#studio-view .studio-answer>p{grid-column:1;margin:0;line-height:1.4;overflow-wrap:anywhere}
#studio-view .studio-answer>.studio-eyebrow{display:none}
#studio-view .studio-answer>.studio-phrase{font-size:32px;font-weight:650}
#studio-view .studio-answer>.studio-example{font-size:28px;padding-top:12px;border-top:1px solid var(--line)}
#studio-view .studio-answer>.studio-phonetics{font-size:22px;color:var(--muted)}
#studio-view .studio-answer>.studio-meaning{font-size:24px;color:var(--ink)}
#studio-view .studio-answer>button{grid-column:2;align-self:center;min-height:48px;font-size:18px;white-space:nowrap}
#studio-view .studio-answer>button:first-of-type{grid-row:1 / span 3}
#studio-view .studio-answer>button:nth-of-type(2){grid-row:4 / span 3}
#studio-view:has(.studio-exercise)>.studio-note{display:none}
#studio-view:has(.studio-exercise)>.studio-stop{position:absolute;bottom:12px;right:12px;z-index:2;min-height:40px}
#studio-view .studio-countdown{position:absolute;bottom:4px;left:14px;width:calc(100% - 28px);display:flex;gap:8px;align-items:center;padding:0;border:0;background:transparent;font-size:16px;pointer-events:none}
#studio-view .studio-countdown[hidden]{display:none}
#studio-view .studio-countdown-track{flex:1;height:4px}
#studio-view .studio-audio-player .studio-shortcut{margin:12px 0}
.studio-audio-player{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 40px 112px 64px 58px 30px 32px 48px auto auto;align-content:start;gap:12px;min-height:540px}
.studio-audio-player>.studio-audio-quick{grid-row:1}
.studio-audio-player>.studio-audio-visual{grid-row:2;margin:0;align-self:center}
.studio-audio-player>[data-audio-current]{grid-row:3;margin:0;align-self:center;max-height:112px;overflow:auto;font-size:30px;line-height:1.4}
.studio-audio-player>[data-audio-phonetics]{grid-row:4;display:block;margin:0;height:64px;overflow:auto;font-size:22px;line-height:1.4}
.studio-audio-player>[data-audio-phonetics][hidden]{visibility:hidden}
.studio-audio-player>.studio-audio-actions{grid-row:5;margin:0;align-self:center;display:grid;grid-template-columns:100px 190px 100px;justify-content:center;gap:12px}
.studio-audio-player>.studio-audio-actions button{width:100%;min-width:0;min-height:54px;white-space:nowrap}
.studio-audio-player>.studio-shortcut{grid-row:6;margin:0}
.studio-audio-player>.studio-audio-position{grid-row:7;margin:0}
.studio-audio-player>.studio-stop{grid-row:8;margin:0;align-self:center;justify-self:center}
.studio-audio-player>.studio-speech-status,.studio-audio-player>[data-studio-wait]{grid-row:9;margin:0}
@media(max-width:760px){
 body[data-view=studio]:has(.studio-exercise) .site-header{height:50px;min-height:50px;padding:4px 12px}
 body[data-view=studio]:has(.studio-exercise) #workspace{padding:4px 12px 8px}
 #studio-view:has(.studio-exercise){height:100%;grid-template-rows:32px 48px auto 18px 22px 76px minmax(220px,1fr);gap:5px}
 #studio-view:has(.studio-exercise) .studio-heading h1{font-size:25px}
 #studio-view:has(.studio-exercise) .studio-mode-icon{width:38px;height:38px}
 #studio-view:has(.studio-exercise)>.studio-heading{gap:8px}
 .studio-phonetics-toggle{font-size:16px;gap:6px;padding:5px 9px;min-height:42px}
 .studio-phonetics-toggle [data-phonetics-state]{font-size:14px;padding:3px 6px}
 #studio-view:has(.studio-exercise)>.studio-route-status{gap:4px 8px;padding:6px 10px}
 #studio-view:has(.studio-exercise) .studio-route-meta{display:none}
 #studio-view:has(.studio-exercise) .studio-route-progress,#studio-view:has(.studio-exercise) .studio-route-time{font-size:17px}
 #studio-view:has(.studio-exercise) .studio-route-status button{flex:1;min-height:38px;font-size:16px}
 #studio-view:has(.studio-exercise)>.studio-automatic{padding:6px 10px;flex-wrap:nowrap;align-items:center;gap:8px}
 #studio-view:has(.studio-exercise) .studio-automatic .studio-phase-label{font-size:16px;max-width:42%}
 #studio-view:has(.studio-exercise) .studio-automatic .studio-actions{display:grid;gap:3px;width:auto}
 #studio-view:has(.studio-exercise) .studio-pause-toggle{font-size:18px;padding:6px 12px;min-height:44px}
 #studio-view .studio-shortcut{font-size:13px}
 #studio-view .studio-shortcut kbd{display:none}
 #studio-view:has(.studio-exercise)>.studio-exercise>.studio-task{padding:16px 18px;gap:8px}
 #studio-view .studio-task>h2{font-size:24px}
 #studio-view .studio-answer{gap:6px 10px}
 #studio-view .studio-answer>.studio-phrase{font-size:28px}
 #studio-view .studio-answer>.studio-example{font-size:24px}
 #studio-view .studio-answer>.studio-phonetics{font-size:20px}
 #studio-view .studio-answer>.studio-meaning{font-size:22px}
 #studio-view .studio-answer>button{font-size:16px;padding:6px 10px;white-space:normal;max-width:84px}
}
/* Preserve readable overflow for unusually long content or magnified text. */
@media(max-height:600px){#studio-view:has(.studio-exercise){height:auto;min-height:calc(100svh - 62px)}}

.studio-default-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line)}
.studio-default-controls button{min-height:44px;font-size:16px;padding:7px 12px}
.studio-default-controls .studio-note{flex-basis:100%;font-size:15px;margin:0}
.studio-audio-player>.studio-default-controls{grid-row:10;justify-content:center}
/* Keep the audio transport in the viewport; optional panels float over it. */
body[data-view=studio]:has(.studio-audio-player){display:flex;flex-direction:column;height:100svh}
body[data-view=studio]:has(.studio-audio-player) .site-header{flex:none;height:60px;min-height:60px;padding:8px 24px}
body[data-view=studio]:has(.studio-audio-player) #language-loading-error{flex:none;margin:4px 24px;padding:8px 12px;font-size:16px}
body[data-view=studio]:has(.studio-audio-player) #workspace{flex:1;min-height:0;padding:4px 24px 12px;box-sizing:border-box}
body[data-view=studio]:has(.studio-audio-player) #main{height:100%;min-height:0}
body[data-view=studio]:has(.studio-audio-player) .site-utility-footer{display:none}
#studio-view:has(.studio-audio-player){position:relative;display:grid;grid-template-rows:32px 64px minmax(360px,1fr);gap:6px;height:100%;min-height:0;max-width:1160px;margin:auto;padding:0;box-sizing:border-box}
#studio-view:has(.studio-audio-player)>.studio-path{grid-row:1;margin:0}
#studio-view:has(.studio-audio-player)>.studio-path button{min-height:32px;padding:2px 0}
#studio-view:has(.studio-audio-player)>.studio-heading{grid-row:2;margin:0;display:flex;align-items:center;gap:12px}
#studio-view:has(.studio-audio-player) .studio-heading h1{font-size:30px;margin:0}
#studio-view:has(.studio-audio-player) .studio-heading>p{display:none}
#studio-view:has(.studio-audio-player) .studio-mode-icon{width:46px;height:46px;flex:none}
#studio-view:has(.studio-audio-player)>.studio-audio-player{grid-row:3;height:100%;min-height:0;margin:0;padding:16px 24px;box-sizing:border-box;grid-template-rows:74px 28px minmax(80px,1fr) 48px 54px 24px 26px 44px;gap:6px}
#studio-view .studio-audio-player>.studio-audio-quick{padding-bottom:8px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center}
#studio-view .studio-audio-quick>.studio-field:last-child{grid-column:auto}
#studio-view .studio-audio-quick .studio-field{font-size:16px;gap:4px}
#studio-view .studio-audio-quick select{font-size:18px;height:42px}
#studio-view .studio-audio-player>[data-audio-current]{min-height:0;margin:0;max-height:100%;line-height:1.4;font-size:30px;display:block;overflow:auto}
#studio-view .studio-audio-player>[data-audio-phonetics]{height:48px;min-height:0;font-size:22px;line-height:1.4}
#studio-view .studio-audio-player>.studio-audio-actions button{min-height:54px;min-width:0;transform:none;font-size:20px}
#studio-view .studio-audio-player>.studio-shortcut{margin:0;font-size:16px}
#studio-view .studio-audio-player>.studio-audio-position{font-size:18px!important;line-height:1.4}
#studio-view .studio-audio-player>.studio-stop{position:absolute;right:18px;bottom:14px;min-height:42px}
#studio-view .studio-audio-player>.studio-speech-status,#studio-view .studio-audio-player>[data-studio-wait]{position:absolute;left:130px;right:120px;bottom:14px;margin:0;font-size:16px!important;line-height:1.4}
#studio-view:has(.studio-audio-player)>.studio-audio-advanced{position:absolute;right:0;top:0;width:420px;max-width:100%;z-index:12;margin:0;max-height:calc(100svh - 90px);overflow:auto;box-shadow:0 12px 30px #16474312}
#studio-view:has(.studio-audio-player)>.studio-audio-advanced:not([open]){width:auto}
#studio-view:has(.studio-audio-player)>.studio-audio-advanced>summary{font-size:17px;padding:4px 12px;min-height:32px}
#studio-view .studio-audio-settings>.studio-default-controls{grid-column:1/-1}
#studio-view:has(.studio-audio-player)>.studio-playlist{position:absolute;left:18px;bottom:12px;z-index:11;margin:0;max-height:55svh;overflow:auto;max-width:calc(100% - 36px)}
#studio-view:has(.studio-audio-player)>.studio-playlist>summary{font-size:16px;padding:8px 12px}
#studio-view:has(.studio-audio-player)>.studio-note{display:none}
/* The transport stays visible; configuration and the list share the settings panel. */
#studio-view:has(.studio-audio-player)>.studio-audio-player{grid-template-rows:28px minmax(80px,1fr) 48px 54px 40px 26px 60px}
#studio-view .studio-audio-player>.studio-audio-visual{grid-row:1}
#studio-view .studio-audio-player>[data-audio-current]{grid-row:2}
#studio-view .studio-audio-player>[data-audio-phonetics]{grid-row:3}
#studio-view .studio-audio-player>.studio-audio-actions{grid-row:4}
#studio-view .studio-audio-player>.studio-shortcut{grid-row:5;line-height:1.4;white-space:normal;align-self:center}
#studio-view .studio-audio-player>.studio-audio-position{grid-row:6}
#studio-view .studio-audio-player>.studio-speech-status,#studio-view .studio-audio-player>[data-studio-wait]{grid-row:7;position:static;max-width:none;line-height:1.4}
#studio-view .studio-audio-player>.studio-speech-status{align-self:start}
#studio-view .studio-audio-player>[data-studio-wait]{align-self:end}
#studio-view .studio-audio-player{position:relative}
#studio-view .studio-audio-player:has(>.studio-stop:not([hidden]))>.studio-speech-status,#studio-view .studio-audio-player:has(>.studio-stop:not([hidden]))>[data-studio-wait]{padding-right:80px}
#studio-view .studio-audio-advanced>.studio-audio-quick{padding:16px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));font-size:16px}
#studio-view .studio-audio-advanced .studio-field{font-size:16px}
#studio-view .studio-audio-advanced>.studio-playlist{margin:12px}
@media(max-width:760px){body[data-view=studio]:has(.studio-audio-player) .site-header{height:50px;min-height:50px;padding:4px 12px}body[data-view=studio]:has(.studio-audio-player) #workspace{padding:4px 12px 8px}#studio-view:has(.studio-audio-player){grid-template-rows:32px 56px minmax(360px,1fr)}#studio-view:has(.studio-audio-player) .studio-heading h1{font-size:25px}#studio-view:has(.studio-audio-player) .studio-mode-icon{width:38px;height:38px}#studio-view:has(.studio-audio-player)>.studio-audio-player{padding:12px 14px;grid-template-rows:136px 24px minmax(80px,1fr) 48px 54px 24px 26px}#studio-view .studio-audio-player>.studio-audio-quick{grid-template-columns:1fr 1fr;gap:8px}#studio-view .studio-audio-quick>.studio-field:last-child{grid-column:1/-1}#studio-view .studio-audio-player>[data-audio-current]{font-size:26px}#studio-view .studio-audio-player>.studio-shortcut{font-size:14px}#studio-view .studio-audio-player>.studio-audio-actions button{font-size:18px}#studio-view:has(.studio-audio-player)>.studio-audio-advanced{width:calc(100% - 4px)}#studio-view:has(.studio-audio-player)>.studio-audio-advanced:not([open]){width:auto}#studio-view:has(.studio-audio-player) .studio-phonetics-toggle{margin-left:auto}}
@media(max-height:600px){#studio-view:has(.studio-audio-player){height:auto;min-height:calc(100svh - 62px)}}
@media(max-width:760px){#studio-view:has(.studio-audio-player)>.studio-audio-player{grid-template-rows:24px minmax(80px,1fr) 48px 54px 40px 26px 60px}#studio-view .studio-audio-advanced>.studio-audio-quick{grid-template-columns:1fr 1fr}#studio-view .studio-audio-player>.studio-shortcut{font-size:16px}}
@media(max-width:760px){.studio-audio-player{padding:18px 14px;gap:8px;grid-template-rows:auto 32px 112px 64px 58px 30px 32px 48px auto auto}.studio-audio-player>.studio-audio-actions{grid-template-columns:70px minmax(130px,160px) 70px;gap:8px}.studio-audio-player>[data-audio-current]{font-size:26px}.studio-audio-player>.studio-audio-actions button{font-size:18px;padding:8px}.studio-audio-player>.studio-audio-quick{grid-template-columns:1fr 1fr}.studio-audio-player>.studio-shortcut{font-size:14px}}

/* top-navigation.css */
/* One header row, on the same grid as the banner and study cards. */
body{--page-width:1240px;--page-gutter:28px}
body:has(#workspace[data-view=library]){--page-width:1680px}
body:has(#workspace) .site-header{display:flex!important;align-items:center;flex-wrap:nowrap;gap:24px;width:100%;max-width:var(--page-width);box-sizing:border-box;margin:0 auto;padding:18px var(--page-gutter);min-height:88px;background:transparent;border:0;box-shadow:none}
.site-header .brand{display:inline-flex;flex:none;align-items:center;gap:10px;margin:0;text-decoration:none;filter:drop-shadow(0 1px 0 #ffffff8c)}
.site-header .brand-mark{width:36px;height:44px;background:none;border-radius:0}
.site-header .brand-wordmark{display:flex;align-items:baseline;font-size:30px;letter-spacing:-1px}
.site-header .brand-wordmark span{margin:0;font-size:inherit;color:#17483e}
.site-header .brand-lingo{font-weight:450}
[data-theme=dark] .site-header .brand-wordmark span{color:#ecfff5}
[data-theme=dark] .site-header .brand{filter:drop-shadow(0 1px 1px #0009)}
#workspace,#workspace[data-view=library]{box-sizing:border-box;padding-inline:var(--page-gutter)}
.site-header .home-language-settings.home-language-visible{display:block;flex:0 1 400px;order:0;width:auto;min-width:0;max-width:400px;margin:0 0 0 auto;padding:0;border:0;border-radius:0;background:transparent}
.site-header .home-language-visible .language-pair{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:12px;align-items:center;width:100%;padding:0;margin:0;border:0;background:transparent}
.home-language-visible .language-readiness-copy{display:none!important}
.site-header .home-language-visible .site-language{display:grid;grid-template-columns:minmax(0,1fr) 36px;grid-template-rows:20px 44px;gap:2px;min-width:0}
.home-language-visible .site-language>span{grid-column:1/-1;grid-row:1;font-size:14px;color:var(--muted)}
.home-language-visible .site-language>select{grid-column:1;grid-row:2;width:100%;min-width:0;max-width:none;min-height:44px;padding:8px 10px;font-size:16px;border-radius:10px}
.home-language-visible .site-language>.language-search-trigger{grid-column:2;grid-row:2;min-width:36px;min-height:44px;padding:0}
.site-header .home-language-visible .site-language:has(select.language-flag-select){grid-template-columns:minmax(0,1fr)}
.site-header .home-language-visible select.language-flag-select{padding-inline-start:38px}
.site-header .home-language-visible .language-arrow{align-self:end;height:44px;padding:0}
.site-header .language-line-navigation{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;flex-basis:auto;flex-wrap:nowrap;gap:4px;order:0;width:auto;max-width:none;padding:0;margin:0;border:0;overflow:visible}
.site-header .language-line-navigation .nav-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;flex-direction:row;gap:7px;width:auto;min-width:44px;min-height:50px;margin:0;padding:8px 10px;font-size:18px;line-height:1.35;white-space:nowrap;border:0!important;border-radius:14px;background:transparent;box-shadow:none!important;color:var(--muted)}
.language-line-navigation .nav-button:is(.active,[aria-current=page]){background:var(--active)!important;color:var(--pine)!important}
.language-line-navigation .nav-button:hover{background:var(--soft)}
.site-header .language-line-navigation .nav-button svg{width:25px;height:25px;flex:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.site-header .language-line-navigation .profile-menu{order:0}
.site-header .language-line-navigation .nav-button>span{display:inline!important;position:static;width:auto;height:auto;margin:0;padding:0;overflow:visible;clip-path:none}
.language-line-navigation [hidden],.forest-banner-brand{display:none!important}
.site-utility-footer:has(>.connection-location:empty){display:none}
body:has(#load-state:not([hidden])) .home-language-settings,body:has(#load-state:not([hidden])) .language-line-navigation,body:has(#load-state:not([hidden])) .site-utility-footer{display:none!important}
body[data-view=studio] .home-language-settings,body[data-view=studio] .language-line-navigation{display:none!important}
@media(max-width:1080px){
 body:has(#workspace) .site-header{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:10px 16px;padding-block:12px}
 .site-header .brand{grid-column:1;grid-row:1}
 .site-header .language-line-navigation{grid-column:2;grid-row:1;justify-self:end}
 .site-header .home-language-settings.home-language-visible{grid-column:1/-1;grid-row:2;justify-self:end;width:400px;max-width:100%;margin:0}
 body[data-view=studio] .site-header,body:has(#load-state:not([hidden])) .site-header{grid-template-columns:1fr}
}
@media(max-width:760px){
 body{--page-gutter:18px}
 body:has(#workspace) .site-header{gap:10px 8px}
 .site-header .brand{gap:8px}
 .site-header .brand-mark{width:30px;height:36px}
 .site-header .brand-wordmark{font-size:24px}
 .site-header .home-language-settings.home-language-visible{width:100%;max-width:none}
 .site-header .home-language-visible .language-pair{gap:8px}
 .site-header .language-line-navigation{gap:2px}
 .site-header .language-line-navigation .nav-button{flex-direction:column;gap:2px;min-width:48px;min-height:52px;padding:4px;font-size:16px;line-height:20px;border-radius:10px}
 .site-header .language-line-navigation .nav-button svg{width:21px;height:21px}
 .site-header:has(.game-link) .language-line-navigation{grid-column:1/-1;grid-row:2;justify-self:stretch;display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:4px;width:100%}
 .site-header:has(.game-link) .language-line-navigation .nav-button{min-width:0;width:100%;max-width:100%;box-sizing:border-box;white-space:normal}
 .site-header:has(.game-link) .language-line-navigation .nav-button>span{white-space:normal;overflow-wrap:anywhere;max-width:100%}
 .site-header:has(.game-link) .home-language-settings.home-language-visible{grid-row:3}
}
@media(max-width:420px){.site-header .brand{gap:6px}.site-header .brand-mark{width:28px;height:34px}.site-header .brand-wordmark{font-size:22px}}
@media(max-width:380px){body{--page-gutter:12px}}

/* learning-compact.css */
/* A quiet, compact toolbar above a stable top-to-bottom lesson. */
.studio-control-icon{width:21px;height:21px;flex:none}
.studio-toolbar{display:flex;align-items:center;gap:10px;position:relative;min-width:0}
.studio-toolbar .studio-path{margin:0;flex:none}
.studio-toolbar button,.studio-toolbar summary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 12px;font-size:17px;white-space:nowrap}
.studio-toolbar .studio-path button{border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.studio-toolbar .studio-route-status{display:flex;align-items:center;gap:10px;flex:1;margin:0;padding:0;border:0;background:transparent;min-width:0}
.studio-toolbar .studio-route-progress{font-size:18px;font-weight:700;white-space:nowrap}
.studio-toolbar .studio-route-time{margin-left:auto;font-size:17px;font-variant-numeric:tabular-nums}
.studio-toolbar .studio-route-skip{border:1px solid var(--line);border-radius:12px}
.studio-toolbar .studio-study-options{margin:0 0 0 auto;position:static;border:0;border-radius:12px;background:var(--surface);width:auto;overflow:visible}
.studio-toolbar .studio-study-options>summary{list-style:none;border:1px solid var(--line);border-radius:12px;color:var(--pine);font-weight:700}
.studio-toolbar .studio-study-options>summary::after{display:none}
.studio-toolbar .studio-study-options>summary::-webkit-details-marker{display:none}
.studio-toolbar .studio-study-options[open]{position:absolute;right:0;top:0;z-index:30;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 155px);overflow:auto;border:1px solid var(--line);box-shadow:0 18px 50px #16474330}
.studio-toolbar .studio-study-options[open]>summary{display:flex;justify-content:flex-start;background:var(--soft);position:sticky;top:0;z-index:1}
.studio-toolbar .studio-study-options[open]>summary::after{display:inline;content:'닫기 ×';margin-left:auto;font-size:17px}
.studio-details-stats{display:block;margin:12px 20px;font-size:17px}
.studio-toolbar .studio-stop{position:static!important;min-height:44px!important}
body[data-view=studio]:has(.studio-exercise){height:100dvh;overflow:hidden}
body[data-view=studio]:has(.studio-exercise) .site-header{height:52px;min-height:52px;padding:5px 24px}
body[data-view=studio]:has(.studio-exercise) #workspace{padding:2px 24px 12px}
#studio-view:has(.studio-exercise){grid-template-columns:minmax(0,1fr);grid-template-rows:48px 46px 14px 24px auto minmax(0,1fr);gap:5px;max-width:1180px}
#studio-view:has(.studio-exercise)>.studio-heading{grid-row:1;grid-column:1;margin:0}
#studio-view:has(.studio-exercise) .studio-heading h1{font-size:30px}
#studio-view:has(.studio-exercise) .studio-mode-icon{width:42px;height:42px}
#studio-view:has(.studio-exercise)>.studio-toolbar{grid-row:2;grid-column:1}
#studio-view:has(.studio-exercise)>.studio-progress{grid-row:3;grid-column:1}
#studio-view:has(.studio-exercise)>.studio-item-meta{grid-row:4;grid-column:1;font-size:17px}
#studio-view:has(.studio-exercise)>.studio-automatic{grid-row:5;grid-column:1;display:flex;align-items:center;justify-content:space-between;padding:10px 18px 22px;min-height:0;height:84px}
#studio-view:has(.studio-exercise) .studio-phase-label{font-size:20px;max-width:58%;margin:0}
#studio-view:has(.studio-exercise) .studio-pause-toggle{display:flex;gap:9px;align-items:center;justify-content:center;min-width:182px;min-height:48px;font-size:20px}
#studio-view:has(.studio-exercise) .studio-actions{gap:10px}
#studio-view:has(.studio-exercise) .studio-shortcut{max-width:155px;font-size:16px;line-height:1.35}
#studio-view:has(.studio-exercise)>.studio-exercise{grid-row:6;grid-column:1;min-height:0;overflow:hidden;animation:lesson-reveal .28s ease both}
#studio-view:has(.studio-exercise) .studio-task{padding:18px 24px;justify-content:center;gap:8px;overflow:auto;overscroll-behavior:contain}
#studio-view .studio-exercise-automatic .studio-prompt{display:none}
#studio-view .studio-exercise[data-study-phase=answer] .studio-prompt{display:none}
#studio-view:has(.studio-exercise) .studio-task{justify-content:safe center}
#studio-view .studio-task>*{flex-shrink:0}
#studio-view .studio-answer>.studio-phrase{font-size:34px;line-height:1.25}
#studio-view .studio-answer>.studio-example{font-size:27px;line-height:1.3;padding-top:10px}
#studio-view .studio-answer>.studio-meaning{font-size:24px;line-height:1.3}
#studio-view .studio-answer>.studio-phonetics{font-size:22px;line-height:1.3}
#studio-view .studio-answer>button{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
#studio-view .studio-countdown{left:18px;bottom:6px;width:calc(100% - 36px);font-size:17px}
#studio-view .studio-countdown strong{font-size:19px;min-width:42px;font-variant-numeric:tabular-nums}
#studio-view .studio-countdown-track{height:5px}
#studio-view .studio-paused{z-index:40}
#studio-view .studio-situation{display:none}
#studio-view[data-study-mode=audio]>.studio-toolbar{margin-bottom:12px}
#studio-view .studio-audio-player [data-audio-play]{display:inline-flex;align-items:center;justify-content:center;gap:8px}
@keyframes lesson-reveal{from{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:800px){
  body[data-view=studio]:has(.studio-exercise) #workspace{padding:2px 12px 10px}
  body[data-view=studio]:has(.studio-exercise) .site-header{padding:5px 14px}
  #studio-view:has(.studio-exercise){grid-template-rows:46px 92px 12px 22px auto minmax(0,1fr);gap:4px}
  .studio-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:44px 44px;gap:4px 6px}
  .studio-toolbar .studio-path{grid-column:1;grid-row:1}
  .studio-toolbar .studio-study-options{grid-column:3;grid-row:1}
  .studio-toolbar .studio-route-status{grid-column:1/-1;grid-row:2;gap:8px;justify-content:flex-start}
  .studio-toolbar .studio-route-progress{font-size:17px}
  .studio-toolbar .studio-route-status button{padding:8px;width:44px;min-width:44px;height:44px;font-size:16px;gap:0}
  .studio-toolbar .studio-route-status button>span:not(.studio-control-icon){display:none}
  .studio-toolbar .studio-route-time{font-size:16px;margin-left:auto}
  .studio-toolbar .studio-stop{grid-column:2;grid-row:1;justify-self:end}
  .studio-toolbar button,.studio-toolbar summary{font-size:16px;padding:6px 10px}
  .studio-toolbar:has(:not(.studio-route-status)):not(:has(.studio-route-status)){grid-template-rows:44px}
  #studio-view:has(.studio-exercise):not(:has(.studio-route-status)){grid-template-rows:46px 46px 12px 22px auto minmax(0,1fr)}
  #studio-view:has(.studio-exercise) .studio-heading{gap:9px}
  #studio-view:has(.studio-exercise) .studio-heading h1{font-size:26px}
  #studio-view .studio-phonetics-toggle{font-size:16px;min-height:42px;padding:6px 9px;gap:5px}
  #studio-view .studio-phonetics-toggle [data-phonetics-state]{font-size:15px;padding:3px 7px}
  #studio-view:has(.studio-exercise)>.studio-automatic{height:104px;padding:10px 12px 25px;gap:8px}
  #studio-view:has(.studio-exercise) .studio-phase-label{max-width:calc(100% - 152px);font-size:19px;line-height:1.35}
  #studio-view:has(.studio-exercise) .studio-actions{flex-direction:column;gap:4px;align-items:center}
  #studio-view:has(.studio-exercise) .studio-pause-toggle{min-width:140px;min-height:46px;font-size:18px;padding:7px 10px}
  #studio-view:has(.studio-exercise) .studio-shortcut{font-size:14px;max-width:145px}
  #studio-view .studio-shortcut span{display:none}
  #studio-view .studio-shortcut kbd{display:inline-block;padding:2px 6px;font-size:14px}
  #studio-view .studio-shortcut kbd::after{content:' 일시정지';font-size:14px}
  #studio-view:has(.studio-exercise) .studio-automatic .studio-actions{display:flex;flex-direction:column;gap:4px;align-items:center}
  #studio-view:has(.studio-exercise) .studio-task{padding:16px 18px}
  #studio-view .studio-answer{grid-template-columns:minmax(0,1fr) 44px;gap:7px 10px}
  #studio-view .studio-answer>button{grid-column:2;justify-self:center;font-size:17px;padding:8px;min-width:44px;width:44px;max-width:44px}
  #studio-view .studio-answer>button>span:not(.studio-control-icon){display:none}
  #studio-view .studio-answer>.studio-phrase{font-size:30px}
  #studio-view .studio-answer>.studio-example{font-size:22px}
  #studio-view .studio-answer>.studio-meaning{font-size:22px}
  #studio-view .studio-answer>.studio-phonetics{font-size:20px}
  #studio-view .studio-countdown{left:12px;width:calc(100% - 24px);font-size:16px}
}
#studio-view .studio-paused .studio-note{font-size:18px;line-height:1.5}
@media(max-height:680px){#studio-view:has(.studio-exercise) .studio-task{padding:10px 20px}#studio-view .studio-answer{gap:6px 14px}#studio-view .studio-answer>.studio-phrase{font-size:30px}#studio-view .studio-answer>.studio-example,#studio-view .studio-answer>.studio-meaning{font-size:22px}#studio-view .studio-answer>.studio-phonetics{font-size:20px}}
@media(prefers-reduced-motion:reduce){#studio-view:has(.studio-exercise)>.studio-exercise{animation:none}}
/* Give status, actions and keyboard help their own space at every width. */
#studio-view:has(.studio-exercise)>.studio-automatic{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px;height:auto;min-height:84px;padding:14px 18px;margin:0;position:relative}
#studio-view:has(.studio-exercise) .studio-phase-label{grid-column:1;grid-row:1;max-width:none;font-size:16px;line-height:1.55;overflow-wrap:break-word}
#studio-view:has(.studio-exercise) .studio-automatic>.studio-actions{grid-column:2;grid-row:1;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin:0;max-width:440px}
#studio-view:has(.studio-exercise) .studio-automatic .studio-actions button{flex:0 1 auto;min-width:0;min-height:44px;font-size:16px;padding:10px 15px;white-space:normal}
#studio-view:has(.studio-exercise) .studio-automatic>.studio-shortcut{grid-column:1/-1;grid-row:2;width:100%;max-width:none;margin:0;justify-content:flex-end;font-size:12px;line-height:1.4;gap:6px;color:var(--muted)}
#studio-view:has(.studio-exercise) .studio-automatic>.studio-countdown{grid-column:1/-1;grid-row:3;position:static;width:100%;margin:0;padding:0;font-size:13px;min-height:24px}
@media(max-width:800px){
 #studio-view:has(.studio-exercise)>.studio-automatic{grid-template-columns:minmax(0,1fr);gap:10px;padding:12px 14px}
 #studio-view:has(.studio-exercise) .studio-automatic>.studio-actions{grid-column:1;grid-row:2;justify-content:flex-start;max-width:none}
 #studio-view:has(.studio-exercise) .studio-automatic .studio-shortcut{display:none}
}

/* learning-duration.css */
.study-duration-control{display:grid;gap:0;margin:16px 0;padding:0;background:none;border:0;box-shadow:none}
.study-duration-picker{display:grid;gap:0;text-align:center;font-size:18px;line-height:1.4;font-weight:550;color:var(--muted)}
.study-duration-readout{display:block;color:var(--pine);font-size:clamp(46px,5vw,56px);line-height:1.2;letter-spacing:-2px;font-weight:750;font-variant-numeric:tabular-nums;margin:0 0 4px;min-height:1.2em}
.study-duration-picker input[type=range]{appearance:none;display:block;width:100%;height:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;cursor:pointer;accent-color:var(--pine)}
.study-duration-picker input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:linear-gradient(to right,var(--pine) var(--duration-progress),var(--line) var(--duration-progress))}
.study-duration-picker input[type=range]::-webkit-slider-thumb{appearance:none;width:28px;height:28px;margin-top:-10px;border:5px solid var(--surface);border-radius:50%;background:var(--pine);box-shadow:0 0 0 1px var(--pine),0 3px 8px #124b3426}
.study-duration-picker input[type=range]::-moz-range-track{height:8px;border-radius:999px;background:var(--line)}
.study-duration-picker input[type=range]::-moz-range-progress{height:8px;border-radius:999px;background:var(--pine)}
.study-duration-picker input[type=range]::-moz-range-thumb{width:18px;height:18px;border:5px solid var(--surface);border-radius:50%;background:var(--pine);box-shadow:0 0 0 1px var(--pine)}
.study-duration-picker input:focus-visible{outline:3px solid var(--pine);outline-offset:3px;border-radius:8px}
.study-duration-marks{display:flex;justify-content:space-between;font-size:17px;line-height:24px;color:var(--muted);margin-top:-4px}
.study-duration-custom{justify-self:center;min-height:44px;padding:8px 14px;border:0!important;background:transparent!important;color:var(--pine);font-size:17px;text-decoration:underline;text-underline-offset:4px;box-shadow:none!important}
.study-duration-entry{display:flex;align-items:center;gap:12px;font-size:20px;color:var(--ink)}
.study-duration-entry input{flex:1;min-width:0;width:100%;min-height:56px;padding:10px 16px;font-size:24px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.study-duration-note{margin:0;font-size:17px!important;line-height:1.5;color:var(--muted);text-align:center}
.study-duration-control [hidden]{display:none!important}
.studio-time-plan{margin:8px auto;padding:24px;max-width:580px;border-radius:24px;text-align:center}
.studio-time-plan h1{font-size:30px!important;letter-spacing:-1px;line-height:1.35;margin:0 0 12px!important}
.studio-time-plan>.studio-meaning{font-size:18px!important;line-height:1.6;margin:0!important}
.studio-time-plan>[data-study-start]{margin:0 0 12px;min-height:56px!important;font-size:20px!important;border-radius:14px;box-shadow:0 5px 12px #176e5520}
.studio-time-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:12px;text-align:left;position:relative}
.studio-time-options{flex:1;min-width:0}
.studio-time-options>summary{display:list-item;cursor:pointer;color:var(--pine);font-size:18px;font-weight:650;min-height:44px;line-height:44px}
.studio-time-options[open]>summary{margin-bottom:18px}
.studio-time-options[open]{flex-basis:100%}
.studio-time-footer:has(.studio-time-options[open]){flex-wrap:wrap}
.studio-time-options .studio-difficulty{margin-top:0}
.studio-time-footer [data-study-resume]{min-height:44px;padding:8px 10px;border:0!important;background:transparent;box-shadow:none!important;color:var(--pine);white-space:nowrap;font-size:18px}
.studio-time-footer:has(.studio-time-options[open]) [data-study-resume]{position:absolute;right:0;top:12px}
body[data-view=studio]:has(.studio-time-plan) .site-header{min-height:64px;padding-block:10px}
body[data-view=studio]:has(.studio-time-plan) #workspace{padding-top:0;padding-bottom:12px}
.learning-studio-workspace:has(.studio-time-plan){padding-top:0;padding-bottom:0;min-height:0}
.learning-studio-workspace:has(.studio-time-plan) .studio-path{margin-bottom:0}
body:has(.studio-time-plan) .site-utility-footer{display:none}
@media(max-width:480px){.studio-time-plan{padding:24px 20px}.studio-time-plan h1{font-size:25px!important}.studio-time-plan>.studio-meaning{font-size:17px!important}.study-duration-readout{font-size:48px}.studio-time-footer{gap:10px}}

/* home-curiosity.css */
:is(#library-view,.pl-corner-sheet) .library-heading { margin-bottom: 22px; }
:is(#library-view,.pl-corner-sheet) .home-curiosity {
  --curiosity-ink: #25483d;
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  align-items: center;
  gap: clamp(24px, 5vw, 76px);
  min-height: 304px;
  padding: 34px clamp(26px, 4vw, 64px);
  overflow: clip;
  color: var(--curiosity-ink);
  background: #faf2e3;
  border: 1px solid #e7ddca;
  border-radius: 20px;
}
:is(#library-view,.pl-corner-sheet) .curiosity-mark {
  position: absolute;
  z-index: -1;
  inset-inline-end: 4%;
  bottom: -64px;
  color: #d8c59d;
  opacity: .28;
  font: italic 300px/1 Georgia, serif;
  pointer-events: none;
}
:is(#library-view,.pl-corner-sheet) .curiosity-heading-line { display: flex; flex-wrap:wrap; align-items: center; gap: 10px; margin-bottom: 16px; }
:is(#library-view,.pl-corner-sheet) .curiosity-kicker { font-size: 15px; font-weight: 700; letter-spacing: .03em; }
:is(#library-view,.pl-corner-sheet) .curiosity-language { padding: 4px 10px; border: 1px solid #a69a7e; border-radius: 20px; font-size: 14px; line-height: 1.5; }
:is(#library-view,.pl-corner-sheet) .home-curiosity h2 { min-height:100px; margin: 0; white-space: pre-line; font-size: clamp(25px, 2.2vw, 32px); line-height: 1.5; font-weight: 700; letter-spacing: -.025em; overflow-wrap: anywhere; }
:is(#library-view,.pl-corner-sheet) .curiosity-intro { margin: 14px 0 0; color: #43564a; font-size: 16px; line-height:1.6; }
:is(#library-view,.pl-corner-sheet) .curiosity-paper {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  align-self: stretch;
  min-width: 0;
  padding: 24px 26px 18px;
  background: #fffcf5;
  border: 1px solid #e7ddca;
  border-radius: 15px;
  box-shadow: 0 9px 28px #57462408;
}
:is(#library-view,.pl-corner-sheet) .curiosity-content { display: grid; align-content: center; min-width: 0; }
:is(#library-view,.pl-corner-sheet) .curiosity-teaser { margin: 0; white-space: pre-line; font: 25px/1.5 Georgia, 'Noto Serif KR', serif; letter-spacing: -.03em; color: #657266; }
:is(#library-view,.pl-corner-sheet) .curiosity-answer { min-width: 0; animation: curiosity-answer-in .22s ease-out; }
@keyframes curiosity-answer-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
:is(#library-view,.pl-corner-sheet) .curiosity-expression { margin:0; font-family:inherit; font-size:clamp(28px,2.4vw,40px); font-weight:700; line-height:1.3; letter-spacing:-.015em; color:#193e36; overflow-wrap:anywhere; }
:is(#library-view,.pl-corner-sheet) .curiosity-meaning { margin:10px 0 18px; font-size:22px; line-height:1.5; font-weight:650; color:#243e35; overflow-wrap:anywhere; }
:is(#library-view,.pl-corner-sheet) .curiosity-reading-line { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin:0 0 14px; font-size:18px; color:#354e43; line-height:1.6; }
:is(#library-view,.pl-corner-sheet) .curiosity-reading-label { color:#526459; font-size:13px; font-weight:600; }
:is(#library-view,.pl-corner-sheet) .curiosity-phonetics { margin:10px 0; color:#374e41; font-size:17px; line-height:1.65; overflow-wrap:anywhere; }
:is(#library-view,.pl-corner-sheet) .curiosity-note { margin: 12px 0 20px; font-size: 14px; line-height: 1.65; color: #43564a; overflow-wrap: anywhere; }
:is(#library-view,.pl-corner-sheet) .curiosity-audio-controls { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 8px; }
:is(#library-view,.pl-corner-sheet) .home-curiosity .curiosity-audio-controls button { min-height:46px; padding:10px 17px; font-size:16px; font-weight:650; background:#fffefb; color:#25483d; border:1px solid #9aaea1; }
:is(#library-view,.pl-corner-sheet) .home-curiosity .curiosity-audio-controls [data-curiosity-listen] { background:#22664e; color:#fff; border-color:#22664e; }
:is(#library-view,.pl-corner-sheet) .home-curiosity .curiosity-audio-controls [data-curiosity-listen]:hover { background:#194f3c; border-color:#194f3c; }
:is(#library-view,.pl-corner-sheet) .curiosity-audio-status { margin:6px 0 0; color:#43564a; font-size:14px; line-height:1.6; }
:is(#library-view,.pl-corner-sheet) .curiosity-actions { display: flex; flex-wrap:wrap; align-items: center; justify-content: space-between; gap: 10px; padding-top: 14px; border-top: 1px solid #e8e1d2; }
:is(#library-view,.pl-corner-sheet) .home-curiosity button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 9px 15px; border-radius: 9px; font: inherit; font-size: 14px; cursor: pointer; transition: background-color .18s ease, color .18s ease; }
:is(#library-view,.pl-corner-sheet) .curiosity-reveal { color: #fff; background: #286750; border: 1px solid #286750; font-weight: 700; }
:is(#library-view,.pl-corner-sheet) .curiosity-reveal:hover { background: #1f543f; }
:is(#library-view,.pl-corner-sheet) .home-curiosity .curiosity-next { color: #456452; background: transparent; border: 1px solid transparent; padding-inline: 8px; }
:is(#library-view,.pl-corner-sheet) .curiosity-next:hover { background: #f0eadc; }
:is(#library-view,.pl-corner-sheet) .home-curiosity button:focus-visible, :is(#library-view,.pl-corner-sheet) .home-curiosity select:focus-visible { outline: 3px solid #ac7434; outline-offset: 3px; }
:is(#library-view,.pl-corner-sheet) .home-curiosity svg { width: 17px; height: 17px; stroke: currentColor; stroke-width: 1.75; fill: none; flex-shrink: 0; }
:is(#library-view,.pl-corner-sheet) .curiosity-topic { margin-inline-start: auto; max-width:100%; min-height: 44px; padding: 7px 22px 7px 9px; color: #374e41; background-color: #fffdf8; border: 1px solid #a69a7e; border-radius: 8px; font: inherit; font-size: 15px; cursor: pointer; }
:is(#library-view,.pl-corner-sheet) > .home-forest-break { margin-top: 30px; }
:is(#library-view,.pl-corner-sheet) > .home-forest-break + .forest-footer { margin-top: 18px; }
:is(#library-view,.pl-corner-sheet) .home-curiosity [hidden] { display: none !important; }
@media (min-width: 761px) { :is(#library-view,.pl-corner-sheet) .curiosity-paper { min-height: 310px; } }
@media (max-width: 760px) {
  :is(#library-view,.pl-corner-sheet) .home-curiosity { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 25px 22px 22px; min-height: 0; border-radius: 16px; }
  :is(#library-view,.pl-corner-sheet) .curiosity-mark { font-size: 220px; bottom: -32px; }
  :is(#library-view,.pl-corner-sheet) .curiosity-heading-line { margin-bottom: 12px; }
  :is(#library-view,.pl-corner-sheet) .home-curiosity h2 { min-height:0; font-size: 25px; }
  :is(#library-view,.pl-corner-sheet) .curiosity-intro { margin-top: 9px; font-size: 16px; }
  :is(#library-view,.pl-corner-sheet) .curiosity-paper { min-height:280px; padding: 18px 18px 14px; }
  :is(#library-view,.pl-corner-sheet) .curiosity-expression { font-size: 28px; }
  :is(#library-view,.pl-corner-sheet) .curiosity-teaser { font-size: 23px; }
  :is(#library-view,.pl-corner-sheet) .home-curiosity button { font-size: 15px; padding: 9px 11px; }
  :is(#library-view,.pl-corner-sheet) .home-curiosity:not([lang='ko']):not([lang='ja']):not([lang='zh']) h2 { font-size: 23px; }
}
@media (prefers-reduced-motion: reduce) { .home-curiosity button { transition: none; } .curiosity-answer { animation: none; } }
body[data-theme='dark'] .home-curiosity, [data-theme='dark'] .home-curiosity { --curiosity-ink: #e5ecd9; background: #292e25; border-color: #47513e; }
[data-theme='dark'] .curiosity-paper, [data-theme='dark'] .curiosity-topic { background: #343a2e; border-color: #535d46; color: #e5ecd9; }
[data-theme='dark'] .curiosity-intro, [data-theme='dark'] .curiosity-teaser, [data-theme='dark'] .curiosity-note, [data-theme='dark'] .curiosity-reading-line, [data-theme='dark'] .home-curiosity .curiosity-next { color: #c2ccba; }
[data-theme='dark'] .curiosity-audio-status, [data-theme='dark'] .curiosity-phonetics, [data-theme='dark'] .curiosity-reading-label { color:#e5ecd9; }
[data-theme='dark'] .curiosity-audio-controls button { background:#343a2e; color:#e5ecd9; border-color:#a4b6a7; }
:is(#library-view,.pl-corner-sheet) [data-theme='dark'] .curiosity-expression, [data-theme='dark'] :is(#library-view,.pl-corner-sheet) .curiosity-expression,
[data-theme='dark'] :is(#library-view,.pl-corner-sheet) .curiosity-meaning { color:#e5ecd9; }
[data-theme='dark'] :is(#library-view,.pl-corner-sheet) .curiosity-reading-line { color:#c2ccba; }
[data-theme='dark'] :is(#library-view,.pl-corner-sheet) .home-curiosity .curiosity-audio-controls button { background:#343a2e; color:#e5ecd9; border-color:#91a188; }
[data-theme='dark'] :is(#library-view,.pl-corner-sheet) .home-curiosity .curiosity-audio-controls [data-curiosity-listen] { background:#22664e; color:#fff; }

/* learning-outro.css */
.learning-outro{margin:30px 0 0;background:#fffefa;border:1px solid #d8e6d8;border-radius:22px;overflow:hidden}.outro-learning{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 30px;background:linear-gradient(120deg,#edf5e7,#fafcf5)}.outro-eyebrow{margin:0 0 4px;color:#417957;font-weight:650;font-size:.8125rem}.outro-learning h2{margin:0 0 14px;font-size:1.5rem;color:#275b42}.outro-progress-label{margin:0 0 7px;color:#536c58;font-size:.875rem}.outro-progress-label output{margin-inline-start:8px;font-weight:700;color:#2d6e46;font-variant-numeric:tabular-nums}.outro-learning progress{display:block;width:min(300px,100%);height:8px;border:0;border-radius:10px;overflow:hidden;accent-color:#4a8b5d;background:#dae7d2}.outro-learning progress::-webkit-progress-bar{background:#dae7d2}.outro-learning progress::-webkit-progress-value{background:#4a8b5d}#outro-goal{margin:7px 0 0;color:#647360;font-size:.8125rem}.outro-learning button{min-height:48px;padding-inline:25px;flex-shrink:0}.outro-figure{margin:0}.learning-outro .forest-hero{margin:0;border:0;border-radius:0;aspect-ratio:3/1;min-height:0;position:relative;background:#e6f0df url('/typing-game/forest.svg') center/cover}.learning-outro picture,.learning-outro [data-banner-image]{display:block;width:100%;height:100%}.learning-outro [data-banner-image]{position:absolute;inset:0;object-fit:cover}.learning-outro [data-banner-image][hidden]{display:none}.outro-caption{display:flex;justify-content:space-between;gap:24px;padding:20px 30px}.outro-quote{margin:0;font-size:1.0625rem;font-weight:600;color:#34563b;line-height:1.65}.learning-outro .banner-quote-reference{display:block;margin:5px 0 10px;font-size:.8125rem;color:#667360}.quote-source{font-size:.8125rem;color:#536950}.quote-source summary{cursor:pointer;min-height:32px;align-content:center}.quote-source p{line-height:1.6}.quote-source a{text-decoration:underline;text-underline-offset:3px;display:inline-block;padding-block:10px;color:#226644}.outro-next{align-self:flex-start;max-width:180px;background:#f4f7ed;border:1px solid #d2dfc7;color:#466b46;border-radius:10px;min-height:44px;padding:10px 14px;font-size:.8125rem}.outro-footer.forest-footer{margin-top:14px;padding:14px 20px;min-height:0;border:0;box-shadow:none;background:none;border-radius:0}.outro-footer>span{color:#3b7254;font-weight:650;font-size:.875rem}.outro-footer small{font-size:.6875rem;font-weight:400;margin-inline-start:8px}.outro-footer .learning-design-entry p{margin:3px 0 0}.outro-footer .learning-design-entry button{min-height:44px}.learning-outro :is(button,a,summary):focus-visible{outline:3px solid #93672b;outline-offset:3px}[data-banner-reaction]{position:absolute;inset-inline:16px;bottom:12px;width:fit-content;max-width:calc(100% - 32px);padding:8px 14px;border-radius:20px;background:#fffef0ec;color:#376745;font-size:.875rem}.forest-hero.celebrate [data-banner-image]{animation:forest-cheer .7s ease-out}@keyframes forest-cheer{50%{transform:scale(1.015)}}@media(max-width:650px){.outro-learning{padding:20px;align-items:flex-start;flex-direction:column;gap:16px}.outro-learning>div{width:100%}.outro-learning button{width:100%}.learning-outro .forest-hero{aspect-ratio:2.6/1;max-height:165px}.outro-caption{padding:16px 20px;flex-direction:column;gap:10px}.outro-next{max-width:none;width:100%}.outro-quote{font-size:.9375rem}.outro-footer.forest-footer{padding:10px 4px;display:flex;flex-wrap:wrap;gap:10px}.outro-footer .learning-design-entry{text-align:start}.outro-footer .learning-design-entry p{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.forest-hero.celebrate [data-banner-image]{animation:none}}
/* Keep legacy home styling from overriding the new, readable outro. */
body.has-learning-studio #library-view .learning-outro .banner-quote-reference{margin:5px 0 10px;font-size:.8125rem;color:#667360}
body.has-learning-studio #library-view .forest-footer.outro-footer{display:flex;justify-content:space-between;gap:20px;min-height:0;margin:14px 0 0;padding:14px 20px;border:0;border-radius:0;background:none;box-shadow:none}
body.has-learning-studio #library-view .forest-footer.outro-footer::before,body.has-learning-studio #library-view .forest-footer.outro-footer::after{content:none}
@media(max-width:650px){body.has-learning-studio #library-view .forest-footer.outro-footer{padding:10px 4px;flex-wrap:wrap;gap:10px}body.has-learning-studio #library-view .forest-footer.outro-footer .learning-design-entry{align-items:flex-start;text-align:start}}

/* daily-content.css */
/* Daily reading cards share a clear heading, content and action rhythm. */
body.has-learning-studio #library-view .library-heading:has(> .daily-quote),
#library-view .library-heading:has(> .daily-quote){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px}
#library-view .library-heading > :is(.home-curiosity,.daily-quote){min-width:0;margin:0;box-sizing:border-box}
body.has-learning-studio #library-view .library-heading > .home-curiosity,
#library-view .library-heading > .home-curiosity{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0;padding:26px 28px;background:#fbf5e8;border-color:#e6dcc6}
#library-view .library-heading > .home-curiosity .curiosity-mark{display:none}
#library-view .library-heading > .home-curiosity .curiosity-copy{display:flex;flex:1;flex-direction:column;min-width:0}
#library-view .library-heading > .home-curiosity .curiosity-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;padding:0;text-align:center}
#library-view .home-curiosity:has(.curiosity-answer:not([hidden])) .curiosity-prompt{display:none}
#library-view .library-heading > .home-curiosity h2{width:100%;max-width:100%;margin:0;font-size:clamp(1.5rem,2.1vw,2rem);min-height:0;line-height:1.5;letter-spacing:-.02em;color:#193e36;white-space:pre-line;word-break:keep-all;overflow-wrap:break-word;text-wrap:balance}
#library-view .library-heading > .home-curiosity h2[data-prompt-size='medium']{font-size:clamp(1.25rem,1.8vw,1.75rem)}
#library-view .library-heading > .home-curiosity h2[data-prompt-size='long']{font-size:clamp(1.125rem,1.6vw,1.5rem);line-height:1.6}
#library-view .library-heading > .home-curiosity:is([lang='ja'],[lang='zh']) h2{word-break:normal;line-break:strict}
#library-view .curiosity-expression{word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty;font-size:clamp(1.5rem,2vw,2rem);line-height:1.5}
#library-view .curiosity-expression:is([lang='ja'],[lang^='zh']){word-break:normal;line-break:strict}
#library-view .library-heading > .home-curiosity .curiosity-intro{display:none}
#library-view .library-heading > .home-curiosity .curiosity-paper{display:flex;min-height:0;margin:0;padding:0;background:transparent;border:0;box-shadow:none}
#library-view .library-heading > .home-curiosity .curiosity-teaser{font-family:inherit;font-size:1.0625rem;line-height:1.65;color:#526459}
#library-view .library-heading > .home-curiosity .curiosity-topic{max-width:200px;min-height:44px;background:#fffefb;color:#345045;border-color:#b8ad94}
#library-view .library-heading > .home-curiosity .curiosity-actions button{min-height:44px}
body.has-learning-studio #library-view .daily-quote,
#library-view .daily-quote{display:flex;flex-direction:column;width:100%;padding:26px 28px;background:#fffefb;border:1px solid #dbe5db;border-radius:20px;text-align:center}
#library-view .daily-quote [data-banner-tip]{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center}
.daily-quote-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.daily-quote-heading h2{display:flex;align-items:center;gap:8px;margin:0;font-size:.875rem;font-weight:700;color:#345b48}
.daily-quote-heading svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;flex-shrink:0}
.daily-quote button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:0;border-radius:9px;background:transparent;color:#22664e;font:inherit;font-size:.875rem;line-height:1.4;cursor:pointer}
.daily-quote button svg{width:17px;height:17px}
.daily-quote button:hover{background:#edf4ed}
.quote-language{font-size:.75rem;font-weight:600;color:#51675c;margin-bottom:14px;letter-spacing:.03em}
body.has-learning-studio #library-view .daily-quote .outro-quote{margin:0;max-width:100%;font-family:inherit;font-size:clamp(1.4rem,2vw,2rem);font-weight:650;line-height:1.5;letter-spacing:-.015em;color:#193e36;word-break:normal;overflow-wrap:break-word;text-wrap:pretty}
.daily-quote .quote-meaning-toggle{padding-inline:0;text-decoration:underline;text-underline-offset:4px;margin-top:8px}
.daily-quote .quote-meaning{margin:12px 0 0;padding:0;border:0;background:transparent;border-radius:0;line-height:1.65;font-size:1.125rem;font-weight:550;color:#304e3c;word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty}
.quote-vocabulary{width:100%;margin-top:18px}
.quote-vocabulary h3{margin:0 0 10px;font-size:.75rem;font-weight:650;color:#51675c}
.quote-vocabulary dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:14px 0;border-top:1px solid #e1e8dc;border-bottom:1px solid #e1e8dc}
.quote-vocabulary dt{font-size:.9375rem;font-weight:500;line-height:1.5;color:#30473d;overflow-wrap:anywhere}
.quote-vocabulary dd{margin:4px 0 0;font-size:.8125rem;line-height:1.55;color:#526459;overflow-wrap:anywhere}
.daily-quote .quote-source summary{width:fit-content;min-height:44px;display:list-item;align-content:center;cursor:pointer;color:#345c47}
#library-view .daily-quote button.word-study-inline{display:inline;min-height:0;padding:0;border:0;border-radius:2px;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit}
#library-view .daily-quote button.word-study-inline:hover{color:inherit;background:transparent}
#library-view .curiosity-answer{position:relative}
#library-view .curiosity-answer .curiosity-expression{padding:0;font-size:clamp(1.4rem,2vw,2rem);font-weight:650}
#library-view .curiosity-source{margin:0}
#library-view .curiosity-source summary{position:absolute;top:-8px;inset-inline-end:-8px;display:grid;place-items:center;width:44px;height:44px;list-style:none;border-radius:50%;color:#6c7b70;cursor:pointer;touch-action:manipulation}
#library-view .curiosity-source summary::-webkit-details-marker{display:none}
#library-view .curiosity-source summary::marker{content:''}
#library-view .curiosity-source summary svg{width:14px;height:14px}
#library-view .curiosity-source summary:hover{background:#edf4ed}
#library-view .curiosity-source summary:focus-visible{outline:2px solid #18795d;outline-offset:2px}
#library-view .curiosity-source .curiosity-note{margin:12px 0 0;font-size:.625rem;color:#6c7b70;line-height:1.6}
.quote-footer{margin-top:auto;padding-top:14px;border-top:1px solid #e1e8dc}
body.has-learning-studio #library-view .daily-quote .banner-quote-reference{margin:0;font-size:.75rem;line-height:1.6;color:#526459}
.daily-quote .quote-source{margin-top:3px;font-size:.8125rem;line-height:1.65}
.daily-quote .quote-source a{color:#22664e;text-underline-offset:3px}
.daily-quote :is(button,summary,a):focus-visible{outline:3px solid #18795d;outline-offset:4px}
.daily-quote [hidden]{display:none!important}
.daily-quote .quote-ipa{margin:12px 0 18px;color:#435c4e;font-family:inherit;font-size:1rem;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}
.daily-quote .quote-audio-controls{display:flex;align-items:center;gap:12px;margin:4px 0 14px;flex-wrap:wrap}
.daily-quote .quote-audio-controls button{background:#e7f1e8;min-width:90px;font-weight:650}
.daily-quote .quote-audio-controls button:disabled{opacity:.5;cursor:default}
.daily-quote .quote-voice{font-size:.75rem;color:#5b7062}
.daily-quote .quote-word-ipa{font-size:.875rem;color:#52675a}
.daily-quote .quote-provenance{position:relative;min-height:44px;margin-top:auto;padding-top:14px;border-top:1px solid #e1e8dc}
body.has-learning-studio #library-view .daily-quote .banner-quote-reference{font-size:.625rem;color:#6c7b70}
.daily-quote .quote-source{font-size:.625rem;color:#6c7b70}
.daily-quote .quote-provenance .banner-quote-reference{padding-inline-end:44px}
.daily-quote .quote-source summary{position:absolute;inset-inline-end:-10px;top:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;list-style:none;border-radius:50%;color:#6c7b70;touch-action:manipulation}
.daily-quote .quote-source summary::-webkit-details-marker{display:none}
.daily-quote .quote-source summary::marker{content:""}
.daily-quote .quote-source summary svg{width:16px;height:16px;flex:none}
.daily-quote .quote-source summary:hover,.daily-quote .quote-source[open] summary{background:#edf4ed;color:#22664e}
.daily-quote .quote-source-content{padding-top:10px;overflow-wrap:anywhere}
[data-theme='dark'] .daily-quote .quote-source summary{color:#b9cabb}
[data-theme='dark'] .daily-quote :is(.quote-ipa,.quote-word-ipa,.quote-voice){color:#b9cabb}
/* Both cards use the same header, centered lesson and anchored action row. */
#library-view .daily-learning-heading{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:10px;min-height:44px;margin:0;text-align:start}
#library-view .daily-learning-heading :is(.curiosity-kicker,h2){font-size:.875rem;font-weight:700;letter-spacing:0;line-height:1.5}
#library-view .daily-learning-heading .daily-learning-icon{width:20px;height:20px;flex:none;color:#345b48}
#library-view .daily-learning-heading :is(.curiosity-language,.quote-language){display:inline-flex;align-items:center;margin:0;padding:4px 10px;border:1px solid #cbd9cc;border-radius:20px;font-size:.75rem;font-weight:500;line-height:1.5;letter-spacing:0;color:#435c4e;background:transparent}
#library-view .daily-learning-heading .curiosity-topic{margin-inline-start:auto;max-width:min(200px,100%);font-size:.8125rem}
#library-view .daily-learning-content{box-sizing:border-box;flex:1;min-width:0;min-height:320px;padding:32px 0;text-align:center}
#library-view .curiosity-content{width:100%;align-content:center;text-align:center}
#library-view .curiosity-teaser{margin-top:18px}
#library-view .curiosity-meaning{margin:12px 0 0;font-size:1.125rem;line-height:1.65;font-weight:550;word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty}
#library-view :is(.curiosity-reading-line,.quote-sentence-ipa){justify-content:center;margin:16px 0 0;font-family:inherit;font-size:.9375rem;line-height:1.8;color:#52675a;overflow-wrap:break-word;text-wrap:pretty}
#library-view .curiosity-reading-label{font-size:.75rem;font-weight:500}
#library-view :is(.curiosity-audio-controls,.quote-audio){display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:20px 0 0}
#library-view :is(.curiosity-audio-controls,.quote-audio) button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid #a9beb0;border-radius:9px;font:inherit;font-size:.875rem;font-weight:600;line-height:1.5;touch-action:manipulation}
#library-view :is([data-curiosity-listen],[data-quote-listen]){background:#246b53;border-color:#246b53;color:#fff}
#library-view :is([data-curiosity-listen],[data-quote-listen]):hover{background:#19543f;border-color:#19543f;color:#fff}
#library-view [data-curiosity-phonetic-toggle]{background:transparent;color:#34564a}
#library-view [data-curiosity-phonetic-toggle]:hover{background:#eaf1e9}
#library-view [data-quote-voice]{padding:5px 9px;border-radius:6px;background:#edf3ed;color:#52675a;font-size:.75rem;line-height:1.5}
#library-view :is(.curiosity-audio-status,[data-quote-audio-status]){margin:8px 0 0;font-size:.75rem;line-height:1.6;color:#52675a}
#library-view [data-quote-audio-status]:not(:empty){flex-basis:100%}
#library-view [data-quote-audio-status]:empty{display:none}
#library-view .quote-vocabulary{margin-top:24px;text-align:start}
#library-view .daily-learning-actions{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;min-height:44px;margin:0;padding:16px 0 0;border-top:1px solid #dce5d9;text-align:start}
#library-view .daily-learning-actions > :first-child{min-width:0;justify-self:start}
#library-view .daily-learning-actions > :nth-child(2){grid-column:3;justify-self:end}
#library-view .daily-learning-actions > .curiosity-reveal{grid-column:2;justify-self:center}
#library-view .daily-learning-heading > details{position:relative;flex:none;margin:0 0 0 auto;width:44px;height:44px;font-size:.625rem}
#library-view .daily-learning-heading:has(.curiosity-topic) > details{margin-inline-start:0}
#library-view .daily-learning-heading summary{display:grid;place-items:center;width:44px;height:44px;padding:0;margin:0;list-style:none;border-radius:50%;cursor:pointer;color:#6c7b70}
#library-view .daily-learning-heading summary::-webkit-details-marker{display:none}
#library-view .daily-learning-heading summary svg{width:14px;height:14px}
#library-view .daily-learning-heading :is(.curiosity-note,.quote-source-content){position:absolute;z-index:4;inset-inline-end:0;top:48px;width:min(360px,calc(100vw - 88px));box-sizing:border-box;margin:0;padding:14px;border:1px solid #dbe5db;border-radius:10px;background:#fffefb;box-shadow:0 6px 20px #25483d12;font-size:.6875rem;line-height:1.7;overflow-wrap:anywhere;text-align:start}
#library-view .daily-learning-heading summary:focus-visible{outline:3px solid #18795d;outline-offset:2px}
#library-view .daily-learning-actions button{min-height:44px;padding:9px 12px;border:1px solid transparent;font:inherit;font-size:.875rem;font-weight:600;line-height:1.5;touch-action:manipulation}
#library-view .daily-learning-actions > details{grid-column:3;margin:0;align-self:center;font-size:.625rem}
#library-view .daily-learning-actions summary{position:static;display:grid;place-items:center;width:44px;height:44px;min-height:44px;margin:0;padding:0;list-style:none;border-radius:50%;color:#6c7b70;cursor:pointer;touch-action:manipulation}
#library-view .daily-learning-actions summary svg{width:14px;height:14px}
#library-view .daily-learning-actions :is(.quote-source-content,.curiosity-note){position:absolute;z-index:3;inset-inline:0;bottom:60px;margin:0;padding:12px 14px;border:1px solid #dbe5db;border-radius:10px;background:#fffefb;box-shadow:0 6px 20px #25483d12;font-size:.6875rem;line-height:1.7;overflow-wrap:anywhere}
#library-view .daily-learning-actions :is(.quote-source-content,.curiosity-note) p{margin:0 0 6px}
#library-view .daily-learning-actions .banner-quote-reference{padding:0;line-height:1.6}
#library-view .daily-learning-actions :is(button,summary):focus-visible,#library-view .daily-learning-content button:focus-visible{outline:3px solid #18795d;outline-offset:3px}
@media(max-width:900px){body.has-learning-studio #library-view .library-heading:has(> .daily-quote),#library-view .library-heading:has(> .daily-quote){grid-template-columns:minmax(0,1fr)}}
@media(max-width:650px){body.has-learning-studio #library-view .library-heading > .home-curiosity,#library-view .library-heading > .home-curiosity,body.has-learning-studio #library-view .daily-quote,#library-view .daily-quote{padding:20px;gap:0}#library-view .daily-learning-content{min-height:260px;padding:28px 0}#library-view .library-heading > .home-curiosity .curiosity-paper{padding:28px 0;min-height:260px}#library-view .daily-learning-heading{gap:8px}#library-view .daily-learning-heading .curiosity-topic{flex:1;max-width:200px;margin:4px 0 0}#library-view .daily-learning-actions{gap:4px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}#library-view .daily-learning-actions button{font-size:.8125rem;padding-inline:10px}.quote-vocabulary dl{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px}.quote-vocabulary dt{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){#library-view .curiosity-answer{animation:none}}

/* The orbit is decoration. The three checks are real startup milestones. */
body #load-state{min-height:min(580px,calc(100svh - 100px));max-width:480px;padding:38px 22px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
body #load-state[hidden]{display:none}
.loading-orbit{position:relative;width:104px;height:104px;display:grid;place-items:center;margin-bottom:28px}
.loading-orbit::before{content:"";position:absolute;inset:0;border:3px solid #dfebe5;border-radius:50%}
.loading-orbit::after{content:"";position:absolute;inset:0;border:3px solid transparent;border-top-color:#218969;border-left-color:#218969;border-radius:50%;animation:loading-orbit-turn 1.9s linear infinite}
.loading-orbit-core{display:grid;place-items:center;width:80px;height:80px;background:#18795d;border-radius:50%;box-shadow:0 7px 24px #18795d20}
.loading-orbit-core svg{width:43px;height:43px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round}
.loading-orbit-core svg path{transform-origin:center;animation:loading-wave-breathe 1.4s ease-in-out infinite}
.loading-study-mark{display:block;width:54px;height:54px;object-fit:contain;animation:loading-study-breathe 2.8s ease-in-out infinite}
body #load-state .loading-heading{display:block;margin:0;color:#1f3f34;font-size:clamp(1.3rem,3.8vw,1.6rem);font-weight:750;line-height:1.55;letter-spacing:-.035em}
body #load-state .loading-heading::before{content:none}
.loading-prelude{margin:0 0 9px;color:#6c7f76;font-size:.875rem}
.startup-steps{display:flex;flex-direction:column;gap:16px;list-style:none;padding:0;margin:34px 0 0;width:220px;text-align:start;font-size:.875rem;color:#63796e}
.startup-steps li{display:flex;align-items:center;gap:11px;line-height:1.5}
.startup-step-mark{position:relative;width:20px;height:20px;flex:0 0 20px;border:2px solid #dce7e0;border-radius:50%;box-sizing:border-box}
.startup-steps [data-state="working"] .startup-step-mark{border-top-color:#238b69;animation:loading-orbit-turn 1.4s linear infinite}
.startup-steps [data-state="done"]{color:#355b48}
.startup-steps [data-state="done"] .startup-step-mark{border-color:#18795d;background:#18795d}
.startup-steps [data-state="done"] .startup-step-mark::after{content:"";position:absolute;left:4px;top:3px;width:7px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.site-motion-hidden .loading-orbit::after,.site-motion-hidden .loading-orbit-core svg path,.site-motion-hidden .startup-step-mark{animation-play-state:paused}
@keyframes loading-orbit-turn{to{transform:rotate(360deg)}}
@keyframes loading-wave-breathe{50%{transform:scaleY(.65);opacity:.7}}
@keyframes loading-study-breathe{50%{transform:translateY(-2px)}}
@media(max-width:650px){body #load-state{padding:28px 20px;min-height:calc(100svh - 105px)}.loading-study-mark{width:54px;height:54px}}
[data-theme='dark'] #library-view .library-heading > .home-curiosity,[data-theme='dark'] #library-view .daily-quote{background:#22362c;border-color:#4b6051}
[data-theme='dark'] #library-view .library-heading > .home-curiosity :is(.curiosity-paper,.curiosity-topic){background:#2b3f31;border-color:#59705d;color:#e4efdf}
[data-theme='dark'] #library-view .library-heading > .home-curiosity :is(h2,.curiosity-teaser,.curiosity-count),[data-theme='dark'] #library-view .daily-quote :is(h2,h3,.outro-quote,button,summary,dt,dd,.quote-language,.banner-quote-reference,a){color:#deebdc}
[data-theme='dark'] #library-view .daily-quote .quote-meaning{background:#314c3a;color:#e6f0e1}
[data-theme='dark'] #library-view .curiosity-source :is(summary,.curiosity-note){color:#b9cabb}
[data-theme='dark'] #library-view .daily-learning-content :is(.curiosity-expression,.curiosity-meaning,.curiosity-reading-line,.quote-meaning,.quote-sentence-ipa){color:#deebdc;background:transparent}
[data-theme='dark'] #library-view .library-heading > .home-curiosity .curiosity-paper{background:transparent;border:0}
[data-theme='dark'] #library-view .daily-learning-heading :is(.curiosity-language,.quote-language){color:#d7e6d7;border-color:#59705d}
[data-theme='dark'] #library-view :is([data-curiosity-phonetic-toggle],[data-quote-voice]){color:#d7e6d7;background:#314c3a}
[data-theme='dark'] #library-view :is(.daily-learning-actions,.daily-learning-heading) :is(.quote-source-content,.curiosity-note){background:#2b3f31;border-color:#59705d;color:#deebdc}
@media(prefers-reduced-motion:reduce){.loading-orbit::after,.loading-orbit-core svg path,.startup-steps [data-state="working"] .startup-step-mark{animation:none}}
.site-motion-hidden .loading-study-mark{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.loading-study-mark{animation:none}}

/* word-popover.css */
.word-study-term{cursor:pointer;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-color:#c7d2cb;text-decoration-thickness:1px;text-underline-offset:.16em;touch-action:manipulation}
.word-study-inline{display:inline;padding:0;border:0;border-radius:3px;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;text-align:inherit}
.word-study-term:hover,.word-study-term[aria-expanded="true"]{color:inherit;text-decoration-style:solid;text-decoration-color:#81998d}
.word-study-term:focus-visible{outline:2px solid #16765c;outline-offset:3px}
.word-study-popover{position:fixed;inset:auto;box-sizing:border-box;margin:0;padding:18px 20px 14px;z-index:10020;border:1px solid #ccdfd4;border-radius:18px;background:#fffefb;color:#21483b;box-shadow:0 12px 44px #173c2d26,0 2px 8px #173c2d0d;overflow:auto;overscroll-behavior:contain;text-align:start;font:15px/1.6 system-ui,sans-serif}
.word-study-popover[hidden]{display:none!important}
.word-study-popover::backdrop{background:transparent;pointer-events:none}
.word-study-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.word-study-title{margin:0;font-size:20px;line-height:1.4;font-weight:550;color:#30473d;overflow-wrap:anywhere}
.word-study-close{flex:none;width:40px;height:40px;margin:-8px -10px -4px 0;padding:0;border:0;border-radius:50%;background:transparent;color:#597466;font-size:26px;cursor:pointer}
.word-study-close:hover{background:#edf3ee}
.word-study-meaning{margin:9px 0 2px;font-size:15px;font-weight:500;color:#30473d;overflow-wrap:anywhere}
.word-study-usage{margin:6px 0;color:#5b6c63;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.word-study-reading{margin:2px 0 12px;color:#557567;font-size:14px;overflow-wrap:anywhere}
.word-study-listen{min-height:40px;margin:4px 0 0;padding:7px 12px;border:1px solid #c4dace;border-radius:9px;background:#eef6f1;color:#14674d;font:600 13px/1.5 system-ui,sans-serif;cursor:pointer;touch-action:manipulation}
.word-study-listen:disabled{opacity:.65}
.word-study-popover button:focus-visible{outline:2px solid #16765c;outline-offset:3px}
.word-study-example{margin-top:14px;padding-top:12px;border-top:1px solid #dbe8e0}
.word-study-label{color:#4f6a5b;font-size:12px;font-weight:650}
.word-study-example-text{margin:4px 0;font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.word-study-example-meaning{margin:4px 0 8px;color:#557567;font-size:13px;overflow-wrap:anywhere}
.word-study-status{margin:6px 0 0;font-size:12px;color:#745f45}.word-study-status:empty{display:none}
@media(max-width:600px){.word-study-popover{padding:18px;border-radius:16px}.word-study-close{width:44px;height:44px}.word-study-listen{min-height:44px}}
[data-theme='dark'] .word-study-popover{background:#22362c;border-color:#59705d;color:#deebdc}
[data-theme='dark'] .word-study-popover :is(.word-study-title,.word-study-meaning){color:inherit}
[data-theme='dark'] .word-study-popover :is(.word-study-reading,.word-study-usage,.word-study-example-meaning,.word-study-label,.word-study-close){color:#b9cabb}
[data-theme='dark'] .word-study-example{border-color:#59705d}
[data-theme='dark'] .word-study-listen{background:#314c3a;border-color:#59705d;color:#e6f0e1}

/* learning-composition.css */
/* Shared PineLingo typography and learning composition. */
:root{--sans:"Noto Sans KR",sans-serif}
body,body *{font-family:var(--sans)!important}
button.word-study-inline{display:inline!important;min-height:0!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:inherit!important;font:inherit!important;letter-spacing:inherit!important;line-height:inherit!important;text-align:inherit!important;vertical-align:baseline!important}
button.word-study-inline:focus-visible{outline:2px solid var(--pine);outline-offset:3px}
.selection-study-view{max-width:900px;padding:16px 0 40px}
.selection-study-header{margin-bottom:22px}
.selection-study-header h1{font-size:28px;line-height:1.4;letter-spacing:-.6px}
.selection-study-detail{padding:28px;border-radius:22px;border:1px solid var(--line);background:var(--surface);box-shadow:0 8px 28px #16474305}
.selection-study-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.selection-study-order{padding-top:22px}
.studio-route-settings-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.studio-route-settings-heading h3{margin:0;font-size:18px}
.studio-route-selection-count{font-size:13px;font-weight:600;color:var(--pine);background:var(--soft);border-radius:20px;padding:5px 10px;white-space:nowrap}
.studio-route-settings .settings-note{margin:0 0 16px;font-size:14px;line-height:1.7}
.studio-route-settings-list{gap:8px;margin:0}
.studio-route-settings-row{padding:8px 10px;border-radius:12px;gap:12px;min-height:64px}
.studio-route-settings-row[data-selected=false]{background:#f8faf9;border-color:#e4ebe7}
.studio-route-mode-label{display:flex;align-items:center;gap:12px;flex:1;min-width:0;min-height:44px;cursor:pointer}
.studio-route-mode-label input{width:20px;height:20px;min-height:20px;padding:0;margin:0;flex:none;accent-color:var(--pine)}
.studio-route-mode-label .studio-mode-icon{width:38px;height:38px;flex:none;color:var(--pine)}
.studio-mode-icon svg{display:block;width:100%;height:100%}
.studio-route-settings-number{flex:0 0 16px;font-size:12px}
.studio-route-settings-title{font-size:15px;font-weight:600;line-height:1.5;word-break:keep-all}
.studio-route-settings-row[data-selected=false] .studio-route-settings-title{font-weight:400;color:var(--muted)}
.studio-route-settings .studio-route-order-move{display:inline-flex;align-items:center;justify-content:center;min-width:44px;width:44px;min-height:44px;padding:0;border-radius:9px;color:var(--pine)}
.studio-route-order-move svg{flex:none}
.studio-route-settings-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px}
.studio-route-settings-footer button{min-height:44px}
.studio-route-settings-status:empty,.selection-study-status:empty{display:none}
.selection-study-start{display:flex;justify-content:flex-end;gap:12px;padding-top:22px;margin-top:4px;border-top:1px solid var(--line)}
.selection-study-start button{min-height:48px;min-width:132px;padding:12px 20px;font-size:15px}
.selection-study-start .primary-button{width:auto}
.selection-study-status{margin:12px 0 0;color:var(--pine)}
.selection-study-extras{justify-content:space-between;gap:8px;font-size:14px}
.selection-study-extras button{padding:6px 0;font-size:14px}
body[data-view=studio]:has(.studio-audio-player){height:auto;min-height:100svh;overflow:auto}
body[data-view=studio]:has(.studio-audio-player) #workspace{padding:12px 24px 36px;flex:1}
body[data-view=studio]:has(.studio-audio-player) #main{height:auto}
#studio-view:has(.studio-audio-player){height:auto;min-height:0;max-width:1020px;grid-template-rows:auto auto auto;gap:16px;padding:0}
#studio-view:has(.studio-audio-player)>.studio-heading{min-height:48px}
#studio-view:has(.studio-audio-player) .studio-heading h1{font-size:26px;letter-spacing:-.5px}
#studio-view:has(.studio-audio-player)>.studio-audio-player{height:auto;min-height:380px;padding:36px 32px 26px;grid-template-rows:auto auto auto auto auto auto auto;align-content:center;justify-items:center;gap:12px;border-radius:24px;background:var(--surface);box-shadow:0 8px 28px #16474306}
#studio-view .studio-audio-player>.studio-audio-visual{height:30px;margin:0 0 12px;grid-row:1}
#studio-view .studio-audio-player>[data-audio-current]{grid-row:2;width:100%;max-width:780px;height:auto;min-height:0;max-height:none;margin:0;text-align:center;display:block;font-size:clamp(24px,2.6vw,36px);font-weight:600;line-height:1.65;word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty}
#studio-view .studio-audio-player>[data-audio-phonetics]{grid-row:3;height:auto;min-height:0;margin:0 0 16px;max-width:720px;font-size:18px;line-height:1.7;text-align:center}
#studio-view .studio-audio-player>.studio-audio-actions{grid-row:4;grid-template-columns:100px minmax(150px,190px) 100px;gap:12px;margin:0}
#studio-view .studio-audio-player>.studio-audio-actions button{font-size:16px;min-height:48px}
#studio-view .studio-audio-player>.studio-shortcut{grid-row:5;font-size:13px;margin:0;line-height:1.6;text-align:center}
#studio-view .studio-audio-player>.studio-audio-position{grid-row:6;font-size:14px!important;line-height:1.6;margin:0;color:var(--muted)}
#studio-view .studio-audio-player>.studio-speech-status,#studio-view .studio-audio-player>[data-studio-wait]{grid-row:auto;position:static!important;font-size:13px!important;text-align:center;margin:0;line-height:1.7;padding:0}
#studio-view .studio-audio-player>.studio-stop{position:static!important;grid-row:auto;justify-self:center;margin:0}
#studio-view:has(.studio-audio-player)>.studio-audio-advanced{position:static;width:100%;max-height:none;max-width:none;box-shadow:none;border-radius:14px}
#studio-view:has(.studio-audio-player)>.studio-audio-advanced:not([open]){width:100%}
#studio-view:has(.studio-audio-player)>.studio-audio-advanced>summary{font-size:14px;min-height:44px;padding:10px 16px}
#studio-view:has(.studio-audio-player) .studio-mode-icon{width:40px;height:40px}
#studio-view:has(.studio-exercise)>.studio-heading h1{font-size:26px;line-height:1.4}
#studio-view:has(.studio-exercise)>.studio-heading .studio-mode-icon{width:38px;height:38px}
#studio-view:has(.studio-exercise)>.studio-heading{gap:12px}
.studio-toolbar button,.studio-toolbar summary{font-size:14px;gap:6px;padding:8px 10px;border-radius:10px}
.studio-toolbar .studio-route-progress{font-size:14px;font-weight:600}
.studio-toolbar .studio-route-time{font-size:14px}
.studio-toolbar .studio-route-status{gap:10px}
.studio-toolbar .studio-path button,.studio-toolbar .studio-route-skip,.studio-toolbar .studio-study-options>summary{border-radius:10px}
.studio-automatic .studio-phase-label{font-size:15px;line-height:1.7;max-width:none}
.studio-automatic .studio-pause-toggle{font-size:16px;min-width:158px;min-height:46px}
.studio-automatic .studio-shortcut{max-width:none;font-size:13px;line-height:1.6;white-space:nowrap}
.studio-automatic .studio-actions{gap:10px}
@media(max-width:760px){
 .selection-study-view{padding-top:8px}.selection-study-header h1{font-size:24px}
 .selection-study-detail{padding:18px 14px;border-radius:18px}
 .selection-study-fields{gap:12px}.selection-study-field{font-size:14px}
 .studio-route-settings-row{gap:8px;padding:8px}.studio-route-mode-label{gap:8px}
 .studio-route-mode-label .studio-mode-icon{width:32px;height:32px}
 .studio-route-settings-number{display:none}.studio-route-settings-title{font-size:14px}
 .studio-route-settings-actions{gap:2px}
 .selection-study-start{display:grid;grid-template-columns:1fr 1.3fr;gap:8px}
 .selection-study-start button{width:100%;min-width:0;padding:10px 8px;font-size:14px;white-space:normal}
 .selection-study-extras{align-items:flex-start;flex-direction:column}
 #studio-view:has(.studio-audio-player){grid-template-rows:auto auto auto;gap:12px}
 body[data-view=studio]:has(.studio-audio-player) #workspace{padding:8px 12px 24px}
 #studio-view:has(.studio-audio-player) .studio-heading h1{font-size:23px}
 #studio-view:has(.studio-audio-player)>.studio-audio-player{min-height:340px;padding:24px 16px;grid-template-rows:auto auto auto auto auto auto auto;gap:12px}
 #studio-view .studio-audio-player>[data-audio-current]{font-size:26px}
 #studio-view .studio-audio-player>[data-audio-phonetics]{font-size:17px}
 #studio-view .studio-audio-player>.studio-audio-actions{grid-template-columns:64px minmax(120px,160px) 64px;gap:8px;width:100%}
 #studio-view .studio-audio-player>.studio-audio-actions button{padding:8px;font-size:15px}
 #studio-view .studio-audio-player>.studio-shortcut{font-size:12px}
 .studio-toolbar{flex-wrap:wrap;gap:8px}.studio-toolbar .studio-route-status{flex-wrap:wrap;min-width:0}
 .studio-toolbar button,.studio-toolbar summary{font-size:13px;min-height:42px}
 .studio-toolbar .studio-route-progress,.studio-toolbar .studio-route-time{font-size:13px}
 .studio-automatic .studio-shortcut{white-space:normal;font-size:12px}
}
@media(max-width:380px){.studio-route-mode-label .studio-mode-icon{width:28px;height:28px}.studio-route-settings-title{font-size:13px}.studio-route-settings-row{padding:6px}.studio-route-mode-label{gap:6px}}

/* Content determines lesson height: long answers must never scroll above the card. */
body[data-view=studio]:has(.studio-exercise){height:auto;min-height:100svh;display:block}
body[data-view=studio]:has(.studio-exercise) #workspace{flex:none;padding:12px 24px 32px}
body[data-view=studio]:has(.studio-exercise) #main{height:auto}
#studio-view:has(.studio-exercise){display:flex;flex-direction:column;gap:12px;height:auto;min-height:0;padding:0}
#studio-view:has(.studio-exercise)>.studio-heading{min-height:46px}
#studio-view:has(.studio-exercise)>.studio-progress{margin:0}
#studio-view:has(.studio-exercise)>.studio-item-meta{white-space:normal;overflow:visible;font-size:13px;line-height:1.5;gap:8px}
#studio-view:has(.studio-exercise)>.studio-automatic{min-height:70px;height:auto;flex-wrap:wrap;padding:14px 18px;gap:10px}
#studio-view:has(.studio-exercise) .studio-automatic .studio-actions{flex-wrap:wrap;gap:8px}
#studio-view:has(.studio-exercise) .studio-automatic .studio-phase-label{font-size:15px;line-height:1.6;flex:1 1 220px;margin:0}
#studio-view:has(.studio-exercise) .studio-automatic .studio-shortcut{font-size:12px}
#studio-view:has(.studio-exercise)>.studio-exercise{height:auto;min-height:0;overflow:visible;margin:0}
#studio-view:has(.studio-exercise)>.studio-exercise>.studio-task{height:auto;max-height:none;min-height:300px;overflow:visible;justify-content:flex-start;padding:28px;gap:16px}
#studio-view:has(.studio-exercise) .studio-task>*{flex-shrink:0;min-width:0}
#studio-view:has(.studio-exercise) .studio-prompt{min-height:0;margin:0;padding:0 0 18px}
#studio-view:has(.studio-exercise) .studio-prompt .studio-phrase,#studio-view .studio-answer>.studio-phrase{font-size:28px;line-height:1.65;overflow-wrap:break-word;word-break:normal;text-wrap:pretty}
#studio-view .studio-answer{gap:8px 20px;text-align:start}
#studio-view .studio-answer>.studio-meaning,#studio-view .studio-answer>.studio-example{font-size:20px;line-height:1.7;overflow-wrap:break-word}
#studio-view .studio-answer>.studio-phonetics{font-size:17px;line-height:1.7}
#studio-view .studio-answer>button{font-size:14px;min-height:44px;max-width:100%;white-space:normal}
#studio-view .studio-task>h2{font-size:20px;line-height:1.6}
#studio-view .studio-task>.studio-note{font-size:16px!important;line-height:1.7}
#studio-view .studio-task>.studio-eyebrow{display:none}
#studio-view .studio-countdown{position:static;width:100%;margin-top:4px;font-size:13px}
#studio-view .studio-audio-reveal{font-size:14px;min-height:44px}
@media(max-width:760px){
 body[data-view=studio]:has(.studio-exercise) #workspace{padding:10px 12px 28px}
 #studio-view:has(.studio-exercise)>.studio-exercise>.studio-task{padding:22px 18px;min-height:260px;gap:14px}
 #studio-view:has(.studio-exercise) .studio-prompt .studio-phrase,#studio-view .studio-answer>.studio-phrase{font-size:24px}
 #studio-view .studio-answer{grid-template-columns:minmax(0,1fr)}
 #studio-view .studio-answer>button,#studio-view .studio-answer>button:first-of-type,#studio-view .studio-answer>button:nth-of-type(2){grid-column:1;grid-row:auto;justify-self:start}
 #studio-view .studio-answer>.studio-example{margin-top:12px}
 #studio-view:has(.studio-exercise)>.studio-automatic{padding:14px}
 #studio-view:has(.studio-exercise) .studio-automatic .studio-actions{width:100%}
 #studio-view:has(.studio-exercise) .studio-automatic .studio-shortcut{display:none}
 #studio-view .studio-task>h2{font-size:18px}
}


/* learning-readable.css */
/* Shared reading hierarchy: expression, meaning, reading aid, then controls. */
body[data-view=studio] #workspace{width:min(calc(100% - 48px),max(1080px,68vw));max-width:1760px;margin-inline:auto;padding-inline:0!important}
body[data-view=studio] #main{width:100%;max-width:none}
#studio-view:has(.studio-exercise),#studio-view:has(.studio-audio-player){width:100%;max-width:none}
body[data-view=studio] .site-header{box-sizing:border-box;width:min(calc(100% - 48px),max(1080px,68vw));max-width:1760px;margin-inline:auto;padding-inline:0!important}
#studio-view{--studio-ink:#173c39;--studio-secondary:#486560;color:var(--studio-ink)}
#studio-view .studio-heading h1{color:var(--studio-ink);font-weight:700;letter-spacing:-.025em}
#studio-view .studio-answer>.studio-phrase{font-size:clamp(28px,1.6vw,36px);font-weight:700;line-height:1.55;color:#163b38;overflow-wrap:anywhere;word-break:normal;letter-spacing:normal}
#studio-view .studio-answer>.studio-meaning{font-size:clamp(20px,1.1vw,24px);font-weight:500;line-height:1.65;color:#284e48;word-break:normal;overflow-wrap:anywhere}
#studio-view .studio-answer>.studio-phonetics{font-size:18px;line-height:1.65;color:#526a65;font-weight:400;letter-spacing:normal}
#studio-view .studio-answer>.studio-example{font-size:clamp(22px,1.25vw,28px);line-height:1.65;font-weight:500;color:#173c39;border-color:#d1dfda;padding-top:16px;word-break:normal;overflow-wrap:anywhere}
#studio-view .studio-answer{column-gap:24px;row-gap:10px}
#studio-view:has(.studio-exercise) .studio-task{padding:24px 30px}
#studio-view:has(.studio-exercise) .studio-item-meta{font-size:16px;color:#486560;line-height:1.5}
#studio-view:has(.studio-exercise) .studio-phase-label{font-size:18px;line-height:1.6;color:#284e48;font-weight:500}
#studio-view:has(.studio-exercise) .studio-automatic .studio-actions button{font-size:17px;min-height:46px}
#studio-view:has(.studio-exercise) .studio-automatic>.studio-shortcut{font-size:14px;color:#526a65}
#studio-view:has(.studio-exercise) .studio-automatic>.studio-countdown{font-size:15px;color:#486560}
#studio-view .studio-answer>button{font-size:16px;min-height:44px;line-height:1.4;padding:10px 14px;border-color:#a2bcb1;color:#17634c;background:#f4f9f6}
#studio-view .studio-answer>button:hover{background:#e6f2eb;border-color:#3e8469}
#studio-view .studio-answer>button:focus-visible,#studio-view button:focus-visible{outline:3px solid #20795e;outline-offset:3px}
/* A single centred reading column keeps the current task and its controls together. */
#studio-view:has(.studio-exercise){grid-template-rows:32px auto auto 18px auto auto minmax(280px,1fr);row-gap:12px}
#studio-view:has(.studio-exercise) .studio-automatic{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:18px 24px;text-align:center;min-height:0;border-color:#d5e5df;border-radius:18px;box-shadow:none}
#studio-view:has(.studio-exercise) .studio-automatic .studio-phase-label{flex:0 1 auto;margin:0;max-width:58ch;line-height:1.6;text-wrap:pretty}
#studio-view:has(.studio-exercise) .studio-automatic .studio-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
#studio-view:has(.studio-exercise) .studio-automatic>.studio-shortcut{justify-content:center;margin:0;font-size:13px;line-height:1.5}
#studio-view:has(.studio-exercise) .studio-automatic>.studio-countdown{position:static;width:min(100%,440px);margin:0;justify-content:center}
#studio-view:has(.studio-exercise) .studio-task{align-items:center;text-align:center;padding:clamp(24px,3.5vh,48px) clamp(20px,4vw,64px);border-radius:22px;border-color:#d5e5df;background:#fff;box-shadow:0 8px 30px #193f3510;gap:14px}
#studio-view:has(.studio-exercise) .studio-task>h2{font-size:clamp(21px,1.35vw,26px);line-height:1.55;margin:0;color:#264d43;text-wrap:pretty}
#studio-view:has(.studio-exercise) .studio-task>.studio-note{font-size:17px;line-height:1.7;margin:0;max-width:52ch;color:#567067}
#studio-view .studio-task>.studio-eyebrow{font-size:13px;line-height:1.5;color:#627e72;letter-spacing:.03em}
#studio-view .studio-answer{width:min(100%,760px);margin-inline:auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}
#studio-view .studio-answer>p{width:100%;margin:0;text-wrap:pretty}
#studio-view .studio-answer>.studio-phrase{line-height:1.5}
#studio-view .studio-answer>.studio-example{margin-top:10px;padding-top:20px;border-top:1px solid #dbe7e1}
#studio-view .studio-answer>button{align-self:center;margin:2px 0 6px;border-radius:10px;max-width:none}
#studio-view .studio-answer>.studio-eyebrow{font-size:12px;color:#627e72;letter-spacing:.04em}
#studio-view .studio-recall-cue{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:#edf6f0;color:#27765b;margin-bottom:4px}
#studio-view .studio-recall-cue svg{width:30px;height:30px}
#studio-view:has(.studio-exercise) .studio-prompt{width:min(100%,760px);text-align:center}
#studio-view:has(.studio-exercise) .studio-options{width:min(100%,760px)}
@media(max-width:800px){
 body[data-view=studio]:has(.studio-exercise){height:auto;min-height:100svh;overflow-y:auto}
 #studio-view:has(.studio-exercise){height:auto;min-height:0;grid-template-rows:auto auto auto auto auto auto minmax(280px,auto)}
 #studio-view:has(.studio-exercise) .studio-automatic{padding:16px;gap:10px}
 #studio-view:has(.studio-exercise) .studio-task{padding:28px 20px;min-height:280px}
 #studio-view .studio-answer{gap:10px}
 #studio-view:has(.studio-exercise) .studio-task>.studio-note{font-size:16px}
}
#studio-view .studio-audio-player>[data-audio-current]{font-size:clamp(28px,1.8vw,38px);line-height:1.6;color:#173c39;word-break:normal}
#studio-view .studio-audio-player .studio-phonetics{font-size:19px;line-height:1.65;color:#526a65}
#studio-view .studio-audio-position,#studio-view .studio-speech-status{font-size:16px;color:#486560}
.language-result strong{font-size:18px;line-height:1.4}
.language-result .language-result-autonym{font-size:15px;line-height:1.45;color:#486560}
.language-result>span:last-child{font-size:14px;line-height:1.4;color:#526a65}
#load-state .loading-heading{font-size:clamp(24px,3vw,32px);line-height:1.5;color:#173c39;max-width:28em;word-break:keep-all}
@media(max-width:1100px){
 body[data-view=studio] #workspace,body[data-view=studio] .site-header{width:calc(100% - 32px)}
}
@media(max-width:800px){
 body[data-view=studio] #workspace,body[data-view=studio] .site-header{width:calc(100% - 24px)}
 #studio-view:has(.studio-exercise) .studio-task{padding:20px 18px}
 #studio-view .studio-answer>.studio-phrase{font-size:26px;line-height:1.6}
 #studio-view .studio-answer>.studio-meaning{font-size:20px;line-height:1.65}
 #studio-view .studio-answer>.studio-phonetics{font-size:17px}
 #studio-view .studio-answer>.studio-example{font-size:22px;line-height:1.65}
 #studio-view:has(.studio-exercise) .studio-phase-label{font-size:17px}
 #studio-view:has(.studio-exercise) .studio-automatic .studio-actions button{font-size:16px}
}
/* Reordering is a separate, comfortably sized target from selecting a mode. */
.studio-route-settings-list{gap:9px}
.studio-route-settings-row{gap:8px;padding:9px 12px 9px 4px;min-height:68px;border-color:#dce7df;box-shadow:0 1px 2px #163b3803;transition:box-shadow .15s,border-color .15s}
.studio-route-drag{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;min-height:46px;padding:0;border:0;border-radius:8px;background:transparent;color:#879b91;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.studio-route-drag:hover,.studio-route-drag:focus-visible{color:#176f53;background:#edf5ef}
.studio-route-settings-row.is-dragging{position:relative;z-index:2;border-color:#328667;background:#f3faf5;box-shadow:0 7px 20px #1b5b4020;user-select:none}
.studio-route-settings-row.is-dragging .studio-route-drag{color:#176f53;cursor:grabbing;background:#e0efe5}
.studio-route-settings-title{color:#234b41;font-size:16px}
.studio-route-settings-row[data-selected=false] .studio-route-drag{color:#a0aea7}
.studio-route-settings-footer{position:sticky;bottom:0;padding:14px 0 4px;background:var(--surface,#fff);border-top:1px solid #e5ece7;z-index:3}
.studio-route-settings .studio-route-order-move{width:36px;min-width:36px;border-color:transparent;background:transparent;color:#678577}
.studio-route-settings .studio-route-order-move:hover:not(:disabled){background:#edf5ef;color:#176f53}
@media(max-width:600px){.studio-route-settings-row{padding:7px 8px 7px 0;gap:4px}.studio-route-drag{flex-basis:36px;width:36px}.studio-route-mode-label{gap:7px}.studio-route-settings-title{font-size:15px}.studio-route-settings .studio-route-order-move{width:32px;min-width:32px;min-height:44px}.studio-route-settings-footer{padding-bottom:max(4px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.studio-route-settings-row{transition:none}}
.studio-route-settings-footer [data-route-order-save]{background:#176f53;border-color:#176f53;color:#fff;min-width:112px;border-radius:10px}
.studio-route-settings-footer [data-route-order-save]:hover{background:#105b43}

/* Quiet, readable daily cards. Shared spacing keeps both cards aligned. */
body.has-learning-studio #library-view .library-heading > :is(.home-curiosity,.daily-quote){position:relative;padding:24px 28px 20px;border:1px solid #dbe5dc;border-radius:20px;box-shadow:0 3px 16px #244b3d05}
body.has-learning-studio #library-view .library-heading > .home-curiosity{background:#fcfaf3;border-color:#e5dfcf}
body.has-learning-studio #library-view .library-heading > .daily-quote{background:#fff}
#library-view .daily-learning-heading{position:relative;min-height:62px;gap:8px;padding:0 36px 16px 0;border-bottom:1px solid #dfe7df;box-sizing:border-box}
#library-view .daily-learning-heading :is(.curiosity-kicker,h2){font-size:15px;font-weight:650;color:#36574a}
#library-view .daily-learning-heading :is(.curiosity-language,.quote-language){padding:3px 9px;border-color:#d4dfd4;background:#f4f8f2;font-size:12px;color:#4c6556}
#library-view .library-heading > .home-curiosity .daily-learning-heading .curiosity-topic{min-height:40px;max-width:160px;margin:0 0 0 auto;padding:7px 26px 7px 10px;border-color:#c6d3c8;border-radius:8px;background-color:#fff;font-size:14px;line-height:1.5}
#library-view .daily-learning-heading > details{position:absolute;inset-inline-end:-8px;top:-2px;width:36px;height:40px;margin:0}
#library-view .daily-learning-heading summary{position:static;width:36px;height:40px;min-height:40px;color:#607569}
#library-view .daily-learning-heading :is(.curiosity-note,.quote-source-content){top:44px;font-size:13px}
#library-view .daily-learning-content{min-height:300px;padding:24px 0;text-align:center}
#library-view .library-heading > .home-curiosity .curiosity-paper{min-height:300px;padding:24px 0}
#library-view .curiosity-content{display:grid;align-content:center;justify-items:center;width:100%}
#library-view .library-heading > .home-curiosity .curiosity-prompt{width:100%;max-width:34rem;margin-inline:auto}
#library-view .library-heading > .home-curiosity h2,
body.has-learning-studio #library-view .daily-quote .outro-quote,
#library-view .curiosity-answer .curiosity-expression{max-width:32ch;margin-inline:auto;font-size:clamp(23px,1.65vw,28px);font-weight:600;line-height:1.65;letter-spacing:-.02em;color:#193f35;text-wrap:pretty}
#library-view .library-heading > .home-curiosity h2[data-prompt-size='medium']{font-size:clamp(22px,1.55vw,26px)}
#library-view .library-heading > .home-curiosity h2[data-prompt-size='long']{font-size:clamp(21px,1.45vw,24px);line-height:1.7}
#library-view .curiosity-answer{width:100%;max-width:38rem}
#library-view :is(.curiosity-meaning,.daily-quote .quote-meaning){max-width:44ch;margin:14px auto 0;font-size:18px;font-weight:500;line-height:1.75;color:#354f43}
#library-view :is(.curiosity-reading-line,.quote-sentence-ipa){max-width:48ch;margin:12px auto 0;font-size:16px;line-height:1.8;color:#536b5e}
#library-view .curiosity-reading-label{font-size:13px}
#library-view :is(.curiosity-audio-controls,.quote-audio){gap:8px;margin-top:18px}
#library-view :is(.curiosity-audio-controls,.quote-audio) button{min-height:44px;padding:10px 16px;border-radius:10px;font-size:15px;font-weight:600}
#library-view [data-quote-voice]{padding:5px 8px;background:transparent;font-size:13px;color:#536b5e}
#library-view .curiosity-audio-status:empty{display:none}
#library-view .quote-vocabulary{box-sizing:border-box;margin-top:22px;padding:14px 16px;border:1px solid #e0e8df;border-radius:12px;background:#f6f9f4}
#library-view .quote-vocabulary h3{margin:0 0 12px;font-size:14px;font-weight:650;line-height:1.5;color:#4b6555}
#library-view .quote-vocabulary dl{gap:16px;padding:0;border:0}
#library-view .quote-vocabulary dt{font-size:16px;font-weight:600;line-height:1.5;color:#244a3b}
#library-view .quote-vocabulary dd{margin-top:5px;font-size:14px;line-height:1.65;color:#4c6556}
#library-view .daily-learning-actions{min-height:44px;padding-top:14px;border-color:#dfe7df}
#library-view .daily-learning-actions button{min-height:44px;padding:10px 14px;border-radius:10px;font-size:15px}
#library-view .daily-learning-actions .curiosity-reveal{min-width:108px}
#library-view .daily-learning-actions :is(.curiosity-next,[data-quote-next]){background:transparent;color:#34604c}
body.has-learning-studio #library-view .daily-quote .banner-quote-reference{padding:0;font-size:12px;line-height:1.6;color:#607367}
@media(max-width:650px){
 body.has-learning-studio #library-view .library-heading > :is(.home-curiosity,.daily-quote){padding:20px;border-radius:18px}
 #library-view .daily-learning-heading{gap:8px;padding-bottom:14px}
 #library-view .library-heading > .home-curiosity .daily-learning-heading .curiosity-topic{flex:0 0 100%;max-width:100%;margin:4px 0 0}
 #library-view .daily-learning-content,#library-view .library-heading > .home-curiosity .curiosity-paper{min-height:240px;padding:24px 0}
 #library-view .library-heading > .home-curiosity h2,body.has-learning-studio #library-view .daily-quote .outro-quote,#library-view .curiosity-answer .curiosity-expression{font-size:23px;line-height:1.65}
 #library-view :is(.curiosity-meaning,.daily-quote .quote-meaning){font-size:17px}
 #library-view :is(.curiosity-reading-line,.quote-sentence-ipa){font-size:15px}
 #library-view .quote-vocabulary{padding:14px}
 #library-view .quote-vocabulary dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 #library-view .daily-learning-actions{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px}
 #library-view .daily-learning-actions > .curiosity-reveal{grid-column:2;justify-self:center;min-width:96px;padding-inline:10px}
 #library-view .daily-learning-actions > .curiosity-next{grid-column:3;justify-self:end;padding-inline:0;font-size:13px}
 #library-view .daily-learning-actions > [data-quote-next]{grid-column:2}
 #library-view .daily-learning-actions button{font-size:14px}
}
@media(max-width:380px){#library-view .quote-vocabulary dl{grid-template-columns:1fr}#library-view .daily-learning-actions > .curiosity-reveal{grid-column:1 / -1}#library-view .daily-learning-actions > .curiosity-next{grid-column:1 / -1;justify-self:center}}
[data-theme='dark'] body.has-learning-studio #library-view .library-heading > :is(.home-curiosity,.daily-quote){background:#22362c;border-color:#4b6051;box-shadow:none}
[data-theme='dark'] #library-view .daily-learning-heading,[data-theme='dark'] #library-view .daily-learning-actions{border-color:#496151}
[data-theme='dark'] #library-view .library-heading > .home-curiosity h2,[data-theme='dark'] body.has-learning-studio #library-view .daily-quote .outro-quote,[data-theme='dark'] #library-view .curiosity-answer .curiosity-expression{color:#e2efe3}
[data-theme='dark'] #library-view :is(.curiosity-meaning,.daily-quote .quote-meaning,.curiosity-reading-line,.quote-sentence-ipa,.daily-learning-heading .curiosity-kicker,.daily-learning-heading h2,[data-quote-voice]){color:#c8decd}
[data-theme='dark'] #library-view .daily-learning-heading :is(.curiosity-language,.quote-language,.curiosity-topic){background:#2b4232;border-color:#58725f;color:#d5e7d7}
[data-theme='dark'] #library-view .quote-vocabulary{background:#2a4031;border-color:#496151}
[data-theme='dark'] #library-view .quote-vocabulary :is(h3,dt,dd),[data-theme='dark'] #library-view .daily-learning-actions :is(.curiosity-next,[data-quote-next]){color:#c8decd}
[data-theme='dark'] #library-view .quote-vocabulary dl > div + div{border-color:#496151}

/* pinelingo-system.css */
/* PineLingo design system — single source of truth.
   Loaded LAST on every page so it settles the many legacy layers
   (styles.css, redesign.css, *-polish-v2xx.css …) into one consistent look. */
:root{
  --pl-font:'Pretendard','Noto Sans KR',system-ui,-apple-system,'Segoe UI',sans-serif;
  --pl-bg:#f6f5ef;
  --pl-surface:#ffffff;
  --pl-surface-2:#fbfaf6;
  --pl-soft:#eef3ee;
  --pl-ink:#1c2b26;
  --pl-muted:#5d6d66;
  --pl-line:#e2e6df;
  --pl-line-strong:#c9d3cc;
  --pl-pine:#1b6b52;
  --pl-pine-dark:#0f4a38;
  --pl-pine-soft:#e4f1ea;
  --pl-accent:#d7ef82;
  --pl-gold:#f2b84b;
  --pl-danger:#b42318;
  --pl-danger-soft:#fdecea;
  --pl-focus:rgba(27,107,82,.22);
  --pl-radius:14px;
  --pl-radius-lg:20px;
  --pl-shadow:0 1px 2px rgba(20,40,32,.04),0 8px 24px rgba(20,40,32,.06);
  --pl-shadow-hover:0 2px 4px rgba(20,40,32,.05),0 14px 34px rgba(20,40,32,.10);
  --pl-ease:cubic-bezier(.2,.7,.2,1);
}
:root[data-theme=dark]{
  --pl-bg:#0f1a17;--pl-surface:#16241f;--pl-surface-2:#1a2b25;--pl-soft:#1f322b;--pl-ink:#e6eeea;--pl-muted:#a9bdb4;
  --pl-line:#2c4239;--pl-line-strong:#3d574c;--pl-pine:#8fd1ae;--pl-pine-dark:#b6e3c9;--pl-pine-soft:#1f3a2f;
  --pl-danger:#ffb4a8;--pl-danger-soft:#3a1d19;--pl-focus:rgba(143,209,174,.25);
  --pl-shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.25);--pl-shadow-hover:0 2px 4px rgba(0,0,0,.3),0 14px 34px rgba(0,0,0,.35);
}

/* 2026-10-18: text links on standalone pages get finger-sized tap areas */
.back,a.back,.linkish,.switch a,.forgot,.auth-links a{display:inline-flex;align-items:center;min-height:40px}.forgot a,[data-switch],.auth-back,.auth-switch a,a.back-link{display:inline-flex;align-items:center;min-height:40px}
html:lang(ko) body{word-break:keep-all;overflow-wrap:break-word}

/* pinelingo-polish.css */
/* PineLingo polish layer (loaded after every legacy stylesheet).
   1) maps legacy tokens onto the design system so every view shares one palette
   2) settles key components: header, home cards, studio, buttons, focus. */

/* ---------- 1. one palette everywhere ---------- */
:root:not([data-theme]),:root[data-theme=light]{
  --paper:var(--pl-bg);--surface:var(--pl-surface);--ink:var(--pl-ink);--reading-ink:var(--pl-ink);--muted:var(--pl-muted);
  --line:var(--pl-line);--soft:var(--pl-soft);--active:var(--pl-pine-soft);--pine:var(--pl-pine);--pine-dark:var(--pl-pine-dark);
}
:root[data-theme=dark]{--paper:var(--pl-bg);--surface:var(--pl-surface);--line:var(--pl-line);--soft:var(--pl-soft)}
html,body{background:var(--pl-bg)}
body{font-family:var(--pl-font);color:var(--pl-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.has-learning-studio,#studio-view,.learning-studio,[data-studio-workspace]{background:var(--pl-bg)}
::selection{background:var(--pl-accent);color:var(--pl-pine-dark)}

/* ---------- 2. controls ---------- */
.primary-button{background:var(--pl-pine);border-color:var(--pl-pine);color:#fff;border-radius:12px;font-weight:700;
  transition:background .15s var(--pl-ease),transform .15s var(--pl-ease),box-shadow .15s var(--pl-ease)}
.primary-button:hover:not(:disabled){background:var(--pl-pine-dark);box-shadow:0 6px 16px rgba(15,74,56,.18)}
.primary-button:active:not(:disabled){transform:translateY(1px)}
.secondary-button{border-radius:12px;border-color:var(--pl-line-strong);background:var(--pl-surface);transition:background .15s,border-color .15s}
.secondary-button:hover:not(:disabled){background:var(--pl-soft);border-color:var(--pl-pine)}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--pl-pine);outline-offset:2px;box-shadow:0 0 0 6px var(--pl-focus)}
select{border-radius:12px}

/* ---------- header ---------- */
.site-header{background:transparent;border-bottom:0}
.site-utility-nav{gap:4px}
.site-utility-nav .nav-button{border-radius:10px;color:var(--pl-ink);font-weight:600}
.site-utility-nav .nav-button:hover{background:var(--pl-soft);color:var(--pl-pine)}
.pl-auth-actions{display:flex;align-items:center;gap:8px;margin-left:6px}
.pl-auth-actions a{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s}
.pl-auth-login{color:var(--pl-ink)}
.pl-auth-login:hover{background:var(--pl-soft);color:var(--pl-pine)}
.pl-auth-signup{background:var(--pl-pine);color:#fff}
.pl-auth-signup:hover{background:var(--pl-pine-dark);box-shadow:0 6px 16px rgba(15,74,56,.2)}
.pl-plan-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;background:linear-gradient(135deg,#fff3cf,#fde3a0);color:#7a4b00;font-size:12px;font-weight:800;letter-spacing:.2px}
.pl-upgrade{color:#8a5a00!important}.pl-upgrade:hover{background:#fff4d6!important}
.pl-plan-badge{text-decoration:none}
.site-header>.pl-auth-row{grid-column:1/-1;grid-row:auto;justify-self:stretch;justify-content:flex-end;margin:0;padding:0 4px}
.site-header>.pl-auth-row:empty{display:none}
@media (max-width:640px){.pl-auth-actions a{min-height:36px;padding:0 14px;font-size:13px}}

/* ---------- home: daily cards ---------- */
.home-curiosity,.daily-quote,.home-daily-quote{border-radius:var(--pl-radius-lg);border:1px solid var(--pl-line);box-shadow:var(--pl-shadow)}
.home-curiosity{background:linear-gradient(180deg,#fffdf6 0%,#fbf7ea 100%);min-height:0!important;height:auto!important}
/* The quiz card used to stretch to the quote card's height and leave a large void. */
.home-curiosity [data-curiosity-stage],.home-curiosity .curiosity-stage,.home-curiosity .curiosity-body{min-height:240px!important;display:grid;place-content:center;text-align:center}
.curiosity-reveal,.curiosity-next{border-radius:12px}

/* ---------- home: learning entry cards ---------- */
.studio-learning-entries{gap:16px}
.studio-learning-entry{border-radius:var(--pl-radius-lg)!important;border:1px solid var(--pl-line)!important;background:var(--pl-surface)!important;box-shadow:var(--pl-shadow);
  transition:transform .2s var(--pl-ease),box-shadow .2s var(--pl-ease),border-color .2s var(--pl-ease)}
.studio-learning-entry:hover{transform:translateY(-2px);box-shadow:var(--pl-shadow-hover);border-color:var(--pl-line-strong)!important}
.studio-learning-entry img,.studio-learning-entry svg:first-child{border-radius:22px;background:var(--pl-pine-soft);padding:6px}
.studio-learning-entry:hover [class*=arrow],.studio-learning-entry:hover svg:last-child{transform:translateX(3px)}
.studio-learning-entry [class*=arrow],.studio-learning-entry svg:last-child{transition:transform .2s var(--pl-ease)}
@media (prefers-reduced-motion:reduce){.studio-learning-entry,.studio-learning-entry *{transition:none!important;transform:none!important}}

/* ---------- studio ---------- */
.studio-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;margin-bottom:14px;border:1px solid var(--pl-line);border-radius:var(--pl-radius);background:var(--pl-surface);box-shadow:var(--pl-shadow)}
.studio-toolbar .studio-route-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:1 1 auto}
.studio-toolbar button,.studio-toolbar summary{border-radius:10px}
.studio-automatic,.studio-exercise .studio-task,.studio-exercise .studio-prompt,.studio-answer,.studio-empty{border-radius:var(--pl-radius-lg);border-color:var(--pl-line)}
.studio-automatic{box-shadow:var(--pl-shadow)}
.studio-exercise .studio-task{box-shadow:var(--pl-shadow)}
/* Countdown keeps its space; it fades instead of being inserted/removed. */
[data-study-countdown]{min-height:28px;transition:opacity .2s var(--pl-ease)}
[data-study-countdown][data-idle=true]{opacity:0;pointer-events:none}
.studio-progress progress{accent-color:var(--pl-pine);height:8px;border-radius:999px}
.studio-phrase{letter-spacing:-.2px}
.studio-choice{border-radius:14px;transition:border-color .15s,background .15s,transform .15s}
.studio-choice:hover{border-color:var(--pl-pine);background:var(--pl-pine-soft)}
.studio-signin{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;min-height:44px;padding:0 20px;text-decoration:none}

/* ---------- small noise removal ---------- */
.language-pair-readiness:empty,.language-pair-readiness-details:has(p:empty){display:none}
[data-location-unknown=true]{display:none!important}

/* ---------- plan: free-time pill, paywall dialog, locked lessons ---------- */
.pl-quota-pill{position:fixed;right:16px;bottom:calc(16px + var(--audio-bar-height,0px));z-index:60;display:inline-flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border-radius:999px;background:var(--pl-surface);border:1px solid var(--pl-line);box-shadow:var(--pl-shadow);color:var(--pl-ink);font-size:13px;font-weight:600;text-decoration:none;font-variant-numeric:tabular-nums}
.pl-quota-pill strong{padding:5px 11px;border-radius:999px;background:linear-gradient(135deg,#fff3cf,#fde3a0);color:#7a4b00;font-size:12px}
.pl-quota-pill[data-low=true]{border-color:#f2b84b;background:#fffaf0}
.pl-quota-pill:hover{box-shadow:var(--pl-shadow-hover)}
@media (max-width:640px){.pl-quota-pill{left:12px;right:12px;justify-content:space-between;bottom:calc(12px + var(--audio-bar-height,0px))}}
.pl-paywall{border:0;padding:0;border-radius:24px;width:min(440px,calc(100vw - 32px));box-shadow:0 30px 80px rgba(0,0,0,.28);background:var(--pl-surface);color:var(--pl-ink)}
.pl-paywall::backdrop{background:rgba(12,30,24,.55);backdrop-filter:blur(2px)}
.pl-paywall-card{padding:30px 28px 24px;text-align:center}
.pl-paywall-mark{width:64px;height:64px;margin:0 auto 14px;display:grid;place-items:center;border-radius:20px;background:var(--pl-pine-soft);font-size:30px}
.pl-paywall h2{margin:0 0 10px;font-size:21px;letter-spacing:-.3px;line-height:1.35}
.pl-paywall-body{margin:0 0 8px;color:var(--pl-muted);line-height:1.6}
.pl-paywall-note{margin:0 0 4px;color:var(--pl-pine);font-size:14px;font-weight:600}
.pl-paywall-actions{display:grid;gap:10px;margin-top:20px}
.pl-paywall-actions a,.pl-paywall-actions button{display:flex;align-items:center;justify-content:center;min-height:50px;border-radius:14px;font:inherit;font-weight:800;text-decoration:none;cursor:pointer}
.pl-paywall-primary{background:var(--pl-pine);color:#fff}.pl-paywall-primary:hover{background:var(--pl-pine-dark)}
.pl-paywall-signup{border:1px solid var(--pl-pine);color:var(--pl-pine);background:var(--pl-surface)}
.pl-paywall-secondary{border:0;background:transparent;color:var(--pl-muted)}.pl-paywall-secondary:hover{color:var(--pl-ink)}
.pl-lock-badge{display:inline-flex;align-items:center;gap:3px;margin-left:6px;padding:2px 8px;border-radius:999px;background:#fff4d6;color:#7a4b00;font-size:11px;font-weight:800;vertical-align:middle}
.library-card.is-locked .library-open h2,.library-card.is-locked .library-open p{opacity:.72}

/* 2026-10-18: 무료 남은 시간은 모든 화면에서 보이고, 학습 중에는 위쪽 가운데에 표시 */
.pl-quota-pill span{font-variant-numeric:tabular-nums}
.pl-quota-pill[data-live=true]::before{content:"";width:8px;height:8px;border-radius:50%;background:#e0892b;box-shadow:0 0 0 0 rgba(224,137,43,.5);animation:pl-quota-tick 1.4s ease-out infinite}
.pl-quota-pill[data-low=true]{animation:pl-quota-pulse 1.6s ease-in-out infinite}
.pl-quota-pill[data-empty=true] strong{background:linear-gradient(135deg,#1b6b52,#2f8f6d);color:#fff}
body.ac-open .pl-quota-pill{z-index:85;top:calc(58px + env(safe-area-inset-top));bottom:auto;left:50%;right:auto;transform:translateX(-50%);padding:5px 5px 5px 12px;font-size:12.5px;box-shadow:0 6px 18px rgba(20,50,40,.12)}
@keyframes pl-quota-tick{to{box-shadow:0 0 0 7px rgba(224,137,43,0)}}
@keyframes pl-quota-pulse{50%{box-shadow:0 0 0 4px rgba(242,184,75,.35)}}
@media (max-width:640px){body.ac-open .pl-quota-pill{left:50%;right:auto;justify-content:center}}
@media (prefers-reduced-motion:reduce){.pl-quota-pill,.pl-quota-pill::before{animation:none!important}}
/* free plan: room for the allowance pill above the lesson */
body.pl-free.ac-open .ac-main{padding-top:40px}
body.pl-free.ac-open .ac-stage-banner{top:124px}

.pl-paywall-perks{list-style:none;margin:4px 0 6px;padding:12px 14px;border-radius:14px;background:#f3f9f5;display:grid;gap:6px;text-align:left}
.pl-paywall-perks li{position:relative;padding-left:24px;font-size:14px;font-weight:700;color:#1c3b31}
.pl-paywall-perks li::before{content:'✓';position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;background:#1b6b52;color:#fff;font-size:11px;display:grid;place-items:center}

/* Headings focused programmatically (tabindex=-1) for screen readers should not show a box. */
[tabindex="-1"]:focus:not(:focus-visible){outline:none;box-shadow:none}

/* The finish screen shows today's remaining time in its Premium card: hide the floating pill there. */
body.ac-open:has(.ac>.ac-done) .pl-quota-pill{display:none}

/* ai-tutor.css */
/* AI 선생님 chat: full-screen layer; only the message list scrolls. */
body.tutor-open{overflow:hidden}
.tutor{position:fixed;inset:0;z-index:85;display:grid;grid-template-rows:auto auto 1fr auto auto;background:radial-gradient(120% 70% at 50% 0%,#eaf1fd 0%,var(--pl-bg,#f6f5ef) 55%);color:var(--pl-ink,#1c2b26);font-family:var(--pl-font,system-ui)}
.tutor>*{width:100%;max-width:820px;margin:0 auto;box-sizing:border-box;padding-left:18px;padding-right:18px}
.tutor-top{display:flex;align-items:center;gap:12px;padding-top:14px;padding-bottom:8px}
.tutor-icon{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--pl-line,#e3e8e4);background:var(--pl-surface,#fff);cursor:pointer;font-size:16px}
.tutor-heading{flex:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.tutor-heading h1{margin:0;font-size:22px;letter-spacing:-.4px}
.tutor-badge{display:inline-grid;place-items:center;height:22px;padding:0 6px;border-radius:6px;background:linear-gradient(135deg,#3b6fd8,#1b6b52);color:#fff;font-size:11px;font-weight:800}
.tutor-sub{font-size:13px;color:var(--pl-muted)}
.tutor-reset{border:1px solid var(--pl-line);background:var(--pl-surface,#fff);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;font-weight:700;color:var(--pl-muted);cursor:pointer}
.tutor-bar{display:flex;align-items:center;gap:8px;padding-bottom:8px}
.tutor-modes{flex:1;display:flex;gap:4px;padding:4px;border-radius:12px;background:var(--pl-soft,#eef2f0);overflow-x:auto}
.tutor-mode{flex:1;min-height:34px;padding:0 10px;border:0;border-radius:9px;background:transparent;font:inherit;font-size:13.5px;font-weight:700;color:var(--pl-muted);cursor:pointer;white-space:nowrap}
.tutor-mode[aria-checked=true]{background:var(--pl-surface,#fff);color:#2f5fb8;box-shadow:0 1px 4px rgba(0,0,0,.1)}
.tutor-log{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-top:6px;padding-bottom:10px}
.tutor-msg{max-width:82%;display:flex;flex-direction:column;gap:4px}
.tutor-msg p{margin:0;padding:10px 14px;border-radius:16px;font-size:15px;line-height:1.55;white-space:pre-wrap;word-break:break-word}
.tutor-assistant{align-self:flex-start}.tutor-assistant p{background:var(--pl-surface,#fff);border:1px solid #dbe6f5;border-top-left-radius:4px}
.tutor-user{align-self:flex-end}.tutor-user p{background:#1b6b52;color:#fff;border-top-right-radius:4px}
.tutor-wait p{color:var(--pl-muted);font-style:italic}
.tutor-error p{border-color:#f3c7b4;background:#fff5f0;color:#9a3b12;font-style:normal}
.tutor-listen{align-self:flex-start;border:0;background:none;padding:0 4px;font:inherit;font-size:12.5px;font-weight:700;color:#2f5fb8;cursor:pointer}
.tutor-starters{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.tutor-starter{border:1px solid #cfdcf2;background:#f5f8fe;color:#2f4a7a;border-radius:999px;padding:7px 12px;font:inherit;font-size:13.5px;cursor:pointer}
.tutor-starter:hover{background:#e8f0fc}
.tutor-form{display:flex;align-items:flex-end;gap:8px;padding-top:8px;padding-bottom:6px}
.tutor-input{flex:1;min-height:46px;max-height:140px;resize:none;padding:12px 14px;border:1px solid var(--pl-line-strong,#cdd8d2);border-radius:14px;font:inherit;font-size:15px;background:var(--pl-surface,#fff);color:inherit;field-sizing:content}
.tutor-input:focus{outline:none;border-color:#2f5fb8;box-shadow:0 0 0 3px rgba(47,95,184,.15)}
.tutor-send{min-height:46px;padding:0 18px;border:0;border-radius:14px;background:#2f5fb8;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.tutor-mic{width:46px;height:46px;border:1px solid var(--pl-line);border-radius:14px;background:var(--pl-surface,#fff);font-size:18px;cursor:pointer}
.tutor-mic[data-on=true]{background:#fde8e8;border-color:#f0b4b4}
.tutor-note{margin:0;padding-bottom:12px;font-size:12px;color:var(--pl-muted);text-align:center}
@media (max-width:640px){.tutor-sub{display:none}.tutor-msg{max-width:92%}.tutor-bar{flex-wrap:wrap}}

.tutor-upsell{display:inline-flex;margin-top:8px;padding:8px 14px;border-radius:999px;background:linear-gradient(135deg,#f4b740,#e8892b);color:#3b2300;font-weight:800;font-size:13.5px;text-decoration:none}
.tutor-upsell:hover{box-shadow:0 6px 14px rgba(232,137,43,.25)}

/* 2026-10-23 시안 조합: 얼굴·도구·칩·카드·교정·단어 뜻·추천 답·칭찬·대화 정리·통화 화면 */
.tutor-face{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff6e0;font-size:24px;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.tutor-tools{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.tutor-timer{flex:none;font-weight:800;font-size:13.5px;color:#4a3d8f;background:#efeafd;border-radius:999px;padding:5px 10px}
.tutor-bar{flex-direction:column;align-items:stretch}
.tutor-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.tutor-levels{display:flex;gap:4px;flex-wrap:wrap}
.tutor-chip{min-height:32px!important;padding:0 11px!important;border:1px solid var(--pl-line,#e3e8e4);border-radius:999px;background:var(--pl-surface,#fff);font:inherit;font-size:13px!important;font-weight:700;color:var(--pl-muted);cursor:pointer}
.tutor-chip[aria-checked=true],.tutor-gear[aria-expanded=true]{background:#2f5fb8;border-color:#2f5fb8;color:#fff}
.tutor-gear{margin-left:auto}
.tutor-select{min-height:34px;border:1px solid var(--pl-line);border-radius:10px;padding:0 8px;font:inherit;font-size:13.5px;background:var(--pl-surface,#fff);color:inherit}
.tutor-exam,.tutor-second{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px;font-weight:700}
.tutor-exam small,.tutor-second small{flex-basis:100%;font-weight:400;color:var(--pl-muted);font-size:12px}
.tutor-settings{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:14px;background:var(--pl-soft,#eef2f0)}
.tutor-card{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:16px;background:var(--pl-surface,#fff);border:1px solid #e3e9f3;max-width:520px}
.tutor-card small{color:var(--pl-muted);font-size:12.5px}
.tutor-card strong{font-size:15px}
.tutor-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.tutor-tile{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px!important;min-height:auto!important;border:1px solid var(--pl-line,#e3e8e4);border-radius:14px;background:var(--pl-surface,#fff);font:inherit;color:inherit;cursor:pointer;text-align:center}
.tutor-tile[aria-pressed=true]{border-color:#2f5fb8;background:#eef4ff;box-shadow:0 0 0 2px rgba(47,95,184,.2)}
.tutor-tile-face{font-size:26px}.tutor-tile b{font-size:13px}.tutor-tile small{font-size:11px;color:var(--pl-muted);line-height:1.3}
.tutor-topic{background:#f3f8ff;border-color:#cfdcf2}.tutor-bed,.tutor-bed-end{background:#f5f1fe;border-color:#ddd2fb}.tutor-memo{background:#fffbea;border-color:#f3e3a6}
.tutor-go{align-self:flex-start;min-height:34px!important;padding:0 14px!important;border:0;border-radius:999px;background:#2f5fb8;color:#fff;font:inherit;font-size:13.5px!important;font-weight:800;cursor:pointer}
.tutor-go:disabled{background:#9fb4d9;cursor:default}
.tutor-memo-row{display:flex;align-items:center;gap:8px;justify-content:space-between;font-size:14px}
.tutor-memo-del{border:0;background:none;color:var(--pl-muted);cursor:pointer;font-size:14px;min-height:auto!important;padding:2px 6px!important}
.tutor-fix{display:flex;flex-direction:column;gap:2px;padding:9px 13px;border-radius:14px;background:#fff8d9;border:1px solid #f1df8f;font-size:14px}
.tutor-fix b{color:#6b4f00}.tutor-fix span{font-size:12.5px;color:#7a6520}
.tutor-lang{align-self:flex-start;font-size:11.5px;font-weight:800;color:#2f5fb8;background:#eef4ff;border-radius:999px;padding:2px 8px}
.tutor-word{display:inline;border:0;padding:0 1px!important;min-height:auto!important;background:none;font:inherit;color:inherit;text-decoration:underline dotted #2f5fb8 2px;text-underline-offset:3px;cursor:pointer}
.tutor-tools-row{display:flex;gap:10px;flex-wrap:wrap}
.tutor-msg p.tutor-reveal{background:#f1f6ff;border:1px dashed #b9cdf0;font-size:14px;color:#24406f}
.tutor-msg p.tutor-voice-note{font-size:12.5px;color:var(--pl-muted);padding:2px 4px}
.tutor-suggest{display:flex;flex-wrap:wrap;gap:6px}
.tutor-clap{align-self:flex-end;font-size:12.5px;font-weight:800;color:#b5651d;animation:tutor-pop .5s ease-out}
@keyframes tutor-pop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}
.tutor-summary{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:18px;background:var(--pl-surface,#fff);border:1px solid #cfe3d8;box-shadow:0 4px 14px rgba(0,0,0,.05)}
.tutor-summary h3{margin:0;font-size:17px}
.tutor-sum-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.tutor-sum-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.tutor-sum-chip{font-size:12.5px;background:#eef4ff;border-radius:999px;padding:3px 9px}
.tutor-sum-fix{font-size:13.5px;margin-top:3px}.tutor-sum-fix s{color:#a05a3c}.tutor-sum-fix span{color:#1b6b52;font-weight:700}
.tutor-sum-head{font-size:14px;margin-top:4px}
.tutor-score{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:8px;font-size:13.5px}
.tutor-score-bar{display:flex;gap:3px}.tutor-score-bar i{flex:1;height:10px;border-radius:3px;background:#e4e9e6}.tutor-score-bar i.on{background:#1b6b52}
.tutor-score small{color:var(--pl-muted)}
.tutor-sum-comment{margin:0;font-size:14px;line-height:1.55}
.tutor-wait-card{color:var(--pl-muted);font-style:italic}.tutor-error-card{border-color:#f3c7b4;background:#fff5f0;color:#9a3b12}
.tutor>.tutor-call{position:absolute;inset:0;z-index:2;max-width:none;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px 18px;background:linear-gradient(180deg,#1d2f4f,#16324a);color:#fff;text-align:center}
.tutor-call h2{margin:0;font-size:22px}
.tutor-call-face{display:grid;place-items:center;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.12);font-size:64px}
.tutor-call-face[data-status=listening]{animation:tutor-ring 1.4s ease-out infinite}
@keyframes tutor-ring{0%{box-shadow:0 0 0 0 rgba(120,200,255,.5)}100%{box-shadow:0 0 0 26px rgba(120,200,255,0)}}
.tutor-call-status{margin:0;font-size:15px;opacity:.85}
.tutor-call-caption{margin:0;max-width:520px;font-size:17px;line-height:1.55;background:rgba(255,255,255,.1);padding:10px 14px;border-radius:14px;white-space:pre-wrap}
.tutor-call-note{margin:0;font-size:13px;color:#ffd9a8;max-width:420px}
.tutor-call-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:8px}
.tutor-call-go,.tutor-call-end{min-height:48px!important;padding:0 22px!important;border:0;border-radius:999px;font:inherit;font-size:15px!important;font-weight:800;cursor:pointer}
.tutor-call-go{background:#2fae6f;color:#fff}.tutor-call-end{background:#e0504a;color:#fff}
@media (prefers-reduced-motion:reduce){.tutor-clap,.tutor-call-face{animation:none!important}}
@media (max-width:640px){.tutor-top{flex-wrap:wrap}.tutor-tools{flex-basis:100%;justify-content:flex-start}.tutor-face{width:36px;height:36px;font-size:20px}.tutor-tile small{display:none}.tutor-mode{font-size:12.5px;padding:0 8px}}
html[data-theme=dark] .tutor{background:radial-gradient(120% 70% at 50% 0%,#1b2740 0%,var(--pl-bg,#111a17) 55%)}
html[data-theme=dark] .tutor-card,html[data-theme=dark] .tutor-summary,html[data-theme=dark] .tutor-tile,html[data-theme=dark] .tutor-assistant p{background:#1b2622;border-color:#2c3d36;color:#e6efea}
html[data-theme=dark] .tutor-topic{background:#18243a}html[data-theme=dark] .tutor-bed,html[data-theme=dark] .tutor-bed-end{background:#221d36}html[data-theme=dark] .tutor-memo{background:#2a2614}
html[data-theme=dark] .tutor-fix{background:#2d2712;border-color:#5a4c1c}html[data-theme=dark] .tutor-fix b,html[data-theme=dark] .tutor-fix span{color:#f3df9a}
html[data-theme=dark] .tutor-msg p.tutor-reveal{background:#16233a;border-color:#2f4a78;color:#cfe0ff}
html[data-theme=dark] .tutor-tile[aria-pressed=true]{background:#1c2c4a}html[data-theme=dark] .tutor-sum-chip,html[data-theme=dark] .tutor-lang{background:#1c2c4a;color:#cfe0ff}
html[data-theme=dark] .tutor-face{background:#2f2a1a}

/* 2차 시안(2026-10-23): 대화 시간·도장·켜고 끄는 칩·동물 선생님·시작 카드 묶음·미션·다른 표현·새 단어·써 볼 단어·따라 말하기·퀴즈·레벨 진단 */
.tutor-stats{display:inline-flex;gap:4px;flex-wrap:wrap}
.tutor-stat{font-size:12px;font-weight:800;border-radius:999px;padding:3px 8px;background:#eef4ff;color:#2f5fb8;white-space:nowrap}
.tutor-stat-stamp{background:#fff1e6;color:#b5521d}
.tutor-chip[aria-pressed=true]{background:#e9f6ef;border-color:#1b6b52;color:#1b6b52}
.tutor-tiles-4{grid-template-columns:repeat(4,1fr)}.tutor-tiles-2{grid-template-columns:repeat(2,1fr)}
.tutor-tile-sm{padding:8px 4px!important}.tutor-tile-sm .tutor-tile-face{font-size:22px}
.tutor-personas>small{margin-top:4px}
.tutor-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:640px}
.tutor-cards .tutor-card{max-width:none}
.tutor-cards .tutor-interests{grid-column:1/-1}
.tutor-question{background:#fff7ef;border-color:#f6d9bd}.tutor-mission-card{background:#fff4f1;border-color:#f6cdbf}.tutor-mood{background:#f4fbf6;border-color:#cfe9d9}
.tutor-travel{background:#eefaf9;border-color:#c4e7e3}.tutor-interview{background:#f5f5f7;border-color:#dedee6}.tutor-interests{background:#f8f6ff;border-color:#e0d8fb}
.tutor-chips{display:flex;flex-wrap:wrap;gap:5px}
.tutor-steps{display:flex;flex-wrap:wrap;gap:4px 10px;margin:0;padding:0;list-style:none;font-size:13px;font-weight:700;color:var(--pl-muted)}
.tutor-steps li+li::before{content:'→ ';color:#9aa8a2}
.tutor-steps li.now{color:#2f5fb8}.tutor-steps li.done{color:#1b6b52}.tutor-steps li.done::after{content:' ✓'}
.tutor-mission{align-self:stretch;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:9px 13px;border-radius:14px;background:#fff4f1;border:1px solid #f6cdbf;font-size:14px}
.tutor-mission b{color:#b5421d}.tutor-mission-done{background:#eef9f2;border-color:#bfe3cc}.tutor-mission-done b{color:#1b6b52}
.tutor-mission-win{align-items:flex-start;background:#eef9f2;border-color:#bfe3cc;animation:tutor-pop .5s ease-out}
.tutor-stamp{display:inline-grid;place-items:center;font-size:20px;line-height:1;transform:rotate(-12deg);animation:tutor-pop .5s ease-out}
.tutor-mission-win .tutor-stamp{font-size:34px}
.tutor-alt-open{align-self:flex-end}
.tutor-alts{align-self:stretch;display:flex;flex-direction:column;gap:4px;padding:8px 12px;border-radius:14px;background:#f1f8f4;border:1px solid #cfe6d9}
.tutor-alts small{font-size:12px;color:var(--pl-muted);font-weight:700}
.tutor-alt{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px}
.tutor-word.tutor-new{background:#fff1a8;border-radius:4px;text-decoration-color:#c99a00;box-shadow:0 0 0 1px #f3d65a inset}
.tutor-user .tutor-word.tutor-new{color:#1c2b26}
.tutor-useful{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.tutor-useful-label{font-size:12.5px;font-weight:800;color:#8a6a00}
.tutor-useful-chip{display:inline-flex;align-items:baseline;gap:5px;min-height:32px!important;padding:0 11px!important;border:1px solid #f1df8f;border-radius:999px;background:#fffbe6;font:inherit;font-size:13.5px!important;color:#5a4500;cursor:pointer}
.tutor-useful-chip small{font-size:11.5px;color:#8a7430}
.tutor-auto-note{margin:0;align-self:center;font-size:13px;font-weight:700;color:#2f5fb8;background:#eef4ff;border-radius:999px;padding:5px 12px}
.tutor-msg p.tutor-repeat{font-size:13.5px;background:#f6f6fb;border:1px dashed #c9c9e3;color:#3d3d6b}
.tutor-msg p.tutor-repeat[data-state=good]{background:#eef9f2;border-color:#9fd3b4;color:#1b6b52}
.tutor-msg p.tutor-repeat[data-state=listening]{animation:tutor-blink 1.2s ease-in-out infinite}
@keyframes tutor-blink{50%{opacity:.55}}
.tutor-level-guess{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;background:#eef4ff}
.tutor-level-guess strong{font-size:16px;color:#2f5fb8}.tutor-level-guess small{font-size:12px;color:var(--pl-muted)}
.tutor-sum-actions{display:flex;gap:6px;flex-wrap:wrap}
.tutor-go-soft{background:#eef4ff!important;color:#2f5fb8!important}
.tutor-quiz{align-self:stretch;max-width:520px;background:#fffdf4;border-color:#f1df8f}
.tutor-quiz-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tutor-quiz-opt{min-height:46px!important;padding:6px 10px!important;border:1px solid var(--pl-line,#e3e8e4);border-radius:12px;background:var(--pl-surface,#fff);font:inherit;font-size:15px!important;font-weight:700;color:inherit;cursor:pointer}
.tutor-quiz-opt[data-state=right]{background:#e3f5ea;border-color:#1b6b52;color:#1b6b52}.tutor-quiz-opt[data-state=wrong]{background:#fde8e8;border-color:#e0504a;color:#9a2b26}
.tutor-quiz-feedback{margin:0;font-size:14px;font-weight:800}
@media (prefers-reduced-motion:reduce){.tutor-stamp,.tutor-mission-win,.tutor-msg p.tutor-repeat{animation:none!important}}
@media (max-width:640px){.tutor-cards{grid-template-columns:1fr}.tutor-tiles-4{grid-template-columns:repeat(4,1fr);gap:4px}.tutor-row .tutor-chip{padding:0 9px!important;font-size:12.5px!important}.tutor-stats{flex-basis:100%}}
html[data-theme=dark] .tutor-stat{background:#1c2c4a;color:#cfe0ff}html[data-theme=dark] .tutor-stat-stamp{background:#3a2516;color:#ffcfa8}
html[data-theme=dark] .tutor-chip[aria-pressed=true]{background:#173528;border-color:#3f9a73;color:#bfeed6}
html[data-theme=dark] .tutor-question,html[data-theme=dark] .tutor-mission-card,html[data-theme=dark] .tutor-mission{background:#2e1f1a;border-color:#5a3a2e}
html[data-theme=dark] .tutor-mood,html[data-theme=dark] .tutor-mission-done,html[data-theme=dark] .tutor-mission-win,html[data-theme=dark] .tutor-alts{background:#16291f;border-color:#2f5a44}
html[data-theme=dark] .tutor-travel{background:#142a2a;border-color:#2b5552}html[data-theme=dark] .tutor-interview{background:#1f1f26;border-color:#383844}html[data-theme=dark] .tutor-interests{background:#211d33;border-color:#3d3566}
html[data-theme=dark] .tutor-mission b{color:#ffb79a}html[data-theme=dark] .tutor-mission-done b{color:#9fe0bd}
html[data-theme=dark] .tutor-word.tutor-new{background:#5a4a0c;color:#fff3c0;box-shadow:0 0 0 1px #8a7414 inset}
html[data-theme=dark] .tutor-useful-chip,html[data-theme=dark] .tutor-quiz{background:#2a2614;border-color:#5a4c1c;color:#f3df9a}html[data-theme=dark] .tutor-useful-chip small,html[data-theme=dark] .tutor-useful-label{color:#d9c47a}
html[data-theme=dark] .tutor-auto-note,html[data-theme=dark] .tutor-level-guess,html[data-theme=dark] .tutor-go-soft{background:#1c2c4a!important;color:#cfe0ff!important}
html[data-theme=dark] .tutor-msg p.tutor-repeat{background:#1f1f2e;border-color:#3d3d66;color:#d4d4f5}html[data-theme=dark] .tutor-msg p.tutor-repeat[data-state=good]{background:#16291f;border-color:#2f5a44;color:#9fe0bd}
html[data-theme=dark] .tutor-quiz-opt{background:#1b2622;border-color:#2c3d36;color:#e6efea}html[data-theme=dark] .tutor-quiz-opt[data-state=right]{background:#173528;color:#bfeed6}html[data-theme=dark] .tutor-quiz-opt[data-state=wrong]{background:#3a1c1c;color:#ffc4c0}
/* 2026-10-24 덜어내기: ⋯ 더 보기 안에 설정·시작 카드를 모아 두므로 길면 안에서 스크롤 */
.tutor-settings{max-height:min(58vh,520px);overflow:auto}
.tutor-more-h{font-size:13px;color:var(--pl-muted)}
.tutor-more-note{color:var(--pl-muted)}
.tutor-chip:disabled{opacity:.45;cursor:default}
.tutor-settings .tutor-cards{max-width:none}

/* home-start.css */
/* One "학습하기" button on the home screen + the "어떻게 학습할까요?" chooser. */
.studio-learning-entries.pl-entries-folded{display:none!important}
.pl-start-learning{width:100%;display:flex;align-items:center;gap:16px;min-height:76px;padding:12px 22px;border:0;border-radius:20px;background:linear-gradient(120deg,#1b6b52,#20845c 60%,#2f8f6a);color:#fff;font:inherit;text-align:left;cursor:pointer;box-shadow:0 12px 28px rgba(15,74,56,.22);transition:transform .15s,box-shadow .15s;box-sizing:border-box}
.pl-start-learning:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(15,74,56,.28)}
.pl-start-learning img{flex:none;width:52px;height:52px;border-radius:14px;background:#fff;padding:4px;box-sizing:border-box}
.pl-start-copy{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.pl-start-copy strong{font-size:21px;letter-spacing:-.3px}
.pl-start-copy span{font-size:13.5px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-start-arrow{font-size:24px}
.pl-mode-chooser{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;background:rgba(15,30,25,.42);animation:pl-mode-in .18s ease both}
@keyframes pl-mode-in{from{opacity:0}to{opacity:1}}
.pl-mode-panel{position:relative;width:min(760px,100%);background:var(--pl-surface,#fff);border-radius:24px;padding:26px 26px 24px;box-sizing:border-box;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.25)}
.pl-mode-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:1px solid var(--pl-line,#e3e8e4);background:none;cursor:pointer;font-size:15px}
.pl-mode-badge{display:inline-grid;place-items:center;height:22px;padding:0 6px;border-radius:6px;background:linear-gradient(135deg,#3b6fd8,#1b6b52);color:#fff;font-size:11px;font-weight:800}
.pl-mode-panel h2{margin:8px 0 4px;font-size:26px;letter-spacing:-.5px}
.pl-mode-lead{margin:0 0 18px;color:var(--pl-muted,#5d6d66);font-size:14.5px}
.pl-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pl-mode-card{position:relative;display:grid;grid-template-columns:56px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:16px;border:1.5px solid var(--pl-line,#dfe6e2);border-radius:18px;background:var(--pl-surface,#fff);font:inherit;color:inherit;text-align:left;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}
.pl-mode-card:hover,.pl-mode-card:focus-visible{border-color:var(--pl-pine,#1b6b52);transform:translateY(-1px);box-shadow:0 8px 22px rgba(15,74,56,.12);outline:none}
.pl-mode-card img{grid-row:1/3;width:56px;height:56px}
.pl-mode-card strong{font-size:17px}
.pl-mode-card span{font-size:13px;color:var(--pl-muted,#5d6d66)}
.pl-mode-card[data-mode=general]{border-color:#bfdccb;background:#f4faf6}
.pl-mode-reco{position:absolute;top:10px;right:12px;font-style:normal;font-size:11px;font-weight:800;color:#fff;background:#1b6b52;border-radius:999px;padding:2px 8px}
@media (max-width:560px){.pl-mode-grid{grid-template-columns:1fr}.pl-mode-panel{padding:22px 16px}.pl-start-copy span{display:none}}

/* ── 홈 조합(2026-10-23): 숲 배경(14), 길이 고르기(13), 주간 달력(3)·숫자(15), 인사 영역(12·17·28·8), 큰 글씨(29) ── */
#learning-studio .pl-start-learning{position:relative;overflow:hidden;flex-direction:column!important;align-items:stretch!important;flex-wrap:nowrap!important;height:auto!important;row-gap:12px!important;gap:12px!important}
#learning-studio .pl-start-learning>*{width:100%;box-sizing:border-box}
#learning-studio .pl-start-learning::before{content:'';position:absolute;left:0;right:0;bottom:0;height:76px;pointer-events:none;opacity:.2;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 76'%3E%3Cpath fill='%23fff' d='M0 76V58l12-20 12 20v18zm30 0V50l15-26 15 26v26zm36 0V60l10-16 10 16v16zm26 0V46l17-30 17 30v30zm40 0V56l12-22 12 22v20zm30 0V48l16-28 16 28v28zm38 0V60l10-18 10 18v16z'/%3E%3C/svg%3E") bottom left/240px 76px repeat-x}
#learning-studio .pl-start-learning>*{position:relative;z-index:1}
/* 2026-10-24 사장님 지시: 단추 아래 뾰족한 나무 실루엣을 없애고 부드러운 그라데이션으로 바꾼다 */
#learning-studio .pl-start-learning::before{display:none!important}
#learning-studio .pl-start-learning{background:linear-gradient(135deg,#1b6b52 0%,#238766 55%,#2c9a74 100%)!important;box-shadow:0 10px 26px rgba(27,107,82,.25)!important}
#learning-studio .pl-start-learning::after{content:'';position:absolute;right:-40px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),rgba(255,255,255,0) 68%);pointer-events:none}
.pl-home-extra{flex:none!important;display:flex;flex-direction:column;gap:10px;min-width:0}
.pl-len{display:flex;gap:8px;flex-wrap:wrap}
.pl-start-learning .pl-len-btn{min-height:40px!important;height:auto!important;padding:0 14px!important;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(255,255,255,.14);color:#fff!important;font:inherit;font-size:14px!important;font-weight:800;cursor:pointer;line-height:1.2!important;width:auto!important}
.pl-start-learning .pl-len-btn:hover{background:rgba(255,255,255,.28)}
.pl-week-wrap{background:rgba(255,255,255,.12);border-radius:14px;padding:10px 12px}
.pl-week-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:13px;color:#e3f4ea;margin-bottom:6px}.pl-week-head strong{color:#fff;font-size:15px}
.pl-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.pl-week-day{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;border-radius:10px;background:rgba(255,255,255,.1);font-size:11.5px;color:#e3f4ea}
.pl-week-day b{font-weight:700}.pl-week-day i{font-style:normal;font-size:15px;line-height:18px;min-height:18px}
.pl-week-day.is-on{background:rgba(255,210,77,.3)}.pl-week-day.is-today{box-shadow:inset 0 0 0 2px rgba(255,255,255,.75)}.pl-week-day.is-future{opacity:.5}
.pl-hello-v2 .pl-home-hello-text h1{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pl-hello-flag{width:34px;height:24px;border-radius:5px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.08);flex:none}
.pl-hello-sub{margin:2px 0 0!important;font-size:15px!important;color:#3f564d}
.pl-hello-quote{display:block;max-width:640px;margin:8px 0 0;padding:0;border:0;background:none;text-align:left;font:inherit;cursor:pointer;color:#14352b}
.pl-hello-q{display:block;font-size:15px;font-weight:700;font-style:italic;line-height:1.4}.pl-hello-quote small{display:block;margin-top:2px;font-size:12.5px;color:#5b6670}
.pl-hello-praise{display:inline-block;margin:8px 8px 0 0;padding:7px 12px;border-radius:12px;background:#fff4d6;color:#7a5600;font-size:13.5px;font-weight:700}
.pl-home-hello .pl-hello-tip{display:inline-block;margin:8px 0 0;min-height:36px!important;height:auto!important;padding:7px 12px!important;border:1px solid #cfe2da;border-radius:999px;background:#fff;color:#1b6b52;font:inherit;font-size:13px!important;font-weight:700;cursor:pointer;line-height:1.3!important;width:auto!important;text-align:left}
.pl-hello-side{display:flex;align-items:flex-start;flex:none}
.pl-home-hello .pl-big-toggle{min-height:36px!important;height:auto!important;padding:0 12px!important;border:1px solid #cfe2da;border-radius:999px;background:#fff;font:inherit;font-size:13px!important;font-weight:700;cursor:pointer;color:#14352b;line-height:1.2!important;width:auto!important}
.pl-home-hello .pl-big-toggle[aria-pressed=true]{background:#1b6b52;color:#fff;border-color:#1b6b52}
html.pl-big #library-view{font-size:118%}
html.pl-big #library-view .pl-start-copy strong{font-size:clamp(32px,3.2vw,46px)!important}
html.pl-big #library-view .pl-start-today,html.pl-big #library-view .pl-week-head,html.pl-big #library-view .pl-hello-sub{font-size:17px!important}
html.pl-big #library-view .pl-len-btn,html.pl-big #library-view .pl-hello-tip,html.pl-big #library-view .pl-fun-chip,html.pl-big #library-view .pl-fun-opt{font-size:16px!important;min-height:46px!important}
html.pl-big .pl-fun-card h3{font-size:18px}html.pl-big .pl-fun-list li{font-size:16.5px}html.pl-big .pl-fun-tutor-q{font-size:17px}html.pl-big .pl-fun-quiz-w{font-size:34px}
html[data-theme=dark] .pl-hello-quote{color:#e9f1ee}html[data-theme=dark] .pl-hello-sub{color:#b9d3c8}html[data-theme=dark] .pl-home-hello .pl-big-toggle,html[data-theme=dark] .pl-home-hello .pl-hello-tip{background:#1b2b26;color:#e9f1ee;border-color:#2a4a3f}
@media (max-width:640px){.pl-week-day{font-size:10.5px}.pl-week-day i{font-size:13px}.pl-hello-side{order:-1;align-self:flex-end}}
/* 2차 시안: 주간 목표 고리(4) · 단순 모드 단추(29) */
.pl-week-ring{--p:0;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:#fff}
.pl-week-ring::before{content:'';flex:none;width:22px;height:22px;border-radius:50%;background:conic-gradient(#ffd24d calc(var(--p)*1%),rgba(255,255,255,.25) 0);-webkit-mask:radial-gradient(circle,transparent 6px,#000 7px);mask:radial-gradient(circle,transparent 6px,#000 7px)}
.pl-week-ring b{font-weight:800}
.pl-hello-side{gap:6px;flex-wrap:wrap;justify-content:flex-end}
/* 몰입 배치(2026-10-24): ▶ 단추 안 진행 막대 + 바로 아래 '한 걸음 더' 칩 */
.pl-start-bar{display:block;height:5px;margin-top:6px;border-radius:99px;background:rgba(255,255,255,.25);overflow:hidden}
.pl-start-bar i{display:block;height:100%;border-radius:99px;background:#fff;transition:width .6s ease}
.pl-steps{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;margin:12px 0 0;min-width:0}
.pl-steps-label{flex:none;font-size:12.5px;color:#e3f4ea;white-space:nowrap}
.pl-start-learning .pl-step-chip{flex:1 1 0;min-width:0;min-height:44px!important;height:44px!important;padding:0 8px!important;border:1px solid rgba(255,255,255,.5)!important;border-radius:999px!important;background:rgba(255,255,255,.16)!important;color:#fff!important;font:inherit;font-size:14px!important;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.pl-start-learning .pl-step-chip:hover{background:rgba(255,255,255,.3)!important}
.pl-start-learning .pl-step-chip[hidden]{display:none!important}
html[data-kid="1"] .pl-start-learning .pl-step-chip:not(.is-first){display:none!important}
@media (max-width:480px){.pl-steps-label{display:none}.pl-start-learning .pl-step-chip{font-size:13px!important;padding:0 4px!important}}
/* 설정한 대로 시작 카드 단순화(2026-10-24): 접히는 영역 + 더 보기 단추 */
.pl-start-learning .pl-start-fold{display:flex;flex-direction:column;gap:12px;min-width:0}
.pl-start-learning .pl-start-fold[hidden]{display:none!important}
.pl-start-learning .pl-start-toggle{align-self:center;width:auto!important;min-height:40px!important;height:auto!important;padding:0 18px!important;border:0!important;border-radius:999px!important;background:rgba(255,255,255,.12)!important;color:#fff!important;font:inherit;font-size:14px!important;font-weight:700!important;cursor:pointer;box-shadow:none!important}
.pl-start-learning .pl-start-toggle:hover{background:rgba(255,255,255,.24)!important}
.pl-start-learning .pl-start-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* settings-clean.css */
/* 학습 설정: a clean list — one setting per row (label left, control right).
   Removed: the 학습 tab (pronunciation stays on by default and is adjustable during
   study), the learning-design essay in 정보, explanatory notes and the preview. */
/* 2026-10-23 탭 정리(화면·듣기·학습): 학습 탭을 다시 보이고, 예전 '새 학습' 항목만 숨긴다(학습 순서와 settings-extras.js 새 항목은 보임). */
#settings-pane-learning>:not(#settings-route-order):not(.pl-x){display:none!important}
#settings-pane-developer .learning-evidence{display:none!important}
#reading-dialog .settings-note,#reading-dialog .font-scope-note,#reading-dialog .reading-preview,#reading-dialog #voice-test-note,#reading-dialog #settings-language-pair{display:none!important}

#reading-dialog[open]{width:min(720px,calc(100vw / var(--pl-zoom,1) - 32px))!important;height:auto!important;max-height:calc(var(--fit-h,100dvh) - 40px)!important}
#reading-dialog .dialog-header h2{font-size:20px!important;letter-spacing:-.3px}
/* tabs: a quiet segmented bar */
#reading-dialog .settings-tabs{display:flex!important;gap:2px!important;padding:4px!important;margin:4px 0 14px!important;border-radius:12px!important;background:var(--pl-soft,#eef2f0)!important;border:0!important}
#reading-dialog .settings-tabs button{flex:1;min-height:36px!important;border:0!important;border-radius:9px!important;background:transparent!important;font-weight:700!important;font-size:14px!important;color:var(--pl-muted,#5d6d66)!important;box-shadow:none!important}
#reading-dialog .settings-tabs button[aria-selected=true]{background:var(--pl-surface,#fff)!important;color:var(--pl-pine-dark,#0f4a38)!important;box-shadow:0 1px 4px rgba(0,0,0,.1)!important}

/* panes: one white card, rows separated by hairlines */
#settings-pane-reading:not([hidden]),#settings-pane-listening:not([hidden]){display:flex!important;flex-direction:column!important;gap:0!important;padding:2px 18px!important;border:1px solid var(--pl-line,#e3e8e4)!important;border-radius:16px!important;background:var(--pl-surface,#fff)!important;grid-template-columns:none!important}
#settings-pane-reading>*,#settings-pane-listening>*{margin:0!important;padding:14px 0!important;border:0!important;border-bottom:1px solid #eef1ef!important;border-radius:0!important;background:none!important;box-shadow:none!important;width:auto!important;min-height:0!important}
#settings-pane-reading>*:last-child,#settings-pane-listening>*:last-child{border-bottom:0!important}
#settings-pane-reading .appearance-field{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;flex-wrap:wrap}
#settings-pane-reading .appearance-field>label{display:flex;align-items:center;gap:8px;margin:0!important;font-weight:700;font-size:14.5px}
#settings-pane-reading .appearance-field>label output{font-weight:800;color:var(--pl-pine,#1b6b52)}
#settings-pane-reading fieldset.appearance-field{display:flex!important}
#settings-pane-reading fieldset.appearance-field legend{float:left;padding:0;font-weight:700;font-size:14.5px}
#settings-pane-reading .choice-grid{display:flex!important;flex-wrap:wrap;gap:6px!important;margin:0 0 0 auto!important}
#settings-pane-reading .choice-grid button{min-height:44px!important;padding:0 14px!important;border-radius:999px!important;font-size:13.5px!important}
#settings-pane-reading input[type=range]{width:min(220px,40vw)}
#settings-pane-reading .font-stepper{display:flex;align-items:center;gap:8px}
#settings-pane-reading #settings-pointer-effects{padding:0!important}
#settings-pane-reading #settings-pointer-effects .appearance-field{padding:14px 0}
#settings-pane-reading .reset-reading{align-self:flex-start;border:0!important;background:none!important;color:var(--pl-muted,#5d6d66)!important;font-size:13px!important;text-decoration:underline;padding:12px 0!important;min-height:0!important}

#settings-pane-listening .listening-fields{display:flex!important;flex-direction:column!important;gap:0!important;padding:0!important}
#settings-pane-listening .listening-fields>label,#settings-pane-listening .settings-toggle{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px;padding:14px 0!important;margin:0!important;border:0!important;border-bottom:1px solid #eef1ef!important;background:none!important;font-weight:700;font-size:14.5px;border-radius:0!important;box-shadow:none!important}
#settings-pane-listening .listening-fields>label:last-child{border-bottom:0!important}
#settings-pane-listening select{min-width:170px;min-height:38px;border-radius:10px}
#settings-pane-listening .voice-test-buttons{display:flex!important;gap:8px!important}
#settings-pane-listening .voice-test-buttons button{flex:1;min-height:38px!important;border-radius:10px!important;font-size:13px!important}
@media (max-width:640px){#reading-dialog .settings-tabs button{font-size:13px!important}#settings-pane-listening select{min-width:130px}}
/* rows fill the card width and drop the old per-field boxes */
#reading-dialog #settings-pane-reading:not([hidden]),#reading-dialog #settings-pane-listening:not([hidden]){align-items:stretch!important}
#reading-dialog #settings-pane-reading>*,#reading-dialog #settings-pane-listening>*,#reading-dialog #settings-pane-reading #settings-pointer-effects>.appearance-field{width:100%!important;max-width:none!important;box-sizing:border-box!important;border-top:0!important;border-left:0!important;border-right:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;padding-left:0!important;padding-right:0!important}
#reading-dialog #settings-pane-reading>.appearance-field,#reading-dialog #settings-pane-reading #settings-pointer-effects>.appearance-field{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important}
#reading-dialog #settings-pane-reading #settings-pointer-effects{border-bottom:1px solid #eef1ef!important}
#reading-dialog #settings-pane-reading #settings-pointer-effects>.appearance-field{border-bottom:0!important}
#reading-dialog #settings-pane-reading select{min-width:170px;min-height:38px;border-radius:10px}
#reading-dialog #settings-pane-listening .listening-fields>label{flex-direction:row!important;width:100%!important;box-sizing:border-box}
#reading-dialog #settings-pane-listening .listening-fields>label>select{margin-left:auto}
#reading-dialog #settings-pane-listening .listening-fields>label>*:first-child{white-space:nowrap}
/* every row: name on the left, control on the right */
#reading-dialog #settings-pane-reading fieldset.appearance-field{display:block!important}
#reading-dialog #settings-pane-reading fieldset.appearance-field>legend{float:left;width:auto;margin:8px 0 0}
#reading-dialog #settings-pane-reading .choice-grid{float:right;display:flex!important;width:auto!important;grid-template-columns:none!important;gap:6px!important}
#reading-dialog #settings-pane-reading .choice-grid button{flex:none!important;width:auto!important}
#reading-dialog #settings-pane-reading fieldset.appearance-field::after{content:'';display:block;clear:both}
#reading-dialog #settings-pane-reading input[type=range]{width:240px!important;flex:none;margin-left:auto}
#reading-dialog #settings-pane-reading .font-stepper{margin-left:auto}
#reading-dialog #settings-pane-listening .listening-fields>label{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important}
#reading-dialog #settings-pane-listening .listening-fields>label>select{width:200px!important;min-width:0!important;justify-self:end}
#reading-dialog #settings-pane-listening .listening-fields>label{white-space:nowrap}
#reading-dialog .settings-toggle:has(#settings-auto-next){display:none!important}
/* 작은 휴대폰에서 설정 항목이 세로로 눌려 겹치지 않게: 줄어들지 않고 창 안에서 스크롤 */
#reading-dialog [id^="settings-pane-"]>*{flex-shrink:0!important}
/* 휴대폰에서는 아래에서 올라오는 시트가 화면 폭을 꽉 채우게(오른쪽 32px 빈틈 제거) */
@media (max-width:640px){html body #reading-dialog[open]{width:calc(100vw / var(--pl-zoom,1))!important;max-width:calc(100vw / var(--pl-zoom,1))!important;left:0!important;right:0!important}}
/* 홈의 무료 안내 카드가 보이는 동안 무료 시간 알약 숨김, 아래 여백으로 마지막 버튼이 알약에 가리지 않게 */
.pl-quota-pill.is-upsell-visible{opacity:0!important;pointer-events:none!important;transform:translateY(12px)}
.pl-quota-pill{transition:opacity .2s,transform .2s}
body.pl-free #workspace{padding-bottom:max(72px,env(safe-area-inset-bottom))}
/* 첫 화면 하단 약관·정책 링크 (결제사 심사: 첫 화면에서 약관·개인정보·환불·연락처 확인 가능해야 함) */
.legal-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;margin-top:14px;font-size:13px}
.legal-footer-links a{color:var(--tc-sub,#5b6670);text-decoration:none;padding:12px 2px;min-height:44px;box-sizing:border-box}
.legal-footer-links a:hover{text-decoration:underline}
/* ── 첫 화면 재생 버튼 하나(넷플릭스식) ── */
.pl-one-button .pl-start-main{display:flex;align-items:center;gap:16px;width:100%;min-height:96px;text-align:left}
.pl-one-button .pl-home-ring{position:relative;flex:0 0 64px;width:64px;height:64px;display:grid;place-items:center}
.pl-one-button .pl-home-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.pl-one-button .pl-home-ring circle{fill:none;stroke:rgba(255,255,255,.22);stroke-width:6}
.pl-one-button .pl-home-ring .pl-home-ring-fg{stroke:#fff;stroke-linecap:round;stroke-dasharray:169.6;stroke-dashoffset:calc(169.6 - 169.6 * var(--p,0) / 100)}
.pl-one-button .pl-home-ring-play{position:relative;font-size:22px;color:#fff;padding-left:3px}
.pl-one-button .pl-start-copy strong{font-size:clamp(20px,5.4vw,26px);line-height:1.25}
.pl-one-button .pl-start-today{display:block;margin-top:6px;font-size:14px;opacity:.88;font-weight:600}
.pl-one-button .pl-home-guard{display:block;margin:10px auto 0;padding:8px 14px;min-height:44px;border:1px dashed currentColor;border-radius:999px;background:none;font:inherit;font-size:13px;font-weight:700;color:#fff;cursor:pointer}
.pl-start-more{margin-top:12px}
.pl-start-more>summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:700;color:rgba(255,255,255,.9)}
.pl-start-more>summary::-webkit-details-marker{display:none}
.pl-start-more>summary::after{content:'▾';transition:transform .2s}
.pl-start-more[open]>summary::after{transform:rotate(180deg)}
.pl-start-more .pl-start-modes{margin-top:8px}
.pl-home-hello-slim{padding-bottom:4px}
/* 놀이터: 게임 9개 대신 한 줄 */
.pl-playground .pl-playground-games{display:none}
/* 휴대폰: 언어 상자 두 개 대신 한 줄 표시 */
.pl-lang-chip{display:none}
@media (max-width:760px){
  .pl-lang-chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin:6px 16px;padding:0 14px;border:1px solid var(--tc-line,#e3e8e6);border-radius:999px;background:var(--tc-surface,#fff);font:inherit;font-size:14px;font-weight:700;color:inherit;cursor:pointer;max-width:calc(100% - 32px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .language-pair:not(.is-open){display:none!important}
}
/* 학습 재생 화면: 설정은 '⚙ 설정' 한 줄로 접기 */
.ac-tools-box{display:flex;flex-direction:column;align-items:center;margin:4px 0 8px}
.ac-tools-box>summary{list-style:none;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;padding:0 16px;border-radius:999px;font-size:14px;font-weight:700;color:var(--tc-sub,#5b6670)}
.ac-tools-box>summary::-webkit-details-marker{display:none}
.ac-tools-box[open]>summary{color:var(--pl-pine,#1b6b52)}
/* 첫 화면 맨 아래: 이름·근거 버튼·약관 링크가 한 줄에 눌려 겹치던 것 → 줄바꿈 허용, 약관 링크는 한 줄 전체.
   오른쪽 아래 무료 시간 알약이 접속 지역 안내를 가리지 않게 그 줄은 왼쪽 정렬(첫 화면은 스크롤 없는 한 화면이라 여백 대신). */
.forest-footer.outro-footer{flex-wrap:wrap;row-gap:10px;column-gap:20px;align-items:center}
.forest-footer.outro-footer>span{flex:0 0 auto;white-space:nowrap}
.forest-footer.outro-footer .legal-footer-links{flex:1 1 100%;justify-content:center}
html body:has(.pl-quota-pill) .site-utility-footer .connection-location{text-align:left!important;padding-right:96px}
@media (min-width:761px){html body:has(.pl-quota-pill) .site-utility-footer .connection-location{padding-right:250px}}
/* 학습 끝난 화면: 한 줄 요약 + 버튼 두 개, 나머지는 '기록 보기' 안 */
.ac-done-line{margin:6px 0 2px;font-size:17px;font-weight:800;text-align:center;font-variant-numeric:tabular-nums}
.ac-done-actions{display:flex;flex-direction:column;gap:10px;width:100%;max-width:420px;margin:14px auto 6px}
.ac-done-actions .ac-start,.ac-done-actions .ac-secondary{width:100%;min-height:52px;display:flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box}
.ac-done-more{width:100%;max-width:420px;margin:6px auto 0}
.ac-done-more>summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:700;color:var(--tc-sub,#5b6670)}
.ac-done-more>summary::-webkit-details-marker{display:none}
.ac-done-more>summary::after{content:'▾'}
.ac-done-more[open]>summary::after{content:'▴'}
/* 운전·출퇴근 모드 (2026-10-22 다시 디자인)
   한 화면 고정 3단: 위 '운전 모드 끄기' / 가운데 표현 / 아래 큰 재생 버튼. 스크롤 없음, 가로 화면은 버튼을 오른쪽으로.
   검은 배경에 흰 표현·연초록 뜻으로 대비를 높이고, 간격은 8px 단위로 맞춘다. */
.ac-drive-toggle{display:block;margin:0 auto 2px;min-height:44px;padding:0 14px;border:1px solid var(--tc-line,#e3e8e6);border-radius:999px;background:var(--tc-surface,#fff);font:inherit;font-size:13px;font-weight:700;color:inherit;cursor:pointer;white-space:nowrap}
.ac-drive-exit,.ac-drive-hint{display:none}
.ac[data-drive="1"]{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);height:100vh;height:100dvh;overflow:hidden!important;background:#0b1411!important;color:#fff}
.ac[data-drive="1"] .ac-top,.ac[data-drive="1"] .ac-tools-box,.ac[data-drive="1"] .ac-drive-toggle,.ac[data-drive="1"] .ac-stage-banner,.ac[data-drive="1"] .ac-tip,.ac[data-drive="1"] .ac-combo,.ac[data-drive="1"] .ac-why,.ac[data-drive="1"] .ac-chip,.ac[data-drive="1"] .ac-ring,.ac[data-drive="1"] .ac-ctrl{display:none!important}
.ac[data-drive="1"] .ac-drive-exit{display:block;grid-row:1;justify-self:center;margin:max(16px,env(safe-area-inset-top)) 16px 0;min-height:48px;padding:0 22px;border:1.5px solid rgba(255,255,255,.32);border-radius:999px;background:rgba(255,255,255,.06);color:#eef6f2;font:inherit;font-size:16px;font-weight:800;cursor:pointer}
.ac[data-drive="1"] .ac-main{grid-row:2;min-height:0;max-width:none;width:100%;margin:0;padding:24px 24px 16px;gap:0;justify-content:center;overflow:hidden;cursor:pointer;user-select:none;-webkit-user-select:none}
.ac[data-drive="1"] .ac-card{background:transparent!important;box-shadow:none!important;border:0!important;min-height:0!important;padding:0!important;gap:0!important;width:100%}
.ac[data-drive="1"] .ac-cue{min-height:0;margin:0 0 24px;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;color:#7fe3b6!important;font-size:16px!important;font-weight:800;letter-spacing:.06em}
.ac[data-drive="1"] .ac-target{font-size:clamp(44px,12vw,88px)!important;font-weight:800;line-height:1.25;color:#fff!important;padding-bottom:.32em;background-image:linear-gradient(#3ccf93,#3ccf93);background-size:calc(var(--kp,0)*100%) 6px}
.ac[data-drive="1"] .ac-reading{margin:16px 0 0;font-size:clamp(18px,4.8vw,26px)!important;color:#a7c2b7!important;min-height:0}
.ac[data-drive="1"] .ac-meaning{margin:16px 0 0;font-size:clamp(26px,7vw,40px)!important;font-weight:700;line-height:1.3;color:#c9f2dd!important}
.ac[data-drive="1"] .ac-drive-hint{display:block;max-width:300px;margin:32px auto 0;font-size:15px;line-height:1.45;color:#88a69b;text-align:center;text-wrap:balance;word-break:keep-all}
.ac[data-drive="1"] .ac-controls{grid-row:3;padding:8px 16px max(24px,calc(16px + env(safe-area-inset-bottom)));gap:0}
.ac[data-drive="1"] .ac-play{width:clamp(88px,20vh,148px)!important;height:clamp(88px,20vh,148px)!important;font-size:clamp(32px,7vh,52px)!important;background:#1f9a6c!important;color:#fff!important;box-shadow:0 0 0 8px rgba(31,154,108,.18)!important}
/* 가로 화면(차량 거치대): 표현은 왼쪽, 재생 버튼은 오른쪽 가운데 */
@media (orientation:landscape) and (max-height:560px){
  .ac[data-drive="1"]{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr)}
  .ac[data-drive="1"] .ac-drive-exit{grid-column:1/-1;justify-self:start;margin:max(12px,env(safe-area-inset-top)) 16px 0 max(16px,env(safe-area-inset-left))}
  .ac[data-drive="1"] .ac-main{grid-column:1;grid-row:2;padding:8px 16px 16px max(24px,env(safe-area-inset-left))}
  .ac[data-drive="1"] .ac-controls{grid-column:2;grid-row:2;align-self:center;padding:0 max(24px,env(safe-area-inset-right)) 16px 8px}
  .ac[data-drive="1"] .ac-target{font-size:clamp(36px,15vh,72px)!important;padding-bottom:.3em}
  .ac[data-drive="1"] .ac-reading{font-size:18px!important}
  .ac[data-drive="1"] .ac-cue{margin-bottom:12px}
  .ac[data-drive="1"] .ac-reading,.ac[data-drive="1"] .ac-meaning{margin-top:10px}
  .ac[data-drive="1"] .ac-meaning{font-size:clamp(22px,7vh,34px)!important}
  .ac[data-drive="1"] .ac-drive-hint{margin-top:16px}
  .ac[data-drive="1"] .ac-play{width:clamp(88px,30vh,132px)!important;height:clamp(88px,30vh,132px)!important}
}
@media (prefers-reduced-motion:reduce){.ac[data-drive="1"] *{transition:none!important}}
/* 읽는 위치 표시: 글자는 그대로 두고 표현 아래 밑줄 하나가 소리에 맞춰 차오른다(g·y·p처럼 아래로 내려가는 글자 밑에서도 띄우도록 간격을 글자 크기 비례로).
   움직임 줄이기 설정이면 밑줄을 그리지 않는다. */
.ac-target .ac-ch,.ac-target .ac-ch.on{color:inherit!important;transition:none!important}
.ac .ac-target{width:fit-content;max-width:100%;margin-inline:auto;line-height:1.3;padding-bottom:.34em;background:linear-gradient(var(--tc-pine,#1b6b52),var(--tc-pine,#1b6b52)) no-repeat left bottom/calc(var(--kp,0)*100%) 3px}
.ac .ac-target[data-karaoke=false]{background-size:0 3px!important}
@media (prefers-reduced-motion:reduce){.ac .ac-target{background:none!important}}
/* 운전 모드 안전 안내(2PC, 대표 결정 '기능 유지 + 경고'): 운전 모드에서만 표현 위에 늘 보임 */
.ac-drive-safety{display:none}
.ac[data-drive="1"] .ac-drive-safety{display:block;max-width:560px;margin:0 auto 24px;padding:12px 16px;border-radius:12px;background:rgba(255,196,0,.14);color:#ffd666;font-size:15px;font-weight:700;line-height:1.45;text-align:center}
.ac-drive-safety.is-flash{animation:acDriveFlash 1.6s ease 1}
@keyframes acDriveFlash{0%,40%{background:rgba(255,196,0,.45)}100%{background:rgba(255,196,0,.14)}}
@media (prefers-reduced-motion:reduce){.ac-drive-safety.is-flash{animation:none}}
@media (orientation:landscape) and (max-height:560px){.ac[data-drive="1"] .ac-drive-safety{margin-bottom:12px;padding:8px 12px;font-size:14px}}
/* 운전 모드 줄끼리 겹치지 않게(높이가 모자라도 줄이 눌려 포개지지 않음) + 가로 화면은 안내문을 빼고 더 촘촘히 */
.ac[data-drive="1"] .ac-main>*,.ac[data-drive="1"] .ac-card>*{flex-shrink:0}
@media (orientation:landscape) and (max-height:560px){
  .ac[data-drive="1"] .ac-drive-hint{display:none}
  .ac[data-drive="1"] .ac-cue{margin-bottom:8px}
  .ac[data-drive="1"] .ac-target{font-size:clamp(32px,13vh,60px)!important;line-height:1.2;padding-bottom:.28em}
  .ac[data-drive="1"] .ac-reading,.ac[data-drive="1"] .ac-meaning{margin-top:8px}
  .ac[data-drive="1"] .ac-meaning{font-size:clamp(20px,6.5vh,30px)!important}
}
/* 첫 화면: 세계 소나무 숲 한 줄 */
.pl-pine-row{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;margin:12px 0 0;padding:12px 16px;border:1px solid var(--tc-line,#e3ece8);border-radius:18px;background:var(--tc-surface,#fff);font:inherit;color:inherit;text-align:left;cursor:pointer;box-sizing:border-box}
.pl-pine-icon{font-size:26px;line-height:1}.pl-pine-copy{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.pl-pine-copy strong{font-size:16px}.pl-pine-sub{font-size:13px;color:var(--tc-sub,#5b6670)}.pl-pine-arrow{color:var(--tc-sub,#5b6670)}
.pl-pine-row.is-ready{border-color:#e0a106;background:#fff8e6}.pl-pine-row.is-ready .pl-pine-sub{color:#9a6a00;font-weight:700}
/* 데스크톱 첫 화면은 한 화면 고정이지만, 줄이 늘어 넘치면(소나무 숲 줄 등) 약관 링크가 잘려 닿을 수 없었다 →
   내용 영역 안에서만 스크롤되게 한다(결제 심사: 약관·환불·연락처 링크는 늘 닿아야 함). */
@media (min-width:1000px) and (min-height:560px){body[data-view=library] #workspace{overflow-y:auto!important;overscroll-behavior:contain}}
/* ── 화면 요소 점검(2026-10-22) ── */
/* 생각할 시간: 카드 구석 고리(로딩처럼 보임) 대신 카드 아래 얇은 막대가 남은 시간만큼 줄어든다 */
.ac-card .ac-ring{top:auto!important;right:0!important;bottom:0!important;left:0!important;width:auto!important;height:5px!important;border-radius:0 0 22px 22px;overflow:hidden}
.ac-card .ac-ring svg{display:none}
.ac-card .ac-ring::after{content:'';display:block;height:100%;width:calc((1 - var(--p,0)) * 100%);margin:0 auto;background:var(--pl-pine,#1b6b52);border-radius:999px;transition:width .25s linear}
/* 떠올리는 동안 단어 자리를 비워 두지 않고, 글자 수만큼 점선으로 보여 준다(글자는 계속 숨김) */
.ac-card[data-phase="recall"][data-reveal="false"] .ac-target{opacity:1!important;color:transparent!important;text-decoration:underline dashed 3px!important;text-decoration-color:#9cc3b3!important;text-underline-offset:.28em}
.ac-card[data-phase="recall"][data-reveal="false"] .ac-target *{color:transparent!important;background:none!important}
/* 펼친 설정: 이름은 왼쪽·조절은 오른쪽인 한 장짜리 목록 */
.ac-tools-box[open] .ac-tools{flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:0!important;width:min(420px,100%)!important;margin:6px auto 0!important;padding:2px 16px!important;border-radius:16px;background:var(--tc-surface,#fff);box-shadow:0 1px 3px rgba(0,0,0,.06)}
.ac-tools-box[open] .ac-tools>*{display:flex!important;align-items:center;justify-content:space-between;gap:12px;width:100%!important;min-height:52px;margin:0!important;padding:0!important;border:0!important;border-bottom:1px solid var(--tc-line,#eef2f0)!important;border-radius:0!important;background:none!important;box-shadow:none!important;font-size:15px;text-align:left;box-sizing:border-box}
.ac-tools-box[open] .ac-tools>*:last-child{border-bottom:0!important}
.ac-tools-box[open] .ac-tool-field select{min-width:120px;min-height:40px;text-align:right}
.ac-tools-box[open] .ac-tool-note{min-height:0!important;padding:8px 0!important;font-size:13px;color:var(--tc-sub,#5b6670)}
/* 운전 모드 단추는 재생 단추보다 눈에 덜 띄게(작은 글자 단추) */
.ac:not([data-drive="1"]) .ac-drive-toggle{background:none!important;border:0!important;box-shadow:none!important;min-height:44px;padding:0 12px!important;font-size:14px!important;font-weight:700;color:var(--tc-sub,#5b6670)!important}
html[data-theme=dark] .ac-tools-box[open] .ac-tools{background:#1b2b26}
.ac-card[data-phase="recall"][data-reveal="false"] .ac-target *{text-decoration:none!important;border:0!important;box-shadow:none!important}
.ac-tools-box[open] .ac-tool-note:empty{display:none!important}
.ac-tools-box[open] .ac-tools>*:nth-last-child(2):has(+ .ac-tool-note:empty){border-bottom:0!important}
/* 맨 위 진행 막대: 바탕이 화면색과 같아 안 보이던 것 → 바탕을 조금 진하게, 시작 직후에도 짧은 막대로 */
.ac .ac-top .ac-progress{background:#dbe5e0!important;height:6px}
.ac .ac-top .ac-progress-bar{min-width:6%}
html[data-theme=dark] .ac .ac-top .ac-progress{background:#2a3b35!important}
/* 놀이터: 소나무 숲 줄과 같은 크기의 한 줄 + 무엇이 있는지 한 줄 설명 */
.home-corners-one>.pl-playground,.pl-playground{padding:12px 16px!important;min-height:64px;border-radius:18px!important}
.pl-playground .pl-playground-main{gap:12px!important}
.pl-playground .pl-playground-icon{width:40px!important;height:40px!important;min-width:40px;border-radius:12px!important}
.pl-playground .pl-playground-icon svg{width:22px;height:22px}
.pl-playground .pl-playground-main .pl-playground-copy strong{font-size:16px!important;letter-spacing:0}
.pl-playground .pl-playground-now{display:block!important;font-size:13px!important;color:var(--tc-sub,#5b6670)!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.pl-playground .pl-playground-main .pl-playground-arrow{font-size:18px!important;color:var(--tc-sub,#5b6670)}
.pl-playground .pl-playground-copy{min-width:0;flex:1}
/* 맨 아래: '왜 이렇게 배우나요?'는 글자 단추만, 설명 문단은 빼서 무료 시간 알약에 가리지 않게 */
.forest-footer .learning-design-entry p{display:none!important}
html body .library-heading.home-corners-one>.pl-playground,html body .library-heading>.pl-playground{padding:12px 16px!important;min-height:64px}
html body .pl-playground .pl-playground-main .pl-playground-icon{width:40px!important;height:40px!important;min-width:40px!important;border-radius:12px!important}
/* 학습 끝 화면: '내일 이어서'가 배경과 같아 단추로 안 보이던 것 → 테두리 단추 */
.ac-done-actions .ac-secondary{background:var(--tc-surface,#fff)!important;border:1px solid var(--tc-line,#d7e2dd)!important;color:var(--tc-text,#14201c)!important}
/* 학습 설정: '메뉴·설정 글자 크기' 막대도 위 막대처럼 한 줄을 꽉 채움 */
#reading-dialog .appearance-field:not(:has(#font-larger)) input[type=range]{grid-column:1/-1!important;width:100%!important;max-width:none!important}
/* 운전 모드: 상시 경고 대신 처음 켤 때 한 번 동의 창 */
.ac[data-drive="1"] .ac-drive-safety{display:none!important}
.ac-drive-consent{position:fixed;inset:0;z-index:2000;background:rgba(8,20,16,.7);display:flex;align-items:center;justify-content:center;padding:16px}
.ac-drive-consent-box{background:#fff;color:#14201c;border-radius:20px;padding:22px 18px;width:min(420px,100%);display:flex;flex-direction:column;gap:10px;box-sizing:border-box}
.ac-drive-consent-box strong{font-size:20px;color:#9a5b00}.ac-drive-consent-box p{margin:0;font-size:15px;line-height:1.55;color:#33443e}
.ac-drive-consent-ok{min-height:52px;border:0;border-radius:14px;background:#1b6b52;color:#fff;font:inherit;font-size:16px;font-weight:800;cursor:pointer;margin-top:6px}
.ac-drive-consent-no{min-height:44px;border:0;background:none;color:#4b5a55;font:inherit;font-size:15px;font-weight:700;cursor:pointer}
/* 머리글 메뉴를 본문 폭(1240px)에 맞춰 가운데로 모은다 — 넓은 화면에서 양 끝까지 퍼지지 않게(휴대폰은 그대로) */
@media (min-width:900px){body .site-header{padding-left:max(24px,calc((100% - 1240px) / 2 + 24px))!important;padding-right:max(24px,calc((100% - 1240px) / 2 + 24px))!important}}

/* 15번 기본/고급: 고급 ▾ 접기 (2026-10-24) */
#reading-dialog .pl-adv{margin:14px 0 4px}
#reading-dialog .pl-adv-btn{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:46px!important;border-radius:14px!important;border:1px dashed #b9d3c4!important;background:transparent!important;color:#1b6b52!important;font:inherit!important;font-weight:700!important;cursor:pointer}
#reading-dialog .pl-adv-btn:focus-visible{outline:3px solid #1b6b52;outline-offset:2px}
#reading-dialog .pl-adv-body{display:grid;gap:12px;margin-top:12px}
#reading-dialog .pl-adv-body[hidden],#reading-dialog .pl-adv[hidden]{display:none!important}
#reading-dialog.pl-x-all .pl-adv-body[hidden]{display:grid!important}
#reading-dialog.pl-x-all .pl-adv-btn{display:none!important}
html[data-theme=dark] #reading-dialog .pl-adv-btn{color:#c0ebcf!important;border-color:#3b5a4b!important}

/* settings-extras.css */
/* 학습 설정 창 덧붙이기(settings-extras.js) — 찾기·한 장 요약·미리보기·하나씩 맞추기·새 항목. 휴대폰 375px ~ PC, 어두운 모드 함께. */
#reading-dialog .pl-x-top{display:flex;flex-direction:column;gap:10px;margin:0 0 12px;flex:none}
@media not ((min-width:1000px) and (min-height:560px)){#reading-dialog .pl-x-top,#reading-dialog .pl-x-steps{margin-left:16px;margin-right:16px}}
@media (max-width:640px){#reading-dialog .pl-x-summary{padding:10px}#reading-dialog .pl-x-preview{padding:8px 12px}#reading-dialog .pl-x-preview-text{font-size:calc(19px * var(--reading-scale,1))}#reading-dialog .pl-x-sum-list{margin-top:8px}#reading-dialog .pl-x-sum-actions{margin-top:8px}#reading-dialog .pl-x-sum-actions>button{flex:1 1 0!important;font-size:13.5px!important;padding:0 8px!important}#reading-dialog .pl-x-preview-meta{display:none}#reading-dialog .pl-x-top{gap:8px}#reading-dialog .pl-x-saved:not(.is-on){min-height:0;height:0}}
@media (min-width:1000px) and (min-height:560px){#reading-dialog .pl-x-top{margin:0 24px 8px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:start;gap:10px 14px}#reading-dialog .pl-x-top>.pl-x-find{grid-column:1}#reading-dialog .pl-x-top>.pl-x-summary{grid-column:2;grid-row:1/span 3}#reading-dialog .pl-x-top>.pl-x-freq,#reading-dialog .pl-x-top>.pl-x-saved{grid-column:1}#reading-dialog .pl-x-steps{margin:0 24px 8px}}

/* 설정 찾기(6) */
#reading-dialog .pl-x-find{position:relative}
#reading-dialog .pl-x-find-input{width:100%;box-sizing:border-box;min-height:44px;padding:0 14px;border:1px solid var(--pl-line,#e3e8e4);border-radius:12px;background:var(--pl-surface,#fff);color:inherit;font-size:15px}
#reading-dialog .pl-x-find-results{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:5;margin:0;padding:6px;list-style:none;background:var(--pl-surface,#fff);border:1px solid var(--pl-line,#e3e8e4);border-radius:12px;box-shadow:0 10px 30px rgba(10,30,24,.15)}
#reading-dialog .pl-x-find-hit{width:100%!important;min-height:44px!important;padding:0 12px!important;border:0!important;border-radius:9px!important;background:none!important;text-align:left!important;font-size:14.5px!important;font-weight:650!important;color:inherit!important;box-shadow:none!important}
#reading-dialog .pl-x-find-hit:hover,#reading-dialog .pl-x-find-hit:focus-visible{background:var(--pl-soft,#eef2f0)!important}
#reading-dialog .pl-x-find-none{padding:10px 12px;color:var(--pl-muted,#5d6d66);font-size:14px}

/* 지금 설정 한 장(29·30) + 미리보기(3) */
#reading-dialog .pl-x-summary{padding:14px;border-radius:16px;background:linear-gradient(135deg,#e7f3ec,#f4f8f5);border:1px solid #d5e8dc}
#reading-dialog .pl-x-preview{padding:12px 14px;border-radius:12px;background:var(--pl-surface,#fff);border:1px solid var(--pl-line,#e3e8e4)}
#reading-dialog .pl-x-preview-text{margin:0;font-size:calc(22px * var(--reading-scale,1));line-height:1.3;font-weight:750;color:var(--reading-ink,#000);overflow-wrap:anywhere}
#reading-dialog .pl-x-preview-meta{margin:4px 0 0;font-size:12.5px;color:var(--pl-muted,#5d6d66)}
#reading-dialog .pl-x-sum-list{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none}
#reading-dialog .pl-x-sum-item{min-height:36px!important;padding:0 12px!important;border-radius:999px!important;border:1px solid #cfe3d6!important;background:var(--pl-surface,#fff)!important;color:var(--pl-pine-dark,#0f4a38)!important;font-size:13.5px!important;font-weight:700!important;box-shadow:none!important;width:auto!important}
#reading-dialog .pl-x-sum-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
#reading-dialog .pl-x-step-open{flex:1 1 180px;min-height:44px!important;border-radius:12px!important;border:0!important;background:var(--pl-pine,#1b6b52)!important;color:#fff!important;font-weight:800!important;font-size:14.5px!important}
#reading-dialog .pl-x-all-toggle{flex:1 1 140px;min-height:44px!important;border-radius:12px!important;border:1px solid #cfe3d6!important;background:var(--pl-surface,#fff)!important;color:var(--pl-pine-dark,#0f4a38)!important;font-weight:700!important;font-size:14px!important}

/* 자주 쓰는 설정(27) · 자동 저장 표시(17) */
#reading-dialog .pl-x-freq{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
#reading-dialog .pl-x-freq[hidden]{display:none}
#reading-dialog .pl-x-freq-title{font-size:12.5px;font-weight:700;color:var(--pl-muted,#5d6d66);margin-right:2px}
#reading-dialog .pl-x-saved{margin:0;min-height:18px;font-size:13px;font-weight:700;color:var(--pl-pine,#1b6b52);opacity:0;transition:opacity .25s}
#reading-dialog .pl-x-saved.is-on{opacity:1}

/* 공통 칩·타일 */
#reading-dialog .pl-x-chips{display:flex;flex-wrap:wrap;gap:6px}
#reading-dialog .pl-x-chip{min-height:40px!important;padding:0 14px!important;border-radius:999px!important;border:1px solid var(--pl-line,#d9e2dc)!important;background:var(--pl-surface,#fff)!important;color:inherit!important;font-size:13.5px!important;font-weight:650!important;box-shadow:none!important;width:auto!important}
#reading-dialog .pl-x-chip[aria-pressed=true]{background:var(--pl-pine,#1b6b52)!important;border-color:var(--pl-pine,#1b6b52)!important;color:#fff!important}
#reading-dialog .pl-x-chip:disabled{opacity:.5}
#reading-dialog .pl-x-ghost{border-style:dashed!important}
#reading-dialog .pl-x-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:8px}
#reading-dialog .pl-x-tile{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px!important;padding:8px!important;border-radius:14px!important;border:1px solid var(--pl-line,#d9e2dc)!important;background:var(--pl-surface,#fff)!important;color:inherit!important;font-size:15px!important;font-weight:750!important;box-shadow:none!important;width:auto!important}
#reading-dialog .pl-x-tile[aria-pressed=true]{border:2px solid var(--pl-pine,#1b6b52)!important;background:#e9f5ee!important;color:var(--pl-pine-dark,#0f4a38)!important}
#reading-dialog .pl-x-tile small{font-size:12px;font-weight:600;color:var(--pl-muted,#5d6d66)}
#reading-dialog .pl-x-tile-icon{font-size:22px;line-height:1}
#reading-dialog .pl-x-row-title{margin:0 0 8px!important;font-weight:700;font-size:14.5px;display:block!important}
#reading-dialog .pl-x-note{margin:6px 0 0;font-size:12.5px;color:var(--pl-muted,#5d6d66)}
#reading-dialog .pl-x-note:empty{display:none}
#reading-dialog .pl-x-primary{min-height:44px!important;padding:0 16px!important;border-radius:12px!important;border:0!important;background:var(--pl-pine,#1b6b52)!important;color:#fff!important;font-weight:800!important;font-size:14px!important;width:auto!important}
#reading-dialog .pl-x-link{min-height:40px!important;padding:0 10px!important;border:0!important;background:none!important;color:var(--pl-muted,#5d6d66)!important;text-decoration:underline;font-size:13.5px!important;box-shadow:none!important;width:auto!important}
#reading-dialog .pl-x[hidden],#reading-dialog .pl-x-link[hidden],#reading-dialog .pl-x-voice-play[hidden],#reading-dialog [hidden].pl-x-primary,#reading-dialog textarea[hidden]{display:none!important}
#reading-dialog .pl-x-flash{animation:pl-x-flash 1.6s ease}
@keyframes pl-x-flash{0%,40%{box-shadow:0 0 0 3px rgba(27,107,82,.45);border-radius:12px}100%{box-shadow:0 0 0 0 rgba(27,107,82,0)}}

/* 화면 탭: 밝게·어둡게 아이콘(11) */
#reading-dialog [data-theme=light]::before{content:'☀ '}
#reading-dialog [data-theme=paper]::before{content:'📄 '}
#reading-dialog [data-theme=dark]::before{content:'🌙 '}
#reading-dialog #settings-pane-reading .pl-x-a11y>legend{float:none!important;margin:0 0 8px!important;display:block}
#reading-dialog #settings-pane-reading .pl-x-a11y{display:block!important}

/* 듣기 탭: 속도 막대(9) — 이 막대가 기존 재생 속도 선택을 대신한다 */
#reading-dialog #settings-pane-listening .listening-fields>label[for=settings-speed]{display:none!important}
#reading-dialog .pl-x-rate{display:flex!important;flex-direction:column;gap:8px}
#reading-dialog .pl-x-rate-label{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:14.5px}
#reading-dialog .pl-x-rate-out{font-weight:800;color:var(--pl-pine,#1b6b52)}
#reading-dialog .pl-x-rate input[type=range]{width:100%!important;min-height:36px;accent-color:var(--pl-pine,#1b6b52);margin:0}
#reading-dialog .pl-x-rate-ends{display:flex;justify-content:space-between;font-size:12px;color:var(--pl-muted,#5d6d66)}
/* 목소리 고르기(4): 카드가 보이면 기존 목소리 선택 줄은 숨김 */
#reading-dialog.pl-x-has-voices #settings-pane-listening label#recorded-voice-field{display:none!important}
#reading-dialog .pl-x-voice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#reading-dialog .pl-x-voice{display:flex;align-items:stretch;border:1px solid var(--pl-line,#d9e2dc);border-radius:14px;background:var(--pl-surface,#fff);overflow:hidden}
#reading-dialog .pl-x-voice.is-on{border:2px solid var(--pl-pine,#1b6b52);background:#e9f5ee}
#reading-dialog .pl-x-voice-pick{flex:1;min-height:52px!important;padding:0 10px!important;border:0!important;background:none!important;color:inherit!important;font-weight:750!important;font-size:14.5px!important;text-align:left!important;box-shadow:none!important;width:auto!important}
#reading-dialog .pl-x-voice-play{flex:none;width:48px!important;min-width:48px!important;min-height:52px!important;padding:0!important;border:0!important;border-left:1px solid var(--pl-line,#d9e2dc)!important;border-radius:0!important;background:none!important;color:var(--pl-pine,#1b6b52)!important;font-size:16px!important;box-shadow:none!important}
/* 단축키(24) */
#reading-dialog .pl-x-keys-list{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;list-style:none;font-size:13.5px}
#reading-dialog .pl-x-keys-list li{display:flex;align-items:center;gap:6px}
#reading-dialog .pl-x-keys kbd{display:inline-block;min-width:28px;padding:3px 7px;border:1px solid var(--pl-line,#cdd6d0);border-bottom-width:2px;border-radius:6px;background:var(--pl-surface,#fff);font:700 12px/1.3 ui-monospace,Consolas,monospace;text-align:center}

/* 학습 탭(2): 다른 탭처럼 흰 카드 한 장 */
#reading-dialog #settings-pane-learning:not([hidden]){padding:2px 18px!important;border:1px solid var(--pl-line,#e3e8e4)!important;border-radius:16px!important;background:var(--pl-surface,#fff)!important}
#reading-dialog #settings-pane-learning>.pl-x,#reading-dialog #settings-pane-learning>#settings-route-order{padding:14px 0!important;margin:0!important;border-bottom:1px solid #eef1ef}
#reading-dialog #settings-pane-learning>:last-child{border-bottom:0}
#reading-dialog .pl-x-lang-add{min-height:40px;padding:0 12px;border-radius:999px;border:1px dashed var(--pl-line,#cdd6d0);background:var(--pl-surface,#fff);color:inherit;font-size:13.5px;max-width:100%}
#reading-dialog .pl-x-remind-line{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;align-items:center}
#reading-dialog .pl-x-time{min-height:44px;padding:0 12px;border:1px solid var(--pl-line,#d9e2dc);border-radius:12px;background:var(--pl-surface,#fff);color:inherit;font-size:15px}
#reading-dialog .pl-x-day{min-width:44px!important;padding:0 10px!important}
#reading-dialog .pl-x-sync-box{width:100%;box-sizing:border-box;margin-top:8px;padding:10px;border:1px solid var(--pl-line,#d9e2dc);border-radius:12px;font:12px/1.4 ui-monospace,Consolas,monospace;background:var(--pl-surface,#fff);color:inherit;resize:vertical}
#reading-dialog .pl-x-sync .pl-x-primary{margin-top:8px}

/* 하나씩 맞추기(1): 한 화면에 질문 하나 */
#reading-dialog.pl-x-stepping .pl-x-top,#reading-dialog.pl-x-stepping .settings-tabs,#reading-dialog.pl-x-stepping [role=tabpanel],#reading-dialog.pl-x-stepping .dialog-actions{display:none!important}
#reading-dialog .pl-x-steps{padding:6px 2px 10px;flex:none}
#reading-dialog .pl-x-step-head{display:flex;align-items:center;justify-content:space-between}
#reading-dialog .pl-x-step-count{margin:0;font-weight:800;color:var(--pl-pine,#1b6b52);font-size:14px}
#reading-dialog .pl-x-step-close{width:44px!important;min-height:44px!important;padding:0!important;border:0!important;background:none!important;font-size:18px!important;color:var(--pl-muted,#5d6d66)!important;box-shadow:none!important}
#reading-dialog .pl-x-step-bar{height:6px;border-radius:99px;background:var(--pl-soft,#eef2f0);overflow:hidden;margin:6px 0 18px}
#reading-dialog .pl-x-step-bar::after{content:'';display:block;height:100%;width:var(--p,0%);background:var(--pl-pine,#1b6b52);border-radius:inherit;transition:width .3s}
#reading-dialog .pl-x-step-q{margin:0 0 16px;font-size:22px;line-height:1.3;font-weight:800}
#reading-dialog .pl-x-steps .pl-x-tile{min-height:72px!important;font-size:17px!important}
#reading-dialog .pl-x-step-nav{display:flex;justify-content:space-between;margin-top:14px}

/* 모든 설정 한 화면(29): 탭 없이 화면·듣기·학습을 이어서 */
#reading-dialog.pl-x-all .settings-tabs{display:none!important}
#reading-dialog.pl-x-all{overflow-y:auto!important}
#reading-dialog.pl-x-all [role=tabpanel]:not([hidden]){flex:none!important;overflow:visible!important;margin-bottom:14px!important}
#reading-dialog.pl-x-all [role=tabpanel]:not([hidden])::before{content:attr(data-pl-title);display:block;padding:14px 0 4px;font-weight:800;font-size:15px;color:var(--pl-pine-dark,#0f4a38);border:0!important}

/* 보기 편하게(14): 진한 색 · 움직임 줄이기 — 앱 전체 */
html.pl-strong{--pl-muted:#26332d;--tc-sub:#26332d;--muted:#26332d;--pl-line:#9fb0a6}
html.pl-strong body{-webkit-font-smoothing:antialiased}
html.pl-strong :is(p,span,small,li,label){text-shadow:0 0 0 currentColor}
html.pl-calm *,html.pl-calm *::before,html.pl-calm *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}

/* 휴대폰 */
@media (max-width:420px){#reading-dialog .pl-x-voice-grid{grid-template-columns:1fr}#reading-dialog .pl-x-step-q{font-size:20px}#reading-dialog .pl-x-tiles{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}}

/* 어두운 모드 */
html[data-theme=dark] #reading-dialog .pl-x-summary{background:linear-gradient(135deg,#183128,#1d2a25);border-color:#2c463b}
html[data-theme=dark] #reading-dialog :is(.pl-x-preview,.pl-x-find-input,.pl-x-find-results,.pl-x-chip,.pl-x-tile,.pl-x-voice,.pl-x-time,.pl-x-sync-box,.pl-x-lang-add,.pl-x-keys kbd,.pl-x-sum-item,.pl-x-all-toggle){background:#1b2723!important;border-color:#33463e!important;color:#e8efeb!important}
html[data-theme=dark] #reading-dialog :is(.pl-x-sum-item,.pl-x-all-toggle){color:#c0ebcf!important}
html[data-theme=dark] #reading-dialog :is(.pl-x-tile[aria-pressed=true],.pl-x-voice.is-on){background:#20392f!important;border-color:#6cc59a!important;color:#e8efeb!important}
html[data-theme=dark] #reading-dialog .pl-x-chip[aria-pressed=true]{background:#2f7a5c!important;border-color:#2f7a5c!important;color:#fff!important}
html[data-theme=dark] #reading-dialog :is(.pl-x-saved,.pl-x-rate-out,.pl-x-step-count,.pl-x-voice-play){color:#9fe0bd!important}
html[data-theme=dark] #reading-dialog #settings-pane-learning:not([hidden]){background:#16211d!important;border-color:#2b3b35!important}
html[data-theme=dark] #reading-dialog #settings-pane-learning>*{border-bottom-color:#26342f!important}
html[data-theme=dark] #reading-dialog .pl-x-find-hit:hover{background:#24342e!important}
html[data-theme=dark] #reading-dialog.pl-x-all [role=tabpanel]::before{color:#c0ebcf}
html.pl-strong[data-theme=dark]{--pl-muted:#e2ebe6;--tc-sub:#e2ebe6;--muted:#e2ebe6;--pl-line:#6f8a7e}

/* ── 2차 시안(settings-study.js): 내 설정 저장·시간대·복습 간격·비율·새 단어·요일 언어·말투·저장 위치·알림·목소리·억양·음량·진동·단축키·자막·발음·글꼴·색약 ── */
#reading-dialog .pl-s .pl-x-chips+.pl-x-chips{margin-top:8px}
#reading-dialog .pl-s-inline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
#reading-dialog .pl-s-text{flex:1 1 160px;min-width:0;min-height:44px;padding:0 12px;border:1px solid var(--pl-line,#d9e2dc);border-radius:12px;background:var(--pl-surface,#fff);color:inherit;font-size:15px;box-sizing:border-box}
#reading-dialog .pl-s-select{min-height:40px;max-width:100%;padding:0 10px;border:1px solid var(--pl-line,#d9e2dc);border-radius:10px;background:var(--pl-surface,#fff);color:inherit;font-size:14px}
#reading-dialog .pl-s-select:disabled{opacity:.5}
#reading-dialog .pl-s-hour{min-width:92px}
#reading-dialog .pl-s-dash{color:var(--pl-muted,#5d6d66)}
#reading-dialog .pl-s-field{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;font-weight:650}
#reading-dialog .pl-s-band-grid{display:grid;gap:8px;margin-top:10px}
#reading-dialog .pl-s-band-grid[hidden]{display:none}
#reading-dialog .pl-s-rot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin-top:10px}
#reading-dialog .pl-s-rot-grid .pl-s-select{flex:1;min-width:0}
#reading-dialog .pl-s-details>summary{cursor:pointer;min-height:40px;display:flex;align-items:center;font-size:14px;font-weight:650;color:var(--pl-pine-dark,#0f4a38)}
#reading-dialog .pl-s-preset{display:inline-flex;align-items:center;gap:2px}
#reading-dialog .pl-s-del{width:32px!important;min-width:32px!important;min-height:32px!important;padding:0!important;border:0!important;border-radius:50%!important;background:none!important;color:var(--pl-muted,#5d6d66)!important;font-size:13px!important;box-shadow:none!important}
#reading-dialog .pl-x-chips[hidden]{display:none}
#reading-dialog .pl-s-range{display:flex!important;flex-direction:column;gap:4px;margin-top:6px;font-weight:650;font-size:14px}
#reading-dialog .pl-s-range-top{display:flex;justify-content:space-between;align-items:center}
#reading-dialog .pl-s-range input[type=range]{width:100%!important;min-height:36px;margin:0;accent-color:var(--pl-pine,#1b6b52)}
#reading-dialog .pl-s-mix .pl-s-range input[type=range]{accent-color:#2f6fb5}
#reading-dialog #settings-pane-listening label.pl-s-hide{display:none!important}
#reading-dialog .pl-s-keys{display:flex;flex-direction:column;gap:6px;margin-top:4px}
#reading-dialog .pl-s-key-line{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px}
#reading-dialog .pl-s-key{min-width:72px!important;font:700 13px/1 ui-monospace,Consolas,monospace!important}
#reading-dialog .pl-s-keys .pl-x-link{align-self:flex-start}
#reading-dialog .pl-s-cvd-demo{display:flex;gap:8px;margin-top:10px}
#reading-dialog .pl-s-demo{flex:1;display:flex;align-items:center;justify-content:center;min-height:40px;border-radius:10px;border:2px solid;font-weight:750;font-size:13.5px}
#reading-dialog .pl-s-demo.is-right{border-color:#1f9d55;background:#e8f7ee;color:#11603a}
#reading-dialog .pl-s-demo.is-wrong{border-color:#d64545;background:#fdeaea;color:#8a1f1f}
#reading-dialog .pl-x-tiles .pl-x-tile[data-n]{min-height:48px!important}

/* 글꼴(11): 부드러운 = 나눔고딕(Apple 기기는 둥근 시스템 글꼴 먼저), 큰 글씨 = 굵기·줄 간격 */
@font-face{font-family:'PL Nanum';src:url('/fonts/NanumGothic-Regular.woff2') format('woff2');font-weight:100 500;font-display:swap}
@font-face{font-family:'PL Nanum';src:url('/fonts/NanumGothic-Bold.woff2') format('woff2');font-weight:600 900;font-display:swap}
html.pl-font-soft :is(body,button,input,select,textarea){font-family:ui-rounded,"PL Nanum","Noto Sans KR",system-ui,sans-serif!important}
html.pl-font-big body{line-height:1.7}
html.pl-font-big :is(p,li,label,span){letter-spacing:.01em}

/* 자막(번역) 위치(9): 학습 본문 문장 카드에서 번역 줄을 원문 위로 */
html.pl-sub-top #sentences .sentence{display:flex;flex-direction:column}
html.pl-sub-top #sentences .sentence>.sentence-header{order:-2}
html.pl-sub-top #sentences .sentence>.ko{order:-1;margin-top:0}

/* 색약 모드(12): 초록·빨강 대신 파랑·주황 + 무늬(정답 사선·실선, 오답 점·점선) */
html.pl-cvd :is(.is-right,[data-state=right]){border-color:#1f6fd1!important;outline:3px solid #1f6fd1!important;outline-offset:-3px;background-image:repeating-linear-gradient(135deg,rgba(31,111,209,.16) 0 6px,transparent 6px 12px)!important}
html.pl-cvd :is(.is-wrong,[data-state=wrong]){border-color:#e08600!important;outline:3px dashed #e08600!important;outline-offset:-3px;background-image:radial-gradient(rgba(224,134,0,.3) 1.6px,transparent 1.8px)!important;background-size:9px 9px!important}
html.pl-cvd #reading-dialog .pl-s-demo.is-right{color:#0d3f80}
html.pl-cvd #reading-dialog .pl-s-demo.is-wrong{color:#7a4600}

@media (max-width:420px){#reading-dialog .pl-s-rot-grid{grid-template-columns:1fr}#reading-dialog .pl-s-field{flex-wrap:wrap}}
html[data-theme=dark] #reading-dialog :is(.pl-s-text,.pl-s-select){background:#1b2723!important;border-color:#33463e!important;color:#e8efeb!important}
html[data-theme=dark] #reading-dialog .pl-s-details>summary{color:#c0ebcf}
html[data-theme=dark] #reading-dialog .pl-s-demo.is-right{background:#173526;color:#b8f0cf}
html[data-theme=dark] #reading-dialog .pl-s-demo.is-wrong{background:#3a1d1d;color:#ffc4c4}

/* family-profiles.css */
/* 가족 프로필(2026-10-23): 내 정보 카드·프로필 고르기 창·아이 모드 */
.fp-card{margin:0 0 18px;padding:18px;border:1px solid var(--line,#dfe8e3);border-radius:20px;background:var(--surface,#fff)}
.fp-card h2{margin:0;font-size:18px}
.fp-card .fp-sub{margin:4px 0 14px;color:var(--muted,#5b6670);font-size:14px}
.fp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.fp-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px 12px;border:2px solid transparent;border-radius:16px;background:var(--soft,#f2f7f5);text-align:center;min-width:0}
.fp-item.is-active{border-color:#2f8f6b;background:#eaf5ef}
.fp-ava{width:56px;height:56px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:30px;line-height:1;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.fp-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800;font-size:15px;color:var(--ink,#14201c)}
.fp-tags{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;min-height:20px}
.fp-tag{padding:1px 8px;border-radius:999px;background:#fff3cf;color:#8a6a00;font-size:12px;font-weight:700}
.fp-tag.is-now{background:#2f8f6b;color:#fff}
.fp-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.fp-btn{min-height:36px!important;padding:0 12px!important;border:1px solid #cfe0d8!important;border-radius:999px!important;background:#fff!important;color:#1b6b52!important;font:inherit!important;font-size:13.5px!important;font-weight:700!important;cursor:pointer;width:auto!important}
.fp-btn.is-primary{background:#2f8f6b!important;border-color:#2f8f6b!important;color:#fff!important}
.fp-btn.is-danger{color:#b42318!important;border-color:#f3c7c2!important}
.fp-btn:disabled{opacity:.55;cursor:default}
.fp-add{display:flex;align-items:center;justify-content:center;min-height:132px;border:2px dashed #cfe0d8;border-radius:16px;background:none;color:#1b6b52;font:inherit;font-size:15px;font-weight:800;cursor:pointer}
.fp-note{margin:10px 0 0;color:var(--muted,#5b6670);font-size:13px}
.fp-status{margin:8px 0 0;min-height:1em;color:#b42318;font-size:13.5px}
.fp-form{display:flex;flex-direction:column;gap:12px;margin-top:14px;padding:14px;border-radius:16px;background:var(--soft,#f2f7f5)}
.fp-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700}
.fp-form input[type=text]{min-height:42px;padding:0 12px;border:1px solid #cfe0d8;border-radius:12px;font:inherit;font-size:16px;background:#fff;color:#14201c}
.fp-form .fp-check{flex-direction:row;align-items:center;font-weight:600}
.fp-avatars{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}
.fp-avatars button{aspect-ratio:1;min-height:0!important;width:auto!important;padding:0!important;border:2px solid transparent!important;border-radius:12px!important;background:#fff!important;font-size:22px!important;cursor:pointer}
.fp-avatars button[aria-pressed=true]{border-color:#2f8f6b!important;background:#eaf5ef!important}
.fp-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
/* 프로필 고르기 창 */
.fp-dialog{width:min(440px,calc(100vw - 32px));padding:0;border:0;border-radius:22px;background:var(--surface,#fff);color:var(--ink,#14201c);box-shadow:0 18px 48px rgba(0,0,0,.22)}
.fp-dialog::backdrop{background:rgba(10,20,16,.45)}
.fp-dialog .fp-pick{padding:20px}
.fp-dialog h2{margin:0 0 14px;font-size:19px;text-align:center}
.fp-dialog .fp-list{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
.fp-dialog .fp-item{cursor:pointer;font:inherit;border-width:2px}
.fp-dialog .fp-close{display:block;margin:14px auto 0}
/* 머리글의 아이 모드 표시 */
.fp-kid-pill{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:#fff3cf;color:#8a6a00;font-size:12.5px;font-weight:800;white-space:nowrap}
/* 아이 모드: 결제·계정 설정 메뉴 숨김 */
html[data-kid="1"] :is(.ph-prem,.pl-upgrade,.pl-plan-badge,.pe-plan,.pl-sub,.pl-delete-entry,#account-logout,#nickname-form,.profile-edit-label,.fp-manage,a[href^="/pricing"],a[href*="/api/billing"],a[href^="/team"],a[href^="/business"]){display:none!important}
@media (max-width:480px){.fp-card{padding:14px}.fp-list{grid-template-columns:repeat(2,minmax(0,1fr))}.fp-avatars{grid-template-columns:repeat(6,1fr)}.fp-kid-pill{padding:0 8px;font-size:12px}}
html[data-theme=dark] .fp-item{background:#1d2f28}
html[data-theme=dark] .fp-item.is-active{background:#284634;border-color:#7cc7a2}
html[data-theme=dark] .fp-ava{background:#13201c}
html[data-theme=dark] .fp-name,html[data-theme=dark] .fp-dialog{color:#e9f1ee}
html[data-theme=dark] .fp-btn{background:#13201c!important;color:#b6dfbf!important;border-color:#3b5149!important}
html[data-theme=dark] .fp-btn.is-primary{background:#2f8f6b!important;color:#fff!important}
html[data-theme=dark] .fp-form{background:#1d2f28}
html[data-theme=dark] .fp-form input[type=text],html[data-theme=dark] .fp-avatars button{background:#13201c!important;color:#e9f1ee;border-color:#3b5149}
html[data-theme=dark] .fp-add{border-color:#3b5149;color:#b6dfbf}

/* home-corners.css */
/* Home: two large columns; a tab bar above each switches between two corners
   (left: 오늘의 한 표현 / 1분 퀴즈, right: 오늘의 명언 / 오늘의 관용구). */
body .library-heading.home-corners-on{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto minmax(0,1fr)!important;row-gap:8px!important}
.home-corners-on>.home-corner-tabs-left{grid-column:1;grid-row:1}
.home-corners-on>.home-corner-tabs-right{grid-column:2;grid-row:1}
.home-corners-on>.home-curiosity,.home-corners-on>.home-corner-quiz{grid-column:1;grid-row:2}
.home-corners-on>.daily-quote,.home-corners-on>.home-corner-idiom{grid-column:2;grid-row:2}
.home-corners-on[data-left=phrase]>.home-corner-quiz,.home-corners-on[data-left=quiz]>.home-curiosity{display:none!important}
.home-corners-on[data-right=quote]>.home-corner-idiom,.home-corners-on[data-right=idiom]>.daily-quote{display:none!important}
.home-corner-tabs{display:flex;gap:4px;padding:4px;border-radius:12px;background:var(--pl-soft,#eef2f0);justify-self:start}
.home-corner-tab{min-height:32px;padding:0 14px;border:0;border-radius:9px;background:transparent;font:inherit;font-size:13.5px;font-weight:700;color:var(--pl-muted);cursor:pointer;white-space:nowrap}
.home-corner-tab[aria-selected=true]{background:var(--pl-surface,#fff);color:var(--pl-pine-dark,#0f4a38);box-shadow:0 1px 4px rgba(0,0,0,.1)}

.home-corner{display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--pl-surface,#fff);border:1px solid var(--pl-line,#e3e8e4);border-radius:20px;padding:16px 22px;box-sizing:border-box}
.home-corner-heading{display:flex;align-items:center;gap:8px;padding-bottom:8px!important;margin-bottom:8px!important;border-bottom:1px solid var(--pl-line,#eef1ef)}
.home-corner-heading h2{margin:0;font-size:17px;display:flex;align-items:center;gap:6px}
.home-corner-badge{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:2px 8px;background:#e8f0fc;color:#2f5fb8}
.home-corner-idiom .home-corner-badge{background:#fff1dc;color:#8a4b00}
.home-corner-body{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:12px;overflow:auto;scrollbar-width:thin}
.home-corner-muted{margin:0;color:var(--pl-muted);font-size:14px}
.home-corner-quiz-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.home-corner-stat{font-size:12.5px;font-weight:700;color:#2f5fb8}
.home-corner-big{margin:0;font-size:clamp(22px,2.2vw,32px);font-weight:800;line-height:1.3;color:var(--pl-ink,#1c2b26);text-align:center}
.home-corner-reading{margin:-6px 0 0;color:var(--pl-muted);font-size:15px;text-align:center}
.home-corner-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.home-corner-choice{min-height:46px;padding:8px 12px;border:1px solid var(--pl-line-strong,#d3ddd8);border-radius:12px;background:var(--pl-surface,#fff);font:inherit;font-size:14.5px;line-height:1.35;text-align:left;cursor:pointer;color:inherit}
.home-corner-choice:hover:not(:disabled){border-color:#2f5fb8;background:#f5f8fe}
.home-corner-choice[data-state=right]{border-color:#1b6b52;background:#e7f3ec;color:#0f4a38;font-weight:700}
.home-corner-choice[data-state=wrong]{border-color:#d9893f;background:#fff4e8;color:#8a4b00}
.home-corner-choice:disabled{cursor:default}
.home-corner-feedback{margin:0;min-height:20px;font-size:14px;font-weight:700;text-align:center}
.home-corner-feedback[data-ok=true]{color:#1b6b52}.home-corner-feedback[data-ok=false]{color:#a3530f}
.home-corner-defs{margin:0 auto;display:grid;gap:6px;min-width:min(420px,100%)}
.home-corner-defs div{display:grid;grid-template-columns:80px 1fr;gap:10px;font-size:15.5px}
.home-corner-defs dt{color:var(--pl-muted);font-weight:700}.home-corner-defs dd{margin:0}
.home-corner-example{margin:0 auto;padding:10px 14px;border-radius:12px;background:var(--pl-soft,#f4f7f5);font-size:15px;font-style:italic;text-align:center}
.home-corner-actions{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:6px}
.home-corner-listen{display:inline-flex;align-items:center;gap:4px;border:1px solid #d7e6dd;background:#f2f8f4;color:#1b6b52;border-radius:999px;padding:7px 14px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.home-corner-next{border:0;background:none;color:var(--pl-pine,#1b6b52);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
@media (max-width:760px){
  body .library-heading.home-corners-on{grid-template-columns:1fr!important;grid-template-rows:none!important;display:flex!important;flex-direction:column}
  .home-corners-on>.home-corner-tabs-left{order:0}
  .home-corners-on>.home-curiosity,.home-corners-on>.home-corner-quiz{order:1}
  .home-corners-on>.home-corner-tabs-right{order:2;margin-top:8px}
  .home-corners-on>.daily-quote,.home-corners-on>.home-corner-idiom{order:3}
  .home-corner{min-height:300px}.home-corner-choices{grid-template-columns:1fr}
}
.home-corner-tabs{padding:3px}
.home-corner-tab{min-height:28px;font-size:13px}
.home-corners-on>.sr-only{position:absolute!important}
.home-corner-choice{min-height:40px;padding:6px 12px}
.home-corner-body{gap:10px}
.home-corner{padding:14px 20px}
.home-corner-heading .home-corner-stat{margin-left:auto}.home-corner-feedback:not([data-ok]){color:var(--pl-muted);font-weight:600}
.home-corner-quiz .home-corner-big{font-size:clamp(20px,1.8vw,28px)}.home-corner-quiz .home-corner-body{gap:8px}.home-corners-on>.daily-quote{padding-top:10px!important;padding-bottom:10px!important}.home-corners-on>.daily-quote .daily-learning-heading{padding-bottom:6px!important;margin-bottom:2px!important}
body .home-corners-on>.daily-quote .outro-quote{font-size:clamp(18px,1.55vw,22px)!important;line-height:1.35!important}body .home-corners-on>.daily-quote .quote-sentence-ipa{font-size:13px!important;margin:2px 0!important}
body .home-corners-on>.daily-quote .daily-learning-content{gap:4px!important;padding-top:0!important;padding-bottom:0!important}body .home-corners-on>.daily-quote .quote-audio{margin:4px 0!important}
/* Eight corners: each column shows one card at a time. */
.home-corners-on>[data-corner][hidden]{display:none!important}
.home-corners-on>[data-side=left]{grid-column:1;grid-row:2}
.home-corners-on>[data-side=right]{grid-column:2;grid-row:2}
.home-corner-tabs{flex-wrap:wrap;max-width:100%}
.home-corner-tab{padding:0 11px}
.home-corner-center{text-align:center;justify-content:center}
.home-corner-row{display:flex;gap:8px;align-items:center}
.home-corner-input{flex:1;min-width:0;min-height:44px;padding:0 12px;border:1.5px solid var(--pl-line-strong,#d3ddd8);border-radius:12px;font:inherit;font-size:15px;background:var(--pl-surface,#fff);color:inherit}
.home-corner-input:focus{outline:none;border-color:#2f5fb8;box-shadow:0 0 0 3px rgba(47,95,184,.15)}
.home-corner-check{min-height:44px;padding:0 16px;border:0;border-radius:12px;background:#2f5fb8;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.home-corner-check:disabled{opacity:.6}
.home-corner-play{display:inline-flex;align-items:center;gap:4px;border:1px solid #d7e6dd;background:#f2f8f4;color:#1b6b52;border-radius:999px;padding:7px 14px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.home-corner-pairs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.home-corner-pairs>div{display:grid;gap:8px}
.home-corner-tile{min-height:44px;padding:6px 10px;border:1.5px solid var(--pl-line-strong,#d3ddd8);border-radius:12px;background:var(--pl-surface,#fff);font:inherit;font-size:14px;line-height:1.3;cursor:pointer;color:inherit;transition:transform .12s}
.home-corner-tile.is-picked{border-color:#2f5fb8;background:#eef3fd}
.home-corner-tile[data-state=right]{border-color:#1b6b52;background:#e7f3ec;color:#0f4a38;opacity:.75}
.home-corner-tile[data-state=wrong]{border-color:#d9893f;background:#fff4e8;animation:pl-shake .3s ease}
.home-corner-twister{font-size:clamp(18px,1.7vw,24px)!important}
.home-corner-fact{margin:0;font-size:clamp(17px,1.5vw,21px);font-weight:700;line-height:1.5;text-align:center}
.home-corner-tip{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:12px;background:#fff7e6;border:1px solid #f3dfb4}
.home-corner-tip strong{font-size:12px;color:#8a4b00}.home-corner-tip span{font-size:14.5px}

.home-corner-tab{font-size:12.5px;padding:0 10px}@media (max-width:1300px){.home-corner-tab{font-size:12px;padding:0 8px}}
.home-corners-on>.is-corner-off{display:none!important}
/* ---------- One tab bar for all eight corners, one full-width card ---------- */
body .library-heading.home-corners-one{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr)!important}
.home-corners-one>.home-corner-tabs{grid-column:1;grid-row:1;position:relative;justify-self:stretch;display:flex;flex-wrap:nowrap;gap:2px;padding:4px;overflow-x:auto;scrollbar-width:none}
.home-corners-one>.home-corner-tabs::-webkit-scrollbar{display:none}
.home-corners-one>section{grid-column:1!important;grid-row:2!important}
.home-corners-one .home-corner-tab{position:relative;z-index:1;flex:1 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 12px;font-size:13.5px;background:transparent!important;box-shadow:none!important;transition:color .2s}
.home-corners-one .home-corner-tab svg{transition:transform .25s}
.home-corners-one .home-corner-tab:hover svg{transform:translateY(-2px) rotate(-6deg)}
.home-corners-one .home-corner-tab[aria-selected=true]{color:var(--pl-pine-dark,#0f4a38)}
.home-corners-one .home-corner-tab[aria-selected=true] svg{color:var(--pl-pine,#1b6b52)}
.home-corner-glide{position:absolute;top:4px;left:4px;bottom:4px;width:0;border-radius:9px;background:var(--pl-surface,#fff);box-shadow:0 1px 6px rgba(0,0,0,.12);transition:transform .32s cubic-bezier(.3,1.3,.5,1),width .32s cubic-bezier(.3,1.3,.5,1)}
.home-corners-one>.is-corner-in{animation:corner-in .35s cubic-bezier(.2,.9,.3,1) both}
@keyframes corner-in{from{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.home-corner-glide,.home-corners-one>.is-corner-in{transition:none;animation:none}}
@media (max-width:760px){.home-corners-one .home-corner-tab span{display:none}.home-corners-one .home-corner-tab{padding:0 10px}}
/* 놀이터: one button above the chosen corner (like 학습하기). */
.home-corners-one>.pl-playground{grid-column:1;grid-row:1}
.pl-playground{display:flex;align-items:center;gap:14px;width:100%;min-height:58px;padding:8px 18px;border:1.5px solid #f0d9a8;border-radius:18px;background:linear-gradient(120deg,#fff8e8,#fff3da);color:#5b3a00;font:inherit;text-align:left;cursor:pointer;box-sizing:border-box;transition:transform .15s,box-shadow .15s}
.pl-playground:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(138,75,0,.12)}
.pl-playground-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#fff;color:#b26a00;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.pl-playground-icon svg{width:22px;height:22px}
.pl-playground-copy{flex:1;display:flex;align-items:baseline;gap:10px;min-width:0}
.pl-playground-copy strong{font-size:18px}
.pl-playground-now{font-size:13.5px;color:#8a5a12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-playground-arrow{font-size:13.5px;font-weight:800;color:#8a4b00;white-space:nowrap}
.pl-play-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.pl-play-card{grid-template-columns:1fr!important;justify-items:center;text-align:center!important;gap:6px;padding:16px 10px!important}
.pl-play-card-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#fff3da;color:#b26a00}
.pl-play-card-icon svg{width:24px;height:24px}
.pl-play-card[aria-current=true]{border-color:#e0a84a!important;background:#fffaf0!important}
.pl-play-chooser .pl-mode-badge{background:linear-gradient(135deg,#e0a84a,#b26a00)}
@media (max-width:760px){.pl-play-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pl-playground-now{display:none}}
/* ---------- Home = two big tiles: 학습하기 · 놀이터 ---------- */
body[data-view=library] #library-view:has(.home-corners-one){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr) auto;gap:18px!important;align-content:stretch}
body[data-view=library] #library-view:has(.home-corners-one)>*{grid-column:1/-1}
body[data-view=library] #library-view:has(.home-corners-one)>#learning-studio{grid-column:1;grid-row:1;min-height:0;display:flex!important}
body[data-view=library] #library-view:has(.home-corners-one)>.library-heading{grid-column:2;grid-row:1;min-height:0;display:flex!important;flex-direction:column}
body[data-view=library] #library-view:has(.home-corners-one)>.forest-footer{grid-row:2}
body[data-view=library] #library-view:has(.home-corners-one)>.library-result-line,body[data-view=library] #library-view:has(.home-corners-one)>.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden}
#learning-studio .learning-studio-home,#learning-studio>*{width:100%}
#learning-studio:has(.pl-start-learning)>*:not(:has(.pl-start-learning)):not(.pl-start-learning){display:none}
.home-corners-one>.is-corner-off{display:none!important}
/* the tiles */
.home-corners-one>.pl-playground,#learning-studio .pl-start-learning{flex:1;height:100%;min-height:260px;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:14px;padding:28px 30px;border-radius:28px;position:relative;overflow:hidden}
#learning-studio .pl-start-learning img{width:84px;height:84px;border-radius:22px;padding:8px}
#learning-studio .pl-start-learning .pl-start-copy strong,.home-corners-one>.pl-playground .pl-playground-copy strong{font-size:clamp(28px,2.8vw,40px);letter-spacing:-1px}
#learning-studio .pl-start-learning .pl-start-copy span{font-size:15px;white-space:normal}
#learning-studio .pl-start-learning .pl-start-arrow,.home-corners-one>.pl-playground .pl-playground-arrow{position:absolute;top:26px;right:28px;font-size:26px}
.home-corners-one>.pl-playground .pl-playground-copy{flex:none;flex-direction:column;align-items:flex-start;gap:6px}
.home-corners-one>.pl-playground .pl-playground-now{font-size:15px;white-space:normal}
.home-corners-one>.pl-playground .pl-playground-icon{width:84px;height:84px;border-radius:22px}
.home-corners-one>.pl-playground .pl-playground-icon svg{width:44px;height:44px}
/* gentle motion on the tiles */
#learning-studio .pl-start-learning::after,.home-corners-one>.pl-playground::after{content:'';position:absolute;right:-60px;bottom:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),rgba(255,255,255,0) 70%);animation:tile-glow 6s ease-in-out infinite;pointer-events:none}
.home-corners-one>.pl-playground::after{background:radial-gradient(circle,rgba(242,184,75,.35),rgba(242,184,75,0) 70%)}
@keyframes tile-glow{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-30px,-24px) scale(1.15)}}
#learning-studio .pl-start-learning:hover img,.home-corners-one>.pl-playground:hover .pl-playground-icon{transform:rotate(-6deg) scale(1.05);transition:transform .25s}
@media (prefers-reduced-motion:reduce){#learning-studio .pl-start-learning::after,.home-corners-one>.pl-playground::after{animation:none}}
@media (max-width:760px){body[data-view=library] #library-view:has(.home-corners-one){grid-template-columns:1fr;grid-template-rows:auto}body[data-view=library] #library-view:has(.home-corners-one)>#learning-studio,body[data-view=library] #library-view:has(.home-corners-one)>.library-heading{grid-column:1;grid-row:auto}.home-corners-one>.pl-playground,#learning-studio .pl-start-learning{min-height:180px}}
/* corner sheet */
.pl-corner-sheet{position:fixed;inset:0;z-index:88;display:grid;place-items:center;padding:20px;background:rgba(15,30,25,.42);animation:pl-mode-in .18s ease both}
.pl-corner-sheet-panel{width:min(860px,100%);height:min(640px,calc(var(--fit-h,100dvh) - 40px));display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:24px;background:var(--pl-bg,#f6f5f0);box-shadow:0 30px 80px rgba(0,0,0,.25);box-sizing:border-box}
.pl-corner-sheet-top{display:flex;align-items:center;gap:10px}
.pl-corner-sheet-top strong{flex:1;font-size:17px}
.pl-corner-sheet-top .pl-mode-close{position:static}
.pl-corner-back{border:1px solid var(--pl-line,#e3e8e4);background:var(--pl-surface,#fff);border-radius:999px;padding:7px 14px;font:inherit;font-size:13.5px;font-weight:700;color:var(--pl-pine-dark,#0f4a38);cursor:pointer}
.pl-corner-sheet-panel>section{flex:1;min-height:0;margin:0!important;height:auto!important;display:flex!important;flex-direction:column}
.pl-corner-sheet-panel>section.is-corner-in{animation:corner-in .35s cubic-bezier(.2,.9,.3,1) both}
.home-corners-one>.pl-playground .pl-playground-arrow{color:#8a4b00;font-weight:400}
/* 두 타일을 위아래로: 아이콘 왼쪽, 제목·설명 가운데, 화살표 오른쪽 */
body[data-view=library] #library-view:has(.home-corners-one){grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) minmax(0,1fr) auto!important}
body[data-view=library] #library-view:has(.home-corners-one)>#learning-studio{grid-column:1!important;grid-row:1!important}
body[data-view=library] #library-view:has(.home-corners-one)>.library-heading{grid-column:1!important;grid-row:2!important}
body[data-view=library] #library-view:has(.home-corners-one)>.forest-footer{grid-row:3!important}
.home-corners-one>.pl-playground,#learning-studio .pl-start-learning{flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:26px!important;min-height:150px!important;padding:24px 34px!important}
.home-corners-one>.pl-playground .pl-playground-copy,#learning-studio .pl-start-learning .pl-start-copy{flex:1!important}
#learning-studio .pl-start-learning .pl-start-arrow,.home-corners-one>.pl-playground .pl-playground-arrow{position:static!important;font-size:30px!important}
#learning-studio .pl-start-learning img,.home-corners-one>.pl-playground .pl-playground-icon{width:96px!important;height:96px!important;flex:none}
@media (max-width:760px){.home-corners-one>.pl-playground,#learning-studio .pl-start-learning{gap:16px!important;padding:18px 20px!important;min-height:120px!important}#learning-studio .pl-start-learning img,.home-corners-one>.pl-playground .pl-playground-icon{width:64px!important;height:64px!important}}

/* ================= 홈 리디자인: 인사·현황 + 두 카드(바로가기 포함) ================= */
body[data-view=library] #library-view:has(.home-corners-one){grid-template-rows:auto auto auto 1fr auto!important;gap:16px!important;max-width:1180px;margin:0 auto;width:100%}
body[data-view=library] #library-view:has(.home-corners-one)>.pl-home-hello{grid-row:1!important;grid-column:1!important}
body[data-view=library] #library-view:has(.home-corners-one)>#learning-studio{grid-row:2!important}
body[data-view=library] #library-view:has(.home-corners-one)>.library-heading{grid-row:3!important;display:block!important}
body[data-view=library] #library-view:has(.home-corners-one)>.forest-footer{grid-row:5!important}
.pl-home-hello{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:6px 4px 0}
.pl-home-hello-text h1{margin:0;font-size:clamp(26px,2.4vw,34px);letter-spacing:-.8px;color:#14352b}
.pl-home-hello-text p{margin:4px 0 0;font-size:16px;color:#3f564d}
.pl-home-stats{display:flex;gap:10px}
.pl-home-stat{min-width:104px;padding:10px 16px;border-radius:16px;background:#fff;border:1px solid #e1e9e4;box-shadow:0 4px 14px rgba(15,74,56,.06);text-align:center}
.pl-home-stat strong{display:block;font-size:22px;font-weight:800;color:#14352b;font-variant-numeric:tabular-nums}
.pl-home-stat span{font-size:12.5px;font-weight:700;color:#4c635a}
/* card containers */
#learning-studio .pl-start-learning,.home-corners-one>.pl-playground{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:16px!important;min-height:0!important;height:auto!important;padding:22px 24px!important;border-radius:26px!important;cursor:default;transform:none!important}
#learning-studio .pl-start-learning:hover,.home-corners-one>.pl-playground:hover{transform:none!important}
.pl-start-main,.pl-playground-main{display:flex;align-items:center;gap:18px;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.pl-start-main img{flex:none;width:72px!important;height:72px!important;border-radius:20px;background:#fff;padding:6px;box-sizing:border-box;transition:transform .25s}
.pl-start-main:hover img,.pl-playground-main:hover .pl-playground-icon{transform:rotate(-6deg) scale(1.05)}
.pl-start-main .pl-start-copy strong,.pl-playground-main .pl-playground-copy strong{font-size:clamp(26px,2.3vw,32px)!important;letter-spacing:-.8px}
.pl-start-main .pl-start-copy span{font-size:15.5px!important;opacity:1!important;color:#e3f4ea}
.pl-start-main .pl-start-arrow,.pl-playground-main .pl-playground-arrow{position:static!important;margin-left:auto;font-size:28px!important;transition:transform .2s}
.pl-start-main:hover .pl-start-arrow,.pl-playground-main:hover .pl-playground-arrow{transform:translateX(4px)}
.pl-playground-main .pl-playground-copy{flex-direction:column!important;align-items:flex-start!important;gap:4px!important}
.pl-playground-main .pl-playground-now{font-size:15.5px!important;color:#6b4300!important}
.pl-playground-main .pl-playground-icon{flex:none;width:72px!important;height:72px!important;border-radius:20px;transition:transform .25s}
.pl-playground-main .pl-playground-icon svg{width:38px!important;height:38px!important}
/* shortcut buttons */
.pl-start-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pl-start-mode{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 12px;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:rgba(255,255,255,.12);color:#fff;font:inherit;font-size:15px;font-weight:700;cursor:pointer;text-align:left;transition:background .15s,transform .15s}
.pl-start-mode:hover{background:rgba(255,255,255,.22);transform:translateY(-2px)}
.pl-start-mode img{width:38px;height:38px;border-radius:11px;background:#fff;padding:3px;box-sizing:border-box;flex:none}
.pl-playground-games{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pl-playground-game{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 12px;border:1px solid #efd9ab;border-radius:16px;background:#fff;color:#4a2f00;font:inherit;font-size:14.5px;font-weight:700;cursor:pointer;text-align:left;transition:transform .15s,box-shadow .15s,border-color .15s}
.pl-playground-game:hover{transform:translateY(-2px);border-color:#e0a84a;box-shadow:0 8px 18px rgba(138,75,0,.12)}
.pl-playground-game>span:first-child{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:10px;background:#fff3da;color:#b26a00}
.pl-playground-game svg{width:20px;height:20px}
/* stronger readability */
.home-corners-one>.pl-playground{background:linear-gradient(120deg,#fff9ec,#fff1d6)!important;border:1.5px solid #f0d9a8!important;color:#3d2600!important}
#learning-studio .pl-start-learning{background:linear-gradient(120deg,#145c45,#1d7a57 55%,#24875f)!important}
@media (max-width:900px){.pl-start-modes,.pl-playground-games{grid-template-columns:repeat(2,minmax(0,1fr))}.pl-home-hello{flex-direction:column;align-items:flex-start}.pl-home-stats{width:100%}.pl-home-stat{flex:1;min-width:0}}
#learning-studio .pl-start-learning .pl-start-mode img{width:40px!important;height:40px!important;border-radius:11px!important;padding:3px!important}#learning-studio .pl-start-learning .pl-start-main img{width:68px!important;height:68px!important}.pl-start-mode{min-height:52px}

/* ===== 홈 마무리: 오늘 목표 링 · 날짜 · 추천 배지 · 소나무 숲 · 놀이터 패턴 · 배경 ===== */
body[data-view=library]{background:radial-gradient(1100px 520px at 12% -8%,#e3f2ea 0%,rgba(227,242,234,0) 60%),radial-gradient(900px 480px at 100% 110%,#fdf1d8 0%,rgba(253,241,216,0) 60%),var(--pl-bg,#f6f5f0)!important}
.pl-home-date{display:block;font-size:13px;font-weight:700;letter-spacing:.02em;color:#1b6b52;margin-bottom:2px}
.pl-home-stats{align-items:center}
.pl-home-ring{position:relative;width:72px;height:72px;flex:none}
.pl-home-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.pl-home-ring circle{fill:none;stroke-width:7}
.pl-home-ring circle:first-child{stroke:#e2eee8}
.pl-home-ring .pl-home-ring-fg{stroke:#1b6b52;stroke-linecap:round;stroke-dasharray:169.65;stroke-dashoffset:calc(169.65 - 169.65 * var(--p,0) / 100);transition:stroke-dashoffset .8s cubic-bezier(.2,.9,.3,1)}
.pl-home-ring-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}
.pl-home-ring-text strong{font-size:16px;font-weight:800;color:#14352b}
.pl-home-ring-text small{font-size:10px;font-weight:700;color:#4c635a}
/* 학습하기 카드: 추천 배지 + 소나무 숲 실루엣 */
#learning-studio .pl-start-learning{position:relative!important;overflow:hidden!important;box-shadow:0 18px 40px rgba(15,74,56,.22)!important}
#learning-studio .pl-start-learning>*:not(.pl-start-forest){position:relative;z-index:1}
.pl-start-badge{display:inline-flex;align-self:flex-start;margin-bottom:4px;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);color:#fff!important;font-size:12px!important;font-weight:800;opacity:1!important;white-space:nowrap}
.pl-start-forest{position:absolute;right:0;bottom:0;width:min(420px,60%);height:150px;pointer-events:none;z-index:0}
.pl-start-forest svg{width:100%;height:100%;display:block}
/* 놀이터 카드: 은은한 점 패턴 */
.home-corners-one>.pl-playground{position:relative!important;overflow:hidden!important;box-shadow:0 14px 32px rgba(138,75,0,.10)!important;background-image:radial-gradient(rgba(224,168,74,.16) 1.5px,transparent 1.6px),linear-gradient(120deg,#fff9ec,#fff1d6)!important;background-size:18px 18px,100% 100%!important}
.home-corners-one>.pl-playground>*{position:relative;z-index:1}
@media (max-width:900px){.pl-home-ring{width:60px;height:60px}.pl-start-forest{display:none}}

/* 2026-10-18 모바일 정리: 한국어는 단어 단위 줄바꿈, 작은 화면에서 학습 버튼·통계 타일 압축 */
html:lang(ko) body{word-break:keep-all;overflow-wrap:break-word}
.pl-home-stat span{white-space:nowrap}
@media (max-width:480px){
  .pl-start-modes{gap:8px}
  .pl-start-mode{gap:8px;padding:8px 10px;font-size:14px;line-height:1.25;min-height:54px}
  #learning-studio .pl-start-learning .pl-start-mode img{width:32px!important;height:32px!important;border-radius:9px!important}
  .pl-home-stats{gap:6px}.pl-home-stat{padding:8px 6px;border-radius:14px}.pl-home-stat span{font-size:11px}
}
/* 2026-10-18: nine playground games — two rows on desktop; the game leads on phones */
@media (min-width:901px){.pl-playground-games{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:900px){.pl-playground-games>.pl-playground-game:first-child{grid-column:1/-1}}
.pl-playground-games>.pl-playground-game:first-child{background:linear-gradient(135deg,#fff1cc,#ffe1a1);border-color:#f0c25a;font-weight:900}
@media (min-width:901px){.pl-playground-games{gap:8px}.pl-playground-game{gap:8px;padding:8px 10px;min-width:0}.pl-playground-game>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}}
.pl-home-upsell{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:6px;padding:6px 6px 6px 12px;border-radius:999px;background:#fff7e6;border:1px solid #f3d38c;color:#6b4300;text-decoration:none;font-size:14px;line-height:1.3;transition:box-shadow .15s,transform .15s}
.pl-home-upsell strong{padding:4px 10px;border-radius:999px;background:linear-gradient(135deg,#f4b740,#e8892b);color:#3b2300;font-size:13px}
.pl-home-upsell:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(232,137,43,.22)}
@media (max-width:480px){.pl-home-upsell{font-size:12.5px;border-radius:14px}.pl-home-upsell strong{font-size:12px}}
.pl-home-upsell{margin-top:2px;padding:3px 4px 3px 10px}.pl-home-upsell strong{padding:3px 9px}

/* 오늘의 미션 */
.pl-mission{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 12px;margin:10px 0 4px;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,#fff7e6,#fff1d2);border:1px solid #f3d38c;color:#5b3a00}
.pl-mission strong{font-size:14px}.pl-mission>span{font-weight:900;font-variant-numeric:tabular-nums}
.pl-mission-track{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.pl-mission-track i{height:8px;border-radius:999px;background:#f3e2bb}.pl-mission-track i.on{background:linear-gradient(90deg,#f4b740,#e8892b);animation:pl-mission-fill .5s ease both}
.pl-mission-toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));z-index:120;transform:translateX(-50%);padding:12px 20px;border-radius:999px;background:#1b6b52;color:#fff;font-weight:800;box-shadow:0 14px 30px rgba(15,61,48,.3);animation:pl-mission-pop .4s cubic-bezier(.2,1.4,.4,1) both}
@keyframes pl-mission-fill{from{transform:scaleX(.2);transform-origin:left}}
@keyframes pl-mission-pop{from{opacity:0;transform:translate(-50%,16px) scale(.9)}}
@media (prefers-reduced-motion:reduce){.pl-mission-track i.on,.pl-mission-toast{animation:none}}
/* 놀이터 정답·오답 효과 */
.pl-fx{position:fixed;z-index:400;width:0;height:0;pointer-events:none}
.pl-fx i{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:2px;animation:pl-fx-fly .8s cubic-bezier(.2,.8,.3,1) forwards}
.pl-fx strong{position:absolute;left:0;top:-10px;transform:translate(-50%,-50%);white-space:nowrap;font-size:18px;font-weight:900;color:#1b6b52;text-shadow:0 2px 0 #fff,0 0 10px rgba(255,255,255,.9);animation:pl-fx-label .9s cubic-bezier(.2,1.4,.4,1) forwards}
@keyframes pl-fx-fly{0%{transform:translate(0,0) rotate(0) scale(1)}100%{transform:translate(var(--x),calc(var(--y) + 40px)) rotate(240deg) scale(.6);opacity:0}}
@keyframes pl-fx-label{0%{opacity:0;transform:translate(-50%,-20%) scale(.6)}30%{opacity:1;transform:translate(-50%,-90%) scale(1.15)}100%{opacity:0;transform:translate(-50%,-170%) scale(1)}}
.pl-shake{animation:pl-shake .4s ease}
@keyframes pl-shake{20%{transform:translateX(-7px)}40%{transform:translateX(7px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
.home-corner-choice[data-state=right]{animation:pl-right .45s cubic-bezier(.2,1.4,.4,1)}
@keyframes pl-right{50%{transform:scale(1.06)}}
/* 2026-10-18 메인 화면 다듬기: 중간 폭 헤더, 놀이터 칩 줄바꿈, 목표 원 글자, 무료 시간 막대와 겹침 */
@media (min-width:1000px) and (max-width:1080px) and (min-height:560px){
 body:is([data-view=library],[data-view=selection],[data-view=profile],[data-view=words]) .site-header .home-language-settings.home-language-visible{display:none!important}
}
@media (min-width:901px) and (max-width:1279px){
 .pl-playground-game{font-size:13.5px;padding:6px 8px}
 .pl-playground-game>span:first-child{width:28px;height:28px;border-radius:9px}
 .pl-playground-game svg{width:17px;height:17px}
 .pl-playground-game>span:last-child{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;word-break:keep-all;line-height:1.25}
}
.pl-home-ring-text{padding:0 6px;text-align:center}
.pl-home-ring-text strong,.pl-home-ring-text small{white-space:nowrap}
@media (max-width:900px){
 .pl-home-ring{width:64px!important;height:64px!important}
 .pl-home-ring-text strong{font-size:14px!important;line-height:1.05!important}
 .pl-home-ring-text small{font-size:9px!important;line-height:1.1!important;letter-spacing:-.02em}
}
@media (min-width:641px){body.pl-free .site-utility-footer{padding-right:280px!important}}
@media (max-width:640px){body.pl-free .site-utility-footer,body.pl-free #library-view{padding-bottom:84px}}/* 첫 화면: 설정을 마친 뒤 보이는 '설정 수정하기' */
.pl-start-learning .pl-start-edit{display:inline-flex!important;width:auto!important;align-self:flex-start;align-items:center;gap:6px;margin:14px 0 0;min-height:42px;padding:0 16px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font:inherit;font-size:14.5px;font-weight:700;cursor:pointer}
.pl-start-learning .pl-start-edit:hover{background:rgba(255,255,255,.22)}

/* ── 놀이터 조합(2026-10-23): 큰 그림 카드·최고 기록·NEW·잠금·불꽃·뽑기·쉬는 시간·캐릭터·단어 게임·리그 ── */
.pl-play-chooser .pl-mode-panel{max-height:calc(var(--fit-h,100dvh) - 40px);overflow:auto}
.pl-play-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;margin:0 0 10px}
.pl-play-fire{font-weight:800;font-size:14px;color:#b4561b}
.pl-play-chip{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid #e3d3b8;background:#fffaf0;font:inherit;font-size:13.5px;font-weight:800;color:#7a4b00;cursor:pointer}
.pl-play-chars{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;margin:0 0 12px;font-size:13px;color:#5d6d66}
.pl-play-char{width:42px;height:42px;border-radius:12px;border:1.5px solid #e3e8e4;background:#fff;font-size:22px;cursor:pointer}.pl-play-char[aria-pressed=true]{border-color:#e0a84a;background:#fff4dc}
.pl-play-words{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}
.pl-play-wcard{display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:12px 14px;border-radius:16px;border:1.5px solid #bfdccb;background:#f4faf6;font:inherit;text-align:left;cursor:pointer;color:inherit}
.pl-play-wcard strong{font-size:15px}.pl-play-wcard span{font-size:12.5px;color:#5d6d66}.pl-play-wcard:disabled{opacity:.55;cursor:default}
.pl-play-card{position:relative;min-height:118px}.pl-play-chooser .pl-play-emoji{display:grid!important;place-items:center;font-size:34px!important;line-height:1;width:56px;height:56px;border-radius:16px;background:#fff4dc}
.pl-play-card[data-game=run] .pl-play-emoji{background:#e6f5ee}.pl-play-card[data-game=slice] .pl-play-emoji{background:#fde7ef}.pl-play-card[data-game=rain] .pl-play-emoji{background:#e3f1fb}
.pl-play-best{font-style:normal;font-size:12px;font-weight:800;color:#8a6a00;grid-column:2}
.pl-play-new{position:absolute;top:8px;right:10px;font-style:normal;font-size:10.5px;font-weight:900;color:#fff;background:#e8590c;border-radius:999px;padding:1px 7px}
.pl-play-card.is-locked{opacity:.75;background:#f3f3f1!important}.pl-play-lock{font-style:normal;font-size:12px;font-weight:700;color:#6b7c75;grid-column:2}
.pl-play-league{margin-top:14px;text-align:left}.pl-play-league h3{margin:0 0 8px;font-size:16px}
.pl-play-lgame{padding:10px 12px;border-radius:14px;background:#f7faf9;margin-bottom:8px}.pl-play-lgame>strong{font-size:14px}
.pl-play-rank{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:3px}.pl-play-rank li{display:flex;gap:8px;align-items:center;font-size:13.5px}.pl-play-rank li b{flex:1}.pl-play-rank li em{font-style:normal;font-weight:800;color:#1b6b52}.pl-play-rank li.is-me{color:#b4561b;font-weight:800}
.pl-play-duel{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;font-size:13px}
.pl-play-tip{margin:4px 0 0;font-size:12.5px;color:#5d6d66}
.pl-break{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:2100;display:flex;gap:10px;align-items:center;padding:8px 16px;border-radius:999px;background:#14201c;color:#fff;font-weight:800;font-size:14px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.pl-break button{min-height:34px;padding:0 12px;border:0;border-radius:999px;background:#5ccf97;color:#10231d;font:inherit;font-weight:800;cursor:pointer}
html[data-theme=dark] .pl-play-wcard,html[data-theme=dark] .pl-play-lgame,html[data-theme=dark] .pl-play-char{background:#1b2b26;color:#e9f1ee;border-color:#2a4a3f}
@media (max-width:560px){.pl-play-words{grid-template-columns:1fr}}
/* 2026-10-24 덜어내기: 놀이터 첫 화면은 게임 5개, 나머지는 '더 많은 게임'·'내 기록'(접힘) */
.pl-play-front{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 12px}
.pl-play-front .pl-play-card{min-width:0}
.pl-play-card.is-done{border-color:#9fd3b5!important}
.pl-fold{margin:0 0 10px;text-align:left}
.pl-fold-btn{width:100%;min-height:44px!important;padding:0 14px!important;border-radius:14px;border:1px solid #e3d3b8;background:#fffaf0;font:inherit;font-size:14px;font-weight:800;color:#7a4b00;text-align:left;cursor:pointer}
.pl-fold-btn[aria-expanded=true]{background:#fff4dc}
.pl-fold-body{padding:12px 0 2px}.pl-fold-body[hidden]{display:none}
.pl-fold-body>.pl-play-top{margin-bottom:10px}
@media (max-width:760px){.pl-play-front{grid-template-columns:repeat(2,minmax(0,1fr))}}
html[data-theme=dark] .pl-fold-btn{background:#1b2b26;color:#e9f1ee;border-color:#2a4a3f}

/* auto-course.css */
/* Auto course: a calm, full-screen "now playing" layer. */
body.ac-open{overflow:hidden}
.ac{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;background:radial-gradient(120% 80% at 50% 0%,#eaf5ee 0%,var(--pl-bg,#f6f5ef) 55%);color:var(--pl-ink,#1c2b26);font-family:var(--pl-font,system-ui);overflow:auto;animation:ac-in .28s var(--pl-ease,ease) both}
:root[data-theme=dark] .ac{background:radial-gradient(120% 80% at 50% 0%,#1d3a2f 0%,var(--pl-bg) 60%)}
@keyframes ac-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ac-top{display:flex;align-items:center;gap:14px;padding:14px 18px;max-width:880px;width:100%;margin:0 auto;box-sizing:border-box}
.ac-icon{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--pl-line);background:var(--pl-surface);font-size:18px;cursor:pointer;color:var(--pl-ink)}
.ac-icon:hover{background:var(--pl-soft)}
.ac-progress{flex:1;height:8px;border-radius:999px;background:var(--pl-line);overflow:hidden}
.ac-progress-bar{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--pl-pine),#4fb286);transition:width .4s linear}
.ac-time{flex:none;font-variant-numeric:tabular-nums;font-weight:700;color:var(--pl-muted);font-size:14px;min-width:72px;text-align:right}
.ac-streak{margin-left:auto;padding:6px 12px;border-radius:999px;background:#fff1dc;color:#8a4b00;font-weight:800;font-size:13px}

/* intro */
.ac-intro,.ac-done{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:12px 20px 40px;max-width:560px;width:100%;margin:0 auto;box-sizing:border-box}
.ac-hero{font-size:56px;line-height:1;margin-top:8px;filter:drop-shadow(0 8px 16px rgba(20,60,40,.15))}
.ac-title{margin:0;font-size:clamp(26px,5vw,34px);letter-spacing:-.6px;line-height:1.25;outline:none}
.ac-lead{margin:0;color:var(--pl-muted);font-size:16px;line-height:1.6}
.ac-minutes{display:inline-flex;gap:6px;padding:5px;border-radius:999px;background:var(--pl-surface);border:1px solid var(--pl-line);margin-top:4px}
.ac-minute{min-height:42px;padding:0 20px;border:0;border-radius:999px;background:transparent;font:inherit;font-weight:700;color:var(--pl-muted);cursor:pointer}
.ac-minute[aria-checked=true]{background:var(--pl-pine);color:#fff}
.ac-plan{list-style:none;margin:6px 0 0;padding:0;width:100%;display:grid;gap:8px;text-align:left}
.ac-plan-item{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:12px 14px;border-radius:16px;background:var(--pl-surface);border:1px solid var(--pl-line)}
.ac-plan-icon{grid-row:1/3;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--pl-pine-soft);font-size:20px}
.ac-plan-item strong{font-size:15px}.ac-plan-item span:last-child{color:var(--pl-muted);font-size:13px}
.ac-start{width:100%;min-height:58px;margin-top:6px;border:0;border-radius:18px;background:var(--pl-pine);color:#fff;font:inherit;font-size:18px;font-weight:800;cursor:pointer;box-shadow:0 12px 28px rgba(15,74,56,.25);transition:transform .15s,background .15s}
.ac-start:hover:not(:disabled){background:var(--pl-pine-dark);transform:translateY(-1px)}.ac-start:disabled{opacity:.5;cursor:default}
.ac-secondary{border:0;background:transparent;color:var(--pl-muted);font:inherit;font-weight:700;min-height:44px;cursor:pointer}
.ac-empty{color:var(--pl-muted)}

/* player */
.ac-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:8px 20px 20px;max-width:760px;width:100%;margin:0 auto;box-sizing:border-box}
.ac-chip{margin:0;padding:7px 14px;border-radius:999px;background:var(--pl-surface);border:1px solid var(--pl-line);font-weight:700;font-size:14px;color:var(--pl-pine)}
.ac-card{position:relative;width:100%;min-height:300px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:34px 26px;border-radius:28px;background:var(--pl-surface);border:1px solid var(--pl-line);box-shadow:0 18px 50px rgba(20,50,40,.10);text-align:center}
.ac-cue{margin:0;color:var(--pl-muted);font-weight:700;font-size:14px;letter-spacing:.2px;min-height:20px}
.ac-meaning{margin:0;font-size:clamp(20px,3.6vw,26px);line-height:1.45;color:var(--pl-muted);transition:opacity .25s}
.ac-target{margin:0;font-size:clamp(28px,6vw,44px);font-weight:800;letter-spacing:-.5px;line-height:1.3;color:var(--pl-ink);transition:opacity .25s,transform .25s}
.ac-reading{margin:0;color:var(--pl-pine);font-size:16px;min-height:22px}
/* Hide the answer while the learner is recalling it. */
.ac-card[data-reveal=false] .ac-target,.ac-card[data-reveal=false] .ac-reading{opacity:0;transform:translateY(6px)}
.ac-card[data-step=context][data-reveal=false] .ac-meaning{opacity:0}
.ac-card[data-step=context][data-reveal=false] .ac-target{opacity:1;transform:none}
.ac-card[data-phase=shadow] .ac-target{color:var(--pl-pine)}
.ac-ring{position:absolute;top:16px;right:16px;width:44px;height:44px;opacity:0;transition:opacity .2s}
.ac-ring[data-on=true]{opacity:1}
.ac-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ac-ring circle{fill:none;stroke:var(--pl-line);stroke-width:4}
.ac-ring .ac-ring-fg{stroke:var(--pl-pine);stroke-linecap:round;stroke-dasharray:119.4;stroke-dashoffset:calc(119.4 * var(--p,0));transition:stroke-dashoffset .25s linear}
.ac-tip{margin:0;max-width:520px;text-align:center;color:var(--pl-muted);font-size:13px;line-height:1.5}
.ac-combo{margin:0;min-height:22px;font-weight:800;color:#8a4b00;opacity:0}
.ac-combo.is-on{animation:ac-pop 2.2s ease both}
@keyframes ac-pop{0%{opacity:0;transform:scale(.9)}12%{opacity:1;transform:scale(1.05)}25%{transform:scale(1)}80%{opacity:1}100%{opacity:0}}
.ac-stage-banner{position:fixed;left:50%;top:84px;transform:translateX(-50%);padding:10px 18px;border-radius:999px;background:var(--pl-pine);color:#fff;font-weight:800;opacity:0;pointer-events:none;z-index:2;white-space:nowrap}
.ac-stage-banner.is-on{animation:ac-banner 2.4s ease both}
@keyframes ac-banner{0%{opacity:0;transform:translate(-50%,-10px)}12%,75%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-6px)}}
.ac-controls{display:flex;justify-content:center;align-items:center;gap:22px;padding:14px 20px calc(22px + env(safe-area-inset-bottom))}
.ac-ctrl{width:52px;height:52px;border-radius:50%;border:1px solid var(--pl-line);background:var(--pl-surface);font-size:18px;cursor:pointer;color:var(--pl-ink)}
.ac-play{width:76px;height:76px;border-radius:50%;border:0;background:var(--pl-pine);color:#fff;font-size:24px;font-weight:800;cursor:pointer;box-shadow:0 12px 28px rgba(15,74,56,.3)}
.ac-play[data-state=loading]{animation:ac-pulse 1.2s ease-in-out infinite}
@keyframes ac-pulse{50%{opacity:.6}}
.ac-ctrl:hover,.ac-icon:hover{background:var(--pl-soft)}

/* done */
.ac-done{justify-content:center;position:relative}
.ac-streak-big{margin:0;font-weight:800;color:#8a4b00}
.ac-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%}
.ac-stat{padding:16px 8px;border-radius:18px;background:var(--pl-surface);border:1px solid var(--pl-line)}
.ac-stat strong{display:block;font-size:28px;color:var(--pl-pine)}.ac-stat span{font-size:13px;color:var(--pl-muted)}
.ac-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.ac-confetti i{position:absolute;top:-12px;left:calc(var(--i) * 4.2%);width:8px;height:14px;border-radius:2px;background:hsl(calc(var(--i) * 37),75%,60%);animation:ac-fall calc(1.6s + var(--i) * .05s) ease-in calc(var(--i) * .04s) both}
@keyframes ac-fall{to{transform:translateY(105vh) rotate(540deg);opacity:.2}}

@media (max-width:560px){.ac-card{min-height:260px;padding:26px 18px;border-radius:22px}.ac-controls{gap:16px}.ac-stage-banner{top:72px}}
@media (prefers-reduced-motion:reduce){.ac,.ac *{animation:none!important;transition:none!important}}

/* pine reward */
.ac-pine{flex:none;width:40px;height:40px;display:grid;place-items:center}
.ac-pine.is-grow{animation:ac-grow .9s cubic-bezier(.2,1.4,.4,1) both}
@keyframes ac-grow{0%{transform:scale(.6)}60%{transform:scale(1.25)}100%{transform:scale(1)}}
.ac-hero .pine-svg{display:block;margin:0 auto}
.ac-hero-grow{animation:ac-grow 1.1s cubic-bezier(.2,1.4,.4,1) .2s both}
.ac-planted{margin:-4px 0 0;font-weight:800;color:var(--pl-pine);font-size:17px}
.ac-forest{width:100%;padding:14px 14px 6px;border-radius:20px;background:linear-gradient(180deg,#eef7f0,#e3f0e5);border:1px solid var(--pl-line);box-sizing:border-box}
.ac-forest strong{display:block;text-align:left;font-size:14px;color:var(--pl-pine)}
.ac-forest .forest-svg{display:block;width:100%;height:auto;max-height:150px}
.ac-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.ac-badge{padding:8px 14px;border-radius:999px;background:linear-gradient(135deg,#fff3cf,#fde3a0);color:#7a4b00;font-weight:800;font-size:13px;animation:ac-grow .8s ease .6s both}

/* home: today's pine */
.pine-today{display:flex;align-items:center;gap:18px;margin:0 0 18px;padding:18px 20px;border-radius:var(--pl-radius-lg,20px);background:linear-gradient(120deg,#f2faf3 0%,#fffdf6 70%);border:1px solid var(--pl-line);box-shadow:var(--pl-shadow)}
.pine-today[data-done=true]{background:linear-gradient(120deg,#e6f5ea 0%,#fbfff6 70%)}
.pine-today-art{flex:none;width:88px}
.pine-today-copy{flex:1;min-width:0;display:grid;gap:8px}
.pine-today-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pine-today-head h2{margin:0;font-size:19px;letter-spacing:-.3px}
.pine-today-streak{padding:4px 10px;border-radius:999px;background:#fff1dc;color:#8a4b00;font-weight:800;font-size:12px}
.pine-today-trees{padding:4px 10px;border-radius:999px;background:var(--pl-pine-soft);color:var(--pl-pine);font-weight:800;font-size:12px}
.pine-today-message{margin:0;color:var(--pl-muted);line-height:1.5}
.pine-today-start{justify-self:start;min-height:46px;padding:0 20px;border:0;border-radius:14px;background:var(--pl-pine);color:#fff;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(15,74,56,.2)}
.pine-today-start:hover{background:var(--pl-pine-dark)}
.pine-today[data-done=true] .pine-today-start{background:var(--pl-surface);color:var(--pl-pine);border:1px solid var(--pl-pine);box-shadow:none}
@media (max-width:560px){.pine-today{padding:14px;gap:12px}.pine-today-art{width:64px}.pine-today-art svg{width:64px;height:64px}.pine-today-start{justify-self:stretch}}

/* difficulty, screen-off tip, premium invitation */
.ac-levels{margin-top:-4px}
.ac-tip-box{width:100%;box-sizing:border-box;display:grid;gap:4px;padding:14px 16px;border-radius:16px;background:#eef6ff;border:1px solid #d6e6fb;text-align:left}
.ac-tip-box strong{font-size:15px;color:#1f4f86}.ac-tip-box span{font-size:13.5px;color:#3e5f86;line-height:1.55}
:root[data-theme=dark] .ac-tip-box{background:#1b2b40;border-color:#2b4566}:root[data-theme=dark] .ac-tip-box strong,:root[data-theme=dark] .ac-tip-box span{color:#cfe2ff}
.ac-premium{width:100%;box-sizing:border-box;margin-top:6px;padding:18px;border-radius:20px;text-align:left;background:linear-gradient(135deg,#fff8e6,#fff1cf);border:1px solid #f3dca0;display:grid;gap:8px}
.ac-premium-title{font-size:16px;color:#6b4300}
.ac-premium-note{margin:0;font-size:13px;color:#8a5a00;font-weight:700}
.ac-premium-list{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:14px;color:#5b4520}
.ac-premium-cta{justify-self:start;display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:12px;background:#7a4b00;color:#fff;font-weight:800;text-decoration:none}
.ac-premium-cta:hover{background:#5e3900}

/* ---------- AI 자동학습 intro: two columns, fits one screen (no page scroll) ---------- */
.ac.ac-wide{overflow:hidden}
.ac-wide .ac-top{max-width:1280px;padding:12px 28px}
.ac-brand{font-weight:800;color:var(--pl-pine-dark,#0f4a38);letter-spacing:-.3px}
.ac-plan-badge{margin-left:auto;padding:5px 12px;border-radius:999px;border:1px solid var(--pl-line);font-size:12.5px;font-weight:700;color:var(--pl-muted)}
.ac-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;width:100%;max-width:1280px;margin:0 auto;padding:4px 28px 22px;box-sizing:border-box}
.ac-col{min-height:0;display:flex;flex-direction:column;gap:12px}
.ac-side{overflow:auto}
.ac-head .ac-kicker{margin:0 0 4px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--pl-pine,#1b6b52)}
.ac-wide .ac-title{font-size:clamp(26px,2.6vw,34px);text-align:left}
.ac-wide .ac-lead{font-size:15px;text-align:left;margin-top:4px}
.ac-metrics{display:grid;grid-template-columns:repeat(4,1fr) 1.3fr;gap:8px}
.ac-metric,.ac-week{background:var(--pl-surface,#fff);border:1px solid var(--pl-line,#e3e8e4);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.ac-metric strong{font-size:22px;font-weight:800;color:var(--pl-ink,#1c2b26);font-variant-numeric:tabular-nums}
.ac-metric span{font-size:12.5px;font-weight:700;color:var(--pl-muted)}
.ac-metric small{font-size:11.5px;color:var(--pl-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-week{flex-direction:row;align-items:flex-end;gap:5px;padding:10px}
.ac-week-day{flex:1;height:100%;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px}
.ac-week-day i{display:block;width:100%;max-width:14px;border-radius:4px;background:#cfe3d8}
.ac-week-day[data-today=true] i{background:var(--pl-pine,#1b6b52)}
.ac-week-day span{font-size:10.5px;color:var(--pl-muted)}
.ac-config{background:var(--pl-surface,#fff);border:1px solid var(--pl-line);border-radius:18px;padding:14px 16px;display:grid;gap:10px}
.ac-row{display:grid;grid-template-columns:76px 1fr;align-items:center;gap:12px}
.ac-row-label{font-size:13px;font-weight:800;color:var(--pl-muted)}
.ac-seg{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:12px;background:var(--pl-soft,#f1f4f2)}
.ac-seg-btn{flex:1;min-height:36px;padding:0 12px;border:0;border-radius:9px;background:transparent;font:inherit;font-size:14px;font-weight:700;color:var(--pl-muted);cursor:pointer;white-space:nowrap}
.ac-seg-btn[aria-checked=true]{background:var(--pl-surface,#fff);color:var(--pl-pine-dark,#0f4a38);box-shadow:0 1px 4px rgba(0,0,0,.1)}
.ac-seg-btn[data-locked=true]{opacity:.6}
.ac-length{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ac-stepper{display:flex;align-items:center;gap:6px;padding:4px;border-radius:12px;background:var(--pl-soft,#f1f4f2)}
.ac-step{width:38px;height:38px;border:0;border-radius:9px;background:var(--pl-surface,#fff);font-size:20px;font-weight:700;color:var(--pl-pine-dark,#0f4a38);cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.ac-step:disabled{opacity:.4;cursor:default}
.ac-length-value{min-width:110px;text-align:center;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}
.ac-presets{display:flex;flex-wrap:wrap;gap:6px}
.ac-chip{min-height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--pl-line);background:transparent;font:inherit;font-size:13px;font-weight:700;color:var(--pl-muted);cursor:pointer}
.ac-chip[aria-pressed=true]{border-color:var(--pl-pine);color:var(--pl-pine-dark,#0f4a38);background:var(--pl-pine-soft,#e6f2ec)}
.ac-hint{width:100%;font-size:12px;color:var(--pl-muted)}
.ac-lock-note{margin:0;padding:10px 12px;border-radius:10px;background:#fff7e6;border:1px solid #f3dfb4;font-size:13px;color:#7a5200}
.ac-lock-note a{font-weight:800;color:#7a5200}
.ac-wide .ac-start{margin-top:0}
.ac-tip-line{margin:0;font-size:12.5px;color:var(--pl-muted)}
.ac-plan-card{background:var(--pl-surface,#fff);border:1px solid var(--pl-line);border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.ac-plan-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ac-plan-head h2{margin:0;font-size:16px}
.ac-evidence-btn{border:0;background:none;padding:4px 0;font:inherit;font-size:13px;font-weight:800;color:var(--pl-pine,#1b6b52);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.ac-wide .ac-plan{margin:0;gap:6px}
.ac-wide .ac-plan-item{grid-template-columns:30px 1fr auto;grid-template-rows:auto;padding:9px 12px;border-radius:12px;background:var(--pl-soft,#f6f8f7)}
.ac-plan-no{font-size:13px;font-weight:800;color:var(--pl-pine,#1b6b52);font-variant-numeric:tabular-nums}
.ac-wide .ac-plan-item div{display:flex;flex-direction:column;min-width:0}
.ac-wide .ac-plan-item strong{font-size:14px}.ac-wide .ac-plan-item div span{font-size:12.5px;color:var(--pl-muted)}
.ac-plan-tag{font-size:11.5px;font-weight:700;color:#3d5a80;background:#eaf1fb;border-radius:999px;padding:3px 9px;white-space:nowrap}
.ac-side .ac-premium{margin:0}
@media (max-width:900px){.ac.ac-wide{overflow:auto}.ac-layout{grid-template-columns:1fr;padding:4px 16px 20px}.ac-side{overflow:visible}.ac-metrics{grid-template-columns:repeat(4,1fr)}.ac-week{grid-column:1/-1;min-height:70px}.ac-metric strong{font-size:18px}.ac-row{grid-template-columns:1fr}}

/* research sheet */
.ev-sheet{position:fixed;inset:0;z-index:95;background:rgba(15,30,25,.45);display:grid;place-items:center;padding:20px;animation:ac-in .2s ease both}
.ev-panel{width:min(980px,100%);max-height:100%;overflow:auto;background:var(--pl-surface,#fff);border-radius:20px;padding:22px 26px;box-sizing:border-box;text-align:left;box-shadow:0 30px 80px rgba(0,0,0,.25)}
.ev-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ev-kicker{margin:0;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--pl-pine,#1b6b52)}
.ev-head h2{margin:2px 0 0;font-size:24px}
.ev-close{width:38px;height:38px;border-radius:50%;border:1px solid var(--pl-line);background:none;cursor:pointer;font-size:16px}
.ev-intro{color:var(--pl-muted);font-size:14px;line-height:1.6;margin:10px 0 14px}
.ev-stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.ev-stage{display:grid;grid-template-columns:34px 1fr;gap:8px;padding:12px 14px;border:1px solid var(--pl-line);border-radius:14px}
.ev-no{font-weight:800;color:var(--pl-pine,#1b6b52);font-variant-numeric:tabular-nums}
.ev-principle{margin:0;font-size:11.5px;font-weight:800;color:#3d5a80}
.ev-stage h3{margin:2px 0 6px;font-size:15px}
.ev-stage p{margin:0 0 4px;font-size:13px;line-height:1.55;color:var(--pl-ink)}
.ev-stage b{color:var(--pl-muted);margin-right:4px}
.ev-cite{color:var(--pl-pine,#1b6b52);font-weight:700}
.ev-section{margin:18px 0 8px;font-size:15px}
.ev-design{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ev-design li{padding:12px 14px;border-radius:14px;background:var(--pl-soft,#f6f8f7)}
.ev-design h3{margin:0 0 4px;font-size:14px}.ev-design p{margin:0;font-size:12.5px;line-height:1.55}
.ev-refs{margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:12px;line-height:1.5;color:var(--pl-muted)}
.ev-refs span{font-weight:700;color:var(--pl-ink)}
@media (max-width:760px){.ev-stages,.ev-design{grid-template-columns:1fr}.ev-panel{padding:18px}}
.ac-ai{background:linear-gradient(135deg,#f3f7ff,#f4fbf7);border:1px solid #dbe6f5;border-radius:18px;padding:12px 16px;display:grid;gap:8px}
.ac-ai-head{display:flex;align-items:center;gap:8px}
.ac-ai-head strong{font-size:15px}
.ac-ai-badge{display:inline-grid;place-items:center;min-width:26px;height:22px;padding:0 6px;border-radius:7px;background:linear-gradient(135deg,#3b6fd8,#1b6b52);color:#fff;font-size:11.5px;font-weight:800;letter-spacing:.04em}
.ac-ai-facts{display:flex;flex-wrap:wrap;gap:6px}
.ac-ai-facts span{font-size:12.5px;font-weight:700;color:#2f4a6e;background:#fff;border:1px solid #dbe6f5;border-radius:999px;padding:3px 10px}
.ac-ai-advice{margin:0;font-size:13.5px;line-height:1.55;color:var(--pl-ink)}
.ac-ai-apply{border:0;border-radius:8px;background:#2f5fb8;color:#fff;font:inherit;font-size:12.5px;font-weight:800;padding:4px 10px;cursor:pointer}
.ac-interests{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ac-interests .ac-row-label{margin-right:4px}
.ev-ai{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ev-ai li{padding:12px 14px;border-radius:14px;border:1px solid #dbe6f5;background:#f6f9ff}
.ev-ai em{font-style:normal;font-size:11px;font-weight:800;color:#2f5fb8;letter-spacing:.04em}
.ev-ai h3{margin:3px 0 4px;font-size:14px}.ev-ai p{margin:0;font-size:12.5px;line-height:1.55}
@media (max-width:760px){.ev-ai{grid-template-columns:1fr}}
.ev-panel{display:flex;flex-direction:column;max-height:calc(100dvh - 40px);overflow:hidden}
.ev-tabs{display:flex;gap:4px;padding:4px;border-radius:12px;background:var(--pl-soft,#f1f4f2);margin-bottom:12px;flex-wrap:wrap}
.ev-tab{flex:1;min-height:36px;border:0;border-radius:9px;background:transparent;font:inherit;font-size:13.5px;font-weight:800;color:var(--pl-muted);cursor:pointer;white-space:nowrap}
.ev-tab[aria-selected=true]{background:var(--pl-surface,#fff);color:var(--pl-pine-dark,#0f4a38);box-shadow:0 1px 4px rgba(0,0,0,.1)}
.ev-pane{min-height:0;overflow:auto}
.ev-pane[hidden]{display:none}
.ev-stage{padding:10px 12px}.ev-stage p{font-size:12.5px;line-height:1.5}
.ev-cite{cursor:pointer}
@media (min-width:761px){.ev-refs{grid-template-columns:1fr 1fr;column-gap:18px;font-size:11.5px}}
.ac-premium-list li::before{content:"\2713";margin-right:8px;font-weight:800;color:var(--pl-pine,#1b6b52)}
.ac-goal{display:flex;align-items:center;gap:10px;min-width:0}
.ac-goal-select{flex:0 1 230px;min-width:0;padding:7px 10px;border:1px solid var(--pl-line);border-radius:10px;background:var(--pl-surface,#fff);color:inherit;font:inherit;font-size:14px;font-weight:700}
.ac-goal-note{flex:1;min-width:0;font-size:12px;line-height:1.4;color:var(--pl-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-goal-source{flex:none;max-width:40%;font-size:12px;color:var(--pl-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-goal-source a{color:inherit;font-weight:800}
/* Keep the intro on one screen: renderIntro adds these steps only while a column overflows. */
.ac-tight .ac-premium-list{display:none}
.ac-tighter .ac-lead,.ac-tighter .ac-premium-note,.ac-tighter .ac-tip-line{display:none}
.ac-tighter .ac-premium{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ac-tighter .ac-premium-cta{flex:none}
.ac-tighter .ac-side{gap:8px}
.ac-tighter .ac-plan-card{padding-block:10px}
@media (max-width:900px){.ac-goal{flex-wrap:wrap}.ac-goal-select{flex-basis:100%}.ac-goal-note{white-space:normal}}
.ac-goal-group{font-weight:800;color:var(--pl-muted)}

/* ---------- Simplified intro: one calm column ---------- */
.ac-layout.ac-simple{grid-template-columns:minmax(0,640px);justify-content:center;padding-top:0}
.ac-simple .ac-col{gap:12px}
.ac-simple .ac-head{text-align:center}
.ac-simple .ac-title,.ac-simple .ac-lead{text-align:center}
.ac-simple .ac-ai{display:flex;align-items:center;gap:10px;padding:10px 14px}
.ac-simple .ac-ai .ac-ai-head strong{display:none}
.ac-simple .ac-ai .ac-ai-advice{flex:1}
.ac-simple .ac-metrics{grid-template-columns:repeat(4,1fr);gap:8px}
.ac-simple .ac-metric{align-items:center;text-align:center;padding:8px}
.ac-simple .ac-metric strong{font-size:20px}
.ac-simple .ac-metric small{display:none}
.ac-more{border-top:1px solid var(--pl-line);padding-top:8px}
.ac-more summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--pl-muted);list-style:none}
.ac-more summary::before{content:'＋ '}
.ac-more[open] summary::before{content:'－ '}
.ac-more[open]{display:grid;gap:10px}
.ac-simple .ac-plan-card{padding:10px 14px;gap:8px}
.ac-simple .ac-plan-head h2{font-size:14px}
.ac-simple .ac-plan{display:flex;flex-wrap:wrap;gap:6px}
.ac-simple .ac-plan-item{display:flex!important;align-items:center;gap:6px;padding:6px 10px!important;border-radius:999px!important;background:var(--pl-soft,#f3f6f4)}
.ac-simple .ac-plan-item strong{font-size:13px}
.ac-simple .ac-plan-no{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--pl-pine,#1b6b52);color:#fff;font-size:11px}
.ac-simple .ac-tip-line{text-align:center}
.ac-upsell-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:#fff7e6;border:1px solid #f3dfb4;color:#7a5200;text-decoration:none;font-size:13.5px}
.ac-upsell-bar strong{white-space:nowrap}

/* ---------- Intro as one question per screen ---------- */
.ac-wizard .ac-top{gap:12px}
.ac-steps{display:flex;gap:6px;margin:0 auto}
.ac-steps i{width:28px;height:5px;border-radius:999px;background:var(--pl-line,#dfe6e2)}
.ac-steps i[data-on=true]{background:var(--pl-pine,#1b6b52)}
.ac-ask .ac-col{gap:18px;padding-top:4vh}
.ac-question-head{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.ac-question{margin:0;font-size:clamp(24px,2.6vw,32px);letter-spacing:-.6px;line-height:1.3;outline:none}
.ac-ask .ac-lead{text-align:center;font-size:15px}
.ac-answers{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.ac-answer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:64px;padding:12px 14px;border:1.5px solid var(--pl-line,#dfe6e2);border-radius:16px;background:var(--pl-surface,#fff);font:inherit;color:inherit;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}
.ac-answer strong{font-size:16px}
.ac-answer span{font-size:12.5px;color:var(--pl-muted);text-align:center}
.ac-answer:hover:not([data-locked]){border-color:var(--pl-pine,#1b6b52);transform:translateY(-1px);box-shadow:0 6px 18px rgba(15,74,56,.1)}
.ac-answer[aria-checked=true]{border-color:var(--pl-pine,#1b6b52);background:#eef7f2}
.ac-answer[data-locked]{opacity:.55}
.ac-ask-nav{display:flex;justify-content:space-between;align-items:center}
.ac-ask-back,.ac-ask-skip{border:0;background:none;font:inherit;font-size:14px;font-weight:700;color:var(--pl-muted);cursor:pointer;padding:6px 0}
.ac-ask-skip{margin-left:auto;color:var(--pl-pine,#1b6b52)}
.ac-quick{align-self:center;border:1px solid var(--pl-line);background:var(--pl-surface,#fff);border-radius:999px;padding:9px 18px;font:inherit;font-size:14px;font-weight:700;color:var(--pl-pine-dark,#0f4a38);cursor:pointer}
.ac-interests-big{justify-content:center}
.ac-interests-big .ac-chip{min-height:40px;padding:0 16px;font-size:14.5px}
.ac-ask .ac-length{justify-content:center}
.ac-ask .ac-ai-facts{justify-content:center}
.ac-summary{margin:0;display:grid;gap:0;background:var(--pl-surface,#fff);border:1px solid var(--pl-line);border-radius:16px;padding:4px 16px}
.ac-summary div{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eef1ef}
.ac-summary div:last-child{border-bottom:0}
.ac-summary dt{font-size:13px;font-weight:700;color:var(--pl-muted)}.ac-summary dd{margin:0;font-weight:700}
.ac-summary-edit{border:0;background:none;color:var(--pl-pine,#1b6b52);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.ac-summary-stats{margin:0;text-align:center;font-size:13px;color:var(--pl-muted)}
@media (max-width:640px){.ac-steps i{width:18px}.ac-answers{grid-template-columns:1fr 1fr}.ac-ask .ac-col{padding-top:2vh}}
.ac-answers{grid-template-columns:repeat(auto-fit,minmax(108px,1fr))}
.ev-pager{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.ev-pager button{border:1px solid var(--pl-line);background:var(--pl-surface,#fff);border-radius:999px;padding:4px 12px;font:inherit;font-size:12.5px;font-weight:700;color:var(--pl-muted);cursor:pointer}.ev-pager button[aria-pressed=true]{border-color:var(--pl-pine);color:var(--pl-pine-dark,#0f4a38);background:#eef7f2}.ev-ai{grid-template-columns:repeat(3,1fr)}.ev-design{grid-template-columns:repeat(3,1fr)}@media (min-width:1100px){.ev-design{grid-template-columns:repeat(4,1fr)}}.ev-design li p,.ev-ai li p{font-size:12px}

/* 학습 중 설정: 발음 보기 · 속도 · 난이도(다음 회차부터) */
.ac-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;width:100%;max-width:720px;margin:0 auto;padding:6px 18px;box-sizing:border-box}
.ac-tool{min-height:38px;padding:0 14px;border:1px solid var(--pl-line,#dfe6e2);border-radius:999px;background:var(--pl-surface,#fff);font:inherit;font-size:13.5px;font-weight:700;color:var(--pl-ink,#1c2b26);cursor:pointer}
.ac-tool[aria-pressed=true]{border-color:#1b6b52;color:#0f4a38;background:#eef7f2}
.ac-tool-field{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--pl-muted,#5d6d66)}
.ac-tool-select{min-height:38px;padding:0 10px;border:1px solid var(--pl-line,#dfe6e2);border-radius:10px;background:var(--pl-surface,#fff);font:inherit;font-size:13.5px;color:var(--pl-ink,#1c2b26)}
.ac-tool-note{font-size:12px;color:#1b6b52;font-weight:700;min-height:16px}
.ac[data-phonetics=false] .ac-reading{display:none!important}

/* 2026-10-18 야간 개선: 학습 중 도구줄 정돈, 뜻은 단어 아래, 부드러운 전환 */
.ac-meaning{margin-top:4px}
.ac-card[data-reveal=true] .ac-meaning{animation:ac-rise .35s ease both}
.ac-card[data-reveal=true] .ac-target{animation:ac-rise .38s cubic-bezier(.2,.9,.3,1.2) both}
@keyframes ac-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ac-tools{gap:8px}
.ac-tool,.ac-tool-select{min-height:36px;border-radius:999px;transition:border-color .15s,background-color .15s,box-shadow .15s}
.ac-tool:hover,.ac-tool-select:hover{border-color:#9cc7b4;box-shadow:0 2px 8px rgba(20,60,45,.08)}
.ac-tool:focus-visible,.ac-tool-select:focus-visible{outline:2px solid #1b6b52;outline-offset:2px}
.ac-tool-select{appearance:none;-webkit-appearance:none;padding:0 30px 0 14px;font-weight:700;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%231b6b52' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center}
.ac-sub-head{margin:22px 0 10px;font-size:15px;font-weight:800;color:var(--pl-ink,#1c2b26);text-align:center}
.ac-goals .ac-chip{font-size:14px}
@media (prefers-reduced-motion:reduce){.ac-card[data-reveal=true] .ac-meaning,.ac-card[data-reveal=true] .ac-target{animation:none}}

.ac-team-banner{display:grid;gap:4px;margin:0 auto 14px;max-width:640px;padding:12px 16px;border-radius:16px;background:linear-gradient(135deg,#eef6f1,#e9f0fb);border:1px solid #d3e5da;text-align:left;font-size:13.5px}
.ac-team-banner strong{color:#0f4a38}.ac-team-banner span{color:var(--pl-muted,#5d6d66)}.ac-team-banner .ac-team-warn{color:#9a4a0b;font-weight:700}
.ac-fix{display:grid;gap:10px;margin-top:12px;padding:14px;border-radius:16px;background:#f4f9f6;border:1px dashed #b9d9c8;text-align:center}
.ac-fix-main{min-height:46px;border:0;border-radius:12px;background:#1b6b52;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.ac-fix-label{margin:4px 0 0;font-weight:800;font-size:13.5px;color:var(--pl-ink,#1c2b26)}.ac-fix-note{margin:0;font-size:12.5px;color:var(--pl-muted,#5d6d66)}
.ac-fix .ac-interests{justify-content:center}
.ac-answer.is-recommended{position:relative;border-color:#1b6b52;background:linear-gradient(180deg,#f2faf5,#fff);box-shadow:0 8px 22px rgba(27,107,82,.12)}
.ac-answer.is-recommended::before{content:"AI 추천";position:absolute;top:-10px;left:14px;padding:2px 9px;border-radius:999px;background:linear-gradient(135deg,#3b6fd8,#1b6b52);color:#fff;font-size:11px;font-weight:800;letter-spacing:.02em}
html:not(:lang(ko)) .ac-answer.is-recommended::before{content:"AI pick"}
.ac-goals{justify-content:center}

.ac-summary div{padding:5px 0}.ac-summary .ac-summary-edit{min-height:34px;padding:0 6px}
/* Learning-science update (2026-10-19): review reason, closing retrieval, streak guard. */
.ac-why{margin:6px 0 0;display:inline-block;align-self:center;padding:3px 10px;border-radius:999px;background:var(--pl-pine-soft,#e8f3ee);color:var(--pl-pine-dark,#0f4a38);font-size:12px;font-weight:700;line-height:1.5}
.ac-card[data-phase=produce] .ac-meaning{color:var(--pl-pine-dark,#0f4a38)}
.ac-guard{margin-top:8px;border-style:dashed}
.ac-guard[data-kind=repair]{border-color:var(--pl-pine,#1b7a5a);border-style:solid}
.ac-reserve-note{margin:4px 0 0;align-self:center;font-size:12px;color:var(--pl-muted)}
/* 끝난 화면 덜어내기(2026-10-24): '다음에 할 한 가지'를 크게, 나머지는 '⌄ 자세히' 안에 접는다 */
.ac-next-one{width:100%;max-width:440px;margin:6px auto 0;padding:18px 16px;border-radius:22px;background:var(--pl-surface,#fff);border:2px solid var(--pl-pine,#1b6b52);box-sizing:border-box;display:flex;flex-direction:column;gap:10px}
.ac-next-one-h{margin:0;font-size:13px;font-weight:800;color:var(--pl-pine,#1b6b52);letter-spacing:.02em}
.ac-next-one .ac-lead{font-size:18px;font-weight:800;margin:0}
.ac-next-one .ac-promise{border:0;padding:0;background:none}
.ac-next-one .ac-promise-row .ac-chip{min-height:52px;font-size:16px}
.ac-next-one .ac-done-actions{margin:0;max-width:none}
.ac-done-detail{width:100%;max-width:440px;margin:6px auto 0}
.ac-done-detail-btn{width:100%;min-height:44px;border:0;background:none;font:inherit;font-size:14px;font-weight:700;color:var(--tc-sub,#5b6670);cursor:pointer}
.ac-done-detail-body[hidden]{display:none}
.ac-done-detail-body{display:flex;flex-direction:column;gap:8px;align-items:center}
html[data-theme=dark] .ac-next-one{background:#18201d}

/* home.css */
/* Home hero + loading screen (loaded last). */

/* ---------- loading: a pine grows tier by tier ---------- */
#load-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:72vh!important;padding:24px!important;background:transparent!important;box-shadow:none!important;border:0!important}
#load-state .loading-orbit,#load-state .pine-growth-scene,#load-state .startup-steps{display:none!important}
/* The tree grows once (opaque at rest so it never looks washed out), then sways. */
body:has(#load-state:not([hidden])) .site-header{display:none!important}
/* Fixed to the viewport so the loader is always dead-centre with no scrolling. */
body #load-state:not([hidden]){position:fixed;inset:0;z-index:50;width:auto;max-width:none;margin:0;min-height:0!important;overflow:hidden;background:var(--pl-bg,#f6f5f0)!important}
.pl-fact{margin:22px 0 0;display:flex;flex-direction:column;align-items:center;gap:8px}
.pl-fact[hidden]{display:none}
.pl-fact{position:relative}
.pl-fact-speak{position:absolute;right:12px;top:42px;z-index:1;width:40px;height:40px;border-radius:50%;border:1px solid #d7e6dd;background:#f2f8f4;color:#1b6b52;display:grid;place-items:center;cursor:pointer;transition:transform .15s,background .15s}
.pl-fact-speak:hover{background:#e3f1e8;transform:scale(1.06)}
.pl-fact-speak[hidden]{display:none}
.pl-fact-kicker{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7a8a83}
.pl-fact-card{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:260px;max-width:min(360px,86vw);padding:18px 26px;border:1px solid #e1e9e4;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(15,74,56,.08);font:inherit;color:inherit;cursor:pointer;transition:transform .15s,box-shadow .15s}
.pl-fact-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(15,74,56,.12)}
.pl-fact-card.is-in{animation:pl-fact-in .35s ease-out}
@keyframes pl-fact-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.pl-fact-lang{font-size:12px;font-weight:700;color:#1b6b52;background:#e7f3ec;border-radius:999px;padding:3px 10px}
.pl-fact-word{font-size:30px;font-weight:800;letter-spacing:-.5px;color:#163a30;line-height:1.25}
.pl-fact-say{font-size:15px;color:#4a5d55;line-height:1.5;text-align:center}
.pl-fact-next{font-size:12.5px;color:#8a978f}
#load-state .loading-cards,#load-state .loading-study-mark,#load-state .pine-growth-fallback{display:none!important}
.pl-loader-stage{position:relative;width:168px;height:168px;display:grid;place-items:center;margin-bottom:4px}
.pl-loader-halo{position:absolute;inset:6px;border-radius:50%;background:radial-gradient(circle at 50% 58%,#e3f3ea 0,#eef7f1 46%,rgba(238,247,241,0) 70%)}
.pl-loader-pine{position:relative;width:104px;height:126px;overflow:visible}
.pl-loader-pine .pl-tier,.pl-loader-pine .pl-trunk,.pl-loader-pine .pl-shine{transform-box:fill-box;transform-origin:50% 100%;animation:pl-grow .55s cubic-bezier(.2,1.3,.4,1) both}
.pl-loader-pine .pl-trunk{animation-name:pl-trunk}
.pl-loader-pine .pl-tier-1{animation-delay:.1s}.pl-loader-pine .pl-tier-2{animation-delay:.25s}.pl-loader-pine .pl-tier-3{animation-delay:.4s}.pl-loader-pine .pl-shine{animation-name:pl-fade;animation-delay:.6s}
/* No looping transform on the tree: a running rotate/scale makes the browser draw it as a blurry bitmap. */
@keyframes pl-grow{from{transform:translateY(6px) scale(.4);opacity:0}to{transform:none;opacity:1}}
@keyframes pl-trunk{from{transform:scaleY(0)}to{transform:none}}
@keyframes pl-fade{from{opacity:0}to{opacity:.13}}
.pl-spark{position:absolute;width:7px;height:7px;border-radius:50%;background:#f2c14e;box-shadow:0 0 10px rgba(242,193,78,.7);opacity:0;animation:pl-spark 2.6s ease-in-out infinite}
.pl-spark-1{left:30px;top:52px}.pl-spark-2{right:28px;top:38px;animation-delay:.9s;background:#7fd1a4;box-shadow:0 0 10px rgba(127,209,164,.8)}.pl-spark-3{right:40px;bottom:46px;animation-delay:1.7s;width:5px;height:5px}
@keyframes pl-spark{0%{opacity:0;transform:translateY(8px) scale(.6)}35%{opacity:1}100%{opacity:0;transform:translateY(-22px) scale(1)}}
#load-state .loading-prelude{margin:2px 0 0;font-size:30px;font-weight:800;letter-spacing:-.8px;color:var(--pl-pine-dark,#0f4a38);-webkit-font-smoothing:antialiased}
#load-state .loading-prelude .brand-pine{color:var(--pl-pine,#1b6b52)}
#load-state .loading-heading{margin:0!important;font-size:16px!important;line-height:1.5!important;font-weight:600;color:#4a5d55;min-height:0!important;letter-spacing:-.2px!important}
.pl-loader-bar{width:180px;height:6px;border-radius:999px;background:#e2eee8;overflow:hidden;margin-top:12px}
.pl-loader-bar span{display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f8a5f,#53b483);animation:pl-bar 1.15s ease-in-out infinite}
@keyframes pl-bar{0%{transform:translateX(-110%)}100%{transform:translateX(250%)}}
@media (max-width:640px){#load-state{min-height:calc(100svh - 120px)!important}.pl-loader-stage{width:152px;height:152px}.pl-loader-pine{width:96px;height:116px}#load-state .loading-prelude{font-size:28px}}
@media (prefers-reduced-motion:reduce){.pl-loader-stage *,.pl-loader-bar span{animation:none!important}.pl-spark{display:none}}

/* ---------- home hero ---------- */
.pine-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:stretch;margin:4px 0 22px;border-radius:28px;overflow:hidden;background:var(--pl-surface);border:1px solid var(--pl-line);box-shadow:0 20px 50px rgba(20,60,40,.10)}
.ph-scene{position:relative;order:2;min-height:260px}
.ph-land{position:absolute;inset:0;width:100%;height:100%}
.ph-sun{animation:ph-sun 6s ease-in-out infinite;transform-origin:248px 58px}
@keyframes ph-sun{50%{transform:scale(1.08)}}
.ph-pine{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);filter:drop-shadow(0 10px 14px rgba(20,60,40,.18))}
.ph-pine .pine-svg{display:block;animation:ph-sway 5s ease-in-out infinite;transform-origin:50% 100%}
@keyframes ph-sway{50%{transform:rotate(1.5deg)}}
.ph-copy{order:1;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:34px 34px 30px}
.ph-greeting{margin:0;color:var(--pl-pine);font-weight:800;font-size:14px;letter-spacing:.2px}
.ph-title{margin:0;font-size:clamp(26px,3.4vw,36px);line-height:1.2;letter-spacing:-.8px}
.ph-message{margin:0;color:var(--pl-muted);line-height:1.6;font-size:15px;max-width:44ch}
.ph-chips{display:flex;flex-wrap:wrap;gap:8px}
.ph-chip{padding:6px 12px;border-radius:999px;font-weight:800;font-size:13px}
.ph-streak{background:#fff1dc;color:#8a4b00}.ph-trees{background:var(--pl-pine-soft);color:var(--pl-pine)}
.ph-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px}
.ph-start{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 26px 0 10px;border:0;border-radius:999px;background:var(--pl-pine);color:#fff;font:inherit;font-size:17px;font-weight:800;cursor:pointer;box-shadow:0 14px 30px rgba(15,74,56,.28);transition:transform .15s,background .15s}
.ph-start:hover{background:var(--pl-pine-dark);transform:translateY(-1px)}
.ph-play{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.18);font-size:14px}
.pine-hero[data-done=true] .ph-start{background:var(--pl-surface);color:var(--pl-pine);border:1.5px solid var(--pl-pine);box-shadow:none}
.pine-hero[data-done=true] .ph-play{background:var(--pl-pine-soft)}
/* Daily-materials entry adopted into the hero: a compact pill, never a stretched blob. */
.ph-actions .dm-entry{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;border-radius:999px;border:1px solid var(--pl-line-strong);background:var(--pl-surface);color:var(--pl-ink);font-weight:700;font-size:15px;cursor:pointer}
.ph-actions .dm-entry:hover{background:var(--pl-soft)}
.ph-actions .dm-entry:focus-visible{outline:3px solid var(--pl-pine);outline-offset:2px}
.library-heading>.dm-entry{display:none}
@media (max-width:760px){
  .pine-hero{grid-template-columns:1fr;border-radius:24px}
  .ph-scene{order:1;min-height:170px}
  .ph-pine .pine-svg{width:118px;height:118px}
  .ph-copy{order:2;padding:20px 20px 22px}
  .ph-start{width:100%;justify-content:center;padding:0 20px}
  .ph-actions .dm-entry{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.ph-sun,.ph-pine .pine-svg{animation:none}}

/* The old small card style is superseded by the hero. */
.pine-today{display:none}

/* Daily cards size to their own content (no stretched empty card). */
.library-heading{align-items:start!important}
.home-curiosity{height:auto!important;min-height:0!important}
.home-curiosity .curiosity-paper,.home-curiosity .daily-learning-content{min-height:220px!important;height:auto!important;display:grid;place-content:center}

/* ================= Home redesign: clean, calm, one clear path ================= */
/* Header: sticky, light, compact language pair */
.site-header{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--pl-bg) 86%,transparent)!important;backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}
.home-language-settings{padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
.home-language-settings .language-pair{gap:8px!important;align-items:end}
.home-language-settings .site-language>span{font-size:11px!important;font-weight:700;color:var(--pl-muted);letter-spacing:.2px}
.home-language-settings select{min-height:40px!important;border-radius:12px!important;border:1px solid var(--pl-line)!important;background-color:var(--pl-surface)!important;font-weight:700}
.site-utility-nav .nav-button{min-height:40px}

/* Section rhythm */
#library-view{max-width:1120px;margin:0 auto}
.library-heading{gap:16px!important;margin-bottom:22px!important}

/* Daily cards: equal height, compact, nothing floating in empty space */
.library-heading{align-items:stretch!important}
.home-curiosity,.daily-quote{border-radius:22px!important;padding:20px 22px!important;box-shadow:0 1px 2px rgba(20,40,32,.04),0 10px 26px rgba(20,40,32,.06)!important;border:1px solid var(--pl-line)!important;display:flex!important;flex-direction:column}
.home-curiosity{background:linear-gradient(160deg,#fffdf4 0%,#fbf6e6 100%)!important}
.daily-quote{background:var(--pl-surface)!important}
.home-curiosity .daily-learning-content,.daily-quote .daily-learning-content{flex:1;min-height:0!important}
.home-curiosity .curiosity-paper{display:grid;place-content:center;min-height:200px!important}
.home-curiosity .curiosity-prompt h2{font-size:clamp(22px,2.4vw,28px)!important;line-height:1.4;letter-spacing:-.4px}
.daily-learning-heading{padding-bottom:12px!important;margin-bottom:6px!important;border-bottom:1px solid var(--pl-line)!important}
.daily-learning-actions{padding-top:12px!important;margin-top:auto!important;border-top:1px solid var(--pl-line)!important}
.daily-quote .outro-quote{font-size:clamp(19px,2vw,23px)!important;line-height:1.4!important}
.daily-quote .quote-meaning{font-size:15px!important}
.daily-quote .quote-sentence-ipa{font-size:13px!important}
/* Key words as a compact row of chips instead of a tall table */
.daily-quote .quote-vocabulary{padding:10px 12px!important;border-radius:14px!important;margin-top:8px}
.daily-quote .quote-vocabulary h3{display:none}
.daily-quote .quote-vocabulary dl{display:flex!important;flex-wrap:wrap;gap:6px 14px;margin:0!important}
.daily-quote .quote-vocabulary dl>div{display:flex!important;align-items:baseline;gap:6px;flex-direction:row!important}
.daily-quote .quote-vocabulary dt{font-weight:800;font-size:14px}
.daily-quote .quote-vocabulary dd{margin:0!important;font-size:12px;color:var(--pl-muted)}
.daily-quote .quote-vocabulary dd+dd{display:none}

/* Learning modes: 4 tinted cards */
#learning-studio::before{content:"";display:block}
.studio-learning-entries{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important}
.studio-learning-entry{min-height:112px;padding:16px 18px!important;gap:16px!important;align-items:center}
.studio-learning-entry img{width:72px!important;height:72px!important;padding:6px!important;border-radius:20px!important}
.studio-learning-entry[data-tone=general]{background:linear-gradient(135deg,#eef8f1,#ffffff 60%)!important;border-color:#cfe6d6!important}
.studio-learning-entry[data-tone=general] img{background:#d9efe0!important}
.studio-learning-entry[data-tone=audio] img{background:#e6eefb!important}
.studio-learning-entry[data-tone=selection] img{background:#fbeee0!important}
.studio-learning-entry[data-tone=typing] img{background:#efe8fa!important}
.studio-entry-copy strong{font-size:18px!important;letter-spacing:-.3px}
.studio-entry-copy span{font-size:13.5px!important;line-height:1.5;color:var(--pl-muted)}
.studio-entry-arrow{width:36px;height:36px;display:grid!important;place-items:center;border-radius:50%;background:var(--pl-soft);font-size:16px!important;flex:none}
.studio-learning-entry:hover .studio-entry-arrow{background:var(--pl-pine);color:#fff}
@media (max-width:760px){.studio-learning-entries{grid-template-columns:1fr}.studio-learning-entry{min-height:92px}.studio-learning-entry img{width:60px!important;height:60px!important}}

/* Footer */
.forest-footer{margin-top:28px!important;padding:22px 0!important;border-top:1px solid var(--pl-line)!important;background:none!important}

/* ================= Readable at every size =================
   Many legacy rules use small fixed px sizes, so on wider screens the whole UI is
   scaled up uniformly (text, buttons, spacing together). Phones keep 100%. */
@media (min-width:1000px){body{zoom:1.12}}
@media (min-width:1360px){body{zoom:1.22}}
@media (min-width:1700px){body{zoom:1.32}}
#library-view{max-width:1240px!important;width:auto;padding-left:24px;padding-right:24px}
.site-header{max-width:1240px;margin-left:auto;margin-right:auto;padding-left:24px!important;padding-right:24px!important}
/* Base text a touch larger everywhere it was set very small. */
.ph-message,.studio-entry-copy span,.daily-quote .quote-meaning{font-size:16px!important}
.ph-greeting{font-size:15px}
.studio-entry-copy strong{font-size:20px!important}
.daily-learning-heading h2,.curiosity-kicker,.daily-quote-heading h2{font-size:16px!important}
.home-curiosity .curiosity-prompt h2{font-size:clamp(26px,2.6vw,34px)!important}
.daily-quote .outro-quote{font-size:clamp(22px,2.2vw,27px)!important}
.daily-quote .quote-vocabulary dt{font-size:16px}.daily-quote .quote-vocabulary dd{font-size:14px}
.home-language-settings .site-language>span{font-size:12.5px!important}
.site-utility-nav .nav-button,.pl-auth-actions a{font-size:15px!important}

/* ---------- hero scene: alive and playful ---------- */
.ph-scene{overflow:hidden}
.pine-hero[data-time=night] .ph-scene{background:#1d2b4f}
.ph-cloud{animation:ph-drift 38s linear infinite}.ph-cloud-2{animation-duration:52s;animation-delay:-20s}
@keyframes ph-drift{from{transform:translateX(-120px)}to{transform:translateX(380px)}}
.ph-birds{animation:ph-fly 22s linear infinite;animation-delay:-6s}
@keyframes ph-fly{0%{transform:translate(-40px,40px)}100%{transform:translate(360px,10px)}}
.ph-star{animation:ph-twinkle 3s ease-in-out infinite;animation-delay:var(--d)}
@keyframes ph-twinkle{50%{opacity:.25}}
button.ph-pine{border:0;background:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
button.ph-pine:focus-visible{outline:3px solid var(--pl-pine);outline-offset:4px;border-radius:16px}
.ph-pine.is-tap .pine-svg{animation:ph-shake .7s cubic-bezier(.3,1.6,.5,1)}
@keyframes ph-shake{0%{transform:rotate(0)}20%{transform:rotate(-6deg) scale(1.04)}45%{transform:rotate(5deg)}70%{transform:rotate(-2deg)}100%{transform:rotate(0)}}
.ph-cone{position:absolute;bottom:58%;font-size:22px;pointer-events:none;animation:ph-drop 1.2s cubic-bezier(.5,0,.7,1) forwards}
@keyframes ph-drop{0%{transform:translateY(0) rotate(0);opacity:1}80%{opacity:1}100%{transform:translateY(120px) rotate(200deg);opacity:0}}
.ph-bubble{position:absolute;left:50%;top:14px;transform:translateX(-50%);margin:0;padding:8px 14px;border-radius:999px;background:#fff;color:var(--pl-ink);font-weight:800;font-size:14px;box-shadow:0 8px 20px rgba(0,0,0,.12);white-space:nowrap;opacity:0;pointer-events:none}
.ph-bubble.is-on{animation:ph-bubble 2.6s ease both}
@keyframes ph-bubble{0%{opacity:0;transform:translate(-50%,6px)}12%,80%{opacity:1;transform:translate(-50%,0)}100%{opacity:0}}
.ph-grow{display:grid;gap:6px;max-width:420px}
.ph-grow-label{font-size:14px;font-weight:700;color:var(--pl-pine)}
.ph-grow-bar{height:10px;border-radius:999px;background:var(--pl-pine-soft);overflow:hidden}
.ph-grow-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4fb286,var(--pl-pine));transition:width .6s ease}
@media (prefers-reduced-motion:reduce){.ph-cloud,.ph-birds,.ph-star,.ph-pine.is-tap .pine-svg,.ph-cone,.ph-bubble.is-on{animation:none!important}}
/* Three learning modes: one row on wide screens. */
@media (min-width:1000px){.studio-learning-entries{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* ---------- hero game: level, missions, squirrel ---------- */
.ph-level{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.ph-level strong{font-size:16px;color:var(--pl-pine-dark)}.ph-level span{font-size:13px;color:var(--pl-muted)}
.ph-game{display:grid;gap:6px;max-width:460px;padding:12px 14px;border-radius:16px;background:var(--pl-surface-2);border:1px solid var(--pl-line)}
.ph-missions-head{font-weight:800;font-size:14px;color:var(--pl-ink)}
.ph-missions{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ph-missions li{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;font-size:14px}
.ph-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--pl-line-strong);display:grid;place-items:center;font-size:12px;font-weight:900;color:#fff}
.ph-missions li.is-done .ph-check{background:var(--pl-pine);border-color:var(--pl-pine);animation:ac-grow .5s ease}
.ph-missions li.is-done .ph-mission-text{color:var(--pl-muted);text-decoration:line-through}
.ph-mission-meta{font-size:12.5px;font-weight:800;color:#8a5a00;font-variant-numeric:tabular-nums}
.ph-squirrel{position:absolute;left:8%;bottom:4px;border:0;background:none;padding:0;cursor:pointer;animation:ph-peek 7s ease-in-out infinite;transform-origin:50% 100%}
.ph-squirrel img{display:block;width:70px;height:70px;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(0,0,0,.18))}
@keyframes ph-peek{0%,70%,100%{transform:translateY(0)}78%{transform:translateY(-8px) rotate(-4deg)}86%{transform:translateY(0) rotate(3deg)}}
.ph-squirrel.is-hop{animation:ph-hop .6s cubic-bezier(.3,1.6,.5,1)}
@keyframes ph-hop{40%{transform:translateY(-26px) rotate(-8deg)}100%{transform:translateY(0)}}
@media (max-width:760px){.ph-squirrel img{width:54px;height:54px}}
@media (prefers-reduced-motion:reduce){.ph-squirrel,.ph-squirrel.is-hop{animation:none}}

/* ================= Learning modes v3: clean, compact tiles right under the hero ================= */
#learning-studio{margin:0 0 22px!important}
.studio-learning-entries{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin:0!important}
.studio-learning-entry{display:grid!important;grid-template-columns:52px minmax(0,1fr) 20px!important;align-items:center!important;gap:14px!important;min-height:84px!important;padding:14px 18px!important;border-radius:18px!important;background:var(--pl-surface)!important;border:1px solid var(--pl-line)!important;box-shadow:none!important;text-align:left;transition:border-color .15s,transform .15s,box-shadow .15s}
.studio-learning-entry:hover{border-color:var(--pl-pine)!important;transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,60,40,.08)!important}
.studio-learning-entry img{width:52px!important;height:52px!important;padding:4px!important;border-radius:16px!important;object-fit:contain}
.studio-learning-entry[data-tone=general]{background:var(--pl-pine)!important;border-color:var(--pl-pine)!important}
.studio-learning-entry[data-tone=general] img{background:rgba(255,255,255,.92)!important}
.studio-learning-entry[data-tone=general] .studio-entry-copy strong,.studio-learning-entry[data-tone=general] .studio-entry-copy span,.studio-learning-entry[data-tone=general] .studio-entry-arrow{color:#fff!important}
.studio-learning-entry[data-tone=general]:hover{background:var(--pl-pine-dark)!important}
.studio-entry-copy{display:grid;gap:2px;min-width:0}
.studio-entry-copy strong{font-size:18px!important;letter-spacing:-.3px;line-height:1.3}
.studio-entry-copy span{font-size:14px!important;color:var(--pl-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.studio-entry-arrow{width:auto!important;height:auto!important;background:none!important;color:var(--pl-muted)!important;font-size:18px!important}
.studio-learning-entry:hover .studio-entry-arrow{background:none!important;color:var(--pl-pine)!important;transform:translateX(3px)}
@media (max-width:900px){.studio-learning-entries{grid-template-columns:1fr!important}}

/* forest decorations + shop */
.ph-decor{position:absolute;inset:0;pointer-events:none}
.ph-decor-item{position:absolute;font-size:28px;filter:drop-shadow(0 4px 4px rgba(0,0,0,.15));animation:ac-grow .7s cubic-bezier(.2,1.4,.4,1) both}
.ph-shop{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-top:8px;border-top:1px dashed var(--pl-line)}
.ph-shop-label{font-size:13px;font-weight:800;color:var(--pl-muted);margin-right:4px}
.ph-shop-item{min-height:32px;padding:0 10px;border-radius:999px;border:1px solid var(--pl-line-strong);background:var(--pl-surface);font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.ph-shop-item:hover:not(:disabled){border-color:#c99a2e;background:#fff8e6}
.ph-shop-item:disabled{opacity:.45;cursor:default}
.ph-shop-item[data-owned=true]{opacity:1;background:var(--pl-pine-soft);border-color:transparent;color:var(--pl-pine)}

/* ---------- Mobile header: two compact rows that scroll away with the page ---------- */
@media (max-width:760px){
  body .site-header{position:static!important;display:grid!important;grid-template-columns:auto 1fr auto auto;grid-template-areas:"brand nav auth" "lang lang lang";align-items:center;gap:8px 6px!important;padding:10px 14px 8px!important;min-height:0!important;height:auto!important;box-shadow:none!important}
  body .site-header .brand{grid-area:brand;gap:6px!important}
  body .site-header .brand-mark{width:26px!important;height:30px!important}
  body .site-header .brand-wordmark{font-size:20px!important}
  body .site-header .language-line-navigation{grid-area:nav;justify-self:end;display:flex!important;gap:2px!important;margin:0!important;padding:0!important}
  body .site-header .language-line-navigation .nav-button{min-width:38px!important;width:38px;height:38px!important;min-height:38px!important;padding:0!important;justify-content:center;border-radius:10px}
  body .site-header .language-line-navigation .nav-button .nav-label,body .site-header .language-line-navigation .profile-menu span{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap}
  body .site-header .pl-auth-row{grid-area:auth;display:flex!important;gap:6px;margin:0!important;padding:0!important;width:auto!important;justify-content:flex-end}
  body .site-header .pl-auth-row .pl-upgrade,body .site-header .pl-auth-row .pl-auth-signup{display:none!important}
  body .site-header .pl-auth-row a{min-height:34px!important;padding:0 12px!important;font-size:14px!important;border-radius:999px}
  body .site-header .home-language-settings{grid-area:lang;margin:0!important;padding:0!important;width:100%!important}
  body .site-header .language-pair{gap:6px!important;align-items:center!important}
  body .site-header .language-pair .site-language>span{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  body .site-header .language-pair select{min-height:38px!important;height:38px!important;font-size:15px!important;padding-top:0!important;padding-bottom:0!important}
  body .site-header .language-arrow{width:16px!important}
}

/* Four home entries (AI 자동학습 · 골라서 학습 · AI 선생님 · 타자 연습) in one row. */
@media (min-width:900px){body .studio-learning-entries{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media (min-width:561px) and (max-width:899px){body .studio-learning-entries{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
body .studio-learning-entry[data-learning-entry="tutor"] img{background:#e8f0fc}

/* Loader mini game: guess the meaning while the app loads. */
.pl-fact-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:280px;max-width:min(380px,88vw);padding:18px 54px 16px;border:1px solid #e1e9e4;border-radius:20px;background:#fff;box-shadow:0 12px 32px rgba(15,74,56,.1);box-sizing:border-box;transition:border-color .2s,box-shadow .2s}
.pl-fact-card.is-right{border-color:#53b483;box-shadow:0 0 0 4px rgba(83,180,131,.18),0 12px 32px rgba(15,74,56,.1)}
.pl-fact-card.is-wrong{border-color:#e3a25c;box-shadow:0 0 0 4px rgba(227,162,92,.18),0 12px 32px rgba(15,74,56,.1)}
.pl-fact-card .pl-fact-speak{top:50%;right:10px;transform:translateY(-50%)}
.pl-fact-say[hidden]{display:none}
.pl-fact-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:min(380px,88vw)}
.pl-fact-option{min-height:48px;padding:8px 12px;border:1.5px solid #d7e4dc;border-radius:14px;background:#fff;font:inherit;font-size:14.5px;font-weight:600;color:#1f3f34;cursor:pointer;transition:transform .12s,border-color .12s,background .12s}
.pl-fact-option:hover:not(:disabled){border-color:#1b6b52;transform:translateY(-1px)}
.pl-fact-option[data-state=right]{border-color:#1b6b52;background:#e7f3ec;color:#0f4a38;animation:pl-pop .35s ease}
.pl-fact-option[data-state=wrong]{border-color:#d9893f;background:#fff4e8;color:#8a4b00;animation:pl-shake .3s ease}
.pl-fact-option:disabled{cursor:default}
.pl-fact-score{font-size:12.5px;font-weight:700;color:#1b6b52}
@keyframes pl-pop{50%{transform:scale(1.05)}}
@keyframes pl-shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
/* Listen button: a large pill under the word (easy to tap). */
.pl-fact-card{padding:18px 22px 16px!important}
body .pl-fact-card .pl-fact-speak{position:static!important;transform:none!important;width:auto!important;height:auto!important;min-height:44px;margin-top:6px;padding:0 18px;display:inline-flex!important;align-items:center;gap:8px;border-radius:999px;border:1.5px solid #bfdccb;background:#eef7f2;color:#1b6b52;font:inherit;font-size:15px;font-weight:800;cursor:pointer}
body .pl-fact-card .pl-fact-speak:hover{background:#e1f1e8;transform:none!important}
.pl-fact-controls{display:flex;gap:8px;justify-content:center}
.pl-fact-pause,.pl-fact-next-q{min-height:38px;padding:0 14px;border:1px solid #d7e4dc;border-radius:999px;background:#fff;font:inherit;font-size:13.5px;font-weight:700;color:#3d574d;cursor:pointer}
.pl-fact-pause[aria-pressed=true]{border-color:#1b6b52;color:#0f4a38;background:#eef7f2}
.pl-fact-go{min-height:48px;padding:0 24px;border:0;border-radius:14px;background:#1b6b52;color:#fff;font:inherit;font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 10px 24px rgba(15,74,56,.25)}
.pl-fact-go[hidden]{display:none}
#load-state.is-ready .pl-loader-bar span{width:100%;animation:none;transform:none}
/* 첫 로딩 화면 — 8번 시안 '큰 글자'(2026-10-22 사장님 선택): 작은 글자 로고만 위에, 단어 하나를 잡지처럼 크게, 아래 얇은 진행선. */
#load-state{position:fixed!important;inset:0;z-index:1100;overflow-y:auto;background:var(--tc-bg,#f4f7f5)!important;align-items:stretch!important;justify-content:flex-start!important;text-align:left!important;gap:0!important;max-width:none!important;margin:0!important;padding:20px 24px 72px!important;min-height:0!important;box-sizing:border-box}
#load-state[hidden]{display:none!important}
/* 글자 폭은 화면 폭(100vw)이 아니라 이 상자 기준: 상자가 좁게 잡혀도 단어가 세로로 쪼개지지 않게 */
body #load-state>:not(.pl-loader-bar){width:100%;max-width:512px;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}
#load-state .pl-loader-stage{display:none}
#load-state .loading-prelude{order:0;font-size:14px!important;font-weight:800;letter-spacing:-.2px;margin:0!important}
#load-state .loading-heading{order:1;font-size:12.5px!important;font-weight:500;color:#7b8b84;margin:2px 0 0!important}
#load-state .pl-loader-bar{position:fixed;left:24px;right:24px;bottom:max(28px,env(safe-area-inset-bottom));width:auto;max-width:512px;margin:0 auto;height:3px;background:#e6efea}
#load-state .pl-fact{order:2;flex:1;width:100%;margin:0;gap:0;align-items:flex-start;justify-content:center}
#load-state .pl-fact-kicker{align-self:flex-start;margin:0 0 14px;font-size:12.5px;font-weight:600;letter-spacing:0;text-transform:none;color:#7b8b84}
#load-state .pl-fact-card{width:100%;max-width:none!important;min-width:0!important;align-items:flex-start!important;gap:6px!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;cursor:default}
#load-state .pl-fact-card:hover{transform:none;box-shadow:none}
#load-state .pl-fact-card.is-right,#load-state .pl-fact-card.is-wrong{box-shadow:none!important;border:0!important}
#load-state .pl-fact-lang{order:0;background:none;padding:0;border-radius:0;font-size:13.5px;font-weight:600;color:#6b7c75}
#load-state .pl-fact-lang{display:inline-flex;align-items:center;gap:8px}#load-state .pl-fact-flag{width:26px;height:19px;border-radius:4px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
#load-state .pl-fact-word{order:1;font-size:clamp(46px,14vw,76px);font-weight:800;letter-spacing:-.04em;line-height:1.04;color:#123a2e;word-break:keep-all;overflow-wrap:anywhere}
#load-state .pl-fact-say{order:2;text-align:left;font-size:16px;color:#6b7c75}
#load-state .pl-fact-card.is-right .pl-fact-say,#load-state .pl-fact-card.is-wrong .pl-fact-say{color:#1b6b52;font-size:19px;font-weight:700}
#load-state .pl-fact-card .pl-fact-speak{order:3;min-height:40px;margin-top:4px;padding:0 2px;border:0;background:none;color:#1b6b52;font-size:14px;font-weight:700}
#load-state .pl-fact-card .pl-fact-speak:hover{background:none;text-decoration:underline}
#load-state .pl-fact-options{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px;padding:0;background:none;border:0;border-radius:0}
#load-state .pl-fact-option{min-height:52px;text-align:left;padding:10px 14px;border:1px solid #dbe6e0;border-radius:12px;background:#fff;font-size:15px;font-weight:600;color:#1f3f34}
#load-state .pl-fact-score{align-self:flex-start;margin:14px 0 0;font-size:12.5px;font-weight:600;color:#7b8b84}
#load-state .pl-fact-controls{align-self:flex-start;margin:6px 0 0 -10px;gap:0}
#load-state .pl-fact-pause,#load-state .pl-fact-next-q{min-height:40px;border:0;background:none;color:#1b6b52;font-size:13.5px;font-weight:700;padding:0 10px}
#load-state .pl-fact-pause[aria-pressed=true]{background:#eef7f2;border-radius:999px}
#load-state .pl-fact-go{margin-top:12px;width:100%}
@media (max-width:360px){.pl-fact-options{grid-template-columns:1fr}}
html[data-theme=dark] .pl-fact-word{color:#f1f7f4}html[data-theme=dark] .pl-fact-option{background:#1b2b26;color:#e9f1ee;border-color:#2a4a3f}html[data-theme=dark] #load-state .pl-loader-bar{background:#2a4a3f}

/* 로딩 2차 시안 29: 1초 안에 끝나는 짧은 로딩은 화면을 보이지 않고 바로 — 로더 내용은 0.8초 뒤부터 나타난다(준비 완료 화면은 바로) */
#load-state:not(.is-ready)>*{animation:ldLate .25s ease .8s both}
@keyframes ldLate{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){#load-state:not(.is-ready)>*{animation-duration:.01s}}

/* settings-profile.css */
/* 학습 설정: a calm side sheet (bottom sheet on phones) with one card per setting. */
#reading-dialog[open]{position:fixed;inset:0 0 0 auto;margin:0;width:min(460px,100vw);max-width:100vw;height:auto;max-height:none;top:0;bottom:0;padding:0!important;border:0;border-radius:24px 0 0 24px;background:var(--pl-bg);color:var(--pl-ink);box-shadow:-24px 0 60px rgba(10,30,24,.18);display:flex;flex-direction:column;overflow:hidden;animation:sp-in .28s var(--pl-ease,ease) both}
#reading-dialog::backdrop{background:rgba(12,30,24,.35);backdrop-filter:blur(2px)}
@keyframes sp-in{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
#reading-dialog>.dialog-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:18px 20px 6px;background:var(--pl-bg)}
#reading-dialog>.dialog-header h2{margin:0;font-size:22px;letter-spacing:-.4px}
#reading-dialog>.dialog-header button{width:40px;height:40px;min-height:40px;border-radius:50%;border:1px solid var(--pl-line);background:var(--pl-surface)}
#reading-dialog>.settings-note{margin:0 20px 10px!important;font-size:13px;color:var(--pl-muted)}
#reading-dialog .settings-tabs{position:sticky;top:64px;z-index:2;display:flex!important;gap:4px;margin:0 16px 8px!important;padding:4px!important;border-radius:14px!important;background:var(--pl-soft)!important;overflow-x:auto;scrollbar-width:none}
#reading-dialog .settings-tabs [role=tab]{flex:1 0 auto;min-height:40px;padding:0 12px!important;border:0!important;border-radius:11px!important;background:transparent!important;font-weight:700;font-size:14px;color:var(--pl-muted)!important;white-space:nowrap}
#reading-dialog .settings-tabs [role=tab][aria-selected=true]{background:var(--pl-surface)!important;color:var(--pl-pine)!important;box-shadow:0 1px 3px rgba(20,40,32,.12)}
#settings-tab-reading::before{content:"🖥️ "}#settings-tab-listening::before{content:"🎧 "}#settings-tab-learning::before{content:"🌱 "}#settings-tab-feedback::before{content:"💬 "}#settings-tab-developer::before{content:"ℹ️ "}
#reading-dialog [role=tabpanel]{flex:1;overflow-y:auto;padding:6px 16px 90px!important;display:grid;gap:12px;align-content:start}
#reading-dialog [role=tabpanel][hidden]{display:none!important}
#reading-dialog .appearance-field,#reading-dialog .listening-fields,#reading-dialog .settings-toggle,#reading-dialog .reading-preview,#reading-dialog .studio-route-settings,#reading-dialog .pronunciation-style,#reading-dialog #feedback-form{margin:0!important;padding:14px 16px!important;border:1px solid var(--pl-line)!important;border-radius:16px!important;background:var(--pl-surface)!important;box-shadow:none!important}
#reading-dialog fieldset.appearance-field legend{float:left;width:100%;margin-bottom:10px;font-weight:800;font-size:14px}
#reading-dialog .appearance-field label,#reading-dialog .listening-fields label{font-weight:700;font-size:14px}
#reading-dialog .choice-grid{display:flex!important;flex-wrap:wrap;gap:6px!important}
#reading-dialog .choice-grid button{flex:1 1 0;min-height:40px;border-radius:999px!important;border:1px solid var(--pl-line-strong)!important;background:var(--pl-surface)!important;font-weight:700;font-size:13px}
#reading-dialog .choice-grid button[aria-pressed=true],#reading-dialog .choice-grid button.active{background:var(--pl-pine)!important;border-color:var(--pl-pine)!important;color:#fff!important}
#reading-dialog select{width:100%;min-height:44px;border-radius:12px;border:1px solid var(--pl-line);background-color:var(--pl-surface-2);font-weight:600}
#reading-dialog input[type=range]{accent-color:var(--pl-pine);width:100%}
#reading-dialog h3{margin:6px 2px 0;font-size:13px;letter-spacing:.3px;color:var(--pl-muted);text-transform:uppercase}
#reading-dialog .settings-note,#reading-dialog .font-scope-note{font-size:12.5px!important;color:var(--pl-muted)!important;margin:4px 2px 0!important;line-height:1.5}
/* Toggles render as switches */
#reading-dialog .settings-toggle{display:flex!important;align-items:center;justify-content:space-between;gap:12px;font-weight:700;cursor:pointer}
#reading-dialog .settings-toggle input[type=checkbox]{order:2;appearance:none;-webkit-appearance:none;flex:none;width:46px;height:28px;margin:0;border-radius:999px;background:var(--pl-line-strong);position:relative;cursor:pointer;transition:background .2s}
#reading-dialog .settings-toggle input[type=checkbox]::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s}
#reading-dialog .settings-toggle input[type=checkbox]:checked{background:var(--pl-pine)}
#reading-dialog .settings-toggle input[type=checkbox]:checked::after{transform:translateX(18px)}
#reading-dialog .reset-reading{justify-self:start;border-radius:999px!important}
/* Sticky footer "완료" */
#reading-dialog>footer,#reading-dialog .dialog-actions{position:sticky;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--pl-bg) 30%)}
@media (max-width:640px){
  #reading-dialog[open]{inset:auto 0 0 0;width:100vw;height:92dvh;border-radius:24px 24px 0 0;animation-name:sp-up}
  @keyframes sp-up{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
}

/* 내정보: profile hero + clean stat cards */
#profile-view{max-width:880px;margin:0 auto}
.pf-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin:6px 0 18px;padding:22px;border-radius:24px;background:linear-gradient(120deg,#eef8f1,#fffdf6);border:1px solid var(--pl-line);box-shadow:var(--pl-shadow)}
.pf-avatar{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:var(--pl-pine);color:#fff;font-size:28px;font-weight:800}
.pf-name{margin:0;font-size:22px;letter-spacing:-.4px}.pf-email{margin:2px 0 8px;color:var(--pl-muted);font-size:14px}
.pf-plan{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-weight:800;font-size:13px;background:var(--pl-soft);color:var(--pl-muted)}
.pf-plan[data-plan=premium],.pf-plan[data-plan=business]{background:linear-gradient(135deg,#fff3cf,#fde3a0);color:#7a4b00}
.pf-actions{display:grid;gap:8px;justify-items:end}
.pf-actions a,.pf-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:12px;font:inherit;font-weight:800;font-size:14px;text-decoration:none;cursor:pointer;border:1px solid var(--pl-line-strong);background:var(--pl-surface);color:var(--pl-ink)}
.pf-actions .pf-primary{background:var(--pl-pine);border-color:var(--pl-pine);color:#fff}
.pf-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}
.pf-stat{padding:16px;border-radius:18px;background:var(--pl-surface);border:1px solid var(--pl-line);text-align:center}
.pf-stat strong{display:block;font-size:26px;color:var(--pl-pine);letter-spacing:-.5px}.pf-stat span{font-size:13px;color:var(--pl-muted)}
#profile-view .profile-panel,#profile-view .profile-metrics>*{border-radius:18px!important;border:1px solid var(--pl-line)!important;box-shadow:none!important;background:var(--pl-surface)!important}
#profile-view .profile-heading{display:none}
@media (max-width:640px){.pf-hero{grid-template-columns:auto 1fr}.pf-actions{grid-column:1/-1;justify-items:stretch;grid-template-columns:1fr 1fr}.pf-stats{grid-template-columns:repeat(2,1fr)}}
#profile-view .account-actions,#profile-view #profile-signin,#profile-view #account-status:empty{display:none!important}
#reading-dialog fieldset.appearance-field{display:block;min-width:0}
#reading-dialog fieldset.appearance-field legend{float:none;padding:0;margin:0 0 10px}
#reading-dialog .choice-grid{width:100%;min-width:0}
#reading-dialog .choice-grid button{min-width:0;padding:0 8px}
#reading-dialog [role=tabpanel]{overflow-x:hidden}

/* fit-screen.css */
/* One screen, no page scroll (loaded last).
   Desktop views are laid out as fixed-height grids sized to the viewport.
   body zoom scales viewport units too, so heights divide by the zoom factor. */
:root{--pl-zoom:1;--fit-h:calc(100dvh / var(--pl-zoom));--fit-head:64px;--fit-foot:30px;--fit-bar:0px}

/* Zoom only when the screen is tall enough for it; short laptop screens keep 100%. */
@media (min-width:1000px){body{zoom:1}}
@media (min-width:1000px) and (min-height:780px){:root{--pl-zoom:1.12}body{zoom:1.12}}
@media (min-width:1360px) and (min-height:880px){:root{--pl-zoom:1.22}body{zoom:1.22}}
@media (min-width:1700px) and (min-height:1040px){:root{--pl-zoom:1.32}body{zoom:1.32}}

@media (min-width:1000px) and (min-height:560px){
  html:has(>body:is([data-view=library],[data-view=selection],[data-view=profile],[data-view=words])){overflow:hidden}
  body:is([data-view=library],[data-view=selection],[data-view=profile],[data-view=words]){height:var(--fit-h);overflow:hidden}
  body:has(#audio-bar:not([hidden])){--fit-bar:var(--fit-audio-bar,184px);--fit-foot:0px}
  body[data-view=words]:has(#wordbook-study-bar:not([hidden])){--fit-bar:128px;--fit-foot:0px}
  body[data-view=words]:has(#wordbook-study-bar:not([hidden])) .site-utility-footer{display:none!important}

  /* header: one slim row */
  body:is([data-view=library],[data-view=selection],[data-view=profile],[data-view=words]) .site-header{height:var(--fit-head)!important;min-height:0!important;box-sizing:border-box;padding-top:6px!important;padding-bottom:6px!important;align-items:center!important}
  body:is([data-view=library],[data-view=selection],[data-view=profile],[data-view=words]) .home-language-settings,body:is([data-view=library],[data-view=selection],[data-view=profile],[data-view=words]) .home-language-settings .site-language{min-height:0!important;height:auto!important;margin:0!important;padding:0!important}
  body:is([data-view=library],[data-view=selection],[data-view=profile],[data-view=words]) .home-language-settings .site-language>span{display:none}
  body:is([data-view=library],[data-view=selection],[data-view=profile],[data-view=words]) .home-language-settings .language-pair{align-items:center!important}
  body:is([data-view=library],[data-view=selection],[data-view=profile],[data-view=words]) .home-language-settings select{min-height:38px!important}

  /* workspace fills what is left */
  body:is([data-view=library],[data-view=selection],[data-view=profile],[data-view=words]) #workspace{height:calc(var(--fit-h) - var(--fit-head) - var(--fit-foot) - var(--fit-bar));box-sizing:border-box;padding:10px 24px 14px!important;overflow:hidden}
  body:is([data-view=library],[data-view=selection],[data-view=profile],[data-view=words]) #main{height:100%;min-height:0}

  /* footer strip */
  body:is([data-view=library],[data-view=selection],[data-view=profile],[data-view=words]) .site-utility-footer{position:fixed;right:0;bottom:0;left:auto;height:30px;box-sizing:border-box;padding:0 24px!important;display:flex;align-items:center;max-width:none;margin:0;z-index:5}
  body:is([data-view=library],[data-view=selection],[data-view=profile],[data-view=words]) .site-utility-footer p{margin:0;font-size:12px;color:var(--pl-muted)}
  body:has(#audio-bar:not([hidden])) .site-utility-footer{display:none!important}

  /* ---------- home ---------- */
  body[data-view=library] #library-view{height:100%;display:flex;flex-direction:column;gap:12px;padding:0 24px!important;box-sizing:border-box}
  body[data-view=library] #library-view>*{flex:none}
  body[data-view=library] #learning-studio{margin:0!important}
  body[data-view=library] .studio-learning-entry{min-height:76px!important;padding:12px 16px!important}
  body[data-view=library] .library-heading{flex:1 1 auto!important;min-height:0;margin:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px!important;align-items:stretch!important}
  body[data-view=library] .home-curiosity,body[data-view=library] .daily-quote{min-height:0!important;height:auto!important;overflow:hidden;padding:14px 20px!important}
  body[data-view=library] .daily-learning-heading{padding-bottom:8px!important;margin-bottom:4px!important}
  body[data-view=library] .home-curiosity .daily-learning-content,body[data-view=library] .daily-quote .daily-learning-content{flex:1 1 auto;min-height:0!important;overflow:auto;scrollbar-width:thin}
  body[data-view=library] .home-curiosity .curiosity-paper{min-height:0!important}
  body[data-view=library] .daily-learning-actions{padding-top:8px!important}
  /* the home footer is the last row of the view; the location note (fixed, right) shares that line */
  body[data-view=library]{--fit-foot:30px}
  body[data-view=library] #workspace{padding-bottom:2px!important}
  body[data-view=library] .forest-footer{height:28px;box-sizing:border-box;margin:-4px 0 0!important;padding:0!important;border:0!important;display:flex!important;justify-content:flex-start!important;align-items:center;gap:14px;max-width:calc(100% - 360px);font-size:12px;color:var(--pl-muted)}
  body[data-view=library] .forest-footer *{font-size:12px!important;line-height:1.2!important;margin:0!important;padding:0!important;min-height:0!important}
  body[data-view=library] .forest-footer>span{display:inline-flex!important;align-items:baseline;gap:5px;white-space:nowrap;font-weight:700}
  body[data-view=library] .forest-footer small{display:inline!important;font-weight:400}
  body[data-view=library] .forest-footer .learning-design-entry{display:flex!important;flex-direction:row!important;align-items:baseline;gap:8px;white-space:nowrap;border:0!important;background:none!important;box-shadow:none!important}
  body[data-view=library] .forest-footer .learning-design-entry p{display:inline!important}
  body[data-view=library] .forest-footer .learning-design-entry button{border:0;background:none;color:var(--pl-pine);font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
  body[data-view=library] .daily-quote .outro-quote{font-size:clamp(19px,1.7vw,24px)!important;margin-bottom:4px!important}
  body[data-view=library] .daily-quote .quote-meaning{font-size:15px!important;margin:4px 0!important}
  body[data-view=library] .daily-quote .quote-audio{margin:6px 0!important}
  body[data-view=library] .daily-quote .quote-vocabulary{margin-top:4px!important;padding:8px 12px!important}
  body:has(#audio-bar:not([hidden])) .forest-footer{display:none!important}

  /* ---------- 골라서 학습: settings left, the full route as a 3-column grid right ---------- */
  body[data-view=selection] .selection-study-view{height:100%;max-width:1240px;margin:0 auto!important;padding:0 24px!important;box-sizing:border-box}
  body[data-view=selection] .selection-study-shell{height:100%;display:flex;flex-direction:column;gap:12px}
  body[data-view=selection] .selection-study-header{flex:none;margin:0;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
  body[data-view=selection] .selection-study-header h1{margin:0;font-size:26px}
  body[data-view=selection] .selection-study-header p{font-size:14.5px}
  body[data-view=selection] .selection-study-detail{flex:1 1 auto;min-height:0;max-width:none;margin:0;padding:18px 20px;box-sizing:border-box;display:grid;grid-template-columns:304px minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr);grid-template-areas:"fields order" "start order" "status order" "extras order";column-gap:22px;row-gap:12px;align-content:start}
  body[data-view=selection] .selection-study-fields{grid-area:fields;grid-template-columns:1fr;gap:10px;margin:0}
  body[data-view=selection] .selection-study-field{gap:5px;font-size:14px}
  body[data-view=selection] .selection-study-field select{min-height:40px;padding:7px 10px}
  body[data-view=selection] .selection-study-studied{min-height:36px;font-size:14px}
  body[data-view=selection] .selection-study-start{grid-area:start;margin:0;gap:8px;display:grid;grid-template-columns:auto minmax(0,1fr)}
  body[data-view=selection] .selection-study-start button{min-height:44px!important;width:100%;padding:0 12px!important;white-space:nowrap!important}
  body[data-view=selection] .selection-study-status{grid-area:status;margin:0;min-height:0}
  body[data-view=selection] .selection-study-status:empty{display:none}
  body[data-view=selection] .selection-study-extras{grid-area:extras;align-self:end;margin:0;padding-top:12px;flex-direction:column;align-items:stretch;gap:4px}
  body[data-view=selection] .selection-study-extras button{min-height:38px;margin:0;width:100%;justify-content:flex-start;text-align:left}
  body[data-view=selection] .selection-study-order{grid-area:order;min-height:0;overflow:auto;padding:0 0 0 22px;border-top:0;border-left:1px solid var(--line,#dce7de);scrollbar-width:thin}
}

/* ---------- 내 정보: identity + stats on top, insight panels fill the rest ---------- */
@media (min-width:1000px) and (min-height:560px){
  body[data-view=profile] #profile-view{height:100%;max-width:1240px;margin:0 auto;padding:0 24px!important;box-sizing:border-box;display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px 14px;align-content:stretch}
  body[data-view=profile] #profile-view>*{grid-column:1/-1;margin:0!important;min-width:0}
  body[data-view=profile] #profile-view>.pf-hero{grid-column:1/8;grid-row:1;padding:18px 22px!important;align-self:stretch}
  body[data-view=profile] #profile-view>.pf-stats{grid-column:8/13;grid-row:1;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;align-self:stretch}
  body[data-view=profile] .pf-stat{padding:10px 14px!important;display:flex!important;flex-direction:column;justify-content:center;gap:2px}
  body[data-view=profile] .pf-stat strong{font-size:24px!important;line-height:1.2}
  body[data-view=profile] #profile-view>:is(#profile-error,#profile-signin,#account-status,.account-actions,#profile-metrics){grid-row:2}
  body[data-view=profile] #profile-view>#profile-error{padding:10px 14px!important;font-size:14px}
  body[data-view=profile] #profile-view>:is(#account-status,#profile-metrics):empty{display:none}
  body[data-view=profile] #profile-view>.profile-insights{grid-column:1/9;grid-row:3;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important;min-height:0}
  body[data-view=profile] #profile-view>.profile-history{grid-column:9/13;grid-row:3}
  body[data-view=profile] .profile-panel{min-height:0;overflow:auto;padding:16px 18px!important;box-sizing:border-box;scrollbar-width:thin}
  body[data-view=profile] .profile-panel h2{font-size:17px!important;margin:0 0 8px!important}
  body[data-view=profile] #profile-view>.profile-record-note{grid-row:4;font-size:13px}
  body[data-view=profile] #profile-view>.profile-record-note summary{min-height:28px!important;padding:0!important}
  body[data-view=profile] #profile-view>.profile-record-note[open]{position:relative}
  body[data-view=profile] #profile-view>.profile-record-note[open] p{position:absolute;left:0;bottom:100%;z-index:6;max-width:640px;margin:0 0 6px;padding:12px 14px;border:1px solid var(--pl-line);border-radius:12px;background:var(--pl-surface);box-shadow:0 10px 30px rgba(20,40,32,.12)}
}

/* ---------- 단어장: tools on the left, the word list scrolls inside its own panel ---------- */
@media (min-width:1000px) and (min-height:560px){
  body[data-view=words] #words-view{height:100%;max-width:1240px;margin:0 auto;padding:0 24px!important;box-sizing:border-box;display:grid!important;grid-template-columns:320px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"side main" "credits main";gap:10px 22px}
  body[data-view=words] .wordbook-side{grid-area:side;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:10px;padding-right:2px;scrollbar-width:thin}
  body[data-view=words] .wordbook-side>*{margin:0!important;flex:none}
  body[data-view=words] .wordbook-side h2{font-size:26px!important;line-height:1.25}
  body[data-view=words] .wordbook-side .wordbook-note{font-size:14px}
  body[data-view=words] .wordbook-top-tools{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:8px}
  body[data-view=words] .wordbook-top-tools>*{width:100%;min-height:42px!important;height:auto!important;padding-inline:12px!important;white-space:nowrap}
  body[data-view=words] .wordbook-side .eyebrow{font-size:11px}
  body[data-view=words] .wordbook-sync{font-size:13px}
  body[data-view=words] .wordbook-sync :is(button,a){min-height:34px!important;padding:0 12px!important}
  body[data-view=words] .wordbook-settings,body[data-view=words] .wordbook-filter-panel{padding:0!important}
  body[data-view=words] .wordbook-settings>summary{min-height:40px!important}
  body[data-view=words] .wordbook-settings .appearance-field{width:auto!important}
  body[data-view=words] .wordbook-settings .wordbook-view-options{flex-wrap:wrap}
  body[data-view=words] .wordbook-sync{padding:12px 14px!important;flex-wrap:wrap;gap:8px}
  body[data-view=words] .wordbook-filter-grid{grid-template-columns:1fr!important}
  body[data-view=words] .wordbook-main{grid-area:main;min-height:0;display:flex;flex-direction:column;gap:12px}
  body[data-view=words] .wordbook-main>#word-recall{flex:none;margin:0!important}
  body[data-view=words] .wordbook-main>#wordbook{flex:1 1 auto;min-height:0;overflow:auto;margin:0!important;padding:14px;box-sizing:border-box;border:1px solid var(--pl-line);border-radius:18px;background:var(--pl-surface);scrollbar-width:thin}
  body[data-view=words] .wordbook-main>#wordbook>.wordbook-empty{height:100%;box-sizing:border-box;margin:0!important;display:flex;flex-direction:column;align-items:center;justify-content:center}
  body[data-view=words] .wordbook-credits{grid-area:credits;display:flex;gap:16px;position:relative}
  body[data-view=words] .wordbook-credits>details{margin:0!important;padding:0!important;border:0!important}
  body[data-view=words] .wordbook-credits summary{min-height:28px!important;padding:0!important;font-size:13px}
  body[data-view=words] .wordbook-credits>details[open]{position:absolute!important;left:0;bottom:0;z-index:6;width:min(680px,calc(100vw - 80px));max-height:min(440px,70vh);overflow:auto;box-sizing:border-box;padding:10px 14px!important;border:1px solid var(--pl-line)!important;border-radius:12px;background:var(--pl-surface);box-shadow:0 10px 30px rgba(20,40,32,.14);font-size:13px}
}

/* ---------- 학습 설정: a centred wide panel, every tab laid out in columns ---------- */
#reading-dialog .settings-tabs [role=tab]::before{content:none!important}
@media (min-width:1000px) and (min-height:560px){
  #reading-dialog[open]{inset:0!important;margin:auto!important;width:min(1120px,calc(100vw / var(--pl-zoom) - 48px))!important;height:min(700px,calc(var(--fit-h) - 40px))!important;max-height:none!important;border-radius:20px!important;box-shadow:0 30px 80px rgba(10,30,24,.25)!important;animation:fit-dialog-in .22s ease both!important}
  @keyframes fit-dialog-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  #reading-dialog>.dialog-header{position:static!important;padding:12px 24px 2px!important}
  #reading-dialog>.settings-note{margin:0 24px 6px!important}
  #reading-dialog .settings-tabs{position:static!important;margin:0 24px 8px!important;max-width:620px;flex:none}
  #reading-dialog [role=tabpanel]{flex:1 1 auto;min-height:0;overflow-y:auto;padding:4px 24px 8px!important;gap:12px!important;scrollbar-width:thin}
  #reading-dialog>footer,#reading-dialog .dialog-actions{position:static!important;flex:none;padding:10px 24px 14px!important;background:none!important;border-top:1px solid var(--pl-line);display:flex;justify-content:flex-end}

  /* 화면 */
  #settings-pane-reading{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
  #settings-pane-reading>.reading-preview{grid-column:span 1}
  #settings-pane-reading>#reset-reading{grid-column:1/-1}
  /* 듣기 */
  #settings-pane-listening{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
  #settings-pane-listening>:is(.voice-test-note,.settings-language-pair,.voice-test-buttons){grid-column:span 3}
  /* 학습: options left, the route order right */
  #settings-pane-learning{grid-template-columns:340px minmax(0,1fr);grid-template-rows:repeat(8,auto) minmax(0,1fr);column-gap:22px!important;row-gap:8px!important}
  #settings-pane-learning>*{grid-column:1}
  #settings-pane-learning>#settings-route-order{grid-column:2;grid-row:1/-1;min-height:0;align-self:start}
  #settings-pane-learning .settings-toggle{min-height:0!important;padding:10px 14px!important}
  /* 문의 */
  #settings-pane-feedback{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);grid-template-rows:repeat(5,auto) minmax(0,1fr);column-gap:22px!important}
  #settings-pane-feedback>*{grid-column:1}
  #settings-pane-feedback>#feedback-form,#settings-pane-feedback>.feedback-form{grid-column:2;grid-row:1/-1;align-self:start}
  /* 정보: the research summary reads in its own column */
  #settings-pane-developer{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);column-gap:22px!important;overflow:hidden!important}
  #settings-pane-developer>*{grid-column:2}
  #settings-pane-developer>.learning-evidence{grid-column:1;grid-row:1/-1;min-height:0;overflow:auto;padding-right:8px;scrollbar-width:thin}
}

/* Route order list (골라서 학습 and 학습 설정 › 학습): a compact multi-column grid on wide screens. */
@media (min-width:1000px) and (min-height:560px){
  :is(.selection-study-order,#settings-pane-learning) .studio-route-settings-heading{margin-bottom:2px}
  :is(.selection-study-order,#settings-pane-learning) .studio-route-settings>.settings-note{margin:0 0 10px;font-size:13px}
  :is(.selection-study-order,#settings-pane-learning) .studio-route-settings-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  :is(.selection-study-order,#settings-pane-learning) .studio-route-settings-row{min-height:0;padding:6px 6px 6px 2px!important;gap:4px;border-radius:12px}
  :is(.selection-study-order,#settings-pane-learning) .studio-route-drag{width:28px;min-width:28px;height:36px;min-height:36px;padding:0}
  :is(.selection-study-order,#settings-pane-learning) .studio-route-mode-label{min-width:0;min-height:36px;gap:6px}
  :is(.selection-study-order,#settings-pane-learning) .studio-route-settings{border-top:0!important;padding-top:0!important;margin:0!important}
  :is(.selection-study-order,#settings-pane-learning) .studio-mode-icon{display:none!important}
  :is(.selection-study-order,#settings-pane-learning) .studio-route-settings-title{font-size:14px;line-height:1.3;min-width:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:keep-all}
  :is(.selection-study-order,#settings-pane-learning) .studio-route-settings-actions{gap:2px;flex:none}
  :is(.selection-study-order,#settings-pane-learning) .studio-route-order-move{width:30px;min-width:30px;height:30px;min-height:30px!important;padding:0!important}
  #settings-pane-learning .studio-route-settings-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #settings-pane-learning .studio-route-settings{padding:12px 14px!important}
  :is(.selection-study-order,#settings-pane-learning) .studio-route-settings-footer{margin-top:8px;padding:0}
  :is(.selection-study-order,#settings-pane-learning) .studio-route-order-reset{min-height:36px}
}

/* ---------- phones: vertical flow is fine, but keep it tight ---------- */
@media (max-width:760px){
  #library-view{padding-left:12px!important;padding-right:12px!important}
  .studio-learning-entries{gap:8px!important}
  .studio-learning-entry{min-height:64px!important;padding:10px 14px!important;grid-template-columns:40px minmax(0,1fr) 16px!important;gap:12px!important}
  .studio-learning-entry img{width:40px!important;height:40px!important;border-radius:12px!important}
  .studio-entry-copy strong{font-size:16px!important}.studio-entry-copy span{font-size:13px!important}
  #learning-studio{margin-bottom:14px!important}
  .library-heading{gap:12px!important;margin-bottom:14px!important}
  .home-curiosity,.daily-quote{padding:14px 16px!important;border-radius:18px!important}
  .home-curiosity .curiosity-paper,.home-curiosity .daily-learning-content{min-height:150px!important}
  .home-curiosity .curiosity-prompt h2{font-size:22px!important}
  .daily-quote .outro-quote{font-size:20px!important}
  .daily-quote .quote-meaning{font-size:15px!important}
  .forest-footer{margin-top:12px!important;padding:12px 0!important}
  .selection-study-detail{padding:16px!important}
  .selection-study-header{margin-bottom:12px!important}
  .studio-route-settings-row{padding-top:5px!important;padding-bottom:5px!important}
  #profile-view>.pf-hero{padding:16px!important}
  .pf-stats{gap:8px!important}
}

/* Whatever sits between header and workspace (e.g. the loading-error notice) takes its
   own height; the workspace fills the rest instead of using a fixed calc(). */
@media (min-width:1000px) and (min-height:560px){
  body:is([data-view=library],[data-view=selection],[data-view=profile],[data-view=words]){display:flex;flex-direction:column}
  body:is([data-view=library],[data-view=selection],[data-view=profile],[data-view=words])>*{flex:none}
  body:is([data-view=library],[data-view=selection],[data-view=profile],[data-view=words]) #workspace{flex:1 1 0!important;height:auto!important;min-height:0!important;padding-bottom:calc(14px + var(--fit-foot) + var(--fit-bar))!important}
  body:is([data-view=library],[data-view=selection],[data-view=profile],[data-view=words]) #language-loading-error:not([hidden]){margin:6px auto 0!important;padding:8px 14px!important;min-height:0!important}
  /* header never wider than the screen */
  body:is([data-view=library],[data-view=selection],[data-view=profile],[data-view=words]) .site-header{max-width:100%!important;box-sizing:border-box;overflow:hidden}
  body:is([data-view=library],[data-view=selection],[data-view=profile],[data-view=words]) .site-header .pl-auth-row{flex:none}
}

/* toss-clean.css */
/* 2026-10-18 토스식 정리 레이어: 마지막에 불러와 서비스 전체 인상을 간단하고 편하게 맞춘다.
   원칙 — 넓은 여백, 굵은 제목 위계, 흰 카드와 연회색 바탕, 테두리·그림자·장식 그라데이션 최소화,
   단색 큰 버튼, 눌렀을 때 살짝 작아지는 반응. 색은 파인링고 초록을 그대로 쓰고 로고는 건드리지 않는다. */
/* Pretendard는 자체 서버에서 제공한다(외부 글꼴 CDN으로 방문자 접속 정보가 가지 않게). */
@font-face{font-family:"Pretendard Variable";src:url('/fonts/Pretendard-Regular.woff2') format('woff2');font-weight:100 500;font-display:swap}
@font-face{font-family:"Pretendard Variable";src:url('/fonts/Pretendard-Bold.woff2') format('woff2');font-weight:600 900;font-display:swap}

:root{
  --tc-bg:#f3f5f4;
  --tc-card:#ffffff;
  --tc-fill:#f2f4f3;
  --tc-fill-strong:#e8ecea;
  --tc-ink:#17211d;
  --tc-sub:#4e5a55;
  --tc-muted:#66706a;
  --tc-line:#eceeed;
  --tc-pine:#1b6b52;
  --tc-pine-press:#145a44;
  --tc-pine-soft:#e7f2ed;
  --tc-radius:20px;
  --tc-radius-sm:14px;
  --tc-shadow:0 2px 10px rgba(17,33,27,.04);
  --pl-bg:var(--tc-bg);
  --ink:var(--tc-ink);
  --muted:var(--tc-sub);
  --line:var(--tc-line);
  --soft:var(--tc-fill);
  --pl-line:var(--tc-line);
  --pl-shadow:var(--tc-shadow);
}
html[data-theme=dark]{--tc-bg:#101413;--tc-card:#1a201e;--tc-fill:#232a27;--tc-fill-strong:#2c3431;--tc-ink:#eef2f0;--tc-sub:#b4bfba;--tc-muted:#8a958f;--tc-line:#2a3230;--tc-pine-soft:#1d3a30}

/* 글꼴과 바탕 */
body,button,input,select,textarea{font-family:"Pretendard Variable",Pretendard,"Noto Sans KR",-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",sans-serif!important;letter-spacing:-.01em}
body{background:var(--tc-bg)!important;color:var(--tc-ink);-webkit-font-smoothing:antialiased}
body[data-view=library]{background:var(--tc-bg)!important}
:where(h1,h2,h3,strong){letter-spacing:-.02em}

/* 헤더: 흰 바탕, 선 없이 */
.site-header{background:color-mix(in srgb,var(--tc-card) 92%,transparent)!important;backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--tc-line)!important;box-shadow:none!important}
.site-header .language-line-navigation .nav-button{border-radius:12px!important;font-weight:600}
.site-header .language-line-navigation .nav-button:hover{background:var(--tc-fill)!important}

/* 버튼 공통 반응 */
:where(button,a,[role=button]){-webkit-tap-highlight-color:transparent}
:where(.pl-start-mode,.pl-playground-game,.pl-start-learning,.pl-playground,.pl-quota-pill,.nav-button,.pl-home-stat):active{transform:scale(.98)!important;transition:transform .08s ease!important}

/* ===== 홈 ===== */
.pl-home-date{color:var(--tc-muted)!important;font-weight:600!important;font-size:14px!important;letter-spacing:0!important}
.pl-home-hello h1{font-size:clamp(26px,2.6vw,32px)!important;font-weight:800!important;color:var(--tc-ink)!important;margin:4px 0 12px!important}
/* 프리미엄 안내: 연초록 한 줄 링크 */
.pl-home-upsell{display:inline-flex!important;flex-wrap:wrap;align-items:center;gap:6px 10px!important;padding:10px 14px!important;background:var(--tc-pine-soft)!important;border:0!important;border-radius:var(--tc-radius-sm)!important;box-shadow:none!important;color:var(--tc-sub)!important;font-weight:500!important;text-decoration:none!important}
.pl-home-upsell span{color:var(--tc-sub)!important;font-weight:600!important}
.pl-home-upsell strong{padding:0!important;background:none!important;box-shadow:none!important;color:var(--tc-pine)!important;font-weight:700!important;border-radius:0!important}
.pl-home-upsell:hover strong{text-decoration:underline}
/* 통계: 낱개 상자 대신 한 장의 흰 카드 */
.pl-home-stats{background:var(--tc-card)!important;border-radius:var(--tc-radius)!important;padding:10px 14px!important;gap:4px!important;box-shadow:var(--tc-shadow)!important}
.pl-home-stat{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:12px!important}
.pl-home-stat strong{color:var(--tc-ink)!important;font-weight:800!important}
.pl-home-stat span,.pl-home-stat small{color:var(--tc-muted)!important;font-weight:500!important}
.pl-home-ring circle:first-child{stroke:var(--tc-fill-strong)!important}

/* 학습하기: 단색 초록 카드, 장식 숲 제거 */
#learning-studio .pl-start-learning{background:var(--tc-pine)!important;background-image:none!important;border:0!important;border-radius:24px!important;box-shadow:0 8px 24px rgba(27,107,82,.18)!important}
#learning-studio .pl-start-learning:hover{background:var(--tc-pine-press)!important}
.pl-start-forest,.pl-start-learning::after,.pl-playground::after{display:none!important}
/* 아래 버튼들과 기능이 겹치는 카드 오른쪽 화살표는 숨긴다(사용자 요청) */
.pl-start-arrow,.pl-playground-arrow{display:none!important}
.pl-start-badge{background:rgba(255,255,255,.16)!important;border:0!important;font-weight:700!important}
.pl-start-mode{background:rgba(255,255,255,.12)!important;border:0!important;border-radius:16px!important;box-shadow:none!important;font-weight:700!important}
.pl-start-mode:hover{background:rgba(255,255,255,.2)!important}
.pl-start-mode{position:relative}
@media (max-width:640px){
 .pl-start-mode{min-height:54px!important;padding:8px 10px!important;gap:8px!important;font-size:15px!important}
 .pl-start-mode>span{white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;min-width:0}
 .pl-start-mode img{width:30px!important;height:30px!important;flex:none}
}
.pl-start-reco{position:absolute;top:-8px;right:10px;padding:2px 8px;border-radius:999px;background:#f2b84b;color:#3d2a00;font-style:normal;font-size:11.5px;font-weight:800;line-height:1.5;letter-spacing:0;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.pl-mode-reco{font-style:normal!important;background:var(--tc-pine-soft)!important;color:var(--tc-pine)!important;border-radius:999px!important;padding:2px 9px!important;font-weight:800!important}

/* 놀이터: 흰 카드 + 연회색 타일 */
.home-corners-one>.pl-playground,.pl-playground{background:var(--tc-card)!important;background-image:none!important;border:0!important;border-radius:24px!important;box-shadow:var(--tc-shadow)!important;color:var(--tc-ink)!important}
.pl-playground-copy strong{color:var(--tc-ink)!important;font-weight:800!important}
.pl-playground-now{color:var(--tc-muted)!important}
.pl-playground-arrow{color:var(--tc-muted)!important}
.pl-playground-icon{background:#fff4e0!important;box-shadow:none!important;color:#c77700!important}
.pl-playground-game{background:var(--tc-fill)!important;border:0!important;border-radius:16px!important;box-shadow:none!important;color:var(--tc-ink)!important;font-weight:600!important}
.pl-playground-game:hover{background:var(--tc-fill-strong)!important;transform:none!important;box-shadow:none!important}
.pl-playground-games>.pl-playground-game:first-child{background:#fff4e0!important;color:#7a4b00!important;font-weight:800!important}
.pl-playground-game>span:first-child{background:var(--tc-card)!important;color:#c77700!important}
.pl-playground-copy span,.pl-playground-copy small,.pl-playground-copy p{color:var(--tc-muted)!important}
@media (max-width:900px){
 .pl-playground-game{min-height:52px!important;padding:8px 10px!important;gap:8px!important;font-size:15px!important}
 .pl-playground-game>span:last-child{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;min-width:0}
 .pl-playground-game>span:first-child{width:30px!important;height:30px!important}
}
@media (max-width:360px){.pl-playground-game{font-size:14px!important}}

/* ===== 내 정보 ===== */
.pf-hero{background:var(--tc-card)!important;background-image:none!important;border:0!important;box-shadow:var(--tc-shadow)!important;border-radius:24px!important}
.pf-avatar{background:var(--tc-pine)!important}
.pf-name{font-weight:800!important;color:var(--tc-ink)!important}
.pf-email{color:var(--tc-sub)!important}
.pf-plan{background:var(--tc-fill)!important;color:var(--tc-sub)!important;border:0!important;font-weight:700!important}
.pf-primary{border-radius:14px!important;box-shadow:none!important;font-weight:700!important}
.pf-stats{background:var(--tc-card)!important;border-radius:24px!important;box-shadow:var(--tc-shadow)!important;padding:8px!important;gap:0!important;overflow:hidden}
.pf-stat{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:16px!important}
.pf-stat strong{color:var(--tc-ink)!important;font-weight:800!important}
.pf-stat span{color:var(--tc-muted)!important}
#profile-error{background:var(--tc-fill)!important;border:0!important;border-radius:16px!important;color:var(--tc-sub)!important;font-size:15px!important}
.profile-panel,.profile-record-note,.profile-account,#profile-account{background:var(--tc-card)!important;border:0!important;box-shadow:var(--tc-shadow)!important;border-radius:24px!important}
.profile-panel h2{font-weight:800!important;color:var(--tc-ink)!important}
.profile-note{color:var(--tc-muted)!important}
/* 구독 관리 상자(내 정보) */
.pl-sub{background:var(--tc-card)!important;border:0!important;box-shadow:var(--tc-shadow)!important;border-radius:24px!important}
.pl-sub-row{border-color:var(--tc-line)!important;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.pl-sub .notice{margin:10px 0;padding:12px 14px;border-radius:14px;background:#fff4e0;color:#7a4b00;font-weight:600;line-height:1.5;word-break:keep-all}
.pl-sub .done{margin:10px 0;padding:12px 14px;border-radius:14px;background:var(--tc-pine-soft);color:var(--tc-pine);font-weight:600;line-height:1.5;word-break:keep-all}
.pl-refund{display:block;width:100%;margin-top:12px;min-height:50px;border:0;border-radius:14px;background:var(--tc-fill);color:var(--tc-ink);font:inherit;font-weight:700;cursor:pointer}
.pl-refund:hover{background:var(--tc-fill-strong)}
.pl-sub .refund{color:var(--tc-sub);font-size:14px;text-decoration:underline;text-underline-offset:2px}
.pl-keep{border:0!important;border-radius:28px!important}
.pl-keep .yes{border-radius:14px!important;background:var(--tc-pine)!important;color:#fff!important;border:0!important;font-weight:700!important}
.pl-keep .no{border-radius:14px!important;background:var(--tc-fill)!important;color:var(--tc-sub)!important;border:0!important}

/* 학습 설계 근거(왜 이렇게 배우나요?) */
.ev-panel{border:0!important;border-radius:28px!important;background:var(--tc-card)!important}
.ev-close{border:0!important;background:var(--tc-fill)!important;box-shadow:none!important;outline:none!important}
.ev-close:focus-visible{outline:3px solid var(--tc-pine-soft)!important}
.ev-tabs{background:var(--tc-fill)!important;border:0!important;border-radius:14px!important}
.ev-ai li,.ev-design li,.ev-stage{background:var(--tc-fill)!important;border:0!important;box-shadow:none!important;border-radius:18px!important}
.ev-ai em{color:var(--tc-pine)!important}
@media (max-width:640px){
 .ev-ai,.ev-design{grid-template-columns:1fr!important}
 .ev-sheet{align-items:flex-end!important;padding:0!important}
 .ev-panel{width:100%!important;max-width:none!important;max-height:92dvh!important;border-radius:28px 28px 0 0!important;animation:tc-sheet .28s cubic-bezier(.2,.9,.3,1)}
 .ev-tabs{overflow-x:auto;flex-wrap:nowrap!important}
 .ev-tab{white-space:nowrap}
}

/* 회원 탈퇴 */
.pl-delete-entry{display:block;margin:28px auto 8px;border:0;background:none;color:var(--tc-muted);font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.pl-delete{border:0;padding:0;border-radius:28px;width:min(440px,calc(100vw - 32px));background:var(--tc-card);color:var(--tc-ink);box-shadow:0 24px 64px rgba(10,20,16,.24)}
.pl-delete::backdrop{background:rgba(10,20,16,.42)}
.pl-delete-card{padding:26px 22px 20px}
.pl-delete h2{margin:0 0 14px;font-size:22px;font-weight:800;letter-spacing:-.02em}
.pl-delete ul{margin:0 0 12px;padding:14px 16px 14px 32px;border-radius:16px;background:var(--tc-fill);color:var(--tc-sub);line-height:1.6;font-size:14.5px}
.pl-delete li{margin:4px 0;word-break:keep-all}
.pl-delete-refund{display:inline-block;margin-bottom:16px;color:var(--tc-sub);font-size:14px;text-decoration:underline}
.pl-delete-label{display:block;margin-bottom:8px;font-weight:600;font-size:14.5px}
.pl-delete input{width:100%;box-sizing:border-box;min-height:52px;padding:0 14px;border:2px solid transparent;border-radius:14px;background:var(--tc-fill);font:inherit;font-size:16px;color:var(--tc-ink)}
.pl-delete input:focus{outline:0;border-color:#d9480f;background:var(--tc-card)}
.pl-delete-msg{min-height:20px;margin:8px 0;color:#c2410c;font-weight:600;font-size:14px}
.pl-delete-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pl-delete-actions button{min-height:52px;border:0;border-radius:14px;font:inherit;font-weight:700;cursor:pointer}
.pl-delete-keep{background:var(--tc-fill);color:var(--tc-ink)}
.pl-delete-go{background:#d9480f;color:#fff}
.pl-delete-go:disabled{opacity:.4;cursor:not-allowed}

/* 학습 방법·놀이 선택 창: 테두리 없는 칸, 휴대폰에서는 아래에서 올라오는 시트 */
.pl-mode-chooser{background:rgba(10,20,16,.42)!important;backdrop-filter:none!important}
.pl-mode-panel{border:0!important;border-radius:28px!important;box-shadow:0 24px 64px rgba(10,20,16,.24)!important;background:var(--tc-card)!important}
.pl-mode-panel h2{font-weight:800!important;color:var(--tc-ink)!important}
.pl-mode-lead{color:var(--tc-sub)!important}
.pl-mode-badge{background:var(--tc-pine)!important}
.pl-mode-close{border:0!important;background:var(--tc-fill)!important;box-shadow:none!important;color:var(--tc-sub)!important}
.pl-mode-card,.pl-play-card{background:var(--tc-fill)!important;border:0!important;box-shadow:none!important;border-radius:18px!important;transition:background .15s,transform .08s!important}
.pl-mode-card:hover,.pl-play-card:hover{background:var(--tc-fill-strong)!important;transform:none!important}
.pl-mode-card:active,.pl-play-card:active{transform:scale(.98)!important}
.pl-mode-card[data-mode=general]{background:var(--tc-pine-soft)!important}
.pl-mode-card strong{color:var(--tc-ink)!important;font-weight:700!important}
.pl-mode-card span{color:var(--tc-sub)!important}
@media (max-width:640px){
 .pl-mode-chooser{align-items:flex-end!important;padding:0!important}
 .pl-mode-panel{width:100%!important;max-width:none!important;margin:0!important;border-radius:28px 28px 0 0!important;padding-bottom:calc(20px + env(safe-area-inset-bottom))!important;animation:tc-sheet .28s cubic-bezier(.2,.9,.3,1)}
 .pl-mode-panel::before{content:"";display:block;width:40px;height:4px;margin:-6px auto 10px;border-radius:4px;background:var(--tc-fill-strong)}
}
@keyframes tc-sheet{from{transform:translateY(40px);opacity:.6}}
@media (prefers-reduced-motion:reduce){.pl-mode-panel{animation:none!important}}

/* 놀이터 코너(퀴즈·받아쓰기·짝맞추기 등): 카드 안 카드 대신 하나의 면, 보기 버튼은 채움형 */
.home-corner{border:0!important;box-shadow:none!important;border-radius:20px!important;background:var(--tc-card)!important}
.home-corner-heading{border-bottom:0!important}
.home-corner-heading h2{font-weight:800!important;color:var(--tc-ink)!important}
.home-corner-badge{background:var(--tc-pine-soft)!important;color:var(--tc-pine)!important;letter-spacing:0!important}
.home-corner-stat{color:var(--tc-muted)!important;font-weight:600!important}
.home-corner-big{color:var(--tc-ink)!important;letter-spacing:-.02em}
.home-corner-choices{gap:10px!important}
.home-corner-choice{border:0!important;background:var(--tc-fill)!important;border-radius:16px!important;min-height:54px!important;padding:12px 16px!important;font-weight:600!important;color:var(--tc-ink)!important;text-align:left;transition:background .15s,transform .08s!important}
.home-corner-choice:hover:not(:disabled){background:var(--tc-fill-strong)!important;border-color:transparent!important}
.home-corner-choice:active:not(:disabled){transform:scale(.98)}
.home-corner-choice[data-state=right]{background:var(--tc-pine-soft)!important;color:var(--tc-pine)!important;box-shadow:inset 0 0 0 2px var(--tc-pine)!important}
.home-corner-choice[data-state=wrong]{background:#fff1ec!important;color:#c2410c!important;box-shadow:inset 0 0 0 2px #f4a582!important}
.home-corner-listen{border:0!important;background:var(--tc-fill)!important;color:var(--tc-ink)!important;font-weight:600!important}
.home-corner-next{color:var(--tc-pine)!important;font-weight:700!important}
.home-corner-example{background:var(--tc-fill)!important;border-radius:14px!important}
.home-corner-tabs{background:var(--tc-fill)!important}
@media (max-width:640px){.home-corner-choices{grid-template-columns:1fr!important}}
.pl-corner-sheet{background:rgba(10,20,16,.42)!important;backdrop-filter:none!important}
.pl-corner-sheet-panel{background:var(--tc-card)!important;border:0!important;border-radius:28px!important;box-shadow:0 24px 64px rgba(10,20,16,.24)!important}
.pl-corner-sheet-panel .home-corner{padding:4px 2px!important}
.pl-corner-sheet-panel .home-corner-heading h2{display:none!important}
.pl-corner-sheet-top{border-bottom:0!important}
.pl-corner-back{border:0!important;background:var(--tc-fill)!important;color:var(--tc-ink)!important;box-shadow:none!important;font-weight:600!important;border-radius:999px!important}
.pl-corner-sheet-top button:not(.pl-corner-back){border:0!important;background:var(--tc-fill)!important;box-shadow:none!important}
@media (max-width:640px){
 .pl-corner-sheet{align-items:flex-end!important;padding:0!important}
 .pl-corner-sheet-panel{width:100%!important;max-width:none!important;margin:0!important;border-radius:28px 28px 0 0!important;max-height:92dvh!important;padding-bottom:calc(16px + env(safe-area-inset-bottom))!important;animation:tc-sheet .28s cubic-bezier(.2,.9,.3,1)}
}

/* AI 선생님: 파란 강조를 초록으로, 칩·입력은 채움형 */
.tutor-badge{background:var(--tc-pine)!important}
.tutor,.tutor-top,.tutor-bar{background-image:none!important}
.tutor{background-color:var(--tc-bg)!important}
.tutor-title{font-weight:800!important;color:var(--tc-ink)!important}
.tutor-modes{background:var(--tc-fill)!important;border:0!important;border-radius:14px!important}
.tutor-mode{color:var(--tc-sub)!important;border:0!important;font-weight:600!important;border-radius:11px!important}
.tutor-mode[aria-selected=true],.tutor-mode.active,.tutor-mode[aria-pressed=true]{background:var(--tc-card)!important;color:var(--tc-ink)!important;box-shadow:0 1px 4px rgba(0,0,0,.08)!important}
.tutor-level{background-color:var(--tc-fill)!important;border:0!important;border-radius:12px!important;font-weight:600!important}
.tutor-msg{border:0!important;box-shadow:none!important;border-radius:20px!important}
.tutor-msg:not([data-role=user]):not(.user){background:var(--tc-card)!important;color:var(--tc-ink)!important}
.tutor-msg[data-role=user],.tutor-msg.user{background:var(--tc-pine)!important;color:#fff!important}
.tutor-listen{color:var(--tc-pine)!important;font-weight:600!important}
.tutor-starter{background:var(--tc-card)!important;border:0!important;color:var(--tc-ink)!important;box-shadow:var(--tc-shadow)!important;border-radius:999px!important;font-weight:600!important}
.tutor-starter:hover{background:var(--tc-fill)!important}
.tutor-input{background:var(--tc-fill)!important;border:2px solid transparent!important;border-radius:18px!important;box-shadow:none!important}
.tutor-input:focus{background:var(--tc-card)!important;border-color:var(--tc-pine)!important;outline:0!important}
.tutor-send{background:var(--tc-pine)!important;border:0!important;border-radius:14px!important;box-shadow:none!important;font-weight:700!important}
.tutor-send:hover{background:var(--tc-pine-press)!important}
.tutor-mic,.tutor-reset,.tutor-open{background:var(--tc-fill)!important;border:0!important;box-shadow:none!important;color:var(--tc-ink)!important}
.tutor-upsell{background:var(--tc-pine-soft)!important;border:0!important;border-radius:16px!important;color:var(--tc-pine)!important}

/* AI 자동학습 화면 */
.ac{background:var(--tc-bg)!important;background-image:none!important}
.ac-title{font-weight:800!important;letter-spacing:-.03em!important;word-break:keep-all}
.ac-ai-badge,.ac-badge,.ac-question-head .ac-ai-badge{background:var(--tc-pine)!important;background-image:none!important}
/* 읽는 소리에 맞춰 글자가 차례로 초록색으로 */
.ac-target .ac-ch{transition:color .12s ease}
.ac-target .ac-ch.on{color:var(--tc-pine)}
.ac-question{font-weight:800!important;letter-spacing:-.03em!important;word-break:keep-all}
.ac-plan-item{border:0!important;box-shadow:var(--tc-shadow)!important;border-radius:18px!important}
.ac-plan-badge{border:0!important;background:var(--tc-fill)!important}
.ac-top>*{white-space:nowrap}
.ac-answer,.ac-chip{border:0!important;background:var(--tc-card)!important;box-shadow:var(--tc-shadow)!important;border-radius:18px!important;transition:background .15s,transform .08s!important}
.ac-answer:active,.ac-chip:active{transform:scale(.98)}
/* 잠긴(프리미엄) 선택지는 보이되, 무료로 고를 수 있는 항목 아래에 둔다 */
.ac-answers{display:grid}
.ac-answer[data-locked=true]{order:1;opacity:.62}
.ac-answer[data-locked=true]:hover{opacity:.8}
.ac-answer:is([aria-pressed=true],[aria-checked=true],[data-selected=true],.selected,.active),.ac-chip:is([aria-pressed=true],[aria-checked=true],.selected,.active){background:var(--tc-pine-soft)!important;box-shadow:inset 0 0 0 2px var(--tc-pine)!important;color:var(--tc-pine)!important}
.ac-start,.ac-premium-cta{border-radius:14px!important;box-shadow:none!important;font-weight:700!important}
.ac-secondary{background:var(--tc-fill)!important;border:0!important;box-shadow:none!important;border-radius:14px!important}
.ac-card{border:0!important;box-shadow:var(--tc-shadow)!important}
/* 설명이 붙은 선택지는 휴대폰에서 한 줄씩 쌓는 목록으로 */
@media (max-width:640px){
 .ac-answers:has(.ac-answer>strong+span){grid-template-columns:1fr!important;gap:10px!important}
 .ac-answers:has(.ac-answer>strong+span) .ac-answer{display:flex!important;flex-direction:column!important;text-align:left!important;align-items:flex-start!important;justify-content:center!important;gap:3px!important;padding:16px 18px!important;min-height:0!important}
 .ac-answer>strong{font-size:16px!important}
 .ac-answer>span{color:var(--tc-sub)!important}
}
@media (max-width:640px){
 .ac-plan-badge{display:none!important}
 /* 무료 시간은 머리줄 바로 아래 한 줄로: 아래쪽 재생 버튼을 가리지 않게 하고, 그만큼 내용을 내린다 */
 body.ac-open .pl-quota-pill{top:calc(62px + env(safe-area-inset-top))!important;bottom:auto!important;white-space:nowrap!important;font-size:12px!important;padding:3px 3px 3px 10px!important;gap:8px!important;box-shadow:0 2px 10px rgba(17,33,27,.10)!important}
 body.ac-open .pl-quota-pill strong{padding:3px 9px!important;font-size:11.5px!important}
 body.pl-free.ac-open .ac-top{margin-bottom:34px!important}
}

/* 무료 남은 시간: 흰 알약, 숫자 강조 */
.pl-quota-pill{background:var(--tc-card)!important;border:0!important;box-shadow:0 6px 24px rgba(17,33,27,.12)!important;font-weight:600}
.pl-quota-pill strong{background:var(--tc-pine)!important;color:#fff!important;font-weight:700}

.pl-quota-time{font-weight:800;font-variant-numeric:tabular-nums}
/* 휴대폰 홈 등 학습 화면 밖: 버튼을 가리지 않게 오른쪽 아래 작은 시간 칩으로 */
@media (max-width:640px){
 body:not(.ac-open) .pl-quota-pill{left:auto!important;right:12px!important;width:auto!important;justify-content:center!important;padding:7px 12px!important;gap:6px!important;font-size:13px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important}
 body:not(.ac-open) .pl-quota-pill .pl-quota-label,body:not(.ac-open) .pl-quota-pill strong{display:none!important}
 body:not(.ac-open) .pl-quota-pill .pl-quota-time::before{content:"⏱ ";font-weight:600}
 body:not(.ac-open) .pl-quota-pill[data-empty=true] strong{display:inline-flex!important}
}

/* 무료 시간 1분 전 알림 */
.pl-quota-toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:95;width:max-content;max-width:calc(100vw - 32px);padding:12px 18px;border-radius:16px;background:#17211d;color:#fff;font-weight:600;font-size:14.5px;line-height:1.45;text-align:center;word-break:keep-all;box-shadow:0 10px 30px rgba(0,0,0,.2);animation:tc-toast .3s cubic-bezier(.2,.9,.3,1);transition:opacity .4s,transform .4s}
.pl-quota-toast.out{opacity:0;transform:translate(-50%,10px)}
@keyframes tc-toast{from{opacity:0;transform:translate(-50%,12px)}}

/* 푸터: 조용하게 */
.site-utility-footer,.forest-footer{color:var(--tc-muted)!important;background:transparent!important;border-top:0!important}

/* ===== 학습 설정 창 ===== */
#reading-dialog{border:0!important;border-radius:28px!important;background:var(--tc-card)!important;box-shadow:0 24px 64px rgba(10,20,16,.24)!important}
#reading-dialog::backdrop{background:rgba(10,20,16,.42)}
#reading-dialog .dialog-header h2{font-weight:800!important;color:var(--tc-ink)!important}
#reading-dialog .dialog-header button{border:0!important;background:var(--tc-fill)!important;box-shadow:none!important;outline:none!important}
#reading-dialog .dialog-header button:focus-visible{outline:3px solid var(--tc-pine-soft)!important;outline-offset:2px!important}
#reading-dialog #system-size{margin-left:0!important;width:100%!important;max-width:none!important}
#reading-dialog .settings-tabs{background:var(--tc-fill)!important;border:0!important;border-radius:14px!important;padding:4px!important}
#reading-dialog .settings-tabs button{border:0!important;border-radius:11px!important;font-weight:600!important;color:var(--tc-sub)!important;background:transparent!important}
#reading-dialog .settings-tabs button:is([aria-selected=true],.active){background:var(--tc-card)!important;color:var(--tc-ink)!important;box-shadow:0 1px 4px rgba(0,0,0,.08)!important}
#reading-dialog section{background:transparent!important;border:0!important;box-shadow:none!important}
#reading-dialog .appearance-field{border-color:var(--tc-line)!important}
#reading-dialog .font-stepper{display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px!important;align-items:center;gap:10px!important;width:100%!important;max-width:100%!important;box-sizing:border-box}
#reading-dialog .font-stepper button{width:44px!important;min-width:0!important;height:44px!important;padding:0!important;border:0!important;border-radius:12px!important;background:var(--tc-fill)!important;color:var(--tc-ink)!important;font-weight:700!important}
#reading-dialog input[type=range]{accent-color:var(--tc-pine);width:100%;min-width:0}
#reading-dialog .choice-grid button{border:0!important;background:var(--tc-fill)!important;color:var(--tc-ink)!important;border-radius:999px!important;font-weight:600!important;box-shadow:none!important}
#reading-dialog .choice-grid button:is([aria-pressed=true],.active,[aria-checked=true]){background:var(--tc-pine)!important;color:#fff!important}
#reading-dialog select{background-color:var(--tc-fill)!important;border:0!important;border-radius:12px!important;min-height:48px;font-weight:600}
#reading-dialog .dialog-actions{border-top:0!important;background:var(--tc-card)!important}
#reading-dialog .dialog-actions .primary-button{border-radius:14px!important;min-height:52px!important;font-weight:700!important;box-shadow:none!important}
@media (hover:none){#settings-pointer-effects{display:none!important}}
@media (min-width:641px){#reading-dialog{width:min(640px,92vw)!important;max-width:640px!important}}
@media (max-width:640px){
 #reading-dialog{width:100vw!important;max-width:100vw!important;margin:auto 0 0!important;border-radius:28px 28px 0 0!important;max-height:90dvh!important}
 #reading-dialog[open]{animation:tc-sheet .28s cubic-bezier(.2,.9,.3,1)}
 #reading-dialog .dialog-actions{padding-bottom:calc(12px + env(safe-area-inset-bottom))!important}
 #reading-dialog .dialog-actions .primary-button{width:100%!important}
}

/* ===== 무료 시간 소진 안내(결제 유도) 창 ===== */
.pl-paywall-card{border:0!important;border-radius:28px!important;box-shadow:0 24px 64px rgba(10,20,16,.24)!important}
.pl-paywall-card h2,.pl-paywall-card h3{word-break:keep-all;font-weight:800!important}
.pl-paywall-perks{background:var(--tc-fill)!important;border:0!important;border-radius:18px!important}
.pl-paywall-primary{border-radius:14px!important;min-height:54px!important;font-weight:700!important;box-shadow:none!important;outline:none!important}
.pl-paywall-primary:focus-visible{outline:3px solid var(--tc-pine-soft)!important;outline-offset:2px!important}
.pl-paywall-signup{border:0!important;background:var(--tc-fill)!important;color:var(--tc-ink)!important;border-radius:14px!important;min-height:52px!important;font-weight:700!important}
.pl-paywall-secondary{color:var(--tc-muted)!important;font-weight:600!important}
@media (max-width:640px){
 .pl-paywall{align-items:flex-end!important;padding:0!important}
 .pl-paywall-card{width:100%!important;max-width:none!important;border-radius:28px 28px 0 0!important;padding-bottom:calc(20px + env(safe-area-inset-bottom))!important;animation:tc-sheet .28s cubic-bezier(.2,.9,.3,1)}
}

/* ===== 첫 로딩 화면: 장식 줄이고 채움형 보기 ===== */
#load-state{background:var(--tc-bg)!important}
.pl-loader-halo,.pl-spark{display:none!important}
.loading-heading{font-weight:700!important;color:var(--tc-sub)!important;font-size:17px!important;letter-spacing:-.01em}
.pl-loader-bar{background:var(--tc-fill-strong)!important;height:4px!important;border-radius:4px!important;overflow:hidden}
.pl-loader-bar span{background:var(--tc-pine)!important;border-radius:4px!important}
.pl-fact-kicker{color:var(--tc-muted)!important;font-weight:600!important;letter-spacing:0!important}
.pl-fact-card{background:var(--tc-card)!important;border:0!important;box-shadow:var(--tc-shadow)!important;border-radius:24px!important}
.pl-fact-lang{background:var(--tc-pine-soft)!important;color:var(--tc-pine)!important;border:0!important;font-weight:700!important}
.pl-fact-word{color:var(--tc-ink)!important;font-weight:800!important}
.pl-fact-speak{background:var(--tc-fill)!important;border:0!important;box-shadow:none!important;color:var(--tc-ink)!important;font-weight:600!important}
.pl-fact-speak:hover{background:var(--tc-fill-strong)!important}
.pl-fact-options button,.pl-fact-option{background:var(--tc-card)!important;border:0!important;box-shadow:var(--tc-shadow)!important;border-radius:16px!important;min-height:56px!important;font-weight:600!important;color:var(--tc-ink)!important;transition:background .15s,transform .08s!important}
.pl-fact-options button:hover{background:var(--tc-fill)!important}
.pl-fact-options button:active{transform:scale(.98)}
.pl-fact-options button:is([data-state=right],.is-right){background:var(--tc-pine-soft)!important;color:var(--tc-pine)!important;box-shadow:inset 0 0 0 2px var(--tc-pine)!important}
.pl-fact-options button:is([data-state=wrong],.is-wrong){background:#fff1ec!important;color:#c2410c!important;box-shadow:inset 0 0 0 2px #f4a582!important}
.pl-fact-score{color:var(--tc-pine)!important;font-weight:700!important}
.pl-fact-controls button,.pl-fact-go{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--tc-sub)!important;font-weight:600!important}
.pl-fact-controls button:hover{color:var(--tc-ink)!important;background:var(--tc-fill)!important}
.pl-fact-go:not([hidden]){background:var(--tc-pine)!important;color:#fff!important;border-radius:14px!important}

/* ===== 모바일·앱(설치형) 편의 ===== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
:where(button,a,[role=button],input,select,label,summary){touch-action:manipulation}
/* iOS는 16px 미만 입력칸에 초점이 가면 화면을 확대한다 */
@media (max-width:640px){:where(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){font-size:max(16px,1em)!important}}
/* 설치형(홈 화면) 실행: 노치·홈바 영역 여백, 당겨서 새로고침 튐 방지 */
@media (display-mode:standalone){
 body{overscroll-behavior-y:none}
 .site-header{padding-top:calc(env(safe-area-inset-top) + 8px)!important}
 .site-utility-footer{padding-bottom:calc(env(safe-area-inset-bottom) + 16px)!important}
 .ac-top{padding-top:calc(env(safe-area-inset-top) + 10px)!important}
}
/* 길게 눌렀을 때 버튼 글자 선택·확대 메뉴가 뜨지 않게 */
:where(button,.pl-start-mode,.pl-playground-game,.pl-mode-card,.ac-answer,.home-corner-choice){-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}

/* 공통 카드·대화상자·입력 */
:where(dialog,.modal,.pl-modal,.sm-modal){border:0!important;border-radius:24px!important;box-shadow:0 20px 60px rgba(17,33,27,.18)!important}
:where(input[type=text],input[type=email],input[type=password],input[type=search],input[type=tel],input:not([type]),select,textarea){border-radius:12px;border-color:var(--tc-line)}
:where(input,select,textarea):focus-visible{outline:2px solid var(--tc-pine)!important;outline-offset:1px}

.pl-sub .notice-soft{margin:8px 0 0;padding:10px 12px;border-radius:12px;background:var(--tc-fill,#f2f4f3);color:var(--tc-sub,#4e5a55);font-size:13.5px;line-height:1.5;word-break:keep-all}

/* 2026-10-19 디자인 진단 반영: 남은 파란 강조·초점 테두리를 초록으로, 작은 터치 영역 넓히기 */
:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--tc-pine)!important;outline-offset:2px}
.home-corner button:not(.home-corner-choice):not(.home-corner-tile):not(.home-corner-listen):not(.home-corner-next),.home-corner-check,.home-corner .primary{background:var(--tc-pine)!important;border-color:var(--tc-pine)!important;color:#fff!important}
.home-corner-input{border:2px solid transparent!important;background:var(--tc-fill)!important;border-radius:14px!important;min-height:48px}
.home-corner-input:focus{border-color:var(--tc-pine)!important;background:var(--tc-card)!important}
.home-corner-stat,.home-corner-quiz-head .home-corner-stat{color:var(--tc-muted)!important}
.tutor-mode[aria-selected=true]{color:var(--tc-pine)!important}
.ac-summary-edit{min-height:44px!important;min-width:44px!important;padding:0 12px!important}
.site-header .language-line-navigation .nav-button{min-width:44px!important;min-height:44px!important}
.pl-home-ring-text small,.pl-home-stat span{font-size:max(12px,.75rem)!important}
/* 2026-10-19 베타테스트 반영 */
body:has(.pl-mode-chooser:not([hidden]),.pl-corner-sheet:not([hidden]),.tutor:not([hidden])) .skip-link{display:none}
@media (max-width:760px){#settings-pane-reading{grid-template-columns:minmax(0,1fr)!important}}
#settings-pane-reading .appearance-field{min-width:0}
#settings-pane-reading .appearance-field input[type=range]{display:block;width:100%;box-sizing:border-box}
#settings-pane-reading .reset-reading{min-height:44px!important;height:auto!important;line-height:1.3!important;white-space:normal}
/* 2026-10-19 2차 개선: 터치 영역·근거 시트·선택 카드 */
.tutor-mode{min-height:44px!important}
.pl-quota-pill{min-height:44px;box-sizing:border-box}
.site-header :is(a,button)[href*="/login"],.site-header .auth-nav :is(a,button){min-height:44px;display:inline-flex;align-items:center}
.settings-dialog :is(.theme-option,.color-option,[data-theme-choice],[data-accent]){min-height:44px}
body:has(.ev-sheet) .pl-quota-pill{display:none!important}
@media (max-width:640px){
  .ev-sheet :is(ol,ul,.ev-grid){grid-template-columns:minmax(0,1fr)!important}
  .ac-answers{grid-template-columns:minmax(0,1fr)!important}
  .ac-answer{min-height:56px}
}
.ac-interests .ac-chip,.ac-goals .ac-chip{min-height:44px}
:is(.pl-mode-card,.pl-playground-game,.home-corner-tile) :is(h3,strong,.title){white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
/* 사용자에게 의미 없는 개발 일수는 숨긴다 */
#development-days{display:none!important}

/* 2026-10-19 3차 개선(2차 베타 결과) */
#settings-pane-reading .font-stepper{display:flex;align-items:center;gap:8px}
#settings-pane-reading .font-stepper input[type=range]{flex:1 1 auto;width:auto!important;min-width:0}
#settings-pane-reading .font-stepper button{flex:none;min-width:44px;min-height:44px}
#reading-dialog .choice-grid button{min-height:44px}
.topbar .brand,.site-header .brand{min-height:44px;display:inline-flex;align-items:center}
.pl-auth-login{min-height:44px!important;display:inline-flex;align-items:center}
.pl-start-badge{background:#2d6a56!important;color:#fff!important}
@media (min-width:900px){
  body[data-view=library] #workspace{overflow-y:auto!important}
  body[data-view=library] #library-view>*{flex-shrink:0}
}
.biz-footer a{display:inline-block;padding:12px 4px;min-height:44px;box-sizing:border-box}
.ac-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:1000;max-width:calc(100vw - 32px);padding:14px 18px;border-radius:14px;background:#17211d;color:#fff;font-size:15px;box-shadow:0 10px 30px rgba(0,0,0,.2)}

/* 2026-10-19 4차 개선(3차 베타 결과) */
/* PC 홈: 칸 높이를 화면에 고정하면 놀이터가 아래 버튼을 덮는다 → 내용 높이, 넘치면 스크롤 */
@media (min-width:900px){
  body[data-view=library] #library-view{height:auto!important;min-height:100%;grid-template-rows:none!important;grid-auto-rows:auto!important}
  body[data-view=library] #workspace{overflow-y:auto!important}
}
/* 설정 창 글자 크기: − 슬라이더 + 가 겹치지 않게 세 칸 고정 */
#reading-dialog .font-stepper{display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px!important;gap:8px!important;align-items:center}
#reading-dialog .font-stepper input[type=range]{width:100%!important;min-width:0!important;margin:0!important}
/* 홈 카드 제목은 말줄임 대신 두 줄까지 */
#library-view :is(.pl-playground-game,.pl-mode-card,.learning-studio-home button,.learning-studio-home a) span{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere}
/* AI 선생님 상단: 좁은 휴대폰에서 줄바꿈 */
.tutor :is(.tutor-head,.tutor-top,.tutor-bar,.tutor-controls){flex-wrap:wrap;min-width:0}
.tutor .tutor-modes{flex-wrap:wrap;min-width:0;max-width:100%}
.tutor .tutor-level{max-width:100%;min-width:0}
.tutor .tutor-mode{white-space:normal!important}
/* 2026-10-19 학습 화면 개편: 간결·실용, 긴 단어도 칸 안에 */
.ac .ac-top{display:grid!important;grid-template-columns:44px 1fr auto auto;align-items:center;gap:10px}
.ac .ac-progress{height:6px;border-radius:999px;background:var(--tc-fill,#eef1ef);overflow:hidden}
.ac .ac-progress-bar{height:100%;border-radius:999px;background:var(--tc-pine,#1b6b52);transition:width .4s ease}
.ac .ac-count{font-size:13px;font-weight:800;color:var(--tc-pine,#1b6b52);font-variant-numeric:tabular-nums}
.ac .ac-time{font-size:12.5px;color:var(--tc-muted,#66706a);white-space:nowrap;font-variant-numeric:tabular-nums}
@media (max-width:420px){.ac .ac-time{font-size:0}.ac .ac-time::first-letter{font-size:0}.ac .ac-top{grid-template-columns:44px 1fr auto}.ac .ac-time{display:none}}
.ac .ac-card{min-width:0;max-width:100%;box-shadow:0 1px 2px rgba(23,33,29,.04),0 12px 32px rgba(23,33,29,.06)!important;border:1px solid var(--tc-line,#e7ebe9)}
.ac .ac-card *{max-width:100%;min-width:0}
.ac .ac-target,.ac .ac-meaning,.ac .ac-reading{overflow-wrap:anywhere;word-break:keep-all;text-align:center}
.ac .ac-target{font-size:clamp(26px,7vw,44px)!important}
.ac .ac-target .ac-ch{color:#a9b2ad;transition:color .12s linear}
.ac .ac-card[data-karaoke=false] .ac-target .ac-ch,.ac .ac-target[data-karaoke=false] .ac-ch{color:inherit}
.ac .ac-target .ac-ch.on{color:var(--tc-pine,#1b6b52)}
.ac .ac-meaning{font-size:clamp(16px,4.4vw,20px);color:var(--tc-ink,#17211d);font-weight:600}
.ac .ac-reading{font-size:15px;color:var(--tc-muted,#66706a)}
.ac .ac-cue{font-size:12.5px;font-weight:800;letter-spacing:.2px;color:var(--tc-pine,#1b6b52);background:#e8f3ee;border-radius:999px;padding:5px 12px}
.ac .ac-chip{font-size:13px;color:var(--tc-muted,#66706a);font-weight:700}
.ac .ac-tip{font-size:13.5px;color:var(--tc-muted,#66706a);text-align:center;max-width:440px}
.ac .ac-controls{gap:28px!important}
.ac .ac-ctrl{width:56px;height:56px;border-radius:50%;border:0;background:var(--tc-fill,#eef1ef);font-size:18px}
.ac .ac-play{width:72px!important;height:72px!important}
.ac .ac-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.ac .ac-tool,.ac .ac-tool-select{min-height:40px;border-radius:999px;border:1px solid var(--tc-line,#e7ebe9);background:#fff;padding:0 14px;font-size:13.5px;font-weight:700}
/* 일시정지 중 단어 사전 */
.ac.is-lookup .ac-target .word-study-inline{font:inherit;color:var(--tc-pine,#1b6b52);background:none;border:0;padding:0 2px;border-bottom:2px dotted currentColor;cursor:pointer;border-radius:4px}
.ac.is-lookup .ac-target .word-study-inline:hover{background:#e8f3ee}
html[data-theme=dark] .ac .ac-card{border-color:#2a3330}
html[data-theme=dark] .ac .ac-cue{background:#1d3a30;color:#8fd3b4}
@media (prefers-reduced-motion:reduce){.ac .ac-target .ac-ch,.ac .ac-progress-bar{transition:none}}
/* '이렇게 학습할게요' 분석 요약 */
.ac-analysis{width:100%;box-sizing:border-box;background:#fff;border:1px solid var(--tc-line,#e7ebe9);border-radius:22px;padding:18px;display:grid;gap:14px}
.ac-an-head{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ac-an-stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-radius:16px;background:var(--tc-fill,#f2f4f3)}
.ac-an-stat strong{font-size:26px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--tc-ink,#17211d)}
.ac-an-stat span{font-size:12.5px;color:var(--tc-muted,#66706a);font-weight:700}
.ac-an-stat.is-new strong{color:var(--tc-pine,#1b6b52)}
.ac-an-stat.is-review strong{color:#b7791f}
.ac-an-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--tc-fill,#eef1ef)}
.ac-an-bar span{height:100%;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.ac-an-bar .is-new{background:var(--tc-pine,#1b6b52)}
.ac-an-bar .is-review{background:#e0a43a}
.ac-an-why{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ac-an-why li{display:flex;gap:10px;align-items:flex-start}
.ac-an-icon{flex:none;width:32px;height:32px;border-radius:10px;background:var(--tc-fill,#f2f4f3);display:grid;place-items:center;font-size:16px}
.ac-an-why strong{display:block;font-size:14.5px;line-height:1.35;overflow-wrap:anywhere}
.ac-an-why small{display:block;font-size:12.5px;color:var(--tc-muted,#66706a);margin-top:2px;line-height:1.4}
.ac-summary{font-size:13.5px}
html[data-theme=dark] .ac-analysis{background:#18201d;border-color:#2a3330}
@media (prefers-reduced-motion:reduce){.ac-an-bar span{transition:none}}
/* 자동학습 검색 */
.ac-search{width:100%;display:grid;gap:10px}
.ac-search-input{width:100%;box-sizing:border-box;min-height:52px;border-radius:16px;border:2px solid transparent;background:var(--tc-fill,#f2f4f3);padding:0 16px;font:inherit;font-size:16px}
.ac-search-input:focus{outline:none;border-color:var(--tc-pine,#1b6b52);background:#fff}
.ac-search-count{margin:0;font-weight:800;color:var(--tc-pine,#1b6b52);font-size:14.5px}
.ac-search-empty{margin:0;color:var(--tc-muted,#66706a);font-size:13.5px}
.ac-search-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ac-search-list li{display:flex;gap:10px;justify-content:space-between;padding:10px 14px;border-radius:12px;background:#fff;border:1px solid var(--tc-line,#e7ebe9);font-size:14px}
.ac-search-list strong{overflow-wrap:anywhere}
.ac-search-list span{color:var(--tc-muted,#66706a);text-align:right;overflow-wrap:anywhere}
html[data-theme=dark] .ac-search-input:focus,html[data-theme=dark] .ac-search-list li{background:#18201d}
/* 2026-10-20 내 정보 분석 대시보드 */
.pf-stats[hidden]{display:none!important}
.pd{display:grid;gap:14px;margin:16px 0 24px;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.pd{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-head,.pd-kpis,.pd-ai,.pd-empty{grid-column:1/-1}}
.pd-head{display:flex;flex-direction:column;gap:2px}
.pd-title{margin:0;font-size:22px;font-weight:800;letter-spacing:-.4px}
.pd-sub{margin:0;font-size:13px;color:var(--tc-muted,#66706a)}
.pd-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pd-kpi{background:#fff;border:1px solid var(--tc-line,#e7ebe9);border-radius:20px;padding:14px 12px;display:flex;flex-direction:column;gap:4px;min-width:0}
.pd-kpi-label{font-size:12.5px;font-weight:700;color:var(--tc-muted,#66706a)}
.pd-kpi strong{font-size:clamp(22px,6vw,30px);font-weight:800;letter-spacing:-.5px;font-variant-numeric:tabular-nums;color:var(--tc-ink,#17211d)}
.pd-kpi-note{font-size:12px;line-height:1.35;color:var(--tc-muted,#66706a)}
.pd-kpi-note.is-up{color:var(--tc-pine,#1b6b52);font-weight:700}
.pd-card{background:#fff;border:1px solid var(--tc-line,#e7ebe9);border-radius:22px;padding:18px;min-width:0;opacity:0;transform:translateY(10px)}
.pd.is-in .pd-card{animation:pd-in .5s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i,0) * 60ms)}
@keyframes pd-in{to{opacity:1;transform:none}}
.pd-h{margin:0 0 12px;font-size:15.5px;font-weight:800}
.pd-h4{margin:14px 0 8px;font-size:13.5px;font-weight:800;color:var(--tc-sub,#4e5a55)}
.pd-note{margin:10px 0 0;font-size:13.5px;color:var(--tc-sub,#4e5a55);line-height:1.5}
.pd-note.is-alert{color:#b7791f;font-weight:700}
.pd-est{display:block;margin-top:6px;font-size:11.5px;color:var(--tc-muted,#66706a)}
.pd-empty{margin:0;padding:18px;border-radius:18px;background:var(--tc-fill,#f2f4f3);text-align:center;color:var(--tc-sub,#4e5a55)}
.pd-goal-wrap{display:flex;align-items:center;gap:18px}
.pd-ring{width:110px;height:110px;flex:none;transform:rotate(-90deg)}
.pd-ring circle{fill:none;stroke-width:12}
.pd-ring-bg{stroke:var(--tc-fill,#eef1ef)}
.pd-ring-fg{stroke:var(--tc-pine,#1b6b52);stroke-linecap:round;transition:stroke-dashoffset 1.1s cubic-bezier(.2,.8,.2,1)}
.pd-goal-text{display:flex;flex-direction:column;gap:4px}
.pd-goal-text strong{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}
.pd-goal-text span{font-size:13.5px;color:var(--tc-sub,#4e5a55)}
.pd-bars{display:flex;align-items:flex-end;gap:4px;height:120px}
.pd-bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%;min-width:0}
.pd-bar span{width:100%;max-width:22px;border-radius:6px 6px 3px 3px;background:#cfe5da;height:0;transition:height .8s cubic-bezier(.2,.8,.2,1)}
.pd.is-in .pd-bar span{height:max(3px,var(--h))}
.pd-bar.is-zero span{background:var(--tc-fill,#eef1ef)}
.pd-bar.is-now span{background:var(--tc-pine,#1b6b52)}
.pd-bar small{font-size:10.5px;color:var(--tc-muted,#66706a);height:13px;line-height:13px;white-space:nowrap}
.pd-heat-grid{display:grid;grid-template-rows:repeat(7,1fr);grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px}
.pd-heat-grid i,.pd-heat-legend i{display:block;aspect-ratio:1;border-radius:4px;background:var(--tc-fill,#eef1ef)}
.pd-heat-grid i.is-pad{background:transparent}
:is(.pd-heat-grid,.pd-heat-legend) i[data-l="1"]{background:#cfe5da}
:is(.pd-heat-grid,.pd-heat-legend) i[data-l="2"]{background:#93c7ae}
:is(.pd-heat-grid,.pd-heat-legend) i[data-l="3"]{background:#4f9a7a}
:is(.pd-heat-grid,.pd-heat-legend) i[data-l="4"]{background:#1b6b52}
.pd-heat-legend{display:flex;align-items:center;gap:4px;justify-content:flex-end;margin-top:8px;font-size:11.5px;color:var(--tc-muted,#66706a)}
.pd-heat-legend i{width:12px}
.pd-stack{display:flex;height:14px;border-radius:999px;overflow:hidden;background:var(--tc-fill,#eef1ef)}
.pd-stack span{width:0;transition:width .9s cubic-bezier(.2,.8,.2,1)}
.pd.is-in .pd-stack span{width:var(--w)}
:is(.pd-stack span,.pd-keys li i).is-strong,.pd-keys li.is-strong i{background:#1b6b52}
.pd-stack span.is-medium,.pd-keys li.is-medium i{background:#93c7ae}
.pd-stack span.is-weak,.pd-keys li.is-weak i{background:#e0a43a}
.pd-keys{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px;font-size:13px}
.pd-keys li{display:flex;align-items:center;gap:6px}
.pd-keys i{width:10px;height:10px;border-radius:3px}
.pd-langs{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pd-langs li{display:grid;grid-template-columns:minmax(64px,auto) 1fr auto;align-items:center;gap:10px;font-size:13.5px}
.pd-lang-bar{height:8px;border-radius:999px;background:var(--tc-fill,#eef1ef);position:relative;overflow:hidden}
.pd-lang-bar::after{content:'';position:absolute;inset:0 auto 0 0;width:0;background:var(--tc-pine,#1b6b52);border-radius:999px;transition:width .9s cubic-bezier(.2,.8,.2,1)}
.pd.is-in .pd-lang-bar::after{width:var(--w)}
.pd-langs small{color:var(--tc-muted,#66706a)}
.pd-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pd-mini div{background:var(--tc-fill,#f2f4f3);border-radius:14px;padding:10px;text-align:center;display:flex;flex-direction:column}
.pd-mini strong{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}
.pd-mini span{font-size:12px;color:var(--tc-muted,#66706a)}
.pd-forecast{display:flex;gap:8px;align-items:flex-start}
.pd-forecast p{margin:0;font-size:14px;line-height:1.5;border-bottom:1px dashed var(--tc-line,#cfd6d2);padding-bottom:4px}
.pd-badge{flex:none;font-size:11px;font-weight:800;color:var(--tc-muted,#66706a);border:1px dashed currentColor;border-radius:999px;padding:2px 8px}
.pd-ai{background:linear-gradient(160deg,#f2faf6,#fff 60%)}
.pd-advice{list-style:none;margin:0;padding:0;display:grid;gap:12px}
@media (min-width:900px){.pd-advice{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pd-advice li{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--tc-line,#e7ebe9);border-radius:16px;padding:12px}
.pd-ai-icon{flex:none;width:36px;height:36px;border-radius:12px;background:#e8f3ee;display:grid;place-items:center;font-size:18px}
.pd-advice strong{display:block;font-size:14.5px;line-height:1.35;overflow-wrap:anywhere}
.pd-advice p{margin:3px 0 0;font-size:13px;color:var(--tc-sub,#4e5a55);line-height:1.5}
html[data-theme=dark] :is(.pd-kpi,.pd-card,.pd-advice li){background:#18201d;border-color:#2a3330}
html[data-theme=dark] .pd-ai{background:linear-gradient(160deg,#16261f,#18201d 60%)}
@media (prefers-reduced-motion:reduce){.pd-card{opacity:1;transform:none}.pd.is-in .pd-card{animation:none}.pd-bar span,.pd-stack span,.pd-lang-bar::after,.pd-ring-fg{transition:none}}
.pd-heat-grid{grid-auto-columns:minmax(0,26px)!important;justify-content:center}
.ac .ac-top{grid-template-columns:44px auto minmax(0,1fr) auto auto!important}
.ac .ac-top .ac-pine{display:flex;align-items:center}
.ac .ac-top .ac-progress{min-width:40px}
@media (max-width:420px){.ac .ac-top{grid-template-columns:44px auto minmax(0,1fr) auto!important}}
body.ac-open .pl-quota-pill{top:calc(70px + env(safe-area-inset-top))!important}
/* 2026-10-20 5차 개선(4차 베타 결과) */
.pl-auth-login{height:auto!important;min-height:44px!important;padding-block:0!important}
.wrap .top nav a,.biz-footer p a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
/* PC 홈: 아래 고정 띠가 "왜 이렇게 배우나요?"를 덮지 않게 여백 */
@media (min-width:900px){body[data-view=library] #workspace{padding-bottom:56px!important}}
/* 완료 화면: 내일 약속 */
.ac-promise{width:100%;box-sizing:border-box;background:#fff;border:1px solid var(--tc-line,#e7ebe9);border-radius:20px;padding:16px;text-align:center;display:grid;gap:8px}
.ac-promise h3{margin:0;font-size:16px;font-weight:800}
.ac-promise p{margin:0;font-size:13.5px;color:var(--tc-sub,#4e5a55);line-height:1.5}
.ac-promise-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.ac-promise-row .ac-chip{min-height:44px;padding:0 16px}
.ac-promise-done{font-weight:700;color:var(--tc-pine,#1b6b52)!important}
html[data-theme=dark] .ac-promise{background:#18201d;border-color:#2a3330}

/* 2026-10-20 글자 점검 결과: 내 정보 대시보드가 고정 높이에 잘리지 않게 스크롤, 가로 휴대폰 놀이터 시트 스크롤 */
body[data-view=profile] #workspace{overflow-y:auto!important;-webkit-overflow-scrolling:touch}
body[data-view=profile] #main{height:auto!important;min-height:100%}
.pl-corner-sheet{overflow-y:auto!important;overscroll-behavior:contain}
.pl-corner-sheet .home-curiosity{overflow:visible!important;max-height:none!important;height:auto!important}
@media (max-height:500px){.pl-corner-sheet .home-curiosity h2{min-height:0!important;font-size:22px!important}}

/* 2026-10-20 내 정보 개편: 프로필 → 분석 대시보드 → 예전 기록 순서, 예전 숫자 4칸 숨김 */
body[data-view=profile] #profile-view{grid-template-rows:none!important;grid-auto-rows:auto!important;height:auto!important;align-content:start!important}
body[data-view=profile] #profile-view>*{grid-row:auto!important}
body[data-view=profile] #profile-view>.pf-hero{grid-column:1/-1!important;grid-row:1!important}
body[data-view=profile] #profile-view>.pd{grid-column:1/-1!important;grid-row:2!important}
#profile-view .pf-stats,body[data-view=profile] #profile-view>.pf-stats{display:none!important}
body[data-view=profile] #profile-view>.profile-insights{grid-column:1/9!important}
body[data-view=profile] #profile-view>.profile-history{grid-column:9/13!important}
@media (max-width:899px){body[data-view=profile] #profile-view>:is(.profile-insights,.profile-history){grid-column:1/-1!important}}
/* 놀이터 출처 ⓘ: 기본 삼각형 표시 없이 44px 버튼 */
.curiosity-source>summary{list-style:none;display:inline-grid;place-items:center;min-width:44px;min-height:44px;cursor:pointer;color:var(--tc-muted,#66706a)}
.curiosity-source>summary::-webkit-details-marker{display:none}
.curiosity-source>summary svg{width:20px;height:20px}
/* 가로 휴대폰: 무료 시간 알약이 내용을 덮지 않게 */
@media (max-height:500px){
  body.ac-open .pl-quota-pill{display:none!important}
  .pl-quota-pill{top:auto!important;bottom:10px!important;left:auto!important;right:10px!important;transform:scale(.88);transform-origin:bottom right}
}
/* 태블릿 폭: 머리글이 붐벼 로고와 겹치지 않게 설정·내 정보는 아이콘만 */
@media (min-width:600px) and (max-width:1024px){.site-header .nav-button .nav-label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.site-header .nav-button{min-width:44px;justify-content:center}}
/* 5차 베타: 로그인 링크 44px 확정, 홈 하단 띠가 버튼을 덮지 않게 */
a.pl-auth-login.pl-auth-login{min-height:44px!important;height:44px!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important}
@media (min-width:900px){body[data-view=library] .site-utility-footer{position:relative!important;z-index:0!important}}
/* 무료 시간 알약: 학습 화면(자체 시간 표시)과 가로 휴대폰에서는 숨김 */
body.ac-open .pl-quota-pill{display:none!important}
@media (max-height:500px) and (orientation:landscape){.pl-quota-pill{display:none!important}}
/* 6차 베타: 큰 글자 설정에서도 글자 크기 조절이 겹치지 않게, 팀 필터 칩 44px */
#reading-dialog .font-stepper{grid-template-columns:auto minmax(0,1fr) auto!important}
.chips button,.filters button,[class*=filter] button{min-height:44px}
/* 대시보드: 나를 알아가는 중(첫 7일) */
.pd-warmup{grid-column:1/-1;background:linear-gradient(160deg,#f2faf6,#fff 70%)}
.pd-warm-lead{margin:0 0 10px;font-weight:700;font-size:14.5px}
.pd-warm-bar{height:10px;border-radius:999px;background:var(--tc-fill,#eef1ef);overflow:hidden}
.pd-warm-bar span{display:block;height:100%;width:0;background:var(--tc-pine,#1b6b52);border-radius:999px;transition:width 1s cubic-bezier(.2,.8,.2,1)}
.pd.is-in .pd-warm-bar span{width:var(--w)}
.pd-warm-steps{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.pd-warm-steps li{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;font-size:14px;color:var(--tc-muted,#66706a)}
.pd-warm-steps li span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--tc-fill,#eef1ef);font-weight:800;font-size:12.5px}
.pd-warm-steps li.is-open{color:var(--tc-ink,#17211d)}
.pd-warm-steps li.is-open span{background:var(--tc-pine,#1b6b52);color:#fff}
.pd-warm-steps small{font-size:12px}
html[data-theme=dark] .pd-warmup{background:linear-gradient(160deg,#16261f,#18201d 70%)}
/* 아직 듣고 계세요? */
.ac-still{position:fixed;left:50%;bottom:calc(120px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:30;width:min(360px,calc(100vw - 32px));box-sizing:border-box;background:#fff;border-radius:22px;padding:18px;box-shadow:0 18px 48px rgba(0,0,0,.18);display:grid;gap:8px;text-align:center}
.ac-still strong{font-size:17px}.ac-still p{margin:0;font-size:13.5px;color:var(--tc-sub,#4e5a55);line-height:1.5}
html[data-theme=dark] .ac-still{background:#18201d}
/* 숙련 4단계 */
.pd-tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:12px}
.pd-tier{border-radius:14px;padding:10px 4px;text-align:center;background:var(--tc-fill,#f2f4f3);display:flex;flex-direction:column;gap:2px}
.pd-tier strong{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}
.pd-tier span{font-size:12px;color:var(--tc-muted,#66706a);font-weight:700}
.pd-tier.is-proficient strong{color:#4f9a7a}.pd-tier.is-mastered{background:#e8f3ee}.pd-tier.is-mastered strong{color:var(--tc-pine,#1b6b52)}
.ac-milestone{margin:4px 0 0;padding:12px 16px;border-radius:16px;background:linear-gradient(135deg,#fff3cf,#e8f3ee);font-weight:800;color:#5a4400;text-align:center;animation:pd-in .6s cubic-bezier(.2,.8,.2,1) both}
@media (prefers-reduced-motion:reduce){.ac-milestone{animation:none}}
/* 9차 베타: 어두운 테마 완료 버튼 대비, 설정 색상 버튼이 글자 크기 버튼을 덮지 않게 */
html[data-theme=dark] #reading-dialog .primary-button{color:#0f2a20!important}
#reading-dialog #settings-pane-reading .choice-grid{float:none!important;margin:8px 0 0!important}
/* 10차 베타: 설정 창 색상 버튼끼리 겹치지 않게 줄바꿈 */
#reading-dialog #settings-pane-reading fieldset.appearance-field{display:block!important;clear:both}
#reading-dialog #settings-pane-reading .choice-grid{display:flex!important;flex-wrap:wrap!important;gap:8px!important;width:100%!important}
#reading-dialog #settings-pane-reading .choice-grid button{flex:0 0 auto!important;position:static!important}
/* 12차 베타: 홈 '왜 이렇게 배우나요?' 링크 터치 영역 */
[data-open-evidence]{min-height:44px!important;padding:0 8px!important;display:inline-flex!important;align-items:center}
/* 13차 베타: 어두운 테마 내 정보 대비, 하단 '왜 이렇게 배우나요?' 버튼 크기 */
html[data-theme=dark] .pf-primary{color:#0f2a20!important}
html[data-theme=dark] .site-header .nav-button[aria-current=page],html[data-theme=dark] .site-header .nav-button.is-active{color:#c0ebcf!important}
.learning-design-entry button,.forest-footer [data-open-evidence]{min-height:44px!important;display:inline-flex!important;align-items:center;padding:0 10px!important}
/* 14차 베타: PC 하단 '왜 이렇게 배우나요?' 44px(더 강한 규칙), 선생님 듣기 버튼 색·여백 */
body .forest-footer .learning-design-entry button[data-open-evidence]{min-height:44px!important;padding:0 12px!important;line-height:1.2!important}
.tutor .tutor-listen{color:var(--tc-pine,#1b6b52)!important;min-height:36px;margin-top:4px;position:relative;z-index:0}

/* slim-ui.css */
/* 덜어내기 A(2026-10-24): 머리글 세 칸(로고·🔥·내 얼굴) · 홈 '▶ 오늘 학습' 중심 + ⌄ 더 보기 · 보상은 연속일·나무·배지만.
   숨긴 것은 지우지 않고 내 얼굴 메뉴(.slim-box)와 홈 '더 보기' 안에 그대로 둔다. slim-ui.js 가 .slim-on 을 붙인 뒤에만 숨기므로 스크립트가 안 돌면 예전 화면 그대로. */

/* ---------- 머리글: 한 줄(두 줄로 넘치지 않게) ---------- */
html body .site-header{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
html body .site-header .brand{flex:0 1 auto;min-width:0;margin-right:auto!important}
html body .site-header .site-utility-nav{flex:0 0 auto;margin-left:auto!important;display:flex!important;align-items:center;gap:6px}
html body .site-header .pl-auth-row{flex:0 0 auto;margin:0!important;width:auto!important}
html body .site-header .ph-right{gap:6px;flex-wrap:nowrap}
/* 얇은 띠 요약은 쓰지 않는다(세 칸 그대로 유지). 불꽃은 내려도 계속 보인다 */
html body .site-header .hx-sum{display:none!important}
html.hx-slim body .site-header .hx-sum{display:none!important}
html.hx-slim body .site-header .hx-wrap:not([hidden]){display:inline-flex!important}
/* 2026-10-24 사장님 지시: 머리글 맨 위 🔥 모양은 뺀다. 홈의 '연속' 칩이 이 단추를 눌러 이번 주 달력을 여니, 요소는 남기고 보이지만 않게 한다 */
html.hx-slim body .site-header .hx-wrap:has(.hx-flame){position:relative!important;width:0!important;min-width:0!important;margin:0!important;padding:0!important;overflow:visible!important}
html.hx-slim body .site-header .hx-flame{display:inline-block!important;visibility:hidden!important;width:0!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important}
html.hx-slim body .site-header .hx-pop{visibility:visible!important}
@media (max-width:420px){
  html body .site-header{padding-left:12px!important;padding-right:12px!important;gap:6px!important}
  html body .site-header .brand-wordmark{font-size:18px!important}
}

/* ---------- 내 얼굴 메뉴 안 '빠른 설정' 칸 ---------- */
.slim-holder[hidden]{display:none!important}
.ph-menu:has(.slim-box){width:min(340px,calc(100vw - 24px))}
.slim-box{display:flex;flex-direction:column;gap:8px;margin-top:6px;padding:10px 4px 4px;border-top:1px solid #eef3f1}
.slim-box>b{font-size:12px;font-weight:700;color:#5b6670;padding:0 6px}
.slim-row[hidden]{display:none!important}
.slim-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:0 2px}
/* 휴대폰·스크롤 때 다른 규칙이 숨기던 도구를 이 칸 안에서는 보이게(hidden 속성이 있는 것은 그대로 숨김) */
html body .site-header .slim-box :is(.hx-flags,.hx-size,.hx-wrap,.hx-friends,.hx-admin,.hx-time,.ph-count,.ph-hi,.fp-kid-pill,.ph-prem,.ph-wrap,.hx-tools):not([hidden]){display:inline-flex!important}
html body .site-header .slim-box :is(.hx-search-btn,.hx-mute){display:inline-flex!important}
html body .site-header .slim-box .hx-tools{flex-wrap:wrap;gap:6px}
html body .site-header .slim-box .ph-hi{white-space:normal}
html body .site-header .slim-box .ph-bell{width:auto;min-width:38px;padding:0 12px;border-radius:999px;font-size:16px}
/* 언어 설정은 칩 대신 두 칸 선택을 그대로 펼쳐서 */
html body .slim-box .home-language-settings{position:static!important;display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
html body .slim-box .home-language-settings .pl-lang-chip{display:none!important}
html body .slim-box .home-language-settings .language-pair{position:static!important;display:flex!important;flex-wrap:wrap;align-items:center;gap:6px!important;padding:0!important;margin:0!important;border:0!important;background:none!important;box-shadow:none!important}
html body .slim-box .home-language-settings .site-language{flex:1 1 130px;min-width:0}
html body .slim-box .home-language-settings .site-language>span{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
html body .slim-box .home-language-settings select{width:100%;min-height:40px;font-size:15px}
/* 도구 창(소식 목록·찾기·달력)은 좁은 메뉴 안에서 옆으로 삐져나가지 않게 아래로 펼친다 */
html body .slim-box :is(.hx-wrap,.ph-wrap):has(.hx-pop,.ph-news){flex:1 1 100%;flex-wrap:wrap}
html body .slim-box :is(.hx-pop,.ph-news){position:static!important;width:100%;min-width:0!important;max-width:none!important;margin-top:6px;box-shadow:none!important;border:1px solid #e1e9e4;box-sizing:border-box}
html body .slim-box .hx-search{width:100%}
html body .slim-box .nav-button{display:inline-flex!important;align-items:center;gap:6px;min-height:38px;padding:0 12px!important}
html body .slim-box .nav-button .nav-label{position:static!important;width:auto!important;height:auto!important;clip:auto!important}
html[data-theme=dark] .slim-box{border-top-color:#22332d}
html[data-theme=dark] .slim-box>b{color:#a9bbb3}
html[data-theme=dark] body .slim-box :is(.hx-pop,.ph-news){border-color:#2a4a3f}

/* 손님용 ☰ 단추(내 얼굴이 없을 때) */
.slim-guest-btn{width:38px;height:38px;border:0;border-radius:50%;background:#f2f6f4;color:#24413a;font-size:18px;cursor:pointer;display:grid;place-items:center;padding:0}
html[data-theme=dark] .slim-guest-btn{background:#1d2b27;color:#e2ece8}

/* ---------- 홈: ▶ 오늘 학습 + 진행 줄만, 나머지는 ⌄ 더 보기 ---------- */
html:not(.slim-more-open) #library-view.slim-on>:not(.pl-home-hello):not(.slim-more-bar):not(:has(.pl-start-learning)){display:none!important}
html:not(.slim-more-open) #library-view.slim-on .pl-home-hello :is(.pl-hello-quote,.pl-hello-praise,.pl-hello-tip,.pl-hello-side){display:none!important}
/* (설정한 대로 시작 카드의 접기는 카드 안 '더 보기'(home-start.js)가 맡는다) */
.slim-more-bar{display:flex;flex-direction:column;align-items:center;gap:10px;margin:14px 0 6px}
.slim-rewards{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0}
.slim-chip{display:inline-flex;align-items:center;gap:4px;min-height:36px!important;padding:0 14px!important;border:0!important;border-radius:999px!important;background:#eef5f1!important;color:#24413a!important;font:inherit;font-size:13.5px!important;font-weight:700!important;cursor:pointer;box-shadow:none!important;width:auto!important}
.slim-chip.is-fire{background:#fff1e6!important;color:#b4480b!important}
.slim-chip:hover{filter:brightness(.97)}
.slim-prog{width:min(360px,80%);height:5px;border-radius:999px;background:#e2eee8;overflow:hidden}
.slim-prog span{display:block;height:100%;width:calc(var(--slim-p,0)*1%);max-width:100%;border-radius:inherit;background:linear-gradient(90deg,#2f8a5f,#e0a106);transition:width .6s ease}
.slim-more-btn{min-height:40px!important;padding:0 18px!important;border:0!important;border-radius:999px!important;background:none!important;color:#5b6670!important;font:inherit;font-size:14px!important;font-weight:700!important;cursor:pointer;box-shadow:none!important;width:auto!important}
.slim-more-btn:hover{background:#f2f6f4!important}
.slim-more-btn:focus-visible,.slim-chip:focus-visible{outline:2px solid #1b6b52;outline-offset:2px}
html[data-theme=dark] .slim-chip{background:#1d2b27!important;color:#e2ece8!important}
html[data-theme=dark] .slim-chip.is-fire{background:#3a2414!important;color:#ffb27a!important}
html[data-theme=dark] .slim-prog{background:#22332d}
html[data-theme=dark] .slim-more-btn{color:#a9bbb3!important}
html[data-theme=dark] .slim-more-btn:hover{background:#1d2b27!important}
