.game-topline{grid-row:1}.stat-row{grid-row:2}.board-toolbar{grid-row:3}.board-instruction{grid-row:4}.column-labels{grid-row:5}.match-board{grid-row:6}.match-message{grid-row:7}.level-progress{grid-row:8}.pronunciation-bar{grid-row:9}.game-actions{grid-row:10}
@font-face{font-family:Nunito;src:url('/assets/nunito-sans.woff') format('woff');font-weight:200 1000;font-style:normal;font-display:swap}
:root{--ink:#34315e;--muted:#7b7a9c;--purple:#8660e8;--blue:#4a9cfa;--green:#13b893;--line:#e8e4f7;--header:64px;font-family:Nunito,system-ui,sans-serif;color:var(--ink);font-synthesis:none;font-weight:550}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{height:100dvh;background:radial-gradient(ellipse at 0 90%,#e0fff2,transparent 50%),radial-gradient(ellipse at 100% 15%,#ffe8f3,transparent 45%),linear-gradient(145deg,#e9f7ff,#f4f0ff 60%,#effbff);display:flex;flex-direction:column}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;touch-action:manipulation;border:0;background:none;transition:transform .18s,background .18s,box-shadow .18s,border-color .18s}button:active:not(:disabled){transform:translateY(2px)}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffae40;outline-offset:3px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.icon{width:20px;height:20px;vertical-align:middle;flex:none}svg{display:inline-block}.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}.sky-decoration{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:-1}.sky-star,.sky-bubble{position:absolute;animation:drift 7s ease-in-out infinite alternate}.sky-star{font-size:34px;color:#d2b5ff}.sky-star.a{left:2%;top:35%}.sky-star.b{right:2%;top:68%;color:#ffb7ce;animation-delay:-3s}.sky-star.c{left:45%;top:7%;color:#ffc669;font-size:20px}.sky-bubble{border:4px solid #fff8;border-radius:50%;width:95px;height:95px}.sky-bubble.d{left:-30px;bottom:7%}.sky-bubble.e{right:-40px;top:24%;width:150px;height:150px}
.site-header{height:var(--header);flex:none;background:#ffffffd9;border-bottom:1px solid #fff;position:relative;z-index:2;box-shadow:0 3px 16px #8066b008}.header-inner{height:100%;max-width:1480px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:7px;flex:none}.header-owl{width:48px;height:48px;padding:0;flex:none}.brand-name{font-size:24px;font-weight:950;letter-spacing:-1px;line-height:1;color:#8360da}.brand-name>span{color:#23b89a}.brand-name small{font-size:8px;display:block;font-weight:900;letter-spacing:3.6px;margin-top:5px;color:#a69ac8}.top-nav{display:flex;gap:9px}.nav-item{display:flex;align-items:center;gap:7px;padding:9px 14px;border-radius:13px;font-size:13px;font-weight:800;color:#8c83a7}.nav-item.active{background:#eee5ff;color:#8c5fd9;box-shadow:0 3px 0 #decffa}.nav-item:hover{background:#f3ecff;color:#7959bc}.nav-item .icon{width:17px;height:17px}.header-actions{display:flex;align-items:center;gap:9px}.icon-button{width:35px;height:35px;border:1px solid #e9e4f5;border-radius:11px;display:grid;place-items:center;background:white;color:#9273be;flex:none}.icon-button:hover{background:#f4eaff}.profile-avatar{width:35px;height:35px;border:2px solid white;border-radius:50%;outline:2px solid #d5f4bd;background:#ecffdf;display:grid;place-items:center;font-size:22px;margin-left:5px}
.page-shell{height:calc(100dvh - var(--header));width:100%;max-width:1480px;margin:0 auto;display:flex;flex-direction:column;padding:12px 28px 17px;gap:12px;min-height:0;position:relative}.hero{height:100px;flex:none;display:flex;align-items:center;justify-content:space-between;position:relative;min-height:0}.hero-copy{padding-left:5px;z-index:1}.eyebrow{display:flex;align-items:center;gap:6px;font-size:9px;letter-spacing:1.8px;font-weight:900;color:#9d7bc5;margin-bottom:7px}.eyebrow>span{width:6px;height:6px;background:#f6a44f;border-radius:50%;box-shadow:0 0 0 3px #fff1cc}h1{font-size:34px;font-weight:950;line-height:1.14;letter-spacing:-1.2px}h1 em{font-style:normal;color:#9360dd;position:relative;white-space:nowrap}h1 em:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:7px;z-index:-1;background:#e9c7ff;border-radius:60%;transform:rotate(-2deg)}.title-spark{display:inline-block;color:#ffbb42;font-size:24px;margin-left:12px;animation:twinkle 4s infinite}.hero-copy>p{font-size:12px;color:#9290ac;margin-top:7px}.hero-tags{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:800;color:#9384b4;position:absolute;right:305px;top:42px}.hero-tags i{width:3px;height:3px;background:#c4afd8;border-radius:50%}.tag-arrow{margin:0 3px;color:#b396d2}.hero-scene{width:280px;height:110px;flex:none;position:relative;overflow:hidden;align-self:flex-end;border-radius:35px 35px 18px 18px}.hero-owl{position:absolute;width:110px;left:93px;bottom:-2px}.owl-slot svg{width:100%;height:100%;overflow:visible}.hero-sun{width:36px;height:36px;position:absolute;right:30px;top:5px;background:#ffda57;border-radius:50%;box-shadow:0 0 0 7px #ffdf6c20;animation:sunGlow 5s infinite alternate}.hero-cloud{width:36px;height:12px;background:white;position:absolute;border-radius:20px;animation:cloudFloat 6s ease-in-out infinite alternate}.hero-cloud:before{content:'';position:absolute;top:-7px;left:9px;width:17px;height:17px;border-radius:50%;background:white}.c1{left:13px;top:17px}.c2{right:0;top:54px;animation-delay:-4s}.scene-hill{position:absolute;width:310px;height:50px;border-radius:80% 80% 0 0;bottom:-12px}.hill-back{background:#bcf2c3;left:19px;transform:rotate(-8deg)}.hill-front{background:#8addb2;left:-36px;bottom:-31px;transform:rotate(7deg)}.scene-spark{position:absolute;font-size:20px;color:#b397e5;animation:twinkle 3s infinite}.s1{left:76px;top:0}.s2{right:4px;bottom:21px;animation-delay:-1s}.floating-word{position:absolute;border:2px solid #fff;border-radius:11px;padding:6px 11px;background:#fffaf9;box-shadow:0 3px 0 #dfc8f046;font-size:11px;font-weight:900;animation:wordFloat 4s ease-in-out infinite alternate}.word-hello{left:15px;top:40px;color:#9f6eda;transform:rotate(-8deg)}.word-hi{right:0;top:64px;color:#e18d56;animation-delay:-2s}.scene-flower{position:absolute;font-size:23px;bottom:0;color:#ff9fc7;animation:flowerSway 3s infinite alternate}.f1{left:39px}.f2{right:48px;color:#ffe062;font-size:18px;animation-delay:-1s}.scene-leaf{position:absolute;right:9px;bottom:-5px;font-size:32px}.dashboard{display:grid;grid-template-columns:205px minmax(0,1fr) 225px;gap:18px;flex:1;min-height:0}.journey-panel{background:#ffffffd9;border:2px solid white;border-radius:22px;box-shadow:0 6px 0 #dad2f33b;display:flex;flex-direction:column;min-height:0;padding:16px 11px 12px}.panel-heading{display:flex;align-items:center;gap:7px;padding:0 4px 10px;color:#8970bc;flex:none}.panel-heading h2{font-size:13px;font-weight:900;flex:1}.panel-heading .icon{width:19px;height:19px}.tiny-pill{font-size:9px;background:#f1e8ff;padding:3px 5px;border-radius:6px}.journey-total{display:flex;justify-content:space-between;font-size:9px;padding:0 5px;color:#a296b5;flex:none}.journey-total strong{color:#e9ac36;white-space:nowrap}.journey-track{height:5px;background:#efe9fb;margin:8px 5px 12px;border-radius:5px;flex:none}.journey-track>span{display:block;background:linear-gradient(90deg,#a16df1,#ed9cdb);height:100%;border-radius:5px;transition:width .4s}.levels-list{display:grid;grid-template-rows:repeat(10,minmax(0,1fr));gap:4px;flex:1;min-height:0}.level-item{display:flex;align-items:center;gap:9px;width:100%;min-height:0;border:1px solid transparent;border-radius:11px;padding:4px 7px;text-align:left;position:relative}.level-item:hover{background:#f5efff}.level-item.current{background:#eee4ff;border-color:#d4bbfa;box-shadow:0 2px 0 #e2d3fa}.level-item.current:before{content:'';position:absolute;width:3px;height:15px;left:-9px;top:calc(50% - 7px);border-radius:3px;background:#ad80ef}.level-badge{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;font-size:20px;flex:none}.level-name{flex:1;min-width:0}.level-name small{font-size:8px;color:#a095b1;font-weight:800;letter-spacing:.5px;display:block;line-height:1.1}.level-name strong{font-size:10px;font-weight:900;display:block;line-height:1.2;margin-top:2px}.level-stars{font-size:9px;letter-spacing:2px;line-height:1;color:#e1daf0;display:block;margin-top:3px}.earned{color:#f5b736}.level-item .icon{width:13px;height:13px;color:#aa84dd}.journey-footer{flex:none;border-top:1px dashed #e4d9f4;margin:10px 4px 0;padding-top:9px;display:flex;align-items:center;justify-content:center;gap:9px}.journey-footer>span{font-size:24px;animation:flowerSway 4s infinite alternate}.journey-footer p{font-size:9px;color:#a498b2;line-height:1.4}.journey-footer b{color:#8f7da5}
.play-column{display:flex;flex-direction:column;min-width:0;min-height:0;gap:8px}.mobile-journey{display:none}.game-card{flex:1;min-height:0;padding:18px 22px;display:grid;--voice-row:46px;grid-template-rows:43px 53px 28px 17px 12px minmax(0,1fr) 25px 26px var(--voice-row) 44px;gap:7px;border:2px solid white;border-radius:25px;background:#fff;box-shadow:0 6px 0 #cfc3eb50,0 12px 30px #8373b00d;position:relative}.game-card:before{content:'';position:absolute;left:21px;right:21px;top:-2px;height:4px;background:linear-gradient(90deg,#7edcd3 0 25%,#b89af6 25% 50%,#ffa7c4 50% 75%,#ffd778 75%);border-radius:10px}.game-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.level-identity{display:flex;align-items:center;gap:10px;min-width:0}.level-art{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;font-size:27px;flex:none}.overline{display:block;font-size:8px;font-weight:850;letter-spacing:1px;color:#ad92bf;margin-bottom:2px}.level-identity h2{font-size:21px;line-height:1.15;font-weight:950;letter-spacing:-.5px}.difficulty{font-size:10px;font-weight:850;white-space:nowrap;border-radius:8px;background:#effae4;color:#73a94a;padding:6px 9px;flex:none}.difficulty:after{content:' ▾'}.difficulty:hover{background:#e3f6d5}.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0}.game-stat{border-radius:12px;padding:7px 12px;display:flex;align-items:center;gap:9px;min-width:0}.score-stat{background:#fff5d9;color:#a87812;border:1px solid #ffe7a9}.time-stat{background:#e2f6ff;color:#257ca7;border:1px solid #c3ebfd}.combo-stat{background:#ffe8f1;color:#bd477f;border:1px solid #ffd5e6}.game-stat>div{display:flex;flex-direction:column;gap:1px}.game-stat small{font-size:9px;font-weight:750;white-space:nowrap;opacity:.75}.game-stat strong{font-size:23px;font-weight:950;line-height:1.1;font-variant-numeric:tabular-nums}.stat-symbol .icon{width:22px;height:22px}.score-stat .icon{fill:#ffd45b75}.combo-stat .icon{fill:#ffabc545}.time-stat.urgent{background:#ffe2dd;color:#e76555;animation:urgent 1s infinite}.board-toolbar{display:flex;gap:10px;align-items:center;min-width:0}.mode-select-wrap{display:flex;align-items:center;gap:6px;flex:1;color:#a082ca;min-width:0}.mode-select-wrap .icon{width:17px;height:17px}.mode-select-wrap select{background:transparent;border:0;font-size:12px;font-weight:850;color:#9272bd;max-width:160px;padding:4px 0;min-width:0}.round-label{font-size:10px;color:#a89bb7;font-weight:700;white-space:nowrap}.mini-icon{width:27px;height:27px;border:1px solid #e7dcf5;border-radius:8px;background:#fbf9ff;display:grid;place-items:center;color:#b09bc8}.mini-icon .icon{width:14px;height:14px}.board-instruction{font-size:11px;color:#9a8eaa;line-height:1.4}.column-labels{display:grid;grid-template-columns:1fr 1fr;gap:25px;font-size:9px;font-weight:900;letter-spacing:1px;color:#ada0be;align-items:center}.column-labels>span:last-child{text-align:right}.match-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px;min-height:0;position:relative}.match-board:before{content:'';position:absolute;top:5%;height:90%;left:50%;border-left:2px dashed #efe7fa}.word-column{display:grid;grid-auto-rows:minmax(0,1fr);gap:10px;min-height:0;z-index:1}.match-tile{--tile-bg:#edebff;--tile-border:#d9d0fa;--tile-ink:#6a41b5;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-width:0;min-height:0;padding:5px 12px;border:2px solid var(--tile-border);background:var(--tile-bg);color:var(--tile-ink);border-radius:14px;box-shadow:0 4px 0 var(--tile-border);font-size:clamp(15px,2dvh,20px);font-weight:900;line-height:1.2;position:relative;animation:tileIn .4s both;overflow:visible}.match-tile:nth-child(2){--tile-bg:#e2f6ff;--tile-border:#bce5fb;--tile-ink:#237ca8;animation-delay:.05s}.match-tile:nth-child(3){--tile-bg:#ffe8f1;--tile-border:#facce1;--tile-ink:#b84176;animation-delay:.1s}.match-tile:nth-child(4){--tile-bg:#e7f9e6;--tile-border:#c6e9bf;--tile-ink:#467f38;animation-delay:.15s}.clue-column .match-tile{--tile-bg:#fff3d9;--tile-border:#f6e0af;--tile-ink:#97701d;font-size:clamp(13px,1.7dvh,17px)}.clue-column .match-tile:nth-child(2){--tile-bg:#f0e6ff;--tile-border:#decbf8;--tile-ink:#7b4dad}.clue-column .match-tile:nth-child(3){--tile-bg:#e1faf2;--tile-border:#bdebd9;--tile-ink:#287b64}.clue-column .match-tile:nth-child(4){--tile-bg:#ffebe3;--tile-border:#f7d3c2;--tile-ink:#b36237}.match-tile:hover:not(:disabled){transform:translateY(-2px);filter:saturate(1.2);box-shadow:0 6px 0 var(--tile-border)}.match-tile.selected,.clue-column .match-tile.selected{background:#a88beb;color:white;border-color:#9474d8;box-shadow:0 4px 0 #8560cc,0 0 0 3px #e9dbff}.match-tile.matched,.clue-column .match-tile.matched{background:#e1f9e9;border-color:#a7debc;color:#61a67c;box-shadow:0 3px 0 #c3ead2;opacity:.68}.match-check{position:absolute;top:5px;right:5px;width:13px;height:13px;stroke-width:3}.match-tile.wrong,.clue-column .match-tile.wrong{background:#ffe5e6;border-color:#f5aeb8;color:#d47983;animation:shake .3s}.match-tile.hinted{animation:hintPulse .6s 3!important;box-shadow:0 0 0 4px #ffd75c88;border-color:#e7bc40!important}.match-tile.picture{padding:2px}.word-art{display:block;width:54px;max-height:95%;height:100%;max-width:80px;flex:none}.word-emoji{display:block;font-size:40px;line-height:1}.match-tile.example{font-size:clamp(11px,1.4dvh,14px);line-height:1.35;text-align:left;font-weight:800;padding:6px 11px}.match-tile.audio{font-size:13px;gap:8px}.match-tile.audio>.icon{width:18px;height:18px}.audio-waves,.voice-waves{display:flex;align-items:center;gap:3px;height:21px;flex:none}.audio-waves i,.voice-waves i{width:3px;height:8px;background:currentColor;border-radius:5px}.audio-waves i:nth-child(2),.voice-waves i:nth-child(2){height:15px}.audio-waves i:nth-child(3),.voice-waves i:nth-child(3){height:21px}.audio-waves i:nth-child(4),.voice-waves i:nth-child(4){height:11px}.match-tile.audio.selected .audio-waves i,.is-speaking .voice-waves i{animation:wave .4s ease-in-out infinite alternate}.match-tile.audio.selected .audio-waves i:nth-child(even),.is-speaking .voice-waves i:nth-child(even){animation-delay:.2s}.match-message{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;line-height:1.25;color:#aea0b9;text-align:center;min-width:0}.match-message .icon{width:14px;height:14px;flex:none}.match-message.correct{color:#36af83;font-weight:850}.match-message.incorrect{color:#dc8d74}.level-progress{display:flex;flex-direction:column;justify-content:space-around}.level-progress>div:first-child{display:flex;justify-content:space-between;font-size:9px;color:#aa9bbc}.level-progress b{font-size:9px;color:#9780b1}.progress-track{height:6px;background:#f1eafa;position:relative;border-radius:20px}.progress-track>span{display:block;height:100%;width:0;background:linear-gradient(90deg,#a38bea,#db9fe4,#ffc486);border-radius:20px;transition:width .5s}.progress-track>i{position:absolute;top:-8px;left:0;font-style:normal;font-size:14px;transition:left .5s;transform:translateX(-25%)}.pronunciation-bar{display:flex;align-items:center;gap:10px;padding:5px 10px;border:1px solid #dfd4f9;background:#f7f2ff;border-radius:12px;min-width:0;position:relative}.voice-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#eaddfc;color:#a178d2;flex:none}.voice-icon .icon{width:17px;height:17px}.voice-copy{flex:1;min-width:0}.voice-copy small{display:block;font-size:7px;letter-spacing:1.2px;font-weight:900;color:#b29bcd;margin-bottom:2px}.voice-copy>div{display:flex;align-items:baseline;gap:8px;min-width:0}.voice-copy strong{font-size:15px;font-weight:950;color:#936bca;white-space:nowrap}.voice-copy>div>span{font-size:10px;color:#a99ab7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-waves{color:#b99ae5;opacity:.45}.pronunciation-bar.is-speaking{border-color:#c5a9ed;background:#f0e4ff}.is-speaking .voice-icon{color:white;background:#b18ae3}.is-speaking .voice-waves{opacity:1}.replay-word{width:27px;height:27px;display:grid;place-items:center;background:white;border-radius:8px;color:#a68ac9;flex:none}.replay-word .icon{width:15px;height:15px}.game-actions{display:flex;align-items:stretch;gap:10px;min-width:0}.primary-button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;background:linear-gradient(135deg,#aa7ae9,#8763dc);color:white;border:1px solid #9062d5;border-radius:12px;box-shadow:0 4px 0 #7851ba;font-size:13px;font-weight:900;padding:9px 14px;min-height:39px}.primary-button>.icon{width:17px;height:17px}.primary-button:hover{filter:brightness(1.06);transform:translateY(-1px)}.hint-button{display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;padding:8px 13px;border:1px solid #f0d796;box-shadow:0 3px 0 #ebcf8f;border-radius:12px;background:#fff4d3;color:#bd9843;font-size:12px;font-weight:850}.hint-button .icon{width:18px;height:18px}.hint-button small{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#f5e1a7;font-size:10px;margin-left:3px}.restart-button{display:none;width:39px;border:1px solid #dacbf2;background:#f2ebff;color:#ac8ecb;border-radius:12px;box-shadow:0 3px 0 #e0d2f3;place-items:center;flex:none}.playing .restart-button{display:grid}.playing .game-actions .primary-button{background:#a685de;border-color:#9d7bd4;box-shadow:0 3px 0 #8d6ac5}.under-game{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px;color:#a697bb;height:15px;flex:none;padding:0 5px}.under-game>span{display:flex;gap:5px;align-items:center}.under-game .icon{width:12px;height:12px}.keyboard-key{font-size:10px;padding:0 4px;border:1px solid #cfbde4;border-radius:3px}.reward-pop{position:absolute;top:19%;right:18%;font-size:25px;font-weight:1000;color:#ffbd32;text-shadow:0 2px white;pointer-events:none;opacity:0;z-index:5}.reward-pop.pop{animation:rewardPop .85s both}
.helper-column{display:flex;flex-direction:column;gap:13px;min-height:0}.buddy-card{flex:1;min-height:0;background:linear-gradient(160deg,#e9d7ff,#f8e8ff 60%,#ffe3f0);border:2px solid white;border-radius:22px;padding:16px 16px 13px;text-align:center;display:flex;flex-direction:column;align-items:center;overflow:hidden;position:relative}.buddy-card:before{content:'✦';position:absolute;top:30%;left:15px;color:#c9a4ef;font-size:25px;animation:twinkle 3s infinite}.buddy-card:after{content:'✧';position:absolute;top:46%;right:11px;color:#efbb57;font-size:30px;animation:twinkle 3s -1s infinite}.buddy-label{font-size:8px;letter-spacing:1.3px;font-weight:900;color:#a77ec7;display:flex;align-items:center;justify-content:center;gap:6px;flex:none}.online-dot{width:5px;height:5px;background:#b591d5;border-radius:50%;box-shadow:0 0 0 3px #dfc6f4}.buddy-owl{flex:1;min-height:60px;max-height:200px;width:100%;padding:4px 20px;position:relative}.buddy-card h2{font-size:15px;font-weight:950;color:#9465b6;flex:none}.buddy-card>p{font-size:11px;color:#aa89bd;line-height:1.55;margin:7px 0 12px;flex:none}.buddy-tip{display:flex;align-items:center;justify-content:center;gap:9px;text-align:left;background:#fff9;border:1px solid white;border-radius:12px;padding:9px 7px;width:100%;color:#ba93cd;flex:none}.buddy-tip .icon{color:#d4ae54;width:21px;height:21px}.buddy-tip p{font-size:10px;line-height:1.5}.buddy-tip b{color:#a282b8}.how-card{background:#fffdf1;border:2px solid white;border-radius:18px;padding:16px;flex:none}.how-card h3{font-size:14px;font-weight:900;color:#c19c55}.how-card ol{list-style:none;padding:0;margin:11px 0;display:grid;gap:10px}.how-card li{display:flex;align-items:center;gap:8px;font-size:10px;color:#ac9a7a}.how-card li>b{width:22px;height:22px;display:grid;place-items:center;border-radius:8px;background:#e9defc;color:#a17cc4;font-size:10px;flex:none}.how-card li:nth-child(2)>b{background:#d9f2fe;color:#71aaca}.how-card li:nth-child(3)>b{background:#fce2ec;color:#d48eaf}.how-card li strong{font-weight:850;color:#988260}.text-button{border-top:1px solid #f0e6c7;display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 0 0;color:#ba9d5e;font-size:10px;font-weight:850}.text-button .icon{width:14px;height:14px}.review-card{display:flex;align-items:center;gap:9px;text-align:left;flex:none;border:2px solid white;background:#ffe7ef;border-radius:16px;padding:13px 12px}.review-icon{font-size:26px;animation:flowerSway 3s infinite alternate}.review-card>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:3px}.review-card strong{font-size:12px;font-weight:900;color:#c4759e}.review-card small{font-size:9px;color:#cd94af}.review-card .icon{width:15px;height:15px;color:#d393b4}.page-footer{display:none}
.owl-svg{animation:owlBob 3.5s ease-in-out infinite;transform-origin:50% 90%}.owl-eyes{transform-origin:120px 124px;animation:owlBlink 5s infinite}.owl-wing-right{transform-origin:186px 126px;animation:owlWave 3s ease-in-out infinite}.owl-wing-left{transform-origin:55px 132px;animation:owlWing 3.5s ease-in-out infinite}.owl-beak{transform-origin:120px 146px}.speaking .owl-beak{animation:owlTalk .22s infinite alternate}.owl-happy .owl-svg{animation:owlHappy .8s ease-in-out 2}.owl-thinking .owl-svg{animation:owlThink .8s ease-in-out 2}.owl-happy .owl-wing-left,.owl-happy .owl-wing-right{animation:owlWave .3s ease-in-out 5}.owl-slot:hover .owl-wing-right{animation-duration:.5s}
/* Every secondary view uses pages rather than a scrollable list. */
dialog{border:2px solid white;border-radius:25px;padding:0;width:min(570px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:hidden;background:#fffeff;color:var(--ink);box-shadow:0 20px 90px #51427b35}dialog::backdrop{background:#44416d60;backdrop-filter:blur(6px)}#modal-content{max-height:calc(100dvh - 28px);overflow:hidden}.modal-inner{padding:25px;display:flex;flex-direction:column;gap:0;max-height:calc(100dvh - 28px);overflow:hidden}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex:none}.modal-heading h2{font-size:23px;font-weight:950;letter-spacing:-.5px}.modal-description{font-size:12px;color:#9a8aac;line-height:1.6;margin-bottom:16px;flex:none}.modal-description b{color:#a07acb}.modal-buttons{display:flex;align-items:stretch;flex-wrap:wrap;gap:10px;margin-top:20px;flex:none}.secondary-button{border:1px solid #dfd0f1;background:#f4ecff;color:#a186ba;padding:9px 13px;border-radius:12px;font-size:12px;font-weight:850;min-height:38px}.secondary-button .icon{width:16px;height:16px}.result-inner{padding:24px;text-align:center;display:flex;flex-direction:column;align-items:center;max-height:calc(100dvh - 28px);overflow:hidden}.result-owl{width:115px;height:115px;margin:-8px auto 0;flex:none}.result-eyebrow{font-size:9px;font-weight:900;color:#af92c4;letter-spacing:1px}.result-title{font-size:27px;letter-spacing:-.6px;font-weight:950;margin-top:4px}.result-description{font-size:12px;line-height:1.6;color:#a08bb2;margin-top:9px}.result-stars{font-size:37px;color:#eadff5;letter-spacing:7px;margin:7px 0}.result-stars .earned{text-shadow:0 3px #fae2a2}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:16px 0 0;width:100%}.result-stats>div{border-radius:12px;padding:11px 5px;background:#f3eaff}.result-stats>div:nth-child(2){background:#ffedf3}.result-stats>div:nth-child(3){background:#e6f7ff}.result-stats strong{display:block;font-size:23px;font-weight:950;color:#a280ca}.result-stats small{display:block;font-size:9px;color:#ac9abb;margin-top:3px}.result-inner .modal-buttons{width:100%;justify-content:center}.result-inner .primary-button{flex-basis:100%}.result-words{display:flex;flex-wrap:wrap;gap:7px;justify-content:center}.word-chip{border-radius:8px;padding:5px 8px;background:#fff0e2;color:#bd966b;font-size:11px;font-weight:750}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #efe8f7;flex:none}.settings-row strong{display:block;font-size:14px;font-weight:900}.settings-row small{display:block;font-size:11px;line-height:1.5;color:#a696b5;margin-top:3px}.switch{appearance:none;position:relative;width:43px;height:25px;border-radius:30px;background:#e7ddf1;flex:none;cursor:pointer}.switch:before{content:'';width:19px;height:19px;background:white;border-radius:50%;position:absolute;left:3px;top:3px;transition:transform .2s}.switch:checked{background:#b294df}.switch:checked:before{transform:translateX(18px)}.setting-note{font-size:10px;line-height:1.6;color:#b3a2c1;margin-top:15px}.help-list{padding-left:19px;margin:0;display:grid;gap:12px;font-size:13px;color:#9b87af;line-height:1.6}.help-list b{color:#9470be}.help-illustration{height:90px;width:90px;margin:0 auto 14px}.modal-inner>.levels-list{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,1fr);gap:8px;flex:none}.modal-inner .level-item{padding:9px 8px;min-height:64px;border:1px solid #ece2f7;background:#faf6ff}.modal-inner .level-name strong{font-size:11px}.modal-inner .level-name small{font-size:8px}.modal-inner .level-stars{font-size:10px}.modal-inner .level-item.current:before{display:none}.achievement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;min-height:0}.achievement{border:1px solid #e8daf8;border-radius:13px;background:#f8f2ff;padding:11px;text-align:center}.achievement:nth-child(3n+2){background:#fff0f6;border-color:#f8dce8}.achievement:nth-child(3n){background:#edfaff;border-color:#d5edf8}.achievement>span{font-size:25px}.achievement h3{font-size:12px;font-weight:900;margin-top:4px}.achievement p{font-size:9px;color:#ad98c0;margin-top:3px}.achievement-stars{font-size:18px;letter-spacing:3px;color:#e5d9f1;margin-top:4px}.notebook-controls{display:flex;gap:9px;margin-bottom:12px;flex:none}.search-box{display:flex;align-items:center;gap:7px;flex:1;min-width:0;border-radius:10px;border:1px solid #e7d9f5;background:#f9f5ff;padding:8px 10px;color:#b49bd0}.search-box .icon{width:16px;height:16px}.search-box input{width:100%;min-width:0;border:0;outline:none;background:transparent;font-size:16px;color:#8d70b1}.notebook-controls select{max-width:140px;min-width:0;border:1px solid #e7d9f5;border-radius:10px;background:#f9f5ff;color:#a38abf;font-size:12px;padding:5px 7px}.notebook-review{font-size:11px;text-align:left;margin:0 0 12px;padding:7px 10px;min-height:32px;background:#fff0f6;color:#c78ba6;border-color:#f1d1de;flex:none}.vocabulary-list{display:grid;gap:8px;min-height:0;flex:1;overflow:hidden}.vocab-item{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #eadff7;border-radius:12px;min-height:0}.vocab-item.voiced{background:#f2e8ff;border-color:#caafea}.vocab-picture{width:45px;height:45px;display:grid;place-items:center;border-radius:10px;background:#f7f0ff;flex:none}.vocab-picture .word-art{width:40px;height:40px}.vocab-picture .word-emoji{font-size:30px}.vocab-text{flex:1;min-width:0}.vocab-text strong{font-size:14px;font-weight:900;color:#9271b4}.vocab-text small{display:block;font-size:10px;color:#b49fc3;margin-top:2px}.vocab-text p{font-size:11px;line-height:1.4;color:#9982b1;margin-top:4px}.vocab-text p.translation{font-size:10px;color:#b3a1bf;margin-top:2px}.vocab-text p .word-highlight{background:#e1cafa;color:#77539f;border-radius:3px;padding:0 2px}.vocab-speech{width:31px;height:31px;background:#f7f0ff;border:1px solid #e5d6f3;border-radius:9px;color:#aa8cc7;flex:none}.vocab-speech .icon{width:16px;height:16px}.vocab-label{font-size:9px;color:#cf8ba8;display:block;margin-top:3px}.pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;flex:none}.pager>span{font-size:11px;color:#ad96bf;font-weight:800}.pager button{min-width:72px;min-height:33px;padding:7px 10px;background:#f3eaff;border:1px solid #dfccf6;border-radius:10px;color:#a283c1;font-size:11px;font-weight:850}.pager .icon{width:14px;height:14px}.empty-state{text-align:center;font-size:12px;color:#ab92bf;line-height:1.7;padding:24px 8px}.empty-state>span{font-size:40px;display:block;margin-bottom:9px}.modal-voice{display:flex;align-items:center;gap:7px;padding:8px 10px;margin:12px 0 0;background:#f6ecff;border-radius:9px;color:#a785c3;font-size:11px;flex:none;min-height:33px}.modal-voice .icon{width:15px;height:15px}.modal-voice strong{color:#9167b6}.modal-voice.is-speaking{background:#ead8ff}.modal-voice.is-speaking .icon{animation:pulse .6s infinite alternate}.toast{position:fixed;left:50%;bottom:15px;transform:translate(-50%,20px);background:#896bb1f5;color:white;border:1px solid #fff5;padding:11px 17px;border-radius:14px;font-size:12px;line-height:1.4;max-width:90vw;text-align:center;box-shadow:0 6px 24px #4f3b6e30;opacity:0;transition:.2s;z-index:20;pointer-events:none}.toast.visible{opacity:1;transform:translate(-50%,0)}.confetti{position:fixed;inset:0;pointer-events:none;z-index:25;overflow:hidden}.confetti>i{position:absolute;top:-20px;width:8px;height:13px;border-radius:3px;animation:confetti 2.7s ease-in both}.storage-warning{color:#c48d8d}
@keyframes drift{to{transform:translate(8px,-22px) rotate(15deg)}}@keyframes twinkle{50%{transform:scale(.7) rotate(20deg);opacity:.45}}@keyframes sunGlow{to{box-shadow:0 0 0 12px #ffdf6c20;transform:rotate(20deg)}}@keyframes cloudFloat{to{transform:translateX(12px)}}@keyframes wordFloat{to{transform:translateY(-5px) rotate(4deg)}}@keyframes flowerSway{to{transform:rotate(13deg)}}@keyframes owlBob{50%{transform:translateY(-5px) rotate(-2deg)}}@keyframes owlBlink{0%,39%,43%,75%,79%,100%{transform:scaleY(1)}41%,77%{transform:scaleY(.08)}}@keyframes owlWave{0%,60%,100%{transform:rotate(0)}70%,90%{transform:rotate(-22deg)}80%{transform:rotate(5deg)}}@keyframes owlWing{50%{transform:rotate(9deg)}}@keyframes owlTalk{to{transform:scaleY(1.6)}}@keyframes owlHappy{25%,65%{transform:translateY(-12px) rotate(5deg)}45%{transform:translateY(0) rotate(-5deg)}}@keyframes owlThink{30%{transform:rotate(-7deg)}70%{transform:rotate(7deg)}}@keyframes tileIn{from{opacity:0;transform:translateY(7px) scale(.97)}to{opacity:1;transform:none}}@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@keyframes hintPulse{50%{box-shadow:0 0 0 6px #ffe28e99}}@keyframes rewardPop{0%{opacity:0;transform:translateY(6px) scale(.7)}30%{opacity:1;transform:translateY(-9px) scale(1.1)}75%{opacity:1}100%{opacity:0;transform:translateY(-44px)}}@keyframes wave{to{transform:scaleY(.45)}}@keyframes pulse{to{opacity:.45}}@keyframes urgent{50%{box-shadow:0 0 0 3px #ffb7a936}}@keyframes confetti{to{transform:translateY(105dvh) rotate(540deg);opacity:0}}
@media(min-width:1600px) and (min-height:900px){.page-shell,.header-inner{max-width:1540px}.dashboard{grid-template-columns:240px minmax(0,1fr) 270px;gap:24px}.hero{height:120px}h1{font-size:42px}.game-card{--voice-row:50px;grid-template-rows:50px 65px 30px 18px 13px minmax(0,1fr) 28px 28px var(--voice-row) 48px;padding:22px 30px;gap:9px}.match-tile{font-size:24px}.clue-column .match-tile{font-size:20px}.level-name strong{font-size:12px}.level-name small{font-size:9px}.level-badge{width:37px;height:37px;font-size:23px}.buddy-card h2{font-size:18px}.buddy-card>p{font-size:13px}.how-card li{font-size:12px}}
@media(max-width:1180px){.header-inner{padding:0 20px}.page-shell{padding-left:20px;padding-right:20px}.dashboard{grid-template-columns:180px minmax(0,1fr) 205px;gap:14px}.game-card{padding:15px 17px}.hero-tags{display:none}.level-item{padding:4px 5px;gap:6px}.level-name strong{font-size:9px}.level-badge{width:28px;height:28px;font-size:18px}.panel-heading h2{font-size:11px}.panel-heading{gap:5px}.buddy-card{padding:13px}.buddy-card h2{font-size:13px}.buddy-card>p{font-size:10px}.how-card{padding:14px 11px}.how-card li{font-size:9px}.game-stat{padding:6px 9px;gap:7px}.game-stat small{font-size:8px}.nav-item{padding:8px 11px;font-size:12px}.level-identity h2{font-size:19px}.primary-button{font-size:12px}.under-game{font-size:8px}.match-board,.column-labels{gap:19px}}
@media(max-width:1000px){.dashboard{grid-template-columns:178px minmax(0,1fr)}.helper-column{display:none}.hero{height:85px}.hero-scene{height:96px}.hero-owl{width:100px}.hero h1{font-size:31px}.top-nav{gap:1px}.nav-item{font-size:11px;padding:8px 9px}.nav-item .icon{width:15px;height:15px}.profile-avatar{display:none}}
@media(max-height:850px) and (min-width:701px){:root{--header:58px}.page-shell{padding-top:8px;padding-bottom:12px;gap:10px}.hero{height:73px}.hero h1{font-size:29px}.eyebrow{font-size:8px;margin-bottom:4px}.hero-copy>p{font-size:11px;margin-top:4px}.hero-tags{font-size:9px;top:31px}.hero-scene{height:83px}.hero-owl{width:90px;left:110px}.hero-sun{width:29px;height:29px}.word-hello{top:25px}.word-hi{top:41px}.game-card{--voice-row:39px;grid-template-rows:36px 44px 25px 0 11px minmax(0,1fr) 22px 22px var(--voice-row) 39px;gap:5px;padding:14px 18px}.board-instruction{display:none}.level-art{width:36px;height:36px;font-size:23px}.level-identity h2{font-size:19px}.game-stat strong{font-size:20px}.game-stat small{font-size:8px}.word-column{gap:8px}.match-tile{font-size:18px;border-radius:11px}.clue-column .match-tile{font-size:15px}.clue-column .match-tile.example{font-size:11px}.voice-copy strong{font-size:14px}.voice-icon{width:27px;height:27px}.voice-copy small{font-size:6px}.journey-panel{padding-top:12px}.journey-footer{display:none}.panel-heading{padding-bottom:8px}.journey-track{margin-bottom:8px}.level-stars{font-size:8px;margin-top:2px}.level-name small{font-size:7px}.level-name strong{font-size:10px}.buddy-card{padding:12px 13px}.buddy-owl{padding:0 18px}.buddy-card>p{font-size:10px;margin:5px 0 9px}.buddy-tip{padding:7px}.how-card{padding:12px}.how-card ol{gap:8px;margin:8px 0}.review-card{padding:10px}.under-game{height:12px}.play-column{gap:6px}}
@media(max-height:700px) and (min-width:701px){:root{--header:52px}.page-shell{padding:8px 20px 11px;gap:8px}.hero{height:54px}.hero .eyebrow{display:none}.hero h1{font-size:26px}.hero-copy>p{font-size:10px}.hero-tags{display:none}.hero-scene{height:62px;width:220px}.hero-owl{width:70px;left:105px}.hero-sun{width:22px;height:22px;right:20px}.word-hello{font-size:9px;top:22px;left:28px;padding:4px 8px}.word-hi,.scene-leaf,.hero-cloud{display:none}.header-owl{height:40px;width:40px}.game-card{--voice-row:35px;grid-template-rows:31px 37px 24px 0 10px minmax(0,1fr) 20px 0 var(--voice-row) 36px;padding:12px 15px;gap:5px}.level-progress{display:none}.level-art{width:30px;height:30px;font-size:21px}.overline{font-size:7px}.level-identity h2{font-size:17px}.game-stat{padding:4px 8px}.game-stat strong{font-size:18px}.game-stat .icon{width:18px;height:18px}.under-game{display:none}.voice-icon{width:25px;height:25px}.voice-copy strong{font-size:13px}.voice-copy small{font-size:6px}.journey-panel{padding:10px 8px}.panel-heading h2{font-size:11px}.level-name small{display:none}.level-name strong{font-size:10px}.level-badge{width:25px;height:25px;font-size:17px}.level-stars{font-size:8px}.buddy-tip{display:none}.buddy-card h2{font-size:12px}.buddy-card>p{font-size:9px;margin-bottom:2px}.how-card h3{font-size:12px}.how-card li{font-size:9px}.how-card ol{gap:7px}.review-card{padding:8px 10px}.review-card strong{font-size:11px}.review-icon{font-size:21px}}
@media(max-width:700px){:root{--header:54px}.header-inner{padding:0 13px;gap:7px}.header-owl{width:39px;height:39px}.brand{gap:3px}.brand-name{font-size:21px}.brand-name small{font-size:6px;letter-spacing:3px;margin-top:4px}.top-nav{gap:2px;margin-left:auto}.nav-item{font-size:0;padding:6px}.nav-item.active{display:none}.nav-item span{display:flex}.nav-item .icon{display:block;width:18px;height:18px}.header-actions{gap:5px}.header-actions .icon-button{width:30px;height:30px;border-radius:10px}.header-actions .icon{width:17px;height:17px}.page-shell{padding:8px 13px 12px;gap:7px}.hero{height:74px}.hero-copy{padding-left:2px;max-width:83%}.eyebrow{font-size:6px;letter-spacing:1.1px;margin-bottom:5px}.hero h1{font-size:25px;letter-spacing:-.7px}.title-spark{font-size:17px;margin-left:5px}.hero-copy>p{font-size:8px;margin-top:5px;max-width:240px;line-height:1.4}.hero-scene{position:absolute;right:-3px;bottom:0;width:90px;height:74px;border-radius:15px}.hero-owl{width:79px;left:5px;bottom:-3px}.hero-sun{width:21px;height:21px;right:4px;top:1px}.floating-word,.hero-cloud,.scene-spark,.scene-leaf,.scene-flower,.scene-hill{display:none}.hero-tags{display:none}.dashboard{display:flex;gap:0}.journey-panel,.helper-column{display:none}.play-column{width:100%;gap:6px}.mobile-journey{display:flex;align-items:center;width:100%;justify-content:space-between;border:1px solid #decef3;border-radius:11px;background:#eee4ff;color:#ae8dce;padding:6px 10px;height:31px;flex:none;font-size:10px}.mobile-journey>span:first-child{display:flex;align-items:center;gap:6px;flex:1}.mobile-journey .icon{width:15px;height:15px}.mobile-journey b{font-size:9px;margin-right:5px}.game-card{--voice-row:42px;grid-template-rows:36px 45px 27px 0 11px minmax(0,1fr) 25px 22px var(--voice-row) 40px;gap:6px;padding:13px 14px;border-radius:20px}.game-card:before{left:17px;right:17px}.level-art{width:35px;height:35px;border-radius:11px;font-size:23px}.level-identity{gap:8px}.overline{font-size:7px;letter-spacing:.6px}.level-identity h2{font-size:18px;letter-spacing:-.3px}.difficulty{font-size:8px;padding:5px 7px}.stat-row{gap:7px}.game-stat{padding:5px 9px;gap:6px;border-radius:10px}.game-stat strong{font-size:19px}.game-stat small{font-size:7px}.game-stat .icon{width:18px;height:18px}.mode-select-wrap{gap:5px}.mode-select-wrap .icon{width:15px;height:15px}.mode-select-wrap select{font-size:11px;max-width:140px}.round-label{font-size:9px}.mini-icon{width:25px;height:25px}.board-instruction{display:none}.column-labels{font-size:7px;letter-spacing:.7px;gap:18px}.match-board{gap:18px}.word-column{gap:9px}.match-tile{border-radius:11px;font-size:17px;padding:5px 7px;box-shadow:0 3px 0 var(--tile-border)}.clue-column .match-tile{font-size:14px}.clue-column .match-tile.example{font-size:10px;line-height:1.3;padding:5px 8px}.clue-column .match-tile.audio{font-size:12px;gap:6px}.match-tile.audio>.icon{width:15px;height:15px}.word-art{width:48px;max-height:96%}.word-emoji{font-size:34px}.match-message{font-size:9px;gap:4px}.match-message .icon{width:12px;height:12px}.level-progress>div:first-child{font-size:8px}.level-progress b{font-size:8px}.progress-track{height:5px}.pronunciation-bar{padding:4px 7px;gap:7px;border-radius:10px}.voice-icon{width:27px;height:27px;border-radius:8px}.voice-copy small{font-size:6px;letter-spacing:.8px}.voice-copy strong{font-size:13px}.voice-copy>div{gap:6px}.voice-copy>div>span{font-size:9px}.voice-waves{gap:2px}.voice-waves i{width:2px}.replay-word{width:25px;height:25px}.game-actions{gap:7px}.primary-button{font-size:11px;padding:7px 8px;min-height:34px;border-radius:10px}.primary-button>.icon{width:15px;height:15px}.hint-button{font-size:10px;padding:7px 10px;border-radius:10px;gap:5px}.hint-button .icon{width:16px;height:16px}.hint-button small{font-size:9px;width:15px;height:15px;margin-left:1px}.restart-button{width:33px;border-radius:10px}.restart-button .icon{width:17px;height:17px}.under-game{height:11px;font-size:7px;padding:0 2px;gap:6px}.under-game .icon{width:10px;height:10px}.keyboard-key{font-size:8px}.modal-inner{padding:18px}.modal-heading{margin-bottom:12px;gap:8px}.modal-heading h2{font-size:20px}.modal-heading .icon-button{width:30px;height:30px}.modal-description{font-size:11px;margin-bottom:13px}.modal-buttons{gap:8px;margin-top:15px}.secondary-button{font-size:11px;padding:8px 11px;min-height:35px}.modal-inner .level-item{min-height:58px;padding:7px 6px;gap:6px}.modal-inner .levels-list{gap:7px}.modal-inner .level-name strong{font-size:10px}.modal-inner .level-name small{font-size:7px}.modal-inner .level-badge{width:29px;height:29px;font-size:19px}.modal-inner .level-item .icon{display:none}.result-inner{padding:19px}.result-owl{width:100px;height:100px}.result-title{font-size:23px}.result-description{font-size:11px}.result-stars{font-size:31px;margin:6px 0}.result-stats{gap:6px;margin-top:14px}.result-stats>div{padding:10px 4px}.result-stats strong{font-size:20px}.result-stats small{font-size:8px}.result-eyebrow{font-size:8px}.achievement{padding:10px 7px}.achievement>span{font-size:23px}.achievement h3{font-size:10px}.achievement-stars{font-size:16px;margin-top:3px}.achievement p{font-size:8px}.settings-row{padding:11px 0;gap:12px}.settings-row strong{font-size:13px}.settings-row small{font-size:10px}.setting-note{font-size:9px;margin-top:12px}.help-list{font-size:12px;gap:12px}.help-illustration{width:78px;height:78px;margin-bottom:10px}.notebook-controls{gap:7px;margin-bottom:9px}.notebook-controls select{max-width:117px;font-size:10px}.search-box{padding:7px 8px}.vocab-item{padding:8px;gap:8px}.vocab-picture{width:37px;height:37px}.vocab-picture .word-art{width:33px;height:33px}.vocab-picture .word-emoji{font-size:27px}.vocab-text strong{font-size:13px}.vocab-text small{font-size:9px}.vocab-text p{font-size:10px}.vocab-text p.translation{font-size:9px}.vocab-speech{width:28px;height:28px}.vocab-speech .icon{width:14px;height:14px}.modal-voice{font-size:10px;padding:7px 8px;margin-top:10px;min-height:30px}.pager{margin-top:11px}.pager>span{font-size:10px}.pager button{font-size:10px;padding:6px 8px;min-height:31px;min-width:63px}}
@media(max-width:700px) and (max-height:740px){:root{--header:48px}.header-owl{width:35px;height:35px}.hero{height:50px}.hero .eyebrow{display:none}.hero h1{font-size:22px}.hero-copy>p{font-size:7px;margin-top:3px;max-width:220px}.hero-scene{height:53px;width:63px}.hero-owl{width:57px;left:3px}.hero-sun{width:15px;height:15px}.page-shell{padding:6px 11px 9px;gap:6px}.mobile-journey{height:26px;padding:4px 9px;font-size:9px}.game-card{--voice-row:36px;grid-template-rows:29px 35px 23px 0 9px minmax(0,1fr) 22px 0 var(--voice-row) 36px;gap:4px;padding:10px 12px}.level-progress{display:none}.level-art{width:29px;height:29px;font-size:20px}.level-identity h2{font-size:16px}.overline{font-size:6px}.difficulty{font-size:7px}.game-stat{padding:3px 7px}.game-stat strong{font-size:17px}.game-stat small{font-size:6px}.game-stat .icon{width:16px;height:16px}.mini-icon{width:22px;height:22px}.mode-select-wrap select{font-size:10px}.match-tile{font-size:16px}.clue-column .match-tile{font-size:13px}.word-column{gap:7px}.match-message{font-size:8px}.voice-copy strong{font-size:12px}.voice-copy small{font-size:5px}.voice-icon{width:25px;height:25px}.voice-copy>div>span{font-size:8px}.under-game{display:none}}
@media(max-width:700px) and (max-height:620px){.hero,.mobile-journey{display:none}.page-shell{padding:7px 10px 10px}.game-card{--voice-row:35px;grid-template-rows:30px 35px 24px 0 9px minmax(0,1fr) 20px 0 var(--voice-row) 36px;gap:4px}.modal-inner{padding:15px}.modal-heading{margin-bottom:10px}.modal-heading h2{font-size:18px}.modal-description{font-size:10px;margin-bottom:10px}.modal-inner .level-item{min-height:48px;padding:5px}.modal-inner .level-name strong{font-size:9px}.modal-inner .level-name small{font-size:6px}.modal-inner .level-stars{font-size:8px;margin-top:2px}.modal-inner .levels-list{gap:5px}.result-inner{padding:15px}.result-owl{width:75px;height:75px}.result-title{font-size:21px}.result-stars{font-size:25px;margin:4px 0}.result-description{font-size:10px;line-height:1.45;margin-top:6px}.result-stats{margin-top:10px}.result-stats>div{padding:7px 4px}.result-stats strong{font-size:19px}.modal-buttons{margin-top:12px}.settings-row{padding:9px 0}.setting-note{font-size:8px;margin-top:9px}.help-illustration{height:60px;width:60px}.help-list{font-size:11px;gap:9px}.notebook-review{font-size:10px;margin-bottom:9px;min-height:28px}.vocab-text p{font-size:9px}.vocab-text p.translation{font-size:8px}.vocabulary-list{gap:6px}.modal-voice{margin-top:8px}.pager{margin-top:9px}}
@media(max-width:360px){.header-inner{padding:0 9px;gap:4px}.brand-name{font-size:18px}.brand-name small{font-size:5px;letter-spacing:2.7px}.header-owl{width:33px;height:33px}.nav-item{padding:5px}.nav-item .icon{width:16px;height:16px}.header-actions{gap:4px}.header-actions .icon-button{width:27px;height:29px}.header-actions .icon{width:16px;height:16px}.hero h1{font-size:21px}.title-spark{font-size:14px}.hero-copy>p{max-width:205px}.level-identity h2{font-size:15px}.game-card{padding-left:10px;padding-right:10px}.stat-row{gap:5px}.game-stat{gap:4px;padding-left:6px;padding-right:6px}.game-stat small{font-size:6px}.match-board,.column-labels{gap:16px}.match-tile{font-size:14px}.clue-column .match-tile{font-size:12px}.clue-column .match-tile.example{font-size:9px}.clue-column .match-tile.audio{font-size:10px;gap:4px}.audio-waves{gap:2px}.audio-waves i{width:2px}.primary-button{font-size:10px;gap:5px}.hint-button{font-size:9px;padding:6px 8px}.restart-button{width:29px}.voice-copy>div{gap:5px}.voice-waves{display:none}.voice-copy strong{font-size:12px}.voice-copy>div>span{font-size:8px}.modal-inner{padding:14px}.modal-inner .level-badge{width:24px;height:24px;font-size:17px}.modal-inner .level-name strong{font-size:9px}.modal-inner .level-name small{font-size:6px}.achievement h3{font-size:9px}.settings-row strong{font-size:12px}.settings-row small{font-size:9px}.notebook-controls select{max-width:104px;font-size:9px}.vocab-picture{width:29px;height:32px}.vocab-picture .word-art{width:28px;height:28px}.vocab-text p{font-size:9px}.vocab-text p.translation{font-size:8px}.vocab-text strong{font-size:12px}.vocab-speech{width:25px;height:27px}}
@media(max-height:500px) and (min-width:601px){:root{--header:43px}.header-owl{height:34px;width:34px}.brand-name{font-size:20px}.brand-name small{font-size:6px}.header-actions .icon-button{width:30px;height:30px}.nav-item{padding:6px 10px;font-size:11px}.page-shell{padding:6px 14px 9px;gap:0}.hero,.journey-panel,.helper-column,.mobile-journey,.under-game{display:none}.dashboard{display:flex}.play-column{width:100%;max-width:1000px;margin:0 auto}.game-card{padding:9px 13px;grid-template-columns:165px minmax(0,1fr);--voice-row:35px;grid-template-rows:29px 17px minmax(0,1fr) 20px var(--voice-row);column-gap:17px;row-gap:5px;border-radius:17px}.game-topline{grid-column:1;grid-row:1/3;align-self:start}.level-art{display:none}.level-identity h2{font-size:17px}.difficulty{font-size:7px;padding:4px;position:absolute;bottom:102px;left:14px}.stat-row{grid-column:1;grid-row:3;display:flex;flex-direction:column;gap:5px;align-self:start}.game-stat{height:39px;padding:5px 11px}.game-stat>div{flex-direction:row;align-items:center;justify-content:space-between;width:100%;gap:9px}.game-stat small{font-size:8px}.game-stat strong{font-size:17px}.board-toolbar{grid-column:2;grid-row:1}.column-labels{grid-column:2;grid-row:2;font-size:8px}.match-board{grid-column:2;grid-row:3;gap:17px}.board-instruction,.level-progress{display:none}.word-column{gap:6px}.match-tile{font-size:15px;box-shadow:0 2px 0 var(--tile-border);border-radius:9px}.clue-column .match-tile{font-size:12px}.clue-column .match-tile.example{font-size:10px}.word-art{width:40px;max-height:100%}.word-emoji{font-size:30px}.match-message{grid-column:2;grid-row:4;font-size:8px}.pronunciation-bar{grid-column:2;grid-row:5;padding:3px 7px}.voice-icon{width:24px;height:24px}.voice-copy small{font-size:5px}.voice-copy strong{font-size:12px}.game-actions{grid-column:1;grid-row:4/6;display:flex;flex-wrap:wrap;gap:6px}.game-actions .primary-button{flex-basis:100%;height:26px;min-height:26px;padding:4px 6px;font-size:9px;border-radius:8px}.game-actions .hint-button{height:26px;flex:1;padding:4px 6px;font-size:9px;border-radius:8px}.restart-button{height:26px;width:29px;border-radius:8px}.hint-button .icon,.restart-button .icon{width:14px;height:14px}.game-actions .primary-button .icon{width:12px;height:12px}dialog{width:min(700px,calc(100vw - 24px))}.modal-inner{padding:14px 18px}.modal-heading{margin-bottom:8px}.modal-heading h2{font-size:18px}.modal-description{font-size:10px;margin-bottom:9px}.modal-inner>.levels-list{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,1fr);gap:7px}.modal-inner .level-item{min-height:70px;display:flex;flex-direction:column;text-align:center;gap:3px;padding:5px}.modal-inner .level-name small{display:none}.modal-inner .level-badge{height:24px;width:24px;font-size:17px}.modal-inner .level-name strong{font-size:9px}.modal-inner .level-item .icon{display:none}.modal-inner .level-stars{font-size:8px}.settings-row{padding:7px 0}.settings-row strong{font-size:12px}.settings-row small{font-size:9px;margin-top:2px}.setting-note{font-size:8px;margin-top:8px}.modal-buttons{margin-top:10px;gap:8px}.modal-buttons .primary-button,.secondary-button{min-height:31px;font-size:10px;padding:6px 11px}.result-inner{padding:15px 20px;display:grid;grid-template-columns:135px 1fr;column-gap:15px;text-align:left;align-items:center}.result-owl{grid-column:1;grid-row:1/5;width:125px;height:125px;margin:0}.result-eyebrow{grid-column:2;grid-row:1;font-size:8px}.result-title{grid-column:2;grid-row:2;font-size:22px}.result-stars{grid-column:2;grid-row:3;font-size:26px;margin:4px 0}.result-description{grid-column:2;grid-row:4;font-size:10px;margin-top:4px}.result-stats{grid-column:1/-1;grid-row:5;margin-top:10px}.result-stats>div{padding:5px}.result-stats strong{font-size:18px}.result-stats small{font-size:8px}.result-inner .modal-buttons{grid-column:1/-1;grid-row:6;flex-wrap:nowrap}.result-inner .primary-button{flex-basis:auto}.help-illustration{display:none}.help-list{font-size:11px;gap:8px}.pager{margin-top:9px}.vocab-item{padding:7px;gap:8px}.vocab-text p{font-size:10px}.vocab-text p.translation{font-size:9px}.notebook-controls{margin-bottom:8px}.notebook-review{display:none}.modal-voice{margin-top:8px;font-size:10px;min-height:28px;padding:5px 8px}.vocabulary-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.achievement-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.achievement{padding:9px 5px}.achievement h3{font-size:9px}.achievement p{font-size:8px}.achievement>span{font-size:20px}.achievement-stars{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep reading text clear against the playful pastel surfaces. */
.modal-description,.result-description,.vocab-text p,.vocab-text p.translation,.vocab-text small,.settings-row small,.setting-note,.help-list,.pager>span,.achievement p{color:#79688c}.voice-copy small,.voice-copy>div>span,.column-labels,.overline,.round-label{color:#827294}.voice-copy strong,.vocab-text strong,.modal-voice strong{color:#784eaf}.modal-voice,.secondary-button,.pager button{color:#80609f}.buddy-card>p,.buddy-tip p{color:#886599}.how-card li{color:#897551}.match-message:not(.correct):not(.incorrect){color:#887794}.game-stat small{opacity:1}

.tile-speaker{position:absolute;right:6px;bottom:6px;width:13px;height:13px;opacity:.65}.match-tile.word.reading{outline:3px solid #bf9af1;outline-offset:2px}.match-tile.word.reading .tile-speaker{opacity:1;animation:pulse .45s infinite alternate}.voice-settings{margin-top:12px;flex:none}.voice-settings>label{font-size:12px;font-weight:900}.voice-settings>div{display:flex;gap:8px;margin-top:6px}.voice-settings select{min-width:0;flex:1;border:1px solid #dfccf6;border-radius:9px;background:#f6efff;color:#71588e;font-size:12px;padding:7px}.voice-settings button{flex:none;white-space:nowrap}.voice-settings>small{display:block;font-size:9px;color:#79688c;line-height:1.5;margin-top:5px}@media(max-height:500px) and (min-width:601px){dialog[data-view="settings"]{width:min(760px,calc(100vw - 24px))}dialog[data-view="settings"] .modal-inner{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}dialog[data-view="settings"] .modal-heading,dialog[data-view="settings"] .modal-description{grid-column:1/-1}dialog[data-view="settings"] .settings-row{grid-column:1}dialog[data-view="settings"] .voice-settings{grid-column:2;grid-row:3/5;margin:5px 0 0}dialog[data-view="settings"] .setting-note{grid-column:2;grid-row:5}dialog[data-view="settings"] .modal-buttons{grid-column:1/-1}.voice-settings select{font-size:11px}}@media(max-width:360px){.tile-speaker{width:10px;height:10px;right:4px;bottom:4px}.voice-settings select{font-size:11px}.voice-settings>small{font-size:8px}}

.game-card.has-clue{--voice-row:64px}.pronunciation-bar.clue-cue .voice-copy>div{display:block}.pronunciation-bar.clue-cue .voice-copy strong{display:block;white-space:normal;font-size:12px;line-height:1.3;font-weight:800}.pronunciation-bar.clue-cue .voice-copy>div>span{display:none}.pronunciation-bar.clue-cue .voice-waves{display:none}.voice-icon:disabled{opacity:.45}.next-clue{background:#fff0cd;color:#9f762d}.match-tile.audio.reading .audio-waves i{animation:wave .4s infinite alternate}.voice-settings>strong{font-size:13px}.voice-settings>p{font-size:10px;color:#79688c;margin:4px 0 8px}.voice-settings>button{min-height:32px}.tile-speaker{display:none}@media(max-width:700px){.pronunciation-bar.clue-cue .voice-copy strong{font-size:11px}.pronunciation-bar.clue-cue{gap:6px}.pronunciation-bar.clue-cue .voice-icon{width:25px}.pronunciation-bar.clue-cue .replay-word{width:25px}.game-card.has-clue{--voice-row:72px}}@media(max-width:360px){.pronunciation-bar.clue-cue .voice-copy strong{font-size:10px}}@media(max-height:500px) and (min-width:601px){.game-card.has-clue{--voice-row:44px}.pronunciation-bar.clue-cue .voice-copy strong{font-size:11px}.voice-settings>p{margin:3px 0 7px}}
