:root{--blue:#006aa7;--navy:#093d66;--yellow:#fecc00;--bg:#f8fafc;--paper:#fff;--ink:#17344d;--muted:#536c7f;--border:#d6e1ea;--soft:#edf2f7;--shadow:0 12px 30px #153c6010;--reader-size:1.17rem;color-scheme:light;font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}html[data-theme=dark]{--blue:#73bbeb;--navy:#0a263f;--yellow:#ffd953;--bg:#101c2b;--paper:#182b3c;--ink:#eaf4fc;--muted:#aac1d4;--border:#385268;--soft:#22394c;--shadow:0 12px 35px #0004;color-scheme:dark}html[data-font=small]{--reader-size:1.01rem}html[data-font=large]{--reader-size:1.37rem}html[data-font=xl]{--reader-size:1.65rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}[hidden]{display:none!important}.container{width:min(1100px,100% - 36px);margin:auto}.site-header{background:var(--navy);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 3px 12px #0002}.header-inner{display:flex;align-items:center;gap:18px;min-height:71px;width:min(1160px,100% - 28px);margin:auto}.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:1.07rem;line-height:1.03;text-decoration:none;white-space:nowrap}.brand small{font-size:.78rem;font-weight:600;color:#ffe176}.brand-symbol{background:#fecc00;color:#093d66;border-radius:12px;width:41px;height:41px;display:grid;place-items:center;font-size:1.5rem}.header-tools{display:flex;gap:8px;align-items:center;margin-left:auto}.language-label{font-size:.75rem;color:#e0ebf5}.header-tools select{max-width:152px;padding:8px 9px;border:1px solid #ffffff50;border-radius:10px;background:#ffffff18;color:#fff;font-weight:650}.header-tools select option{color:#132b42;background:#fff}.menu-toggle{background:#ffffff1b;color:#fff;border:1px solid #ffffff4a;padding:7px 12px;border-radius:10px;font-size:1.25rem}.main-menu{display:none;position:absolute;right:15px;top:67px;background:var(--paper);color:var(--ink);width:min(310px,calc(100vw - 30px));padding:10px;border:1px solid var(--border);border-radius:16px;box-shadow:0 16px 45px #0003;z-index:80}.main-menu.open{display:grid}.main-menu a,.main-menu button{display:flex;text-align:left;align-items:center;text-decoration:none;background:transparent;border:0;color:var(--ink);border-radius:10px;font-size:.99rem;font-weight:700;padding:11px 13px}.main-menu a:hover,.main-menu button:hover{background:var(--soft)}.hero{background:radial-gradient(circle at 83% 10%,#49a9d56b,transparent 44%),linear-gradient(118deg,#093d66,#006aa7);color:white;padding:47px 0 49px}.hero-layout{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:30px}.hero-kicker{font-size:.83rem;letter-spacing:.11em;font-weight:800;text-transform:uppercase;color:#ffe176}.hero h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.05;letter-spacing:-.055em;margin:12px 0}.hero h1 em{font-style:normal;color:var(--yellow)}.hero p{color:#e5f2fb;max-width:570px;font-size:1.04rem}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.primary-button,.soft-button,.outline-button,.hint-button,.mini{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:11px;padding:10px 15px;text-decoration:none;font-weight:750;border:1px solid transparent;line-height:1.25}.primary-button{background:#fecc00;color:#133856}.soft-button{background:#ffffff25;color:#fff;border-color:#fff5}.outline-button,.hint-button,.mini{background:var(--paper);border-color:var(--border);color:var(--ink)}.hero-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:23px}.hero-tags span{font-size:.73rem;border:1px solid #ffffff45;border-radius:99px;padding:4px 8px;color:#fff}.hero-illustration{width:100%;max-height:300px;filter:drop-shadow(0 22px 28px #001e3852)}.section{padding:43px 0;scroll-margin-top:78px}.alt-section{background:var(--soft)}.section h2{font-size:clamp(1.6rem,3vw,2rem);letter-spacing:-.035em;margin:4px 0}.section h3{margin:0}.section-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;flex-wrap:wrap;margin-bottom:20px}.eyebrow{color:var(--blue);font-size:.9rem;letter-spacing:.09em;text-transform:uppercase;font-weight:850}.muted{color:var(--muted);margin:4px 0}.pill-quiet{border-radius:40px;background:var(--soft);color:var(--muted);padding:7px 11px;font-size:.85rem}.level-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.level-tab{padding:13px 8px 11px;border-radius:13px 13px 0 0;border:2px solid var(--border);border-bottom:0!important;background:var(--paper);color:var(--ink);font-weight:900;font-size:1rem}.level-tab.easy.active{background:#d7f6e6;color:#17673b;border:3px solid #29a36c}.level-tab.medium.active{background:#fff2bf;color:#71530b;border:3px solid #d6a61e}.level-tab.hard.active{background:#ffe1e4;color:#922a44;border:3px solid #d4556d}.reading-card{background:var(--paper);border:3px solid #d4556d;border-radius:0 0 18px 18px;padding:17px 15px;box-shadow:var(--shadow)}.reading-card.level-easy{border-color:#29a36c}.reading-card.level-medium{border-color:#d6a61e}.reading-card.level-hard{border-color:#d4556d}.reading-head,.reading-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:.82rem}.reader{font-size:var(--reader-size);line-height:2.08;max-width:930px;letter-spacing:.002em}.reader p{margin:16px 0}.reader .word{border:0;border-bottom:1px dotted color-mix(in srgb,var(--blue) 29%,transparent);color:inherit;background:none;padding:0 .5px;cursor:pointer;font-size:inherit;line-height:inherit}.reader .word:hover{background:color-mix(in srgb,var(--yellow) 26%,transparent)}.reading-foot{border-top:1px solid var(--border);padding-top:12px;margin-top:12px}.starter{display:flex;align-items:center;gap:20px;justify-content:space-between;background:var(--soft);border-radius:14px;padding:17px;margin-top:13px}.starter h3{font-size:1rem}.starter p{font-size:.86rem}.starter-chips{display:flex;flex-wrap:wrap;gap:7px}.starter-chips button{background:var(--paper);border:1px solid var(--border);color:var(--ink);padding:8px 11px;border-radius:99px;font-weight:700}.starter-chips .saved{color:var(--blue);border-color:var(--blue)}.practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.practice-card{min-width:0;position:relative;background:#e2e8eb;border:1px solid #c9c9c9;box-shadow:-1px 1px 4px 1px #153c6024;border-radius:16px;overflow:hidden;padding-bottom:17px}.practice-card.wide{grid-column:1/-1}.practice-head{display:flex;justify-content:space-between;align-items:center;gap:8px;background:linear-gradient(110deg,var(--navy),#145d90);color:#fff;padding:14px 16px;font-weight:850;font-size:1.01rem;min-height:63px}.practice-head .mini{font-size:.8rem;padding:6px 10px;background:#ffffff25;border-color:#fff6;color:#fff}.practice-info{font-size:.9rem;color:var(--muted);margin:10px 16px 14px}.flash-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 15px}.flash-tile{position:relative;min-width:0;min-height:175px;perspective:1100px;-webkit-perspective:1100px}.flash-flip{display:block;width:100%;height:175px;padding:0;background:transparent;border:0;perspective:1100px;-webkit-perspective:1100px}.flash-inner{position:relative;display:block;width:100%;height:100%;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transition:transform .58s cubic-bezier(.2,.75,.2,1),-webkit-transform .58s cubic-bezier(.2,.75,.2,1);will-change:transform}.flash-tile.flipped .flash-inner{transform:rotateY(180deg);-webkit-transform:rotateY(180deg)}.flash-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border-radius:14px;background:var(--paper);border:1px solid var(--border);box-shadow:0 5px 12px #193f5b15;padding:19px 9px;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;word-break:break-word}.flash-face.back{transform:rotateY(180deg);-webkit-transform:rotateY(180deg);background:linear-gradient(135deg,#006aa7,#06476d);color:white;border-color:#006aa7}.flash-face .flag{font-size:1.45rem;line-height:1}.flash-face strong{font-size:clamp(1.02rem,2.2vw,1.4rem);line-height:1.23}.flash-face small{font-size:.73rem;opacity:.8}.flash-delete{position:absolute;z-index:4;right:5px;top:5px;width:28px;height:28px;border:1px solid var(--border);background:var(--paper);color:var(--ink);border-radius:50%;font-size:1.05rem}.test-prompt,.translation-prompt{font-size:1.28rem;font-weight:800;margin:16px}.writing-row{display:flex;align-items:center;gap:7px;margin:12px 16px}.writing-row input{flex:1;min-width:0;border:1px solid var(--border);border-radius:11px;background:var(--bg);color:var(--ink);padding:12px}.writing-row input:disabled{opacity:.65}.listen-word{flex:0 0 45px;height:44px;background:var(--blue);color:var(--paper);border:0;border-radius:12px}.typing-mark{font-size:1.3rem;font-weight:800;color:var(--muted);min-width:23px;text-align:center}.typing-mark.correct{color:#1a9660}.typing-mark.wrong{color:#d44c57}.practice-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:0 16px}.feedback{font-size:.86rem;color:var(--muted);margin:7px 16px}.practice-bottom .feedback{margin:0}.choices{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0 16px}.choice{border:1px solid var(--border);background:var(--soft);color:var(--ink);padding:12px 9px;border-radius:10px;text-align:start}.choice.correct{background:#d7f7e6;color:#165937;border-color:#28a36d}.choice.wrong{background:#ffe5e8;color:#8c2440;border-color:#cc4b5c}.confetti-host{position:absolute;left:40%;top:50%;pointer-events:none}.confetti-host i{position:absolute;width:7px;height:10px;background:var(--yellow);animation:confetti .7s ease-out forwards}@keyframes confetti{to{transform:translate(var(--dx),var(--dy)) rotate(var(--spin));opacity:0}}.notice{padding:15px;background:var(--paper);border-left:4px solid var(--yellow);border-radius:9px}.stat{background:var(--soft);padding:7px 15px;border-radius:99px;font-weight:900}.word-tools,.library-actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:15px 0}.search-label{display:grid;gap:5px;font-size:.8rem;font-weight:700}.word-tools input,.word-tools select,.archive-filter-panel input,.archive-filter-panel select,.settings-dialog select{border:1px solid var(--border);border-radius:9px;background:var(--paper);color:var(--ink);padding:11px}.word-library{display:grid;gap:8px;max-height:530px;overflow:auto}.word-row{display:flex;align-items:center;gap:12px;border:1px solid var(--border);background:var(--paper);padding:11px;border-radius:10px}.word-row-info{flex:1;min-width:0}.word-row-info strong{display:block}.word-row-info span{color:var(--muted);font-size:.8rem}.word-row select{padding:7px;border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:7px;max-width:120px}.word-row .word-remove{background:none;border:0;font-size:1.2rem;color:var(--muted)}.library-actions{margin-top:18px}.file-label{cursor:pointer}.archive-filter-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end;background:var(--paper);border:1px solid var(--border);border-radius:15px;padding:15px}.archive-filter-panel label{display:grid;gap:5px;color:var(--muted);font-weight:700;font-size:.79rem}.archive-filter-panel label>*{width:100%}.archive-results{border:2px solid var(--blue);background:var(--paper);border-radius:17px;margin-top:19px;padding:20px;box-shadow:var(--shadow)}.result-header{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;align-items:center;border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:15px}.result-header h3{font-size:1.35rem}.active-filters{display:flex;flex-wrap:wrap;gap:6px}.filter-chip{background:var(--soft);color:var(--ink);border:1px solid var(--border);border-radius:99px;padding:5px 10px;font-size:.8rem}.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.archive-item{background:var(--bg);border:1px solid var(--border);text-align:left;padding:16px;border-radius:12px;color:var(--ink)}.archive-item strong{display:block;font-size:1.03rem;margin:5px 0}.archive-tag{display:inline-block;margin:3px 4px 0 0;font-size:.75rem;border-radius:99px;padding:3px 8px;background:var(--soft);color:var(--blue)}.footer{background:#093d66;color:#eef8ff;padding:23px 0;font-size:.87rem}.footer p{margin:6px 0}.small-note{opacity:.75}.audio-player{position:fixed;bottom:max(13px,env(safe-area-inset-bottom));right:14px;display:flex;flex-direction:row;align-items:center;gap:0;z-index:80;max-width:calc(100vw - 28px);filter:drop-shadow(0 6px 19px #0005)}.audio-fab{width:54px;height:54px;flex:0 0 54px;border:0;border-radius:50%;background:#fecc00;color:#093d66;font-size:1.35rem;font-weight:900}.audio-rail{height:54px;display:flex;align-items:center;gap:4px;padding:4px 10px 4px 12px;background:#0d507c;border-radius:99px 0 0 99px;color:white;min-width:0;animation:expandAudio .18s ease-out}.audio-rail button{flex:0 0 31px;background:#ffffff1f;color:#fff;border:0;border-radius:50%;height:33px}.audio-rail input[type=range]{flex:1;min-width:30px;width:85px;accent-color:#fecc00}.audio-rail select{font-size:.8rem;border:0;border-radius:8px;padding:5px 2px;background:#ffffff22;color:white;max-width:63px}.audio-rail option{color:#1a3348}@keyframes expandAudio{from{transform:scaleX(.8);opacity:.2;transform-origin:right}to{transform:scaleX(1);opacity:1}}.toast{position:fixed;z-index:160;left:50%;bottom:83px;transform:translateX(-50%);background:#112e49;color:#fff;padding:12px 16px;border-radius:14px;box-shadow:0 10px 25px #0004;max-width:calc(100vw - 20px)}.toast button{color:var(--yellow);border:0;background:none;font-weight:800;margin-left:10px}.tooltip{position:fixed;z-index:100;background:#0c3d65;color:#fff;width:min(310px,calc(100vw - 22px));box-shadow:0 7px 15px #001b3690;border-radius:14px;padding:12px 15px;line-height:1.45;white-space:normal}.tooltip::after{content:"";position:absolute;top:100%;left:var(--arrow-left,50%);border:8px solid transparent;border-top-color:#0c3d65;transform:translateX(-50%)}.tooltip.below::after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:#0c3d65}.tooltip .tip-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.tooltip .tip-title{font-weight:850;font-size:1.04rem}.tooltip .tip-definition{margin-top:7px;font-size:.93rem}.tooltip .tip-star{background:var(--yellow);color:#092b42;border:0;border-radius:8px;font-size:1.2rem;padding:5px 11px}.tooltip .tip-note{font-size:.76rem;color:#c9e3f5}.modal{position:fixed;z-index:130;inset:0;background:#071c31b9;display:grid;place-items:center;padding:12px}.modal-dialog{position:relative;width:min(480px,100%);max-height:calc(100vh - 24px);overflow:auto;background:var(--paper);color:var(--ink);border-radius:20px;padding:25px;box-shadow:0 25px 60px #001a2f66;text-align:center}.modal-dialog h2{margin:4px 0 14px}.modal-dialog h3{font-size:1.3rem;margin:4px 0}.modal-close{position:absolute;right:10px;top:9px;background:var(--soft);color:var(--ink);border:0;border-radius:50%;width:34px;height:34px}.intro-animation{height:155px;background:linear-gradient(140deg,var(--soft),var(--paper));border:1px solid var(--border);border-radius:16px;display:grid;place-items:center;font-size:2.6rem;margin:13px 0}.intro-animation .demo-token{border-bottom:2px dotted var(--blue);font-size:1.5rem;font-weight:850;position:relative;animation:demoPulse 1.6s infinite}.intro-animation .demo-tooltip{font-size:.9rem;position:absolute;bottom:42px;background:#0b416c;color:#fff;padding:8px 16px;border-radius:10px;animation:demoPulse 2.6s infinite}.intro-animation .demo-cursor{position:absolute;right:-20px;bottom:-27px;font-size:1.4rem;animation:demoTap 1.8s infinite}.intro-animation .demo-card{font-size:1.05rem;background:var(--paper);color:var(--ink);border:2px solid var(--blue);border-radius:14px;padding:14px 23px;transform-style:preserve-3d;animation:demoFlip 2.6s ease-in-out infinite}.intro-animation .demo-list{font-size:1rem;animation:demoPulse 2s infinite}.intro-dots{display:flex;justify-content:center;gap:7px;margin:18px 0}.intro-dots span{width:8px;height:8px;border-radius:99px;background:var(--border)}.intro-dots span.current{width:23px;background:var(--blue)}.modal-buttons{display:flex;justify-content:space-between;gap:10px;margin:14px 0}.intro-languages{font-size:.72rem;color:var(--muted);margin-top:16px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:20px 0}.settings-dialog{text-align:left}@keyframes demoPulse{50%{transform:scale(1.12);opacity:.65}}@keyframes demoTap{50%{transform:translate(-6px,-10px) scale(.8)}}@keyframes demoFlip{45%,65%{transform:rotateY(180deg)}100%{transform:rotateY(360deg)}}@media(max-width:840px){.hero-layout{grid-template-columns:1.5fr .5fr}.hero-illustration{max-height:230px}.archive-filter-panel{grid-template-columns:1fr 1fr}.archive-filter-panel button{align-self:end}}@media(max-width:630px){.container{width:calc(100% - 22px)}.header-inner{width:calc(100% - 20px);min-height:64px}.brand{font-size:.86rem;gap:5px}.brand small{font-size:.69rem}.brand-symbol{width:30px;height:32px}.language-label{display:none}.header-tools select{max-width:126px;font-size:.82rem}.menu-toggle{padding:5px 9px}.main-menu{top:61px}.hero{padding:31px 0 34px}.hero-layout{grid-template-columns:1fr}.hero h1{font-size:2.65rem}.hero-illustration{display:none}.section{padding:30px 0}.reading-card{padding:13px 8px}.reader{line-height:1.99}.reader p{margin:12px 0}.starter{flex-direction:column;align-items:start;gap:8px}.practice-grid{grid-template-columns:1fr}.flash-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 10px}.flash-tile,.flash-flip{height:175px;min-height:175px}.flash-face strong{font-size:1.18rem}.flash-face{padding:15px 7px}.archive-grid{grid-template-columns:1fr}.archive-filter-panel{grid-template-columns:1fr 1fr}.archive-filter-panel label:last-of-type{grid-column:1/-1}.archive-filter-panel button{grid-column:1/-1}.word-row{gap:6px}.word-row select{max-width:100px;font-size:.77rem}.word-row-info strong{font-size:.93rem}.audio-player{right:10px;bottom:max(10px,env(safe-area-inset-bottom))}.audio-rail{gap:2px;padding:4px 5px}.audio-rail button{flex-basis:28px}.audio-rail input[type=range]{width:45px}.audio-fab{height:51px;width:51px;flex-basis:51px}}@media(max-width:380px){.brand small{display:none}.header-tools select{max-width:117px}.audio-rail select{max-width:53px}.audio-rail input[type=range]{min-width:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.menu-sub{max-height:200px;overflow:auto;padding:5px 9px;border-radius:10px;background:var(--soft);display:grid;gap:3px}.menu-sub button{font-size:.86rem!important;padding:8px 10px!important}.menu-sub input{width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--border);border-radius:7px;padding:9px}.reader,.flash-face.front,.tip-title{direction:ltr;text-align:start}

/* V13: The site-wide layout remains as in V12; only the first-visit guide is compact. */
.words-compact{display:flex;align-items:center;justify-content:space-between;gap:17px;flex-wrap:wrap;padding:18px 23px;background:var(--paper);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}
.words-compact h2{margin:0 0 2px}.words-compact .muted{margin:5px 0 9px}.words-compact-count{display:inline-block;font-weight:850;color:var(--ink);background:var(--soft);border-radius:30px;padding:5px 11px;font-size:.84rem}
/* When the guide is open it stays at the bottom so the real page remains visible. */
.intro-modal{background:transparent;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;padding:0 10px max(16px,env(safe-area-inset-bottom));z-index:135}
.intro-dialog{pointer-events:auto;width:min(470px,100%);padding:13px 16px 12px;border:1px solid var(--border);border-radius:19px;text-align:start;max-height:min(285px,46dvh);overflow:auto;box-shadow:0 5px 35px #071c3170}
.intro-dialog>.eyebrow{font-size:.64rem;margin:0}.intro-dialog h2{font-size:1.14rem;line-height:1.15;margin:2px 35px 1px 0}.intro-dialog h3{font-size:.94rem;margin:4px 0 0}.intro-dialog p{font-size:.79rem;line-height:1.35;margin:3px 0}
.intro-dialog .modal-close{width:30px;height:30px;right:9px;top:9px}.intro-dialog .modal-buttons{margin:6px 0;gap:6px}.intro-dialog .modal-buttons button{padding:8px 13px;font-size:.81rem}.intro-dialog .intro-dots{margin:5px 0}
.intro-dialog .intro-languages{font-size:.67rem;text-align:center;margin:5px 0 0;line-height:1.4}
.intro-animation{height:72px;min-height:72px;position:relative;margin:5px 0;background:var(--soft);border-radius:12px;overflow:visible;font-size:1.1rem}
.demo-purpose,.demo-save,.demo-flags,.demo-flash{display:flex;align-items:center;justify-content:center;gap:9px;font-size:1rem;min-height:72px}
.demo-book{font-size:1.65rem}.demo-purpose-words b{color:var(--blue);padding:0 2px}.demo-flags span{font-size:1.7rem;line-height:1}
.demo-scene{position:relative;width:100%;height:72px;display:flex;align-items:end;justify-content:center;padding-bottom:9px;box-sizing:border-box}
.demo-sentence{font-size:.94rem;direction:ltr;text-align:center;white-space:nowrap}.demo-word{border-bottom:1px dotted #76a7c4;font-weight:850;color:var(--ink);position:relative}
.demo-real-tip{position:absolute;left:42%;bottom:42px;transform:translateX(-50%);min-width:113px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-radius:10px;background:#0b416c;color:#fff;padding:4px 9px;box-shadow:0 4px 9px #0002;font-size:.83rem;white-space:nowrap;z-index:2}
.demo-real-tip:after{content:'';position:absolute;bottom:-5px;left:50%;width:9px;height:9px;transform:rotate(45deg);background:#0b416c}
.demo-star,.demo-saved-star{color:#ffd953;font-size:1.3rem}.demo-save{gap:15px}.demo-flash{gap:12px}.demo-flash-front{background:#0d5686;color:#fff}.demo-flash-back{background:#dbe4eb;color:#15314b}.demo-flash-front,.demo-flash-back{border-radius:8px;padding:8px 11px;border:1px solid #aac1d4}.demo-flash-arrow{font-size:1.5rem;color:var(--blue)}
@media (prefers-reduced-motion:no-preference){.demo-real-tip{animation:tipShow 2.4s ease-in-out infinite}.demo-word{animation:wordTouch 2.4s ease-in-out infinite}.demo-saved-star{animation:starPop 2.3s ease-in-out infinite}.demo-flash-arrow{animation:spinHint 2.8s ease-in-out infinite}}
@keyframes tipShow{0%,12%{opacity:0;translate:0 5px}25%,88%{opacity:1;translate:0 0}100%{opacity:0}}
@keyframes wordTouch{0%,16%,100%{background:transparent}25%,75%{background:#fecc0060}}
@keyframes starPop{0%,25%,80%,100%{transform:scale(1)}48%{transform:scale(1.2)}}
@keyframes spinHint{0%,100%{transform:rotate(0)}50%{transform:rotate(160deg)}}
@media(prefers-reduced-motion:reduce){.intro-animation *{animation:none!important;transition:none!important}}
/* V13 media player remains horizontal and the yellow toggle is ALWAYS circular. */
.audio-player{left:10px;right:10px;width:auto;max-width:none;justify-content:flex-end;direction:ltr}
.audio-rail{flex:1;min-width:0;border-radius:999px;gap:6px;padding:4px 7px 4px 9px}
.audio-rail button{flex:0 0 43px;width:43px;height:43px;touch-action:manipulation}
.audio-rail input[type=range]{width:auto;min-width:26px}
.audio-rail select{font-size:.9rem;max-width:71px;min-height:37px;padding:3px}
.audio-fab{position:relative;z-index:2;border:3px solid #0d507c;border-radius:50%!important;margin-left:-2px;box-shadow:0 0 0 2px #fecc0052;touch-action:manipulation}
.audio-player:has(.audio-rail[hidden]){left:auto}
@media(max-width:630px){.audio-player{left:8px;right:8px}.audio-rail{gap:4px;padding:4px 8px}.audio-rail button{flex:0 0 37px;width:37px;height:39px;font-weight: 800}.audio-rail select{max-width:71px;flex-shrink:0}.intro-dialog{max-height:min(288px,46dvh)}.words-compact{padding:15px}.words-compact .primary-button{width:100%}}

.font-size-value{text-align:center;font-weight:750;font-variant-numeric:tabular-nums;color:var(--ink);margin:0 0 10px;min-height:1.55em}
.settings-dialog .settings-preview{height:140px;min-height:140px;max-height:140px;width:100%;min-width:0;display:flex;align-items:center;justify-content:center;line-height:1.25;overflow:hidden;overflow-wrap:anywhere;contain:layout}
.settings-dialog{max-height:calc(100dvh - 24px);overflow-y:auto;scrollbar-gutter:stable;min-width:0}
#audioPlay.is-playing{display:inline-flex;align-items:center;justify-content:center;gap:4px}
#audioPlay.is-playing::before,#audioPlay.is-playing::after{content:"";display:block;width:4px;height:17px;border-radius:1px;background:currentColor}
.font-size-slider{display:flex;align-items:center;gap:12px;direction:ltr}
.font-size-slider button{flex:0 0 44px;width:44px;height:44px;border:1px solid var(--border);border-radius:10px;background:var(--paper);color:var(--ink);font-size:1.5rem;line-height:1}
.font-size-slider input[type=range]{flex:1;min-width:0;width:100%;height:44px;accent-color:var(--blue);cursor:pointer}
.save-feedback{position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px var(--blue)}
.save-ripple{position:absolute;pointer-events:none;left:50%;top:50%;width:160%;aspect-ratio:1;border-radius:50%;background:currentColor;opacity:0;animation:wordSaveRipple .55s ease-out}
@keyframes wordSaveRipple{from{transform:translate(-50%,-50%) scale(0);opacity:.28}to{transform:translate(-50%,-50%) scale(1);opacity:0}}
@media(prefers-reduced-motion:reduce){.save-ripple{animation:none}}
.reading-date-tools{display:flex;align-items:center;gap:7px}
.translation-info-button{width:36px;height:36px;display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--control-bg);color:var(--blue);font-weight:850;font-size:1rem}
.translation-info-dialog{width:min(490px,calc(100% - 28px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--border);border-radius:18px;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 18px 65px #00142555}
.translation-info-dialog::backdrop{background:#081a2ba6;backdrop-filter:blur(4px)}
.translation-info-content{padding:22px}.translation-info-content h2{font-size:1.3rem;margin:0 0 12px}.translation-info-content p{line-height:1.65;margin:0 0 20px;overflow-wrap:anywhere}.translation-info-content button{min-height:44px}
/* v14: accessible hierarchy, compact vocabulary, focused first visit. */
:root{--control-bg:#eaf0f5;--control-hover:#dce8f0;--card-back:#e3eaf0;--card-back-ink:#17344d}
html[data-theme=dark]{--control-bg:#2b4053;--control-hover:#334e64;--card-back:#344a5d;--card-back-ink:#f1f7ff}
.brand{font-size:clamp(1.21rem,2.3vw,1.49rem);gap:9px;line-height:1.01;letter-spacing:-.035em}
.brand-name{display:flex;flex-direction:column;gap:2px}.brand small{display:block;font-size:.63em;letter-spacing:.01em;line-height:1.1;color:#ffe176}.brand-symbol{flex:0 0 36px;height:37px;width:36px;font-size:1.25rem;border-radius:10px}
.main-menu{right:max(12px,calc((100vw - 1160px)/2));top:calc(100% - 2px);width:min(332px,calc(100vw - 24px));padding:12px;gap:3px;border-radius:17px;box-shadow:0 19px 48px #00192c45}
.main-menu a,.main-menu button{gap:13px;font-size:.98rem;font-weight:720;padding:12px 14px;min-height:48px;transition:background .18s ease,color .18s ease}
.menu-icon{flex:0 0 29px;width:29px;height:29px;display:grid;place-items:center;background:var(--soft);color:var(--blue);border-radius:9px;font-size:1.05rem}
.menu-divider{height:1px;background:var(--border);margin:8px 5px}
.main-menu .menu-settings{background:color-mix(in srgb,var(--blue) 12%,var(--paper));border:1px solid color-mix(in srgb,var(--blue) 30%,var(--border));color:var(--ink);margin-top:2px}
.main-menu .menu-settings:hover{background:color-mix(in srgb,var(--blue) 18%,var(--paper))}.menu-settings .menu-icon{background:var(--blue);color:var(--paper)}.menu-chevron{margin-left:auto;font-size:1.5rem;color:var(--blue)}
/* Separate button surfaces from the site paper. */
.outline-button,.hint-button,.mini,.guide-skip,.icon-action,.library-filter-toggle,.library-control{background:var(--control-bg);border:1px solid var(--border);color:var(--ink);box-shadow:0 1px 2px #041e3310}
.outline-button:hover,.hint-button:hover,.mini:hover,.guide-skip:hover,.icon-action:hover,.library-filter-toggle:hover{background:var(--control-hover)}
.starter-chips button{background:var(--control-bg)}
.flash-face.front{background:linear-gradient(145deg,#086da9,#064472);color:#fff;border:2px solid #086da9;box-shadow:0 7px 15px #05335136}
.flash-face.back{background:#e9e9e9;color:var(--card-back-ink);border:1px solid color-mix(in srgb,#c2c2c2 17%,#b2b4b4);box-shadow:0 6px 18px #1d3b551e}
html[data-theme=dark] .flash-face.front{background:linear-gradient(145deg,#116da6,#103c60);color:#fff}
html[data-theme=dark] .flash-face.back{background:var(--card-back);border:2px solid color-mix(in srgb,var(--blue) 17%,var(--border))}
.practice-head .mini{background:#ffffff25;border-color:#ffffff85;color:#fff}
.practice-bottom{gap:9px;padding:8px 16px 0}
.next-word-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border:1px solid #dcaa00;border-radius:11px;background:#fecc00;color:#18344a;font-size:.93rem;font-weight:840;box-shadow:0 2px 5px #57430016}
.next-word-button:hover{background:#ffdb4d}.hint-button{min-height:40px}
.lesson-saved-panel{margin-top:17px;background:var(--paper);border:1px solid var(--border);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow)}
.lesson-saved-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px}.lesson-saved-top h3{font-size:1.07rem}.lesson-saved-top .muted{font-size:.88rem}.inline-link{color:var(--blue);font-weight:780;text-decoration:none;white-space:nowrap;font-size:.92rem}.inline-link:hover{text-decoration:underline}
.lesson-saved-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:8px}.lesson-word-chip{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:8px 9px;border:1px solid var(--border);border-radius:10px;background:var(--soft);min-width:0}
.lesson-word-text{min-width:0;display:flex;gap:5px;flex-direction:column}.lesson-word-text strong{font-size:1.03rem;line-height:1.16}.lesson-word-text span{font-size:.91rem;line-height:1.2;color:var(--muted);overflow-wrap:anywhere}.icon-action{border-radius:9px;min-width:34px;height:34px;padding:0;display:inline-grid;place-items:center;font-size:1.13rem}.lesson-empty{padding:8px}
.archive-teaser{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
/* Guide: intentional center, blur, comfortable controls and spacing. */
.intro-modal{inset:0;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:20px;background:#081a2bc3;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);pointer-events:auto;z-index:140}
.intro-dialog{width:min(450px,100%);min-width:0;justify-self:center;max-height:calc(100dvh - 40px);overflow-y:auto;scrollbar-gutter:stable;background:var(--paper);padding:23px 25px 17px;border:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:22px;text-align:center;box-shadow:0 30px 90px #0014258c}
.intro-top-mark{display:flex;justify-content:center;gap:8px;align-items:center;color:var(--blue);font-size:.89rem;font-weight:850;margin:0 40px 3px}
.intro-dialog h2{margin:7px 26px 3px;font-size:clamp(1.3rem,5vw,1.65rem);line-height:1.2}
.intro-dialog h3{font-size:1.14rem;margin:8px 0 3px;line-height:1.25}
.intro-dialog p{font-size:.95rem;line-height:1.45;margin:5px 0;min-height:2.6em;color:var(--muted)}
.intro-animation{height:140px;margin:14px 0 10px;border-color:var(--border);overflow:hidden;position:relative}
.intro-dialog .intro-dots{margin:15px 0 13px;gap:8px}.intro-dots span{width:9px;height:9px}.intro-dots span.current{width:27px}
.intro-dialog .modal-buttons{display:grid;grid-template-columns:1fr 1.45fr;gap:12px;margin:10px 0 17px}
.intro-dialog .modal-buttons button{font-size:.99rem;font-weight:850;min-height:49px;border-radius:12px;padding:11px 16px}
.guide-skip{background:var(--control-bg)}.guide-next{box-shadow:0 3px 7px #bd96002c}
.intro-languages{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px;font-size:.82rem;border-top:1px solid var(--border);padding:14px 10px 1px;color:var(--muted);margin:0}.intro-languages span{opacity:.6}
.intro-animation .demo-welcome{display:flex;align-items:center;justify-content:center;gap:16px;animation:demoPulse 3.2s ease-in-out infinite}.demo-welcome-book{font-size:3.8rem}.demo-welcome-voice{font-size:2rem;color:var(--blue)}.demo-welcome-star{font-size:2rem;color:#e4b200}
.demo-read{font-size:1rem;text-align:center}.demo-read p{font-size:1.07rem!important;font-weight:720;color:var(--ink)!important;min-height:unset!important}.demo-play{display:inline-flex;border-radius:50%;background:#fecc00;color:#17344d;width:30px;height:30px;align-items:center;justify-content:center;font-size:.9rem}.demo-scene,.demo-flash{font-size:1rem}.demo-scene .demo-sentence{font-size:1.12rem}.demo-sentence .demo-word{color:var(--blue);border-bottom:2px dotted var(--blue);font-weight:800}.demo-real-tip{background:var(--navy);color:#fff;display:inline-flex;gap:13px;align-items:center;padding:7px 13px;border-radius:10px;font-size:.92rem}.demo-star,.demo-saved-star{color:#ffc900}.demo-save{font-size:1rem;display:flex;align-items:center;gap:10px;padding:0 12px}.demo-save>span:first-child{background:var(--paper);padding:14px;border:1px solid var(--border);border-radius:12px}.demo-saved-star{font-size:1.8rem}.demo-saving{font-size:.91rem;color:var(--muted)}
.demo-flash{display:flex;align-items:center;gap:7px;justify-content:center;flex-wrap:wrap}.demo-flash-front{background:#126aa2;color:#fff}.demo-flash-back{background:var(--card-back);color:var(--card-back-ink)}.demo-flash-front,.demo-flash-back{padding:15px 12px;border-radius:12px;font-size:.91rem;font-weight:780}.demo-flash-arrow{color:var(--blue)}
/* Settings: distinct grouped controls; appearance is a clear 3-way selector. */
.settings-dialog{width:min(475px,100%);padding:22px 23px;text-align:left}.settings-header{display:flex;align-items:center;gap:12px;margin:0 30px 18px 0}.settings-header h2{margin:0;font-size:1.5rem}.settings-header .muted{font-size:.91rem}.settings-large-icon{display:grid;place-items:center;background:var(--soft);border:1px solid var(--border);height:44px;width:44px;border-radius:13px;font-size:1.4rem}
.settings-group{border:1px solid var(--border);background:var(--soft);border-radius:15px;padding:14px;margin:12px 0}.settings-group-title{font-weight:790;font-size:.97rem;margin-bottom:13px;display:flex;align-items:center;gap:9px}.settings-segments{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.settings-segments button{border-radius:10px;padding:10px 5px;background:var(--paper);color:var(--ink);border:1.5px solid var(--border);font-size:.92rem;font-weight:750;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:66px}.settings-segments button.selected{border:2px solid var(--blue);background:color-mix(in srgb,var(--blue) 11%,var(--paper));color:var(--ink);box-shadow:0 0 0 1px var(--blue)}.settings-segments button>span:first-child{font-size:1.2rem}.settings-segments.font-segments{grid-template-columns:repeat(4,1fr)}.font-segments button{min-height:48px;font-weight:800;font-size:1.1rem;display:grid;place-items:center}.settings-preview{background:var(--paper);border:1px solid var(--border);border-radius:9px;padding:13px;margin-top:10px;text-align:center;font-size:var(--reader-size)}.settings-help{width:100%;margin-top:9px;min-height:45px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* Dedicated collection pages */
.collection-main{width:min(1040px,calc(100% - 30px));margin:22px auto 70px;min-height:70dvh}.collection-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:15px}.collection-back{display:inline-flex;align-items:center;gap:7px;text-decoration:none;background:var(--control-bg);border:1px solid var(--border);border-radius:10px;padding:9px 12px;font-weight:750;font-size:.92rem;border:1px solid #c2c2c2;box-shadow: 2px 2px #616161;}.collection-back:hover{background:var(--control-hover)}.collection-heading{margin-bottom:16px}.collection-heading h1{font-size:clamp(1.65rem,4.3vw,2.3rem);margin:5px 0 4px;line-height:1.18}.collection-heading p{color:var(--muted);margin:0;font-size:.96rem}.collection-stats{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.stat-pill{display:inline-flex;align-items:center;gap:6px;background:var(--soft);border:1px solid var(--border);border-radius:100px;padding:5px 11px;font-size:.83rem;color:var(--muted)}.stat-pill strong{color:var(--ink);font-size:.95rem}.library-toolbar{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:9px 0 14px}.library-filter-toggle{font-size:.92rem;border-radius:11px;padding:9px 14px;font-weight:780;min-height:42px}.library-actions{display:flex;flex-wrap:wrap;gap:6px}.library-actions button,.library-actions label{border-radius:9px;background:var(--control-bg);border:1px solid var(--border);color:var(--ink);font-size:.86rem;padding:9px 11px;font-weight:720;min-height:40px;cursor:pointer}.library-actions button:hover,.library-actions label:hover{background:var(--control-hover)}
.library-filters{background:var(--paper);border:1px solid var(--border);border-radius:13px;padding:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 13px}.library-filters label{display:grid;gap:4px;font-size:.85rem;color:var(--muted);font-weight:740}.library-filters select,.library-filters input{min-height:43px;border-radius:9px;border:1px solid var(--border);background:var(--soft);color:var(--ink);padding:9px 11px;min-width:0;width:100%}.library-filters .filter-submit{align-self:end;min-height:43px;border-radius:9px;border:0;background:#fecc00;color:#17344d;font-weight:850;padding:10px 17px}.library-list{display:grid;gap:6px}.vocab-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:8px 10px;background:var(--paper);border:1px solid var(--border);border-radius:11px;min-height:62px}.vocab-row:hover{border-color:color-mix(in srgb,var(--blue) 35%,var(--border))}.vocab-row.learned{background:color-mix(in srgb,#42a87a 6%,var(--paper))}.vocab-select{width:18px;height:18px;accent-color:#006aa7}.vocab-content{display:flex;flex-direction:column;gap:2px;margin-left: 5px;min-width:0}.vocab-title{font-size:1.06rem;font-weight:820;line-height:1.18;overflow-wrap:anywhere}.vocab-meaning{font-size:.95rem;line-height:1.26;color:var(--muted);overflow-wrap:anywhere}.vocab-date{font-size:.72rem;color:var(--muted);white-space:nowrap}.vocab-controls{display:flex;align-items:center;gap:5px}.vocab-controls .icon-action{width:35px;height:35px;font-size:1.07rem}.vocab-controls .is-learned{background:#d9f2e7;border-color:#97dbb9;color:#116940}.vocab-controls .is-review{background:#fff0ba;border-color:#ebcd65;color:#684b04}.vocab-controls .word-delete{background:var(--control-bg);color:#ab4653}.empty-collection{padding:25px 18px;border:1px dashed var(--border);border-radius:13px;background:var(--paper);color:var(--muted);text-align:center}.collection-footer-action{margin-top:15px}.archive-item-button{display:block;text-align:left;width:100%;padding:16px;background:var(--paper);border:1px solid var(--border);border-radius:12px;color:var(--ink);cursor:pointer}.archive-item-button:hover{border-color:var(--blue);background:var(--soft)}.archive-item-button strong{font-size:1.12rem;display:block;margin:5px 0}.archive-item-button .archive-meta{font-size:.85rem;color:var(--muted)}.collection-count{font-weight:770;color:var(--muted);margin:11px 0}
@media(max-width:630px){.header-inner{min-height:64px}.brand{font-size:1.18rem;letter-spacing:.04rem;gap:7px}.brand small{font-size:.7em}.brand-symbol{height:33px;width:33px;flex-basis:33px}.language-label{display:none}.header-tools select{max-width:120px}.main-menu{top:calc(100% - 1px)}.intro-dialog{padding:19px 18px 15px;max-height:calc(100dvh - 30px)}.intro-animation{height:126px}.intro-dialog .modal-buttons button{min-height:48px}.lesson-saved-panel{padding:12px}.lesson-saved-top{align-items:flex-start}.lesson-saved-top .muted{font-size:.8rem}.lesson-saved-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.lesson-word-chip{padding:7px}.lesson-word-text strong{font-size:.96rem}.lesson-word-text span{font-size:.85rem}.collection-main{width:calc(100% - 22px);margin-top:16px}.library-filters{grid-template-columns:1fr 1fr}.library-filters label:first-child{grid-column:1/-1}.library-filters .filter-submit{grid-column:1/-1}.vocab-row{grid-template-columns:18px minmax(0,1fr) auto;gap:7px;padding:8px;min-height:59px}.vocab-date{display:none}.vocab-controls{gap:10px}.vocab-controls .icon-action{min-width:32px;height:33px;width:32px}.collection-back{font-size:.86rem}.settings-dialog{padding:18px}.settings-group{padding:11px}}
@media(max-width:365px){.brand{font-size:1.04rem;letter-spacing:-.035em}.brand small{font-size:.57em}.brand-symbol{flex-basis:30px;width:30px}.header-tools select{max-width:107px}.lesson-saved-grid{grid-template-columns:1fr}.vocab-controls .icon-action{width:29px;min-width:29px;font-size:1rem}.vocab-meaning{font-size:.9rem}}
/* Current reading segment stays visible while speaking or paused. */
.reader .speech-segment.is-speaking{background:#fff0a8;color:#17344d;border-radius:4px;box-shadow:inset 0 -2px #c49b00;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.reader .speech-segment.is-speaking.is-paused{box-shadow:inset 0 -2px #8d792d;background:#f3eac2}
html[data-theme=dark] .reader .speech-segment.is-speaking{background:#5b4e17;color:#fff7cb;box-shadow:inset 0 -2px #ffd953}
html[data-theme=dark] .reader .speech-segment.is-speaking.is-paused{background:#443d25;box-shadow:inset 0 -2px #bba764}
