/* styles.css */

[hidden]{display:none!important}
.backup-text{width:100%;height:160px;resize:vertical;border:1px solid #d4dfcd;border-radius:var(--r-md);padding:12px;background:#fffefa;color:#193f36;font:12px monospace}
.missed-review{border:1px solid #eadcc4;background:#fbf5e8;border-radius:var(--r-lg);padding:21px;margin:22px 0;text-align:left}.missed-review h3{font-size:15px}.missed-review p{font-size:11px;color:#948368;margin-top:7px}.missed-words{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.missed-words button{min-height:44px;padding-inline:12px;font-size:11px}.missed-review>.secondary{font-size:11px}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.favorite-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #e3e8db;border-radius:var(--r-md);padding:0 12px;font-size:11px;background:#fffefa;color:#7a8c78}.favorite-button.saved{background:#fff5d7;border-color:#ecd494;color:#9b7536}.favorite-button.saved svg{fill:#f6d674;stroke:#b28b40}.example-box{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;background:#f3f6ed;border-radius:var(--r-lg);text-align:left;margin-top:23px;max-width:100%}.example-box>div{min-width:0}.example-box .eyebrow{font-size:9px;letter-spacing:1px;display:block;margin-bottom:8px}.example-box b{display:block;font-size:17px;line-height:1.6;overflow-wrap:anywhere}.example-box p{font-size:11px;color:#85917f;margin-top:5px}.example-box .icon-button{flex-shrink:0}.letter-pair{font-size:13px;letter-spacing:1px;color:#56846c;margin-top:10px}.word-card-actions{display:flex;justify-content:center;gap:9px;margin:10px 0 13px}.dictionary-card .favorite-button{min-height:44px;font-size:10px}.lesson-level{font-size:10px;color:#64806a;border-radius:var(--r-sm);padding:5px 8px;background:#edf3e6}.lesson-goal{font-size:11px!important}.daily-scene{display:grid;grid-template-columns:55px minmax(0,1fr) auto;align-items:center;gap:15px;background:#f3eae0;border:1px solid #e8d9c7;border-radius:var(--r-xl);padding:21px;margin-top:21px}.daily-scene-icon{display:grid;place-items:center;background:#fff7ee;border-radius:var(--r-lg);width:55px;height:60px;font-size:30px}.daily-scene .eyebrow{font-size:9px;letter-spacing:1px;color:#a38457}.daily-scene h2{font-size:17px;margin-top:7px}.daily-scene p{font-size:10px;color:#93826e;margin-top:5px}.daily-scene .secondary{font-size:11px;padding-inline:15px}.new-worlds{margin-top:12px!important}.new-worlds .secondary{flex-shrink:0;font-size:11px;padding-inline:13px}.scene-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-top:24px}.scene-card{border:1px solid var(--line);border-radius:var(--r-xl);background:#fffefa;padding:22px}.scene-cover{height:110px;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:19px}.scene-cover span{font-size:42px}.scene-cover small{font-size:10px;color:#73826f}.scene-card h2{font-size:20px;line-height:1.5}.scene-card>p{font-size:12px;color:var(--muted);margin-top:7px;min-height:44px}.scene-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:17px;flex-wrap:wrap}.scene-meta>span{font-size:10px;color:#8fa083}.scene-meta .primary{font-size:11px;padding-inline:14px}.scene-rabbit{height:130px;display:block;margin:12px auto 0}.dialogue-prompt{padding:22px;background:#edf3e7;border-radius:var(--r-lg);margin:12px 0 19px;text-align:left}.dialogue-prompt h2{font-size:23px;line-height:1.7;margin-top:7px;overflow-wrap:anywhere}.dialogue-prompt p{font-size:12px;color:#819077;margin-top:9px}.scene-tools{display:flex;justify-content:center;gap:12px;margin-bottom:25px}.scene-tools button{font-size:12px;padding-inline:16px}.reply-options{display:flex;flex-direction:column;gap:11px;margin:20px 0}.reply-option{text-align:left;position:relative;border:1px solid #dce6d4;background:#fffefa;border-radius:var(--r-lg);padding:17px 50px 17px 19px;min-height:60px;transition:background var(--dur) var(--ease)}.reply-option:hover{background:#f2f6eb;border-color:#a8c5a4}.reply-option b{font-size:16px;line-height:1.5;display:block}.reply-option small{display:block;font-size:11px;color:#89957e;margin-top:7px}.reply-option>svg{position:absolute;right:18px;top:50%;translate:0 -50%;color:#9eb099}.scene-celebrate{font-size:75px;margin:18px 0 23px}.scene-recap{display:flex;flex-direction:column;gap:12px;margin:28px 0;text-align:left}.scene-recap>div{background:#f0f5e9;padding:17px 65px 17px 19px;border-radius:var(--r-md);position:relative}.scene-recap p{font-size:11px;color:#839277}.scene-recap b{font-size:16px;display:block;margin-top:9px;line-height:1.6}.scene-recap small{font-size:11px;color:#7d8e72;display:block;margin-top:7px}.scene-recap button{position:absolute;right:12px;top:calc(50% - 22px)}.scene-parent-report{margin-top:24px}.greeting>div:first-child{min-width:0}.scene-practice .game-prompt{font-size:12px}.reply-option b,.scene-recap b{overflow-wrap:anywhere}
@media(max-height:850px) and (min-width:701px){.sidebar{padding-top:25px}.side-label{margin-top:32px}.side-companion{padding-top:22px}.side-companion img{height:105px;width:100px}.parent-entry{margin-top:17px}.sidebar nav{gap:5px}.sidebar nav button{height:50px}}
@media(max-width:1100px){.scene-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.scene-grid{grid-template-columns:1fr;gap:16px}.scene-card{padding:21px}.scene-cover{height:95px}.scene-meta{flex-wrap:nowrap}.scene-card>p{min-height:0}.daily-scene{grid-template-columns:44px minmax(0,1fr);gap:11px;padding:18px}.daily-scene-icon{width:44px;height:48px;font-size:25px}.daily-scene h2{font-size:15px}.daily-scene p{font-size:10px}.daily-scene button{grid-column:span 2;justify-self:stretch;margin-top:3px}.new-worlds .banner-text p{font-size:9px}.card-top{gap:8px}.card-top .favorite-button{padding-inline:10px;font-size:10px}.example-box{padding:17px 13px;gap:10px;margin-top:20px}.example-box b{font-size:15px}.example-box p{font-size:10px}.dialogue-prompt{padding:19px 16px}.dialogue-prompt h2{font-size:20px}.scene-rabbit{height:112px}.scene-tools{gap:8px}.scene-tools button{font-size:10px;padding-inline:12px}.reply-option b{font-size:14px}.reply-option small{font-size:10px}.reply-option{padding:16px 42px 16px 15px}.reply-option>svg{right:13px}.scene-recap b{font-size:14px}.scene-practice .game-prompt{font-size:11px}.scene-practice .game-head{font-size:9px}.sidebar nav button{font-size:9px}.greeting>.primary{flex-shrink:0;padding-inline:14px;font-size:11px}.scene-parent-report .history-item{padding:13px 10px}.scene-parent-report .history-item b{font-size:11px}}
:root{--ink:#193f36;--muted:#7b8c83;--green:#174b42;--teal:#378570;--coral:#ec8068;--paper:#f7f8f2;--line:#e6ebe2;--radius:var(--r-xxl);--shadow:0 8px 28px #233f3510;font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ec8068;outline-offset:4px}button{border:0;background:none}h1,h2,h3,p{margin:0}h1{font-size:32px;letter-spacing:-1px;line-height:1.4}h2{font-size:21px;letter-spacing:-.5px}h3{font-size:16px}p{line-height:1.8}svg.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0}.skip{position:fixed;left:15px;top:-60px;z-index:50;padding:12px;background:white}.skip:focus{top:10px}.shell{max-width:1700px;margin:auto;min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}.sidebar{background:#fffefa;border-right:1px solid var(--line);padding:36px 24px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;min-height:680px}.brand{display:flex;align-items:center;gap:10px}.brand>span{font-size:23px;font-weight:800;letter-spacing:1px;white-space:nowrap}.brand small{font-size:9px;letter-spacing:1.5px;display:block;margin-top:4px;font-weight:600}.side-label{color:#96a099;font-size:11px;letter-spacing:1.5px;margin:54px 0 18px 14px}#navigation{display:flex;flex-direction:column;gap:8px}#navigation button{display:flex;align-items:center;gap:13px;text-align:left;padding:0 16px;height:54px;border-radius:var(--r-md);font-weight:600;color:#546b5d;font-size:14px}#navigation button.active{background:#e8f2e8;color:var(--green)}#navigation button b{font-size:10px;padding:3px 7px;background:#d0e7d6;border-radius:var(--r-sm);margin-left:auto}#navigation button:hover{background:#f0f3ec}.side-companion{margin-top:auto;text-align:center;padding-top:40px}.side-companion img{display:block;margin:0 auto 10px}.side-companion b{font-size:12px}.side-companion p{font-size:11px;color:var(--muted);margin-top:9px}.parent-entry{height:52px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:var(--r-md);margin-top:27px;font-size:13px;padding:0 13px}.parent-entry>span:last-child{margin-left:auto}.side-footer{margin-top:19px;font-size:10px;color:#a0aaa1;text-align:center}.side-footer span{margin-left:7px;color:var(--coral)}.workspace{min-width:0;padding:0 40px}.topbar{height:99px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.breadcrumb{color:#596d61;font-size:12px}.breadcrumb span{margin:0 16px;color:#b9c2b8}.breadcrumb strong{color:var(--ink);font-weight:500}.top-actions{display:flex;align-items:center;gap:14px}.local-status{display:flex;align-items:center;gap:7px;font-size:11px;color:#809188}.local-status i{width:6px;height:6px;border-radius:50%;background:#79a88a}.icon-button{display:grid;place-items:center;min-height:44px;min-width:44px;border-radius:50%;border:1px solid #dfe7de;background:#fffefa}.avatar-button{width:42px;height:44px;border-radius:50%;background:#f1dabd;border:4px solid #fffefa;font-size:14px;font-weight:600}#content{padding:32px 0;min-height:calc(100vh - 166px);outline:none}.page-footer{min-height:66px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:#586e61}.greeting{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:12px}.greeting p{color:var(--muted);font-size:13px;margin-top:7px}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:2px;color:var(--teal)}.date-pill{font-size:12px;border:1px solid var(--line);border-radius:var(--r-md);padding:12px 17px;white-space:nowrap;background:#fffefa}.date-pill svg{margin-right:7px;width:16px}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px}.hero{border-radius:var(--radius);background:#e4efdf;min-height:274px;position:relative;overflow:hidden;padding:31px;isolation:isolate;border:1px solid #d9e7d4}.hero-text{position:relative;z-index:2;max-width:64%}.hero .eyebrow{font-size:10px;display:flex;align-items:center;gap:7px}.tiny-dot{height:6px;width:6px;border-radius:50%;background:var(--teal)}.hero h2{font-size:31px;margin:15px 0 8px;line-height:1.35}.hero p{font-size:12px;color:#607b68}.hero-tags{display:flex;gap:11px;margin:15px 0 23px;font-size:10px;color:#6a846e}.hero-tags span{display:flex;align-items:center;gap:5px}.hero-tags svg{height:14px;width:14px}.primary,.secondary,.danger{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--r-md);padding:0 22px;font-size:13px;font-weight:600;transition:transform var(--dur) var(--ease),background var(--dur) var(--ease)}.primary{background:var(--green);color:#fffefa;box-shadow:0 5px 10px #174b4215}.primary:hover{background:#266555;transform:translateY(-1px)}.primary.coral{background:var(--coral);color:#fff}.secondary{border:1px solid #dce5d9;background:#fffefa}.secondary:hover{background:#edf3e9}.danger{background:#fff1ef;color:#b54d45;border:1px solid #eac5c1}.hero-illustration{position:absolute;right:-14px;bottom:0;width:41%;height:100%;z-index:1}.hero-illustration:before{content:"";position:absolute;width:200px;height:200px;background:#d1e5c8;border-radius:50%;right:-17px;bottom:-15px}.hero-illustration img{height:218px;position:absolute;bottom:15px;right:22px;transform:rotate(5deg)}.float-fruit{position:absolute;font-size:34px;filter:drop-shadow(0 6px 5px #56835819);animation:float 6s ease-in-out infinite}.float-fruit.one{top:26px;right:93px;transform:rotate(-20deg)}.float-fruit.two{right:24px;top:69px;font-size:27px;animation-delay:1s}.float-fruit.three{bottom:40px;left:0;font-size:25px;animation-delay:2s}.hero-spark{position:absolute;top:48px;left:8px;color:#76946e;font-size:20px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:26px 0 16px;gap:10px}.section-heading h2{font-size:17px}.section-heading p{font-size:11px;color:var(--muted);margin-top:6px}.text-link{font-size:11px;color:#698072;min-height:44px;padding:0 3px;display:flex;align-items:center;gap:4px}.text-link svg{width:14px}.world-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.world-card{position:relative;text-align:left;padding:18px;background:#fffefa;border:1px solid var(--line);border-radius:var(--r-lg);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);overflow:hidden;min-height:174px}.world-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.world-art{height:68px;border-radius:var(--r-md);position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:13px;font-size:34px;isolation:isolate}.world-art:before,.world-art:after{content:"";position:absolute;border:1px solid #ffffff80;border-radius:50%;width:48px;height:48px;z-index:-1}.world-art:before{left:20px;top:15px}.world-art:after{right:14px;top:-12px;width:66px;height:66px}.peach{background:#fae7dc}.green{background:#e1eedc}.purple{background:#eee7f6}.yellow{background:#f7efcd}.blue{background:#e0eff3}.rose{background:#f9e5e6}.world-card b{font-size:13px;display:block}.world-card small{color:var(--muted);font-size:10px;display:block;margin:6px 0 12px}.mini-progress{display:flex;align-items:center;gap:9px;font-size:9px;color:#8b9a8e}.track{height:4px;flex:1;background:#edf0e8;border-radius:var(--r-sm);overflow:hidden}.track span{height:100%;display:block;background:#8dbda0;border-radius:var(--r-sm)}.check-badge{position:absolute;top:12px;right:12px;background:white;border-radius:50%;font-size:10px;padding:4px;color:#518768}.practice-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fffefa;border:1px solid var(--line);border-radius:var(--r-lg);padding:15px 20px;margin-top:20px}.practice-banner .banner-icon{width:44px;height:44px;background:#f6e9d8;display:grid;place-items:center;border-radius:var(--r-md);color:#b58b51}.practice-banner .banner-text{flex:1}.practice-banner b{font-size:12px}.practice-banner p{font-size:10px;color:var(--muted);margin-top:5px}.practice-banner button{min-width:44px;min-height:44px}.right-rail{display:flex;flex-direction:column;gap:20px}.panel{border:1px solid var(--line);border-radius:var(--radius);padding:23px;background:#fffefa}.panel-title{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600}.panel-title>span:last-child{color:#aab7a8}.goal-ring{height:130px;width:130px;border-radius:50%;margin:26px auto 19px;background:conic-gradient(#76aa84 var(--progress),#edf1e5 0);display:grid;place-items:center;transform:rotate(-18deg)}.goal-ring>div{width:112px;height:112px;border-radius:50%;background:#fffefa;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(18deg)}.goal-ring strong{font-size:28px}.goal-ring strong span{font-size:15px;color:#a6b29f;font-weight:400}.goal-ring small{font-size:9px;color:var(--muted);margin-top:4px}.goal-copy{text-align:center;font-size:11px;color:#7e8b7e}.goal-copy em{color:var(--teal);font-style:normal}.stat-row{display:flex;justify-content:space-around;border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.stat-row strong{font-size:20px;display:block;text-align:center}.stat-row span{font-size:9px;color:var(--muted);display:block;text-align:center;margin-top:6px}.stat-row>div:last-child strong{color:#cd9a49}.weekly{display:flex;justify-content:space-between;margin:21px 0 15px}.weekday{font-size:9px;color:#899684;text-align:center}.weekday b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#f1f3eb;margin-top:9px;font-size:10px;color:#a5ae9a}.weekday b.done{background:#d5e9d4;color:#45805b}.weekday b.today{outline:1px solid #8fad8e;outline-offset:2px}.week-note{font-size:10px;color:var(--muted)}.tip-panel{background:#f1ede1;border:1px solid #e7e3d4;border-radius:var(--r-xl);padding:20px;position:relative}.tip-panel .eyebrow{font-size:9px;color:#a88b56;letter-spacing:1px}.tip-panel p{font-size:12px;margin:12px 0;color:#7a7967}.tip-panel small{font-size:9px;color:#a19982}.tip-panel .quote{font-size:29px;position:absolute;right:17px;top:10px;color:#c7b987}.back-button{display:inline-flex;gap:8px;align-items:center;font-size:12px;min-height:44px;margin-bottom:18px;color:#6b8071}.page-intro{margin-bottom:27px}.page-intro p{color:var(--muted);font-size:13px;margin-top:8px}.world-detail{display:flex;align-items:center;gap:25px;padding:25px;border-radius:var(--r-xl);margin-bottom:25px}.world-detail .big-emoji{font-size:65px}.world-detail h1{font-size:28px}.world-detail p{font-size:12px;color:#74866e}.lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.lesson-card{background:#fffefa;border:1px solid var(--line);border-radius:var(--r-xl);padding:24px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.lesson-card .lesson-index{font-size:10px;color:var(--teal);letter-spacing:1.5px}.lesson-card h2{font-size:20px}.lesson-card p{font-size:12px;color:var(--muted)}.lesson-emojis{font-size:26px;letter-spacing:6px}.lesson-card button{margin-top:9px}.lesson-state{font-size:11px;color:var(--teal)}.flow-wrap{max-width:780px;margin:auto}.flow-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.flow-head h1{font-size:21px}.stepper{display:flex;gap:5px;font-size:11px;margin-bottom:22px;color:#a4afa1}.stepper span{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;padding:12px 2px;border-bottom:3px solid #e2e8dc}.stepper .current{color:var(--green);border-color:#689b7c;font-weight:600}.learning-card{background:#fffefa;border:1px solid var(--line);border-radius:var(--r-xxl);padding:32px;text-align:center;box-shadow:var(--shadow)}.card-count{font-size:11px;color:var(--muted)}.word-picture{font-size:94px;line-height:1.4;padding:12px;margin:20px auto 5px;min-height:146px;display:grid;place-items:center;max-width:250px;border-radius:var(--r-xl)}.word-english{font-size:44px;letter-spacing:1px;overflow-wrap:anywhere}.word-chinese{color:var(--muted);font-size:15px;margin:8px 0 19px}.word-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 0}.word-pager .dots{display:flex;gap:6px}.word-pager .dots i{width:6px;height:6px;border-radius:50%;background:#dce6d7}.word-pager .dots i.active{background:var(--teal)}.flow-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:22px;font-size:11px;color:var(--muted)}.speaking-rabbit{height:150px;display:block;margin:auto}.sentence-box{background:#eef4e9;padding:24px;border-radius:var(--r-lg);margin:22px 0}.sentence-box h2{font-size:26px;line-height:1.5}.sentence-box p{font-size:13px;color:#7d8e77;margin-top:7px}.record-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:22px}.record-hint{font-size:11px;color:#8e9a85;margin-top:18px}#record-status{font-size:12px;color:#50785e;min-height:25px;margin-top:18px}.game-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:19px;font-size:12px}.game-progress{height:6px;flex:1;margin:0 12px;background:#e8eddf;border-radius:var(--r-sm);overflow:hidden}.game-progress span{background:#7dad89;height:100%;display:block;transition:width var(--dur) var(--ease)}.game-prompt{font-size:13px;color:var(--muted);margin:15px 0}.target-picture{font-size:70px;min-height:98px;margin:9px 0}.game-target{font-size:29px;line-height:1.5;overflow-wrap:anywhere}.bubble-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin:35px 0 20px}.bubble-option{border:2px solid #c8dfd0;border-radius:45%;background:radial-gradient(circle at 30% 20%,#fff,#edf6ec 55%,#d9ebdf);box-shadow:0 5px 0 #dceadd;width:100%;aspect-ratio:1.1;font-size:20px;font-weight:600;padding:10px;overflow-wrap:anywhere;min-height:80px;transition:transform var(--dur) var(--ease)}.bubble-option:nth-child(2){border-color:#eed4be;background:radial-gradient(circle at 30% 20%,#fff,#fcf0dd 55%,#f3e3c8);box-shadow:0 5px 0 #f0e2cc}.bubble-option:nth-child(3){border-color:#d4cee7;background:radial-gradient(circle at 30% 20%,#fff,#f0edf8 55%,#e1dcf0);box-shadow:0 5px 0 #e6e0ef}.bubble-option:hover{transform:translateY(-4px)}.feedback{font-size:13px;min-height:26px;margin-top:15px;color:var(--teal)}.feedback.wrong{color:#b76a50}.letter-slots{min-height:65px;display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:25px 0}.letter-slot{min-width:27px;border-bottom:3px solid #aecab1;padding:5px;font-size:26px;font-weight:600}.letters{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:20px 0}.letter-button{height:50px;min-width:48px;border-radius:50%;background:#e9f1e4;border:1px solid #c9dcc1;font-size:20px;box-shadow:0 3px 0 #d2e4ce}.game-tools{display:flex;justify-content:center;gap:12px;margin:20px 0 0}.result-stars{font-size:41px;letter-spacing:8px;color:#e2b95b;margin:18px 0}.result-title{font-size:28px;margin:15px 0 10px}.result-subtitle{font-size:13px;color:var(--muted)}.result-stats{display:flex;justify-content:center;gap:35px;margin:30px 0;padding:24px;border-block:1px solid var(--line)}.result-stats strong{font-size:23px;display:block}.result-stats small{font-size:10px;display:block;color:var(--muted);margin-top:7px}.result-actions{display:flex;justify-content:center;gap:13px;flex-wrap:wrap}.filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:23px}.filter{min-height:44px;padding:0 15px;border-radius:var(--r-md);font-size:12px;background:#fffefa;border:1px solid var(--line)}.filter.active{background:var(--green);color:white;border-color:var(--green)}.search{display:flex;gap:10px;margin-bottom:20px}.search input{min-height:48px;flex:1;min-width:0;background:#fffefa;border:1px solid #dce6d8;border-radius:var(--r-md);padding:0 16px;color:var(--ink)}.word-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dictionary-card{padding:19px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fffefa;text-align:center}.dictionary-card .emoji{font-size:38px;display:block;margin-bottom:11px}.dictionary-card b{font-size:15px;overflow-wrap:anywhere;display:block}.dictionary-card small{font-size:11px;color:var(--muted);display:block;margin:8px 0}.dictionary-card .tag{font-size:9px;border-radius:var(--r-sm);padding:5px 8px;background:#edf3e7;display:inline-block;margin-bottom:12px}.dictionary-card button{margin:auto}.empty{padding:55px 20px;border:1px dashed #cbd8c5;border-radius:var(--r-xl);text-align:center;background:#fffefa}.empty .empty-icon{font-size:45px;margin-bottom:16px}.empty h2{font-size:20px;margin-bottom:10px}.empty p{font-size:13px;color:var(--muted);margin-bottom:22px}.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:28px}.badge-card{text-align:center;background:#fffefa;border:1px solid var(--line);border-radius:var(--r-xl);padding:27px 15px}.badge-card .badge-emoji{font-size:43px;display:block;margin-bottom:13px}.badge-card.locked .badge-emoji{filter:grayscale(1);opacity:.35}.badge-card b{font-size:14px}.badge-card p{font-size:11px;color:var(--muted);margin:8px 0}.badge-card small{font-size:10px;color:var(--teal)}.history{display:flex;flex-direction:column;gap:10px}.history-item{display:flex;align-items:center;gap:17px;padding:18px 23px;background:#fffefa;border:1px solid var(--line);border-radius:var(--r-lg)}.history-item>span:first-child{font-size:25px}.history-item>div{flex:1}.history-item b{font-size:13px}.history-item p{font-size:10px;color:var(--muted);margin-top:5px}.history-item .history-stars{color:#b58b48;font-size:12px}.parent-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:23px}.metric{padding:20px 10px;background:#fffefa;border:1px solid var(--line);border-radius:var(--r-lg);text-align:center}.metric strong{font-size:26px;display:block}.metric small{color:var(--muted);font-size:11px;display:block;margin-top:7px}.report-bars{margin:24px 0}.report-bar{display:grid;grid-template-columns:80px minmax(0,1fr) 35px;align-items:center;gap:10px;margin:19px 0;font-size:11px}.report-bar .track{height:8px}.parent-notice{font-size:11px;color:#809080;line-height:1.9;margin:15px 0}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 0;border-bottom:1px solid var(--line)}.settings-row b{font-size:12px}.settings-row small{display:block;font-size:10px;color:var(--muted);margin-top:7px}.switch{width:52px;min-height:44px;position:relative;padding:0;flex-shrink:0}.switch:before{content:"";position:absolute;inset:9px 0;background:#dfe7d8;border-radius:50px}.switch[aria-checked="true"]:before{background:#428971}.switch:after{content:"";position:absolute;width:20px;height:20px;left:3px;top:12px;border-radius:50%;background:white;box-shadow:0 2px 5px #173c3420;transition:left var(--dur) var(--ease)}.switch[aria-checked="true"]:after{left:29px}.profile-form{display:flex;flex-direction:column;gap:12px;margin-top:22px}.profile-form label{font-size:11px;color:var(--muted)}.profile-form input,.profile-form select,dialog input{height:48px;border:1px solid #d4dfcd;border-radius:var(--r-md);padding:0 12px;background:#fffefa;width:100%;color:var(--ink)}.profile-form .form-group{display:flex;flex-direction:column;gap:8px}.data-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.data-actions button{font-size:11px;padding:0 13px}.file-input{display:none}.storage-warning{padding:15px 18px;border:1px solid #e3c09e;border-radius:var(--r-md);background:#fff4e5;font-size:12px;margin-bottom:20px;color:#a27035}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);border-radius:var(--r-md);padding:14px 21px;background:#193f36;box-shadow:0 7px 30px #193f3620;color:white;font-size:12px;max-width:min(600px,90vw);z-index:80;line-height:1.8}.toast[hidden]{display:none}dialog{border:1px solid #d8e4d3;border-radius:var(--r-xxl);padding:30px;width:min(420px,calc(100% - 32px));color:var(--ink);background:#fffefa;box-shadow:0 25px 90px #173c3440}dialog::backdrop{background:#193f3660;backdrop-filter:blur(5px)}dialog h2{font-size:23px;margin-bottom:13px}dialog p{font-size:13px;color:var(--muted);margin:10px 0 20px}.dialog-icon{font-size:35px;margin-bottom:18px}.dialog-actions{display:flex;gap:10px;margin-top:20px}.dialog-actions>*{flex:1}dialog label{font-size:13px;display:block;margin-bottom:12px}.dialog-error{font-size:11px;color:#ad6150;min-height:20px;margin-top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reduce-motion *, .reduce-motion *:before, .reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(min-width:1450px){.workspace{padding:0 56px}.dashboard{grid-template-columns:minmax(0,1fr) 300px}.hero{min-height:300px}.hero h2{font-size:37px}.hero-illustration img{height:250px}.world-art{height:90px}.world-card{padding:22px}}
@media(max-width:1150px){.shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding-inline:17px}.brand>span{font-size:20px}.brand img{width:41px;height:41px}.workspace{padding:0 25px}.dashboard{grid-template-columns:minmax(0,1fr) 230px;gap:18px}.hero{padding:26px}.hero h2{font-size:27px}.hero-illustration img{height:175px;right:8px}.hero-tags{gap:7px;flex-wrap:wrap}.panel{padding:20px}.world-grid{gap:10px}.world-card{padding:13px}.parent-grid{gap:16px}.word-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:950px){.shell{grid-template-columns:180px minmax(0,1fr)}.sidebar{padding-inline:13px}.brand>span{font-size:18px}.brand small{font-size:8px}.brand{gap:8px}#navigation button{font-size:12px;gap:10px;padding:0 12px}.workspace{padding:0 24px}.dashboard{display:block}.right-rail{display:grid;grid-template-columns:1fr 1fr;margin-top:24px;gap:18px}.tip-panel{grid-column:span 2}.panel{padding:23px}.goal-ring{margin:18px auto}.hero{min-height:266px}.hero-illustration img{height:220px;right:18px}.hero-text{max-width:64%}.hero h2{font-size:31px}.world-card{padding:15px}.parent-grid{grid-template-columns:1fr}.page-footer{font-size:9px}.local-status{display:none}.achievement-grid{gap:12px}.lesson-card{padding:20px}}
@media(max-width:700px){.shell{display:block}.sidebar{position:fixed;top:auto;bottom:0;height:74px;min-height:0;width:100%;z-index:30;padding:4px 5px max(6px,env(safe-area-inset-bottom));border-right:0;border-top:1px solid #e0e7d9;background:#fffefaee;backdrop-filter:blur(16px)}.sidebar .brand,.side-label,.side-companion,.parent-entry,.side-footer{display:none}#navigation{flex-direction:row;justify-content:space-around;gap:3px}#navigation button{flex:1;min-height:60px;height:auto;max-width:110px;flex-direction:column;gap:5px;padding:7px 2px;font-size:10px;border-radius:var(--r-md);position:relative}#navigation button svg{width:21px;height:21px}#navigation button b{position:absolute;top:2px;right:10px;font-size:8px;padding:1px 5px}.workspace{padding:0 20px}.topbar{height:77px}.breadcrumb{font-size:10px}.breadcrumb span{margin:0 10px}.top-actions{gap:8px}.avatar-button{width:38px;height:44px}.icon-button{min-width:44px;min-height:44px}#content{padding:25px 0;min-height:calc(100vh - 160px)}h1{font-size:26px}.greeting{margin-bottom:20px}.greeting p{font-size:11px;margin-top:6px}.date-pill{font-size:10px;padding:8px 10px}.date-pill svg{display:none}.hero{padding:25px 23px;min-height:265px}.hero h2{font-size:27px;margin:16px 0 9px}.hero p{font-size:11px}.hero-illustration{width:40%;right:-10px}.hero-illustration img{height:190px;right:3px;bottom:14px}.hero-illustration:before{height:170px;width:170px}.float-fruit.one{font-size:27px;right:65px;top:23px}.float-fruit.two{font-size:23px;right:7px;top:64px}.float-fruit.three{font-size:23px;left:0;bottom:45px}.hero-spark{top:72px;left:4px;font-size:15px}.hero-tags{font-size:9px;gap:7px;margin-bottom:22px}.hero .primary{font-size:12px;padding:0 18px}.hero-text{max-width:68%}.world-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.world-card{padding:16px;min-height:174px}.section-heading{margin-top:24px}.right-rail{gap:12px}.panel{padding:18px;border-radius:var(--r-xl)}.panel-title{font-size:12px}.goal-ring{height:105px;width:105px;margin:20px auto 15px}.goal-ring>div{width:89px;height:89px}.goal-ring strong{font-size:24px}.goal-ring small{font-size:8px}.goal-copy{font-size:9px}.stat-row{padding-top:15px;margin-top:16px}.stat-row strong{font-size:18px}.stat-row span{font-size:8px}.weekly{gap:3px;flex-wrap:wrap;justify-content:flex-start}.weekday{width:calc((100% - 9px)/4);margin-bottom:8px}.weekday b{margin:7px auto 0;width:23px;height:23px}.week-note{font-size:9px}.tip-panel{padding:18px}.tip-panel p{font-size:11px}.page-footer{padding:18px 0 99px;display:block;text-align:center;font-size:9px}.page-footer>span{display:block;margin-top:7px}.practice-banner{padding:12px 14px;gap:11px}.practice-banner p{font-size:9px}.practice-banner b{font-size:11px}.world-detail{padding:23px 20px;gap:17px}.world-detail .big-emoji{font-size:45px}.world-detail h1{font-size:24px}.lesson-grid{grid-template-columns:1fr}.lesson-card{padding:23px}.lesson-emojis{font-size:25px;letter-spacing:4px}.flow-head{align-items:flex-start}.flow-head h1{font-size:18px}.flow-head .secondary{min-height:44px;font-size:11px;padding:0 14px}.stepper{font-size:10px}.stepper span{gap:4px}.learning-card{padding:24px 17px;border-radius:var(--r-xl)}.word-english{font-size:35px}.word-picture{font-size:78px;min-height:128px;margin-top:14px}.flow-bottom{flex-direction:column;align-items:stretch;text-align:center;font-size:10px;gap:14px}.flow-bottom .primary{width:100%}.word-pager .secondary{font-size:11px;padding:0 15px;min-height:44px}.word-pager .dots{gap:4px}.word-pager .dots i{width:5px;height:5px}.sentence-box{padding:21px 12px}.sentence-box h2{font-size:22px}.speaking-rabbit{height:130px}.record-actions .secondary{font-size:11px;padding:0 15px}.bubble-options{gap:10px;margin-top:28px}.bubble-option{font-size:15px;padding:8px;min-height:87px}.game-target{font-size:24px}.game-head{font-size:10px}.game-progress{margin:0 9px}.letter-slot{font-size:22px;min-width:22px;padding:4px 3px}.letter-slots{gap:4px}.letters{gap:7px}.letter-button{height:48px;min-width:44px}.game-tools .secondary{font-size:11px;padding:0 15px}.word-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dictionary-card{padding:16px 10px}.dictionary-card b{font-size:14px}.dictionary-card small{font-size:10px}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.badge-card{padding:23px 13px}.badge-card b{font-size:13px}.badge-card p{font-size:10px}.history-item{padding:17px 15px;gap:11px}.history-item b{font-size:12px}.history-item .history-stars{font-size:10px}.metric{padding:17px 7px}.metric strong{font-size:22px}.metric small{font-size:9px}.parent-grid .panel{padding:23px}.toast{bottom:87px}.result-stats{gap:23px;padding:20px 6px}.result-stats strong{font-size:21px}.filters{gap:6px}.filter{padding:0 11px;font-size:11px}}
@media(max-width:360px){.workspace{padding:0 15px}.hero{padding:22px 17px}.hero h2{font-size:23px}.hero-illustration img{height:165px;right:-7px}.hero p{font-size:10px}.hero-text{max-width:70%}.hero .eyebrow{font-size:9px}.hero-tags{font-size:8px}.greeting h1{font-size:23px}.date-pill{font-size:9px;padding:8px}.world-card{padding:13px}.world-card b{font-size:12px}.world-card small{font-size:9px}.panel{padding:14px}.goal-copy{font-size:8px}.right-rail{gap:10px}.game-head{font-size:9px}.bubble-options{gap:7px}.bubble-option{font-size:13px;min-height:77px}.learning-card{padding:21px 13px}.result-stats{gap:18px}.parent-grid .panel{padding:19px}}
/* Extra learning and games use the same warm paper / forest palette. */
.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.activity-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;background:#fffefa;border:1px solid #e0e7d9;border-radius:var(--r-xl);padding:27px}.activity-card h2{margin:0;font-size:23px}.activity-card p{margin:0;line-height:1.8;font-size:14px}.activity-card small{color:#62786e;font-size:12px}.activity-emoji{display:grid;place-items:center;width:78px;height:78px;border-radius:var(--r-xl);background:#e6efe3;font-size:40px}.activity-card:nth-child(4n+2) .activity-emoji{background:#f9e5d9}.activity-card:nth-child(4n+3) .activity-emoji{background:#ece7f4}.activity-card:nth-child(4n+4) .activity-emoji{background:#e0eff3}.activity-card .primary{margin-top:auto}.activity-tip{color:#718273;padding-bottom:8px}.activity-theme{display:flex;align-items:center;gap:16px;padding:18px 22px;background:#eef3e9;border-radius:var(--r-lg)}.activity-theme label{font-size:14px}.activity-theme select{width:auto;min-width:190px;min-height:48px;background:#fffefa}.story-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.story-book{max-width:900px;margin:auto;padding:30px}.story-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.story-lines{margin:22px 0}.story-line{display:flex;align-items:center;gap:15px;text-align:left;padding:20px 0;border-bottom:1px solid #e4eadd}.story-line>div{min-width:0;flex:1}.story-line b{font-size:20px;line-height:1.6;overflow-wrap:anywhere}.story-line p{font-size:14px;color:#718273;line-height:1.7;margin:6px 0 0}.story-number{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;background:#edf3e6;border-radius:50%;font-size:13px;color:#48644d}.story-line .icon-button{flex-shrink:0}.story-companion{background:#f6efdb;padding:20px;border-radius:var(--r-lg);margin:22px 0}.story-companion h2{font-size:18px;margin:0 0 10px}.story-companion p{font-size:14px;line-height:1.9}.phonics-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:24px 0}.phonics-card{background:#fffefa;border:1px solid #e0e7d9;border-radius:var(--r-xl);min-height:150px;padding:18px 12px;display:flex;flex-direction:column;align-items:center;gap:10px;color:#174b42}.phonics-card b{font-size:31px}.phonics-card b span{font-size:24px;color:#718273}.phonics-card>span{font-size:17px}.phonics-card small{font-size:12px}.phonics-card:hover{background:#edf3e6}.phonics-example{display:flex;align-items:center;justify-content:center;gap:15px;padding:24px;background:#eef3e8;border-radius:var(--r-lg)}.phonics-example b{font-size:30px}.pair-board{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}.pair-column{display:grid;gap:15px}.pair-card{min-height:78px;border:2px solid #e0e7d9;background:#fffefa;border-radius:var(--r-lg);padding:12px;font-size:19px;color:#174b42;overflow-wrap:anywhere}.pair-card.selected{background:#fff0ce;border-color:#c08a29}.pair-card.matched{background:#deefdf;border-color:#75a28a;opacity:1;color:#325b41}.sentence-build{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-height:110px;background:#eef3e8;border-radius:var(--r-lg);padding:20px;color:#647467;font-size:16px;margin:22px 0}.sentence-build span{background:#fffefa;padding:10px 13px;border-radius:var(--r-md);color:#174b42;font-size:20px}.token-bank{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:22px 0}.sentence-token{min-height:50px;min-width:48px;background:#fffefa;border:1px solid #bccab7;border-radius:var(--r-md);padding:10px 15px;font-size:19px;color:#174b42}.sentence-token:disabled{opacity:.4}.reading-clues{text-align:left;border:1px solid #dce6d4;border-radius:var(--r-lg);padding:16px;margin:20px 0;background:#f8faef}.reading-clues summary{min-height:44px;cursor:pointer;display:flex;align-items:center;font-size:15px;font-weight:700}.reading-clues .story-line b{font-size:16px}.reading-clues .story-line p{font-size:12px}.activity-recap{margin:22px 0}.activity-result h1{font-size:27px;line-height:1.5}.activity-result>p{font-size:14px;line-height:1.8}.sidebar{overflow-y:auto}.side-companion{flex-shrink:0}
@media(max-width:1000px){.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.phonics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.activity-theme{flex-wrap:wrap}.daily-scene .story-tools{flex-shrink:1}}
@media(max-width:700px){.sidebar{height:124px;padding:5px 7px max(8px,env(safe-area-inset-bottom));overflow:visible}#navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}#navigation button{min-height:50px;height:50px;max-width:none;font-size:10px;padding:4px 1px;gap:3px;min-width:0}#navigation button svg{width:18px;height:18px}#navigation button span{white-space:nowrap}#navigation button b{right:3px;top:0}.page-footer{padding-bottom:151px}.toast{bottom:139px}.activity-grid,.story-grid{grid-template-columns:1fr;gap:15px}.activity-card{padding:22px}.activity-card h2{font-size:22px}.activity-theme{padding:16px;gap:10px}.activity-theme select{width:100%;min-width:0}.story-book{padding:20px 16px}.story-line{gap:9px;padding:16px 0;align-items:flex-start}.story-line b{font-size:17px}.story-line p{font-size:12px}.story-number{width:24px;height:24px}.story-line .icon-button{min-width:44px;padding:0}.story-tools>*{flex:1;min-width:0}.story-tools .secondary,.story-tools .primary{font-size:12px;padding:0 12px;min-height:48px}.phonics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.phonics-card{padding:15px 5px;min-height:134px}.phonics-card b{font-size:26px}.phonics-card small{font-size:10px}.pair-board{gap:10px}.pair-card{font-size:15px;min-height:78px;padding:9px 5px}.sentence-build{padding:14px;font-size:13px}.sentence-build span{font-size:16px;padding:8px 10px}.sentence-token{font-size:16px;padding:8px 12px}.reading-clues{padding:10px}.reading-clues .story-line{gap:5px}.reading-clues .story-number{display:none}.reading-clues .story-line b{font-size:15px}.activity-result h1{font-size:24px}.activity-play .game-tools{flex-wrap:wrap}.side-companion{display:none}}

.activity-theme select{border:1px solid #cdd9c6;border-radius:var(--r-md);padding:0 14px;color:#174b42;font:inherit;font-size:14px}.activity-play h2,.activity-result b{overflow-wrap:anywhere}
.studio-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.studio-tabs .filter{min-height:48px}.studio-progress{font-size:13px;color:#58745f}.studio-reading,.studio-writing,.studio-drawing{padding:28px;max-width:950px;margin:0 auto}.studio-word-picker{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.writing-target{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:20px 0}.writing-target>b{font-size:34px}.writing-target>span{font-size:17px}.ink-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0}.ink-colors{display:flex;flex-wrap:wrap;gap:7px}.ink-color{width:44px;min-height:44px;border:3px solid transparent;border-radius:50%;background:var(--ink);color:#fff;font-size:19px}.ink-color.active{outline:2px solid #8a9b82;outline-offset:2px}.ink-width{display:flex;align-items:center;gap:8px;font-size:13px}.ink-width select{min-height:44px;background:#fffefa;border:1px solid #c9d6c0;border-radius:var(--r-sm);padding:0 14px;font:inherit}#studio-canvas{display:block;width:100%;height:auto;background:#fffefa;border:2px solid #d9e4d1;border-radius:var(--r-lg);touch-action:none;cursor:crosshair}#studio-canvas:focus-visible{outline:3px solid #e1b637;outline-offset:3px}.canvas-help{font-size:12px;line-height:1.8;color:#667c6d;margin:12px 0}.writing-inputs{display:grid;gap:12px;margin:24px 0}.writing-inputs label{font-weight:700;font-size:15px}.writing-inputs input,.writing-inputs textarea{width:100%;min-height:48px;border:1px solid #c8d5be;background:#fffefa;border-radius:var(--r-md);padding:12px 14px;font:inherit;font-size:16px;color:#174b42}.writing-inputs textarea{min-height:100px;resize:vertical}.writing-check{display:flex;align-items:center;gap:12px}.writing-check input{min-width:0;flex:1}.writing-check .primary{flex-shrink:0}.drawing-instruction{padding:20px;border-radius:var(--r-lg);background:#edf3e7;margin:20px 0}.drawing-instruction b{font-size:20px;line-height:1.6}.drawing-instruction p{font-size:14px;line-height:1.7;margin:9px 0 16px}.shape-tools{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.oral-start{padding:30px;max-width:850px;margin:0 auto}.oral-start h2{font-size:26px;margin:22px 0 15px}.oral-start p{line-height:1.9}.studio-oral{max-width:800px;margin:auto}.oral-example{text-align:left;padding:18px;border-radius:var(--r-lg);background:#eef3e7;margin:24px 0}.oral-example summary{min-height:44px;display:flex;align-items:center;font-weight:700;cursor:pointer;font-size:14px}.oral-example h2{font-size:24px;overflow-wrap:anywhere;line-height:1.7}.oral-example p{font-size:14px;line-height:1.8}.oral-result{max-width:800px;margin:0 auto}.oral-result h2{font-size:27px}.oral-result p{line-height:1.8}.work-thumbnail{width:100%;border:1px solid #e1e7d9;border-radius:var(--r-md)}.activity-theme #studio-theme{width:auto;min-width:200px;min-height:48px;border:1px solid #cdd9c6;border-radius:var(--r-md);padding:0 14px;color:#174b42;background:#fffefa;font:inherit;font-size:14px}
@media(max-width:700px){.studio-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.studio-tabs .filter{padding:0 6px;font-size:12px}.studio-reading,.studio-writing,.studio-drawing{padding:21px 15px}.studio-reading h2,.studio-writing h2,.studio-drawing h2{font-size:23px}.studio-progress{font-size:12px}.activity-theme #studio-theme{width:100%;min-width:0}.writing-target>b{font-size:27px}.writing-target{gap:10px}.ink-tools{gap:10px}.ink-tools .secondary{font-size:12px;padding:0 12px}.ink-width select{padding:0 10px}.ink-color{width:44px;height:44px}.writing-check{flex-wrap:wrap}.writing-check input{flex-basis:100%}.writing-check .primary{width:100%}.writing-inputs label{font-size:14px}.writing-inputs input,.writing-inputs textarea{font-size:16px}.shape-tools .secondary{font-size:12px;padding:0 11px}.drawing-instruction{padding:15px}.drawing-instruction b{font-size:18px}.oral-start{padding:22px 18px}.oral-start h2{font-size:23px}.oral-example{padding:14px}.oral-example h2{font-size:21px}.oral-example summary{font-size:12px}.oral-result h2{font-size:24px}.oral-result .story-tools{flex-wrap:wrap}.studio-word-picker .filter{font-size:11px;padding:0 10px}}
.sidebar #navigation,.sidebar .brand,.sidebar .parent-entry,.sidebar .side-footer{flex-shrink:0}.sidebar .parent-entry{min-height:48px}
.filing-link{color:#526e5b;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.filing-link:hover{color:var(--green)}

.saved-recording{padding:18px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.saved-recording p{line-height:1.8;color:var(--muted)}#record-title{width:100%;min-height:48px;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:var(--r-md);font:inherit;box-sizing:border-box}
.brand>img{border-radius:24%;flex-shrink:0}

/* voice.css */
.voice-panel{margin-top:24px}.voice-panel h2{margin-bottom:15px}.voice-panel .form-group{margin:16px 0}.voice-panel select{width:100%;min-height:48px;font-size:16px;background:#fffefa;border:1px solid #cbd8c3;border-radius:var(--r-md);padding:10px;color:#193f36}.voice-status{padding:15px 17px;border-radius:var(--r-md);background:#edf3e7;font-size:14px;line-height:1.8;overflow-wrap:anywhere}.voice-status[data-status="error"],.voice-status[data-status="unavailable"]{background:#f8eadd}.voice-help{font-size:13px;line-height:1.9;color:#61766a;margin:14px 0}.voice-tools{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.voice-tools button{flex:1 1 130px;min-height:48px}.voice-check{display:flex;align-items:center;gap:12px;font-size:14px;min-height:48px;margin:14px 0}.voice-check input{width:22px;height:22px;min-height:22px!important;flex-shrink:0}.voice-panel label{display:block;font-size:14px;margin-bottom:8px}.voice-panel label.voice-check{display:flex}.voice-panel button{font-size:13px;padding-inline:14px}

/* evaluation.css */
.evaluation-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.evaluation-score{text-align:center;flex-shrink:0;background:#e7f2e8;border:1px solid #c8dfcc;padding:14px 20px;border-radius:var(--r-xl)}.evaluation-score strong{display:block;font-size:26px;color:#174b42}.evaluation-score span{display:block;font-size:12px;margin-top:4px}.evaluation-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}.evaluation-next,.evaluation-clue{padding:14px 18px;background:#f0f6eb;border-radius:var(--r-md);line-height:1.8}.evaluation-summary details{margin-top:16px}.evaluation-summary li{padding:8px 0;overflow-wrap:anywhere}.evaluation-summary li small{display:block;color:#506c61}.lesson-coach-tabs,.observation-options,.evaluation-source{display:flex;flex-wrap:wrap;gap:8px}.lesson-coach-tabs button,.observation-options button{flex:1 1 140px;white-space:normal;min-height:44px}.lesson-coach-tabs button[aria-pressed=true],.observation-options button[aria-pressed=true],.evaluation-source button[aria-pressed=true]{background:#174b42;color:white;border-color:#174b42}.lesson-coach-card{padding:14px 0}.lesson-coach-card [lang=en]{font-size:22px;line-height:1.65}.observation-panel fieldset{border:0;margin:18px 0;padding:0;min-width:0}.observation-panel legend{font-weight:650;margin-bottom:10px}.evaluation-summary,.lesson-coach,.observation-panel{min-width:0}.evaluation-clue{border-left:3px solid #d4ab59}.evaluation-source{margin:12px 0}@media(max-width:480px){.evaluation-head{align-items:flex-start;gap:10px}.evaluation-head h2{font-size:20px}.evaluation-score{padding:12px}.evaluation-score strong{font-size:21px}.evaluation-metrics{grid-template-columns:1fr}.lesson-coach-tabs button{flex-basis:100%;text-align:left}.observation-options button{flex-basis:100%;text-align:left}.evaluation-source button{flex:1 1 90px}}

.recording-score-card{border-top:1px solid #dce7dc;margin-top:16px;padding-top:12px}.record-score-number b{font-size:25px;color:#174b42}.record-score-number span{font-size:13px;margin-left:8px}.recording-score-card li{line-height:1.8}.recording-score-card details{margin-top:12px}

.pronunciation-card{margin-top:20px;padding-top:20px;border-top:1px solid #dce7dc}.pronunciation-card label,.pronunciation-card input{display:block;width:100%;box-sizing:border-box;margin-bottom:12px}.speech-word-results{display:flex;flex-wrap:wrap;gap:8px}.speech-word-results span{padding:8px 12px;border-radius:var(--r-md);background:#edf3e9;overflow-wrap:anywhere}

/* rules.css */
.rule-stages,.rule-kinds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.rule-kinds{grid-template-columns:repeat(2,minmax(0,1fr))}.rule-stages button,.rule-kinds button{font:inherit;padding:16px;border:1px solid #cad8c2;background:#fffefa;color:#174b42;border-radius:var(--r-lg);min-height:48px}.rule-stages .active,.rule-kinds .active{background:#174b42;color:#fff}.rule-tools{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.rule-tools button{min-height:48px;white-space:normal}.rule-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.rule-examples article{background:#edf3e7;padding:20px;border-radius:var(--r-lg);min-width:0;overflow-wrap:anywhere}.rule-examples h3{font-size:23px;line-height:1.6}.rule-examples p,.rule-question p,.rule-steps li,.learning-notice p,.rule-exception p{line-height:1.9}.rule-steps{padding-left:24px}.rule-steps li{padding:10px 0}.rule-exception{border-left:4px solid #d1ae4c}.rule-question{padding:18px 0;border-bottom:1px solid #dfe7db}#rule-apply label{display:block;margin:16px 0}#rule-draft{width:100%;box-sizing:border-box;padding:16px;border-radius:var(--r-md);border:1px solid #cbd8c3;background:#fffefa;color:#193f36;font:inherit;font-size:16px;line-height:1.8;resize:vertical}#rule-apply>button{margin:20px 0;min-height:48px}#rule-search{flex-wrap:wrap}#rule-search label{flex-basis:100%}.rule-links .rule-tools{margin-bottom:0}.rule-links button:focus-visible,.rule-stages button:focus-visible,.rule-kinds button:focus-visible{outline:3px solid #e1b637;outline-offset:3px}
@media(max-width:700px){.rule-stages{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rule-examples{grid-template-columns:1fr}.rule-tools button{max-width:100%}.rule-steps{padding-left:20px}.rule-examples h3{font-size:21px}}

/* curriculum.css */
.grade-banner{padding:26px;border:1px solid #cedcc4;border-radius:var(--r-xl);background:#edf3e7;display:flex;align-items:center;gap:20px;margin:24px 0}.grade-banner>div{flex:1}.grade-banner h2{margin:10px 0}.grade-banner p{line-height:1.8}.grade-switch,.grade-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.grade-switch button,.grade-tabs button{background:#fffefa;border:1px solid #cad8c2;border-radius:var(--r-lg);padding:16px 10px;min-height:48px;color:#174b42;font:inherit}.grade-switch small{display:block;margin-top:9px;font-size:12px;line-height:1.7}.grade-switch .active,.grade-tabs .active{background:#174b42;color:white}.grade-guide{padding:26px;border-radius:var(--r-xl);background:#edf3e7;margin:24px 0}.grade-guide p{margin:14px 0;line-height:1.8}.grade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.grade-card{display:flex;flex-direction:column;gap:12px;min-width:0}.grade-card p{line-height:1.8}.grade-emoji{font-size:40px}.grade-progress{height:8px;border-radius:var(--r-sm);background:#e2eada;overflow:hidden}.grade-progress span{display:block;height:100%;background:#39715b}.grade-card button{margin-top:auto}.grade-search{display:flex;gap:12px;margin:12px 0}.grade-search input{min-width:0;flex:1}.grade-search input,.grade-task input:not([type=checkbox]),.grade-task textarea{font:inherit;font-size:16px;max-width:100%;width:100%;padding:14px;border:1px solid #cbd8c3;border-radius:var(--r-md);background:#fffefa;color:#193f36;box-sizing:border-box}.grade-task textarea{line-height:1.8;resize:vertical;margin:14px 0}.grade-task label{display:block;line-height:1.7;margin:16px 0}.grade-unit-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.grade-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.grade-task .panel{margin:22px 0;overflow-wrap:anywhere}.grade-task h2,.grade-task h3{margin:12px 0}.grade-task p{line-height:1.9;margin:12px 0}.grade-tools,.grade-tokens{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.grade-task button{min-height:48px}.grade-words{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.grade-words article,.grade-starters{border-radius:var(--r-lg);background:#edf3e7;padding:18px;min-width:0}.grade-words h3{font-size:24px;overflow-wrap:anywhere}.grade-line{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;border-bottom:1px solid #e0e7dc;padding:18px 0;align-items:start}.grade-line p[lang=en]{font-size:20px;margin-top:0}.grade-line-number{color:#6a7d70;padding-top:5px}.grade-task summary{cursor:pointer;min-height:48px;line-height:1.8;display:flex;align-items:center;color:#39715b}.grade-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.grade-options button{overflow-wrap:anywhere;white-space:normal}.grade-built{min-height:60px;padding:18px;border-radius:var(--r-md);background:#edf3e7}.grade-sentence,.grade-dialogue{padding:20px 0;border-bottom:1px solid #dfe7db}.grade-check{display:flex!important;align-items:center;gap:12px;min-height:48px}.grade-check input{width:22px;height:22px;min-height:22px!important;flex:none}.grade-task form>button{margin:20px 0}.grade-task canvas{display:block;width:100%;aspect-ratio:5/3;height:auto;border:1px solid #cbd8c3;border-radius:var(--r-lg);touch-action:none;background:#fffefa}.grade-color{color:var(--ink)!important;font-size:24px!important;min-width:48px}.grade-task details{margin:16px 0}.grade-tokens button{font-size:16px}.grade-card .eyebrow{font-size:12px}
@media(max-width:700px){.grade-banner{display:block;padding:22px}.grade-banner button{margin-top:16px}.grade-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grade-grid{grid-template-columns:1fr}.grade-guide{padding:22px}.grade-words{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grade-words article{padding:14px}.grade-words h3{font-size:21px}.grade-tabs{gap:8px}.grade-tabs button{padding:12px 7px;font-size:13px}.grade-line{grid-template-columns:20px minmax(0,1fr);gap:8px}.grade-line>button{grid-column:2;justify-self:start}.grade-task .panel{padding:22px 18px}.grade-options{grid-template-columns:1fr}.grade-search{flex-wrap:wrap}.grade-search input{flex-basis:100%}.grade-task p[lang=en]{font-size:19px}.grade-tokens{gap:8px}.grade-tokens button{padding:10px 12px}.grade-card h2{font-size:23px}}

.grade-color[aria-pressed="true"]{outline:3px solid #174b42;outline-offset:2px}.grade-next{margin:24px 0}.grade-next button{white-space:normal;min-height:48px;max-width:100%}.grade-language article,.grade-review article{padding:16px 0;border-top:1px solid #dfe7db}.grade-language p[lang=en]{font-weight:600}.grade-tools [aria-pressed="true"]{background:#edf3e7;border-color:#174b42}

.reading-visual{margin:0 0 20px;padding:16px;background:#f2f7ed;border-radius:var(--r-xl)}.reading-visual img{display:block;width:100%;max-width:680px;height:auto;margin:auto}.reading-visual figcaption{font-size:.9rem;line-height:1.7;color:#436557;margin-top:12px}

/* basics.css */
.basics-banner{display:flex;gap:24px;align-items:center;justify-content:space-between;background:#eaf0df;margin:24px 0}.basics-banner h2{font-size:27px}.basics-banner p{line-height:1.8}.basics-banner button{flex-shrink:0}.basics-tabs,.basics-kinds,.basics-ref-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.basics-tabs button[aria-pressed=true],.basics-kinds button[aria-pressed=true],.basics-ref-tabs button[aria-pressed=true]{background:#174b42;color:#fffefa;border-color:#174b42}.basics-reference-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.basics-reference-grid article{border:1px solid #dbe3d3;background:#f7f8ef;border-radius:var(--r-lg);padding:18px;min-width:0}.basics-reference-grid h3{font-size:25px;margin:0 0 10px}.basics-reference-grid h3 span{font-weight:500}.basics-reference-grid p{line-height:1.75;overflow-wrap:anywhere}.basics-reference-grid button{width:100%;min-height:48px;overflow-wrap:anywhere}.basics-filter-label{display:block;margin:18px 0 8px;font-weight:600}#basics-filter{width:100%;max-width:320px;min-height:48px;font:inherit;background:#fffefa;color:#174b42;border:1px solid #cbd8c3;border-radius:var(--r-md);padding:12px}#basics-apply label[for]{display:block;margin:12px 0;font-weight:600}#basics-draft{width:100%;box-sizing:border-box;border:1px solid #cbd8c3;border-radius:var(--r-md);background:#fffefa;padding:16px;font:inherit;line-height:1.8}#content [data-basics],#content [data-open-basics],#content [data-basics-kind],#content [data-basics-tab]{min-height:48px}#content [data-basics-kind]:focus-visible,#content [data-basics-tab]:focus-visible,#content [data-open-basics]:focus-visible{outline:3px solid #d7895a;outline-offset:3px}
@media(max-width:1100px){.basics-reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.basics-banner{flex-direction:column;align-items:flex-start;gap:12px}.basics-banner h2{font-size:23px}.basics-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.basics-reference-grid article{padding:12px}.basics-reference-grid h3{font-size:22px}.basics-reference-grid button{padding:10px 6px;font-size:13px}.basics-reference-grid p{font-size:14px}.basics-kinds button{flex:1 1 40%;padding:10px}.basics-ref-tabs button{flex:1 1 40%;padding:10px}}

.basics-answer-feedback{min-height:48px;line-height:1.8;overflow-wrap:anywhere}
.course-visual{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:24px;background:#f7f8ef}.course-visual-art{min-width:0}.course-visual img{display:block;width:100%;height:auto;border-radius:var(--r-lg)}.course-visual p{line-height:1.9}.course-visual-tip{color:#61766a;font-size:14px}.course-steps{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.course-steps a{display:flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid #d1dec8;border-radius:999px;color:#294d41;background:#f0f4e7;text-decoration:none;font-size:14px}.course-steps a:hover,.course-steps a:focus-visible{background:#dfe9d3;outline:2px solid #749b84;outline-offset:2px}.course-steps~section[id],#basics-apply{scroll-margin-top:95px}.course-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.course-map .panel{margin:0;min-width:0}.course-map-intro{margin:22px 0;line-height:1.8}.course-map-links{display:flex;flex-direction:column;gap:9px}.course-map-links button{display:flex;align-items:center;gap:8px;text-align:left;justify-content:flex-start;line-height:1.6;white-space:normal;min-width:0;overflow-wrap:anywhere}.course-map-links small{flex-shrink:0;margin-left:auto;color:#61766a;font-size:12px}.course-card-meta{font-size:13px;color:#61766a}.basics-tabs button{min-height:48px}.grade-card{min-width:0}.grade-card p{overflow-wrap:anywhere}
@media(max-width:760px){.course-visual{grid-template-columns:minmax(0,1fr);gap:10px}.course-visual-art{max-width:480px;margin:auto;width:100%}.course-map{grid-template-columns:minmax(0,1fr)}.course-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.course-steps a{padding:8px 12px;justify-content:center;font-size:13px}.course-map-links small{font-size:11px}.basics-tabs button{flex:1 1 28%;padding:10px 7px}.course-visual h2{font-size:22px}}

.companion-panel{border:1px solid #b8dbd1;background:#f1fbf6}.companion-optional>summary{padding:12px;cursor:pointer;font-weight:700}.companion-optional .panel{margin-top:16px}
.teaching-visual{margin:24px 0;grid-template-columns:minmax(0,1.25fr) minmax(220px,1fr)}.teaching-visual figcaption{min-width:0}.teaching-visual .course-visual-art{width:100%;max-width:680px}.illustration-prompt{padding:12px 14px;border-left:3px solid var(--green);background:#eaf1e3;border-radius:var(--r-sm)}.illustration-prompt b{display:block;margin-bottom:4px}.course-visual-art>.text-link{margin-top:8px;min-height:44px}.teaching-visual img{object-fit:contain;background:#f3f6eb}.comic-panel .course-visual-art{min-width:0}#illustration-dialog{width:min(1020px,calc(100vw - 28px));box-sizing:border-box;padding:20px}.illustration-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.illustration-dialog-head h2{margin:0}.illustration-dialog-head button{min-height:44px;white-space:nowrap}.illustration-zoom{max-width:100%;overflow:auto;overscroll-behavior:contain;border-radius:var(--r-lg);background:#f3f6eb}.illustration-zoom img{display:block;width:max(640px,100%);max-width:none;height:auto}.illustration-dialog-hint,.illustration-description{font-size:15px;line-height:1.8}.illustration-zoom:focus-visible{outline:3px solid var(--green);outline-offset:3px}
@media(max-width:1000px){.teaching-visual{grid-template-columns:minmax(0,1fr);gap:12px}.teaching-visual .course-visual-art{margin:auto}.teaching-visual figcaption h2{font-size:22px}}@media(max-width:400px){#illustration-dialog{padding:14px}.illustration-dialog-head h2{font-size:21px}}

/* home-experience.css */
.greeting-symbol{display:inline-block;font-size:26px;vertical-align:middle;margin-left:5px}
.home-bubble-hero{position:relative;isolation:isolate;overflow:hidden}
.hero-bubbles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.hero-bubble{position:absolute;display:block;width:38px;height:38px;bottom:18%;left:58%;border:1px solid rgba(114,158,134,.26);border-radius:50%;background:radial-gradient(circle at 29% 25%,rgba(255,255,255,.84) 0 5%,rgba(255,255,255,.15) 13%,rgba(182,215,191,.12) 55%,rgba(255,255,255,.35) 100%);box-shadow:inset -3px -4px 9px rgba(137,185,159,.09);animation:hero-bubble-rise 16s ease-in-out infinite alternate;will-change:transform}
.bubble-2{width:22px;height:22px;left:69%;bottom:48%;animation-duration:12s;animation-delay:-4s}
.bubble-3{width:54px;height:54px;left:84%;bottom:13%;animation-duration:18s;animation-delay:-9s}
.bubble-4{width:15px;height:15px;left:50%;bottom:66%;animation-duration:13s;animation-delay:-6s}
.bubble-5{width:28px;height:28px;left:92%;bottom:62%;animation-duration:15s;animation-delay:-11s}
.bubble-6{width:19px;height:19px;left:76%;bottom:79%;animation-duration:14s;animation-delay:-2s}
.bubble-7{width:44px;height:44px;left:46%;bottom:8%;animation-duration:19s;animation-delay:-13s}
.home-bubble-hero .hero-text,.home-bubble-hero .hero-copy{position:relative;z-index:2}
.home-bubble-hero .hero-illustration,.home-bubble-hero .home-illustration{z-index:1}
@keyframes hero-bubble-rise{0%{transform:translate3d(0,10px,0) scale(.92);opacity:.45}50%{opacity:.75}100%{transform:translate3d(12px,-42px,0) scale(1.05);opacity:.38}}
.reduce-motion .hero-bubble{animation:none;will-change:auto;opacity:.45}
@media(prefers-reduced-motion:reduce){.hero-bubble{animation:none;will-change:auto;opacity:.45}}
@media(max-width:700px){.hero-bubble{width:25px;height:25px}.bubble-3{width:38px;height:38px}.bubble-4{width:12px;height:12px}.bubble-7{left:55%;width:32px;height:32px}.greeting-symbol{font-size:23px}}

@media(max-width:700px) and (prefers-reduced-motion:no-preference){.hero-bubble:nth-child(n+4){display:none}.hero-bubble{animation-duration:16s}}

/* feedback.css */
.feedback-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:24px 0;background:#edf2e6}.feedback-page{max-width:900px}.feedback-page label{display:block;font-weight:600;margin:16px 0 8px}.feedback-page input,.feedback-page select,.feedback-page textarea{box-sizing:border-box;width:100%;font:inherit;line-height:1.7;background:#fffefa;color:#174b42;border:1px solid #cbd8c3;border-radius:var(--r-md);padding:12px;min-height:48px}.feedback-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.feedback-tools{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.feedback-tools button{min-height:48px;white-space:normal}.feedback-message{white-space:pre-wrap;overflow-wrap:anywhere}.feedback-status{background:#edf2e6;padding:12px;border-radius:var(--r-sm)}.feedback-ticket{margin:16px 0}.feedback-id{font-size:12px;overflow-wrap:anywhere}.feedback-error{color:#a33329;min-height:24px}.feedback-page summary{min-height:44px;cursor:pointer}.feedback-page [role=status]{line-height:1.6}
@media(max-width:700px){.feedback-fields{grid-template-columns:1fr;gap:0}.feedback-banner{align-items:flex-start;flex-direction:column}.feedback-tools>*{flex:1 1 140px}}
.feedback-mail-address{display:flex;align-items:center;gap:10px;flex-wrap:wrap;overflow-wrap:anywhere}.feedback-mail-address strong{user-select:text}

/* journey.css */
.journey-banner{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:24px 28px;margin:0 0 28px;border:1px solid #cbded5;border-radius:var(--r-xl);background:linear-gradient(120deg,#edf5ee,#fff9ed);box-shadow:0 6px 20px #174b4205}.journey-banner>div{flex:1 1 300px;min-width:0}.journey-banner h2{font-size:22px;line-height:1.5;margin:6px 0}.journey-banner p{font-size:14px;color:#50665c;line-height:1.7;margin:8px 0}.journey-banner small{display:block;color:#62756b;line-height:1.7}.journey-weeks{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.journey-weeks .selected{background:#174b42;color:#fff}.journey-units{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.journey-unit{padding:24px;background:white;border:1px solid #e2e8df;border-radius:var(--r-xl);display:flex;flex-direction:column;gap:9px;min-width:0}.journey-unit h2{font-size:19px;margin:0}.journey-unit p{font-size:14px;line-height:1.7;margin:0;color:#637469}.journey-art{font-size:34px}.journey-unit>small{color:#668074;font-size:12px}.journey-unit button{margin-top:auto}.journey-done{margin-top:3px}.journey-sample{padding:12px;background:#f5f8f2;border-radius:var(--r-md);font-family:Georgia,serif}.journey-run{max-width:920px;margin:auto}.journey-run-head{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.journey-run-head h1{font-size:28px;margin:8px 0 20px}.journey-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;gap:8px;margin:10px 0 24px}.journey-steps li{display:flex;gap:8px;align-items:center;color:#687c70;font-size:13px;padding:12px 6px;border-bottom:2px solid #dce5da}.journey-steps span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#ebf0e7;flex-shrink:0}.journey-steps .current{color:#174b42;border-color:#174b42;font-weight:700}.journey-steps .current span{background:#174b42;color:white}.journey-learning{text-align:center;padding:32px}.journey-learning h2{font-size:26px;line-height:1.6;overflow-wrap:anywhere}.journey-learning p{line-height:1.85}.journey-lesson-art{font-size:62px;margin:8px}.journey-method{text-align:left;padding:22px;background:#f5f8f2;border-radius:var(--r-lg);margin:26px 0}.journey-method h3{font-size:17px;margin-top:0}.journey-method p{font-size:14px;color:#596f62}.journey-method textarea{width:100%;min-height:110px;resize:vertical;margin:10px 0}.journey-method label{font-size:14px}.journey-passage{background:#f5f8f2;border:1px solid #e2eadd;border-radius:var(--r-lg);padding:20px;margin:20px 0;overflow-wrap:anywhere;white-space:pre-wrap}.journey-passage small{font-size:12px;color:#637469}.journey-choices{display:grid;gap:12px;max-width:560px;margin:24px auto}.journey-choices button{min-height:56px;white-space:normal;overflow-wrap:anywhere}.journey-feedback{font-size:14px;color:#526b5c;min-height:24px;margin:16px 0}.journey-hint{background:#fff8e9;border-radius:var(--r-md);padding:16px;line-height:1.8;text-align:left;font-size:14px}.journey-outcomes{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.journey-parent{margin-bottom:22px}.family-list{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.family-list button[aria-pressed=true]{background:#e2ede1;color:#174b42;opacity:1}.journey-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.journey-parent details{margin:18px 0}.journey-parent summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:14px}.journey-report-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:24px 0}.journey-report-metrics>div{background:#f5f8f2;border-radius:var(--r-md);padding:16px;text-align:center}.journey-report-metrics strong{font-size:28px;display:block}.journey-report-metrics small{display:block;font-size:12px;color:#637469;margin-top:6px}.journey-skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.journey-skills>div{border:1px solid #dfe8db;border-radius:var(--r-md);padding:14px;display:flex;flex-direction:column;gap:6px}.journey-skills b{font-size:14px}.journey-skills span{font-size:13px;color:#3d6957}.journey-skills small{font-size:11px;color:#6a7a70;line-height:1.6}#journey-add-child{display:grid;gap:12px}html[data-learning-stage=junior] .journey-lesson-art{font-size:36px}html[data-learning-stage=junior] .journey-unit{border-radius:var(--r-md)}html[data-learning-stage=junior] .journey-sample{font-family:inherit}
@media(min-width:1500px){.journey-units{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1100px){.journey-units{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.journey-banner{padding:20px;border-radius:var(--r-lg);gap:12px}.journey-banner h2{font-size:20px}.journey-banner>.primary{width:100%}.journey-units{grid-template-columns:1fr}.journey-unit{padding:20px}.journey-run-head h1{font-size:25px}.journey-steps{gap:4px}.journey-steps li{flex-direction:column;font-size:11px;text-align:center;gap:6px}.journey-learning{padding:22px 16px}.journey-learning h2{font-size:22px}.journey-method{padding:16px}.journey-outcomes>*{width:100%}.journey-form-grid,.journey-skills{grid-template-columns:1fr}.journey-report-metrics>div{padding:14px 5px}.journey-parent .family-list button{max-width:100%;white-space:normal}#journey-settings select{max-width:100%}.journey-banner .eyebrow{font-size:11px;letter-spacing:1px}}

.daily-details{margin-top:12px}.daily-details summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:14px;color:#174b42}.daily-budget{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0;margin:18px 0}.daily-budget li{padding:12px;background:#f5f8f2;border:1px solid #dfe8db;border-radius:var(--r-md);display:flex;flex-direction:column;gap:8px;font-size:13px}.daily-budget b{font-size:14px}.checkup-view progress{display:block;width:100%;height:8px;margin:16px 0 30px;accent-color:#174b42}.journey-method button[aria-pressed=true]{background:#174b42;color:#fff}.checkup-view .record-actions{flex-wrap:wrap}.checkup-view .record-actions button{white-space:normal;max-width:100%;min-height:44px}.checkup-view .journey-skills{text-align:left}@media(max-width:600px){.daily-budget{grid-template-columns:repeat(2,minmax(0,1fr))}.checkup-view .record-actions{display:flex;flex-direction:column;align-items:stretch}}

/* dress.css */
.dress-banner{display:flex;align-items:center;gap:24px;background:#f3eadb;margin:24px 0;position:relative;overflow:hidden}.dress-banner h2{font-size:28px}.dress-banner p{line-height:1.8}.dress-banner>img{width:160px;margin-left:auto;transform:rotate(-8deg)}.dress-banner>span{font-size:50px}.dress-layout{display:grid;grid-template-columns:minmax(240px, .9fr) minmax(280px,1.3fr);gap:22px;margin:22px 0}.dress-stage{text-align:center;background:linear-gradient(160deg,#e9eee1,#faf4e7);align-self:start}.dress-weather{display:inline-block;padding:8px 16px;background:#fff8;border-radius:40px;font-weight:700}.dress-stage p{line-height:1.8}.dress-avatar{width:min(100%,280px);aspect-ratio:3 / 4;position:relative;margin:0 auto}.dress-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.dress-outfit-label{min-height:32px;font-size:14px}.dress-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.dress-tabs button{border:1px solid #dce3d9;border-radius:var(--r-md);background:#f8f9f3;min-height:48px;color:#174b42;font-weight:700}.dress-tabs button[aria-pressed=true]{background:#174b42;color:white}.dress-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.dress-item{display:flex;flex-direction:column;align-items:center;gap:6px;background:#faf9f4;border:2px solid transparent;border-radius:var(--r-lg);padding:12px 6px;color:#174b42;min-width:0;min-height:168px}.dress-item img{width:100%;height:80px;object-fit:contain}.dress-item b{font-size:14px;overflow-wrap:anywhere}.dress-item span,.dress-item small{font-size:12px}.dress-item.selected{border-color:#174b42;background:#edf3e9}.dress-item:disabled{opacity:.75;cursor:default}.dress-feedback{min-height:30px;line-height:1.8;color:#174b42;font-weight:600}.dress-english{font-size:21px;line-height:1.7;font-weight:600}.dress-mission,.dress-learning{margin-bottom:22px}.dress-learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.dress-learning-grid p{line-height:1.8;overflow-wrap:anywhere}.dress-learning-grid article{min-width:0}.dress-learning-grid h3{font-size:18px}.dress-tip{background:#f3f1e6;padding:16px;border-radius:var(--r-md);font-size:14px}.dress-learning-grid label{display:block;font-weight:600;margin:14px 0 8px}.dress-learning-grid input,.dress-learning-grid textarea{width:100%;padding:12px;border:1px solid #ccd7cc;border-radius:var(--r-md);background:white;color:#174b42;font:inherit;box-sizing:border-box;min-height:48px}.dress-learning-grid input{margin-bottom:12px}.dress-task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dress-task{display:flex;align-items:flex-start;flex-direction:column;gap:10px;border:1px solid #dde4d6;background:#faf9f3;padding:18px;border-radius:var(--r-lg);color:#174b42;text-align:left;min-height:120px}.dress-task span{font-size:28px}.dress-task small{color:#5c7369}.dress-task[aria-pressed=true]{border:2px solid #174b42;background:#edf3e9}.dress-looks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.dress-looks article{padding:12px;border-radius:var(--r-lg);background:#f8f7ef;min-width:0}.dress-looks p{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.dress-mini{max-width:150px}.dress-banner .primary,.dress-layout button,.dress-learning button,.dress-mission button,.dress-looks button{min-height:48px}button[data-dress-item]:focus-visible,button[data-dress-slot]:focus-visible,button[data-dress-mission]:focus-visible{outline:3px solid #d7895a;outline-offset:3px}
@media(max-width:1100px){.dress-learning-grid{grid-template-columns:1fr 1fr}.dress-learning-grid article:last-child{grid-column:1 / -1}.dress-looks{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.dress-banner{gap:12px;padding:20px!important}.dress-banner>img{width:88px;position:absolute;right:12px;top:20px;opacity:.45}.dress-banner>span{display:none}.dress-banner>div{position:relative;z-index:1}.dress-banner h2{font-size:23px}.dress-banner p{max-width:220px;font-size:14px}.dress-layout,.dress-learning-grid{grid-template-columns:1fr}.dress-layout{gap:16px}.dress-avatar{max-width:210px}.dress-stage{padding:20px!important}.dress-stage h2{font-size:24px}.dress-stage p{font-size:14px}.dress-learning-grid article:last-child{grid-column:auto}.dress-items{gap:8px}.dress-item{min-height:150px;padding:10px 4px}.dress-item b{font-size:12px}.dress-item img{height:65px}.dress-task-grid,.dress-looks{grid-template-columns:repeat(2,minmax(0,1fr))}.dress-task{padding:12px;font-size:14px}.dress-tabs{gap:5px}.dress-tabs button{font-size:13px}.dress-english{font-size:18px}}

/* Fold/unfold: decorative art stays within 1.2x of its 88px folded size. */
.dress-banner>div{min-width:0;flex:1}.dress-banner>img{width:104px;flex:0 0 104px;height:auto;object-fit:contain}
@media(min-width:701px){.dress-avatar:not(.dress-mini){max-width:250px}}
@media(max-width:700px){.dress-banner{display:grid;grid-template-columns:minmax(0,1fr) 88px;align-items:start}.dress-banner>img{position:static;width:88px;opacity:1;margin:8px 0 0;flex:none}.dress-banner p{max-width:none}}

/* A narrow unfolded pane cannot fit two minimum-width wardrobe columns. */
.dress-avatar:not(.dress-mini){width:min(100%,250px,56.25vh)}
@media(max-width:1000px){.dress-layout{grid-template-columns:minmax(0,1fr)}}

/* mobile.css */
/* Shared mobile behavior for Safari, Android WebView and Harmony ArkWeb. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-bottom:92px}
body{min-height:100vh;min-height:100dvh;overscroll-behavior-y:contain}
button,a,summary{touch-action:manipulation}textarea,input,select{font-size:16px}
.sidebar{min-height:0;height:100vh;height:100dvh}
dialog{max-height:calc(100vh - 36px);max-height:calc(var(--visible-height,100dvh) - 36px);overflow-y:auto;overscroll-behavior:contain}
.entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.entry-card{display:flex;align-items:flex-start;gap:14px;min-width:0;text-align:left;padding:22px;border:1px solid var(--line);border-radius:var(--r-xl);background:#fffefa;color:var(--ink);transition:background var(--dur) var(--ease),transform var(--dur) var(--ease)}
.entry-card:hover{background:#edf3e9;transform:translateY(-2px)}.entry-emoji{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:var(--r-md);background:#edf3e7;font-size:25px}
.entry-copy{flex:1;min-width:0}.entry-copy b{font-size:16px;display:block;line-height:1.5}.entry-copy small{font-size:13px;display:block;color:var(--muted);line-height:1.8;margin-top:6px}.entry-copy em{display:block;font-style:normal;font-size:12px;color:#4b7964;margin-top:12px}.entry-card>.icon{flex-shrink:0;width:18px;margin-top:12px}
.home-entries{grid-template-columns:1fr}.home-entries .entry-card{align-items:center;padding:16px 18px}.home-entries .entry-copy small{margin-top:3px}.home-entries .entry-copy em{margin-top:4px}.home-creative{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}
.home-support,.parent-access{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px}.home-support{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}.parent-access p{font-size:14px;line-height:1.8;margin-top:8px;color:var(--muted)}.parent-access small{display:block;font-size:12px;color:var(--muted);margin-top:8px}.parent-access button{flex-shrink:0}
.hub-note{padding:20px;background:#edf3e7;border-radius:var(--r-lg);font-size:14px;line-height:1.8;margin-top:24px}
.section-trail{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 20px;border-bottom:1px solid var(--line);padding-bottom:10px}.section-trail .back-button{margin:0;min-height:44px}.section-trail>span{font-size:12px;color:var(--muted)}
@media(min-width:701px){.sidebar nav button{min-height:52px}.sidebar .side-label{margin-top:30px}.sidebar .side-companion{padding-top:25px}.page-intro h1{line-height:1.4}.sidebar .side-companion{margin-top:auto}}
@media(min-width:701px) and (max-width:1100px){.entry-grid:not(.home-entries){grid-template-columns:repeat(2,minmax(0,1fr))}.entry-card{padding:18px}.home-creative{grid-template-columns:1fr}}
@media(max-width:700px),(max-height:500px) and (max-width:1000px){
  .shell{display:block}.sidebar{position:fixed;top:auto;bottom:0;left:0;width:100%;height:calc(64px + env(safe-area-inset-bottom,0px));min-height:0;padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));overflow:visible;z-index:30;background:#fffefa;border-right:0;border-top:1px solid #dce5d9}
  .sidebar .brand,.sidebar .side-label,.sidebar .side-companion,.sidebar .parent-entry,.sidebar .side-footer{display:none}
  #navigation{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;height:100%}
  #navigation button{height:48px;min-height:48px;min-width:0;max-width:none;padding:3px 1px;display:flex;flex-direction:column;justify-content:center;gap:2px;font-size:11px;text-align:center;border-radius:var(--r-sm);position:relative}
  #navigation button .icon{width:19px;height:19px}#navigation button b{position:absolute;top:1px;right:5px;font-size:9px;padding:1px 4px}
  .workspace{padding:env(safe-area-inset-top,0px) max(16px,env(safe-area-inset-right,0px)) calc(88px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
  .entry-grid,.home-creative{grid-template-columns:1fr;gap:12px}.entry-card{padding:18px 16px;gap:12px}.entry-copy b{font-size:16px}.entry-copy small{font-size:13px}.home-support,.parent-access{align-items:flex-start;flex-direction:column;gap:8px}.home-support .text-link{font-size:13px}.parent-access button{width:100%;margin-top:10px}.section-trail{gap:6px 16px}.section-trail>span{font-size:12px}
  .topbar{min-height:64px;height:auto;padding:14px 0}.breadcrumb{font-size:12px}.local-status{display:none}
  .top-actions{gap:8px}.top-actions button{min-height:44px;min-width:44px}
  .world-card small,.hero p,.practice-banner p,.daily-scene p{font-size:12px;line-height:1.7}
  .world-card b{font-size:14px}.world-card{min-height:180px}.hero-tags{font-size:10px;flex-wrap:wrap}
  .greeting{display:block;margin-bottom:20px}.greeting h1{font-size:26px;line-height:1.4;overflow-wrap:anywhere}.greeting .date-pill{display:none}.hero{padding:20px 18px}.hero h2{font-size:24px;margin:10px 0 8px}.hero-tags{margin:12px 0 16px}.page-footer{padding-bottom:12px}.page-footer span{font-size:11px}
  .studio-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.studio-tabs button{font-size:13px;min-height:48px}
  .canvas-help{font-size:13px}.ink-tools{gap:12px}.ink-color{width:48px;min-height:48px}
  input,textarea,select,.form-group input,.form-group select,#word-search{font-size:16px!important;min-height:48px;max-width:100%}
  .filters{flex-wrap:wrap}.filter{min-height:48px}.story-tools{gap:10px}.story-tools>*{flex:1 1 130px}
  .primary,.secondary,.danger{min-height:48px;line-height:1.5;white-space:normal}
  dialog{width:calc(100% - 24px);max-width:520px;padding:24px 18px;border-radius:var(--r-xl);margin:auto;max-height:calc(var(--visible-height,100dvh) - 24px - env(safe-area-inset-top,0px));}
  .dialog-actions{flex-wrap:wrap}.dialog-actions>*{flex:1 1 110px;min-height:48px}
  .toast{bottom:calc(78px + env(safe-area-inset-bottom,0px));max-width:calc(100% - 24px);font-size:14px}
  .keyboard-open .sidebar{display:none}.keyboard-open .workspace{padding-bottom:24px}.keyboard-open .toast{bottom:12px}
}
@media(max-height:500px) and (max-width:1000px){
  .sidebar{height:calc(58px + env(safe-area-inset-bottom,0px))}#navigation{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}#navigation button{font-size:11px}
  .entry-grid:not(.home-entries){grid-template-columns:repeat(2,minmax(0,1fr))}
  .workspace{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}.topbar{padding:8px 0;min-height:52px}.toast{bottom:calc(70px + env(safe-area-inset-bottom,0px))}
  .dashboard{grid-template-columns:1fr}.right-rail{display:none}.scene-grid,.world-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.studio-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}
  .studio-writing,.studio-drawing{padding:20px}.ink-tools{margin:12px 0}#studio-canvas{max-height:56vh;width:auto;max-width:100%;margin:auto}
}

/* theme-picker.css */
.theme-selector{border:1px solid var(--line);border-radius:var(--r-xl);background:#edf3e7;margin:0 0 24px;padding:18px}.theme-current{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.theme-current p,.theme-quick{font-size:13px;line-height:1.7}.theme-current strong{font-size:20px;display:block;margin-top:4px}.theme-quick{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.theme-quick select{min-height:48px;max-width:100%;padding:10px;border:1px solid var(--line);border-radius:var(--r-md);color:var(--ink);background:#fffefa}.theme-browser summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;margin-top:12px;border-top:1px solid var(--line);padding-top:10px;font-size:14px}.theme-browser input{width:100%;min-height:48px;background:#fffefa;border:1px solid var(--line);border-radius:var(--r-md);padding:12px;font:inherit;margin:12px 0}.theme-groups{display:flex;flex-wrap:wrap;gap:8px}.theme-groups button{min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:#fffefa;font-size:13px}.theme-groups [aria-pressed=true]{background:var(--green);color:white}.theme-count{font-size:13px;line-height:1.8;margin:14px 0}.theme-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:400px;overflow-y:auto;overscroll-behavior:contain;padding:4px}.theme-card{min-width:0;min-height:96px;border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 10px;background:#fffefa;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;text-align:center}.theme-card>span{font-size:28px}.theme-card b{font-size:14px;overflow-wrap:anywhere}.theme-card small{font-size:11px;color:var(--muted)}.theme-card.active{border:2px solid var(--green);background:#dcebdc}.theme-card[hidden],.theme-empty[hidden]{display:none}.theme-empty{padding:18px;font-size:14px}.studio-progress{display:block;font-size:13px;margin:0 0 20px}@media(max-width:700px){.theme-selector{padding:16px}.theme-current{align-items:flex-start}.theme-current strong{font-size:18px}.theme-quick{width:100%}.theme-quick select{flex:1;min-width:0}.theme-cards{grid-template-columns:repeat(2,minmax(0,1fr));max-height:380px}.theme-groups{gap:6px}.theme-groups button{padding:10px;font-size:12px}}

/* dictionary.css */
.dictionary-search{margin-bottom:24px}.dictionary-search label{display:block;font-size:14px;font-weight:600;margin:12px 0}.dictionary-search select{min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:#fffefa;font:inherit;color:var(--ink);max-width:100%}.dictionary-search .search{margin-bottom:16px}.dictionary-suggestions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0;font-size:13px}.dictionary-alphabet summary{cursor:pointer;min-height:48px;display:flex;align-items:center;font-size:14px}.dictionary-letters{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:8px}.dictionary-letters button{padding:0;min-width:0;min-height:48px}.dictionary-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dictionary-entry{min-width:0}.dictionary-word{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.dictionary-word>span{font-size:30px}.dictionary-word h2{font-size:25px;overflow-wrap:anywhere;flex:1;min-width:100px}.dictionary-word button{flex-shrink:0}.dictionary-meanings{padding-left:20px;margin:18px 0;font-size:16px;line-height:1.8}.dictionary-example{padding:14px;background:#edf3e7;border-radius:var(--r-md);margin-top:12px;line-height:1.8;overflow-wrap:anywhere}.dictionary-example p[lang=en]{font-size:17px}.dictionary-example p{font-size:14px}.dictionary-example .text-link{font-size:13px}.dictionary-pages{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:24px 0;font-size:13px}.dictionary-search .search input{font:inherit;font-size:16px}@media(max-width:700px){.dictionary-results{grid-template-columns:1fr}.dictionary-letters{grid-template-columns:repeat(7,minmax(0,1fr))}.dictionary-search{padding:20px 16px}.dictionary-search .search{flex-wrap:wrap}.dictionary-search .search input{flex-basis:100%;min-height:48px}.dictionary-search .search button{width:100%}.dictionary-word h2{font-size:23px}.dictionary-word button{padding:0 12px}.dictionary-entry{padding:20px 16px}}

.dictionary-ipa{font-size:14px;line-height:1.8;overflow-wrap:anywhere;color:var(--muted)}.dictionary-forms{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;font-size:13px;line-height:1.8}.dictionary-forms span{border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 10px;overflow-wrap:anywhere}.dictionary-search .parent-notice a{display:inline-block;min-height:44px;line-height:44px}

/* pet.css */
.pet-host[hidden],.pet-panel[hidden]{display:none!important}
.floating-pet{position:fixed;width:96px;height:116px;z-index:24;user-select:none}
.pet-launch{width:96px;height:100px;padding:0;display:flex;flex-direction:column;align-items:center;background:transparent;border-radius:var(--r-xl);position:relative}
.pet-launch img{width:76px;height:84px;filter:drop-shadow(0 6px 5px #174b4220);pointer-events:none;transform-origin:50% 90%}
.pet-name{font-size:11px;font-weight:700;background:#fffefaed;padding:3px 10px;border:1px solid #d9e4d1;border-radius:var(--r-xl);line-height:1.4}
.pet-drag{display:block;width:44px;min-height:44px;height:44px;padding:0;margin:-20px 0 -8px 52px;position:relative;z-index:1;border-radius:var(--r-xl);font-size:22px;line-height:1;color:#174b42;background:#fffefaeb;border:1px solid #d9e4d1;cursor:grab;touch-action:none}
.pet-drag:active{cursor:grabbing}
.pet-spark{position:absolute;right:6px;top:24px;color:#d19d33;font-size:24px}
.pet-host[data-level="1"] .pet-spark{display:none}
.pet-effect{position:absolute;left:50%;top:7px;z-index:2;min-width:28px;height:28px;display:grid;place-items:center;font-size:23px;opacity:0;pointer-events:none;transform:translate(-50%,8px) scale(.7)}
.pet-action-feed .pet-launch img{animation:pet-chew .95s ease-in-out}
.pet-action-pat .pet-launch img{animation:pet-nod .85s ease-in-out}
.pet-action-play .pet-launch img,.pet-action-celebrate .pet-launch img{animation:pet-spin-hop 1.05s cubic-bezier(.25,.8,.35,1)}
.pet-action-rest .pet-launch img{animation:pet-yawn 1.45s ease-in-out}
.pet-action-wake .pet-launch img,.pet-action-greet .pet-launch img{animation:pet-greet .9s ease-in-out}
.pet-action-feed .pet-effect,.pet-action-pat .pet-effect,.pet-action-play .pet-effect,.pet-action-rest .pet-effect,.pet-action-wake .pet-effect,.pet-action-greet .pet-effect,.pet-action-celebrate .pet-effect{animation:pet-effect-pop 1.1s ease-out both}
.pet-idle-wiggle .pet-launch img{animation:pet-idle 0.8s ease-in-out}
.pet-panel{position:fixed;width:280px;max-width:calc(100vw - 24px);z-index:25;overflow-y:auto;overscroll-behavior:contain;background:#fffefa;border:1px solid #d9e4d1;border-radius:var(--r-xl);padding:18px;box-shadow:0 12px 36px #174b4226;color:#193f36}
.pet-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pet-panel-heading small{font-size:11px;color:#6a7d70}
.pet-panel-heading h2{font-size:22px;margin-top:4px}
.pet-panel button{min-height:44px;font:inherit;cursor:pointer}
.pet-panel-heading button{width:44px;flex:0 0 44px;border-radius:50%;background:#edf3e7;font-size:24px}
.pet-level{display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:8px;margin:16px 0 8px}
.pet-level span{white-space:nowrap;color:#96782e}
.pet-progress{height:7px;background:#e6edde;border-radius:var(--r-sm);overflow:hidden}
.pet-progress i{display:block;height:100%;background:#65997a;border-radius:var(--r-sm)}
.pet-mood{font-size:12px;color:#61766a;margin:12px 0 6px}
.pet-message{font-size:13px;line-height:1.7;background:#edf3e7;border-radius:var(--r-md);padding:12px;min-height:66px}
.pet-care{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.pet-care button{font-size:12px;background:#f4ead6;border-radius:var(--r-md);padding:8px 4px}
.pet-care button:nth-child(2){background:#f6e7e0}
.pet-care button:nth-child(3){background:#e8f0f5}
.pet-care button:nth-child(4){background:#eeebf4}
.pet-help,.pet-storage-note{font-size:11px;line-height:1.7;color:#73816b;margin-top:12px}
.pet-panel-footer{display:flex;gap:8px;border-top:1px solid #e1e7dc;padding-top:8px;margin-top:12px}
.pet-panel-footer button{flex:1;font-size:12px;color:#61766a;border-radius:var(--r-sm);background:#f2f5ec}
.pet-side-toggle{font-size:12px;min-height:44px;margin-top:10px;color:#174b42;border:1px solid #d9e4d1;border-radius:var(--r-md);padding:8px 12px}
.pet-top-toggle{font-size:23px}
.pet-top-toggle img{display:block;width:30px;height:30px;object-fit:contain}
.pet-resting .pet-launch img{opacity:.8;animation:pet-breathe 3.8s ease-in-out infinite}
.pet-resting.pet-action-rest .pet-launch img{animation:pet-yawn 1.45s ease-in-out}
.pet-host:not(.pet-resting) .pet-launch img{opacity:1}
.reduce-motion .pet-launch img,.reduce-motion .pet-spark,.reduce-motion .pet-effect{animation:none!important}
@keyframes pet-chew{0%,100%{transform:translateY(0) scale(1)}22%,62%{transform:translateY(-3px) scale(1.04,.96)}42%,82%{transform:translateY(0) scale(.97,1.03)}}
@keyframes pet-nod{0%,100%{transform:rotate(0)}28%{transform:rotate(-9deg) translateY(-3px)}55%{transform:rotate(7deg)}78%{transform:rotate(-4deg)}}
@keyframes pet-spin-hop{0%,100%{transform:translateY(0) rotate(0)}32%{transform:translateY(-16px) rotate(-12deg)}66%{transform:translateY(-5px) rotate(14deg)}}
@keyframes pet-yawn{0%,100%{transform:rotate(0) scale(1)}30%{transform:rotate(-5deg) scale(1.04,.96)}60%{transform:rotate(4deg) scale(.98,1.02)}}
@keyframes pet-greet{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-9px) rotate(-8deg)}70%{transform:translateY(-2px) rotate(8deg)}}
@keyframes pet-effect-pop{0%{opacity:0;transform:translate(-50%,8px) scale(.65)}25%{opacity:1;transform:translate(-50%,-3px) scale(1.12)}75%{opacity:1;transform:translate(-50%,-13px) scale(1)}100%{opacity:0;transform:translate(-50%,-20px) scale(.85)}}
@keyframes pet-idle{0%,100%{transform:rotate(0)}35%{transform:rotate(-5deg) translateY(-4px)}70%{transform:rotate(5deg)}}
@keyframes pet-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(2px) scale(.98,1.015)}}
@media(prefers-reduced-motion:reduce){.pet-launch img,.pet-spark,.pet-effect{animation:none!important}}
@media(max-width:700px){.floating-pet{width:96px;height:136px}.pet-launch{position:absolute;left:0;bottom:0;width:96px;height:90px}.pet-launch img{width:66px;height:74px}.pet-drag{position:absolute;top:0;right:0;margin:0;width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;box-shadow:none;font-size:0}.pet-drag::before{content:"⠿";display:grid;place-items:center;width:34px;height:34px;border:1px solid #d9e4d1;border-radius:50%;background:#fffefaeb;color:#174b42;font-size:16px}.pet-name{font-size:10px;padding:3px 10px}.pet-panel{padding:16px}.pet-top-toggle{display:inline-flex!important}.top-actions{gap:6px}}

/* video.css */
.video-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:20px;align-items:start;margin-top:22px}
.video-player{width:100%;aspect-ratio:16/9;background:#183f36;border-radius:var(--r-md);object-fit:contain}
.video-detail h2{font-size:23px;margin:0 0 6px}
.video-detail p{color:var(--muted);line-height:1.7}
.video-transcript{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.video-transcript summary{cursor:pointer;font-weight:700;padding:8px 0}
.video-transcript li{margin:10px 0;line-height:1.6}
.video-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.video-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:center;text-align:left;padding:10px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fffefa;color:inherit;cursor:pointer}
.video-card[aria-pressed="true"]{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.video-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-sm);background:#e8efe7}
.video-card b,.video-card small{display:block}
.video-card b{font-size:14px;line-height:1.4}
.video-card small{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.5}
.video-offline-note{font-size:12px;color:var(--muted);margin-top:12px}
@media(max-width:760px){.video-layout{grid-template-columns:1fr}.video-list{grid-template-columns:1fr}.video-card{grid-template-columns:112px minmax(0,1fr)}}

/* reading.css */
.reading-shell{max-width:1180px;margin:auto}.reader-hero{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:32px;background:linear-gradient(115deg,#e7eee3,#fbf0dc);border:1px solid #d9e3d2;border-radius:var(--r-xxl,28px)}.reader-hero h1{font-size:clamp(26px,3vw,40px);margin:10px 0 14px}.reader-hero p{line-height:1.8;color:#5c7064}.reader-hero .reader-hero-meta{font-size:13px}.reader-hero img{width:30%;max-width:300px;height:auto;border-radius:20px}.reader-hero button{margin-top:10px}.reader-toolbar{margin:26px 0}.reader-levels{display:flex;gap:8px;flex-wrap:wrap}.reader-levels button{min-height:44px;padding:10px 16px;border:1px solid #d5dfcf;background:#fffefa;border-radius:24px;color:#355a4a}.reader-levels button.active,.reader-filters button.active{background:#244f44;color:#fffefa}.reader-level-hint{font-size:13px;color:#65796d;line-height:1.8}#reading-search{max-width:700px;margin:16px 0}#reading-search label{font-weight:600;font-size:14px}.reader-search-row{display:flex;gap:10px;margin-top:8px}.reader-search-row input{min-width:0;flex:1;border:1px solid #cbd8c5;border-radius:12px;padding:12px 14px;min-height:48px;font:inherit;background:#fffefa}.reader-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.reader-filters button{padding:10px 14px;border-radius:20px;min-height:44px}.reader-filters span{font-size:12px;color:#65796d;margin-left:auto}.reader-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.reader-card{border:1px solid #dce4d4;border-radius:20px;background:#fffefa;overflow:hidden;min-width:0;display:flex;flex-direction:column}.reader-card-main{border:0;background:transparent;display:block;text-align:left;padding:0;flex:1;border-radius:0;color:inherit;min-width:0;white-space:normal}.reader-card-main:hover{background:#f7f8ef}.reader-card-main img{display:block;width:100%;height:auto;aspect-ratio:2;object-fit:cover}.reader-card-body{display:flex;flex-direction:column;gap:10px;padding:20px;line-height:1.6}.reader-card-body strong{font-size:20px}.reader-card-body>span[lang=en]{font-family:Georgia,serif;font-size:17px;overflow-wrap:anywhere}.reader-card-body small,.reader-level{font-size:12px;color:#65796d}.reader-card-bookmark{align-self:flex-start;background:transparent;border:0;margin:0 12px 12px;padding:10px;min-height:44px;color:#486c58}.reader-card-bookmark[aria-pressed=true]{color:#915928}.reader-pagination{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:18px;margin:28px 0}.reader-pagination span{font-size:13px}.reader-rights{border-top:1px solid #dce4d4;padding:20px 0;margin-top:24px;color:#66796b;font-size:13px;line-height:1.9}.reader-rights summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}.reader-article{max-width:900px;margin:auto}.reader-heading{display:grid;grid-template-columns:220px minmax(0,1fr);gap:26px;align-items:center;margin:24px 0}.reader-heading>img{width:100%;height:auto;border-radius:20px}.reader-title{font-size:clamp(27px,3vw,37px);margin:8px 0;line-height:1.4}.reader-english-title{font-family:Georgia,serif;font-size:24px;line-height:1.5;margin:10px 0;overflow-wrap:anywhere}.reader-heading>div>p:last-child{font-size:13px;color:#65796d}.reader-controls{padding:20px 24px;background:#eef2e8;border:1px solid #d7e2cf;border-radius:20px;margin-bottom:24px}.reader-play-row,.reader-preferences{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.reader-play-row button{min-height:48px}.reader-play-row span{margin-left:auto;font-size:13px}.reader-preferences{margin-top:12px}.reader-preferences button{min-height:44px;padding:8px 12px}#reading-status{font-size:13px;line-height:1.8;color:#5f7767;margin:10px 0 0;min-height:24px}.reader-paragraph{padding:22px 26px;border-radius:20px;border:1px solid #e1e7dc;background:#fffefa;margin-bottom:18px;scroll-margin-top:25px;transition:background var(--dur,180ms) var(--ease,ease),border-color var(--dur,180ms) var(--ease,ease)}.reader-paragraph.is-current{border-color:#83a68b;box-shadow:inset 4px 0 #7fa88e}.reader-paragraph.is-speaking{background:#edf5e5;border-color:#719b7d;box-shadow:inset 5px 0 #4b846b}.reader-paragraph-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.reader-paragraph-top>span{font:14px Georgia,serif;color:#809783}.reader-paragraph-top button{min-height:44px}.reader-paragraph p[lang=en]{font-family:Georgia,'Times New Roman',serif;font-size:var(--reading-size,21px);line-height:1.95;color:#244c40;margin:12px 0;overflow-wrap:anywhere}.reader-translation{font-size:16px;line-height:1.95;color:#697a6c;margin:14px 0 0}.reader-vocabulary>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reader-vocabulary button{display:flex;flex-direction:column;gap:7px;align-items:flex-start;text-align:left;white-space:normal;overflow-wrap:anywhere;min-height:85px}.reader-vocabulary button span{font:20px Georgia,serif}.reader-vocabulary button small{font-size:13px;color:#6f7b69}.reader-question>p{line-height:1.8}.reader-question>div{display:grid;gap:12px}.reader-question button{text-align:left;white-space:normal;line-height:1.8}.reader-question button.is-correct{background:#e7f1de;border-color:#7b9f70}.reader-question button.is-retry{background:#fff0dd;border-color:#d6ae79}.reader-answer{font-size:14px;min-height:27px;color:#5e7560}.reader-finish{padding:24px;background:#f1ecdc;border-radius:20px;display:flex;align-items:center;gap:24px;justify-content:space-between}.reader-finish h2{font-size:20px;margin:0 0 12px}.reader-finish p{font-size:13px;line-height:1.9;margin:0;color:#66745f}.reader-finish button{flex-shrink:0}.reader-entry{margin:20px 0}.reader-entry button{width:100%;text-align:left;white-space:normal;padding:24px;border:1px solid #d7e2ce;border-radius:20px;background:linear-gradient(105deg,#eef3e7,#f8edda);color:#244f44}.reader-entry strong{display:block;font-size:21px;margin-bottom:10px}.reader-entry span{line-height:1.8;font-size:14px}.reader-entry small{display:block;margin-top:10px;color:#64785f}@media(max-width:1000px){.reader-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reader-heading{grid-template-columns:180px minmax(0,1fr)}}@media(max-width:600px){.reader-hero{padding:24px;position:relative;overflow:hidden;gap:0}.reader-hero>div{position:relative;z-index:1}.reader-hero img{display:none}.reader-grid{gap:14px}.reader-card-body{padding:14px;gap:7px}.reader-card-body strong{font-size:17px}.reader-card-body>span[lang=en]{font-size:16px}.reader-card-body small,.reader-level{font-size:11px}.reader-filters span{width:100%;margin-left:0}.reader-heading{grid-template-columns:1fr;gap:16px}.reader-heading>img{max-height:190px;object-fit:cover}.reader-controls{padding:16px}.reader-play-row{gap:8px}.reader-play-row span{width:100%;margin:0}.reader-paragraph{padding:16px 18px}.reader-paragraph p[lang=en]{font-size:calc(var(--reading-size,21px) - 1px)}.reader-translation{font-size:15px}.reader-vocabulary>div{grid-template-columns:1fr}.reader-vocabulary button{min-height:72px;flex-direction:row;flex-wrap:wrap;align-items:center}.reader-finish{flex-direction:column;align-items:stretch;padding:22px}.reader-entry button{padding:22px}}@media(max-width:360px){.reader-grid{grid-template-columns:1fr}.reader-levels button{padding:9px 12px}.reader-pagination{gap:10px}}@media(prefers-reduced-motion:reduce){.reader-paragraph{transition:none}}

/* product-polish.css */
/* 1.18: keep the existing warm paper, forest green and Bubble rabbit. */
.discovery-stage-tabs,.discovery-filters,.discovery-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0}.discovery-stage-tabs button{flex:1;min-height:48px}.discovery-stage-tabs [aria-pressed=true],.discovery-filters [aria-pressed=true]{background:#174b42;color:#fffdf5;border-radius:var(--r-md)}.discovery-stage-hint{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:#506b62;line-height:1.8}.discovery-stage-hint span{font-size:13px}.discovery-search{margin:22px 0 12px}.discovery-search label{display:block;font-weight:700;margin-bottom:9px}.discovery-search>div{display:flex;gap:8px}.discovery-search input{min-width:0;flex:1;border:1px solid #c8d9ce;border-radius:var(--r-md);padding:12px 16px;font:inherit;color:#174b42;background:#fffefa}.discovery-filters>span{margin-left:auto;color:#526d63;font-size:13px}.discovery-filters button{min-height:44px;padding:8px 14px;border:1px solid #d4dfd4}.discovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.discovery-card{overflow:hidden;border:1px solid #dce4d8;background:#fffefa;border-radius:var(--r-xl);min-width:0;box-shadow:0 5px 18px #174b4205}.discovery-cover{position:relative;background:#edf3e6;overflow:hidden}.discovery-cover img{display:block;width:100%;height:auto}.discovery-cover>span{position:absolute;bottom:12px;left:16px;background:#fffef4ed;border-radius:var(--r-xl);padding:6px 12px;font-size:12px;color:#355c4e}.discovery-card-copy{padding:20px 24px 24px}.discovery-card-copy h2{font-size:22px;margin:8px 0}.discovery-card-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#607368}.discovery-card-copy>small{display:block;font-size:12px;color:#557362;margin:12px 0 18px}.discovery-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.discovery-card-actions .icon-button{font-size:24px;flex-shrink:0}.discovery-reader{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr);gap:24px;margin:24px 0}.comic-panel{min-width:0;border:1px solid #d6e1d2;background:#fffefa;border-radius:var(--r-xxl);overflow:hidden}.comic-progress{display:flex;justify-content:space-between;gap:8px;padding:16px 22px;color:#527064;font-size:13px}.comic-art{display:block;width:100%;height:auto;max-height:300px;object-fit:contain;background:#edf3e7}.comic-bubble{position:relative;margin:22px;padding:20px 24px;background:#f4f5e9;border-radius:var(--r-sm) var(--r-xl) var(--r-xl);outline-offset:4px}.comic-speaker{font-size:12px;color:#527465;font-weight:700}.comic-english{font-family:Georgia,'Times New Roman',serif;font-size:clamp(21px,2.6vw,28px);line-height:1.6;margin:8px 0 16px;color:#173f35}.comic-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.comic-tools button{min-height:44px}.comic-translation{line-height:1.9;border-top:1px dashed #c8d8be;padding-top:14px;color:#486355;margin-bottom:0}.comic-navigation{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:0 20px 20px}.comic-navigation>div{display:flex;gap:6px}.comic-navigation>div button{border:1px solid #d1dfca;background:#f5f7ed;color:#496450;border-radius:50%;width:38px;min-height:44px;font:inherit}.comic-navigation [aria-current=step]{background:#174b42;color:#fffefa}.comic-wordbank{border-radius:var(--r-xl);background:#edf2e4;padding:24px;align-self:start;min-width:0}.comic-wordbank h2{font-size:21px}.comic-wordbank>button{display:grid;grid-template-columns:1fr auto;gap:3px;text-align:left;width:100%;background:#fffefa;border:1px solid #dbe4d5;border-radius:var(--r-md);padding:14px 16px;margin-top:12px;color:#214c3f;font:inherit}.comic-wordbank>button b{font-size:18px}.comic-wordbank>button span:first-of-type{grid-row:2;font-size:13px;color:#617366}.comic-wordbank>button span:last-of-type{grid-row:1/3;grid-column:2;align-self:center}.comic-wordbank>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#516a59}.comic-task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.comic-task-grid .panel{margin:0;min-width:0}.comic-task-grid h2{font-size:22px;line-height:1.5}.comic-options{display:grid;gap:10px;margin:20px 0}.comic-options button{justify-content:flex-start;text-align:left;line-height:1.7;white-space:normal;padding:12px 16px}.comic-options span{margin-right:10px;font-size:12px;color:#5f7765}.comic-options .is-correct{border-color:#76aa87;background:#e3f0df;opacity:1;color:#234e36}.comic-options .is-retry{border-color:#dca78c;background:#fff0e6;color:#6a4c3c}.comic-feedback,.comic-evidence{font-size:14px;line-height:1.9}.comic-evidence{padding:14px 16px;border-left:3px solid #8eb28e;background:#f0f4e6;border-radius:0 var(--r-md) var(--r-md) 0}.comic-apply>p:not(.eyebrow){line-height:1.9}.comic-apply>label:not(.comic-check){display:block;font-size:14px;margin:14px 0 8px}.comic-apply textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:110px;border:1px solid #cddcc9;border-radius:var(--r-md);background:#fffefa;font:inherit;padding:14px;line-height:1.8;color:#254d40}.comic-apply details{margin:16px 0;line-height:1.8}.comic-apply summary{cursor:pointer;padding:10px 0;min-height:44px;box-sizing:border-box;color:#4c6d50}.comic-check{display:flex;align-items:center;gap:10px;min-height:48px;line-height:1.7;font-size:14px}.comic-check input{width:20px;height:20px;flex-shrink:0;accent-color:#174b42}.discovery-save{font-size:12px;color:#526f5c}.discovery-empty{padding:28px}.discovery-teaser{background:linear-gradient(110deg,#f3eddc,#f6f5e9);border:1px solid #e5ddc8;border-radius:var(--r-xl);padding:24px;display:flex;gap:20px;align-items:center;justify-content:space-between;margin:24px 0}.discovery-teaser h2{font-size:24px;margin:8px 0}.discovery-teaser p:not(.eyebrow){font-size:14px;line-height:1.7;color:#65705c}.discovery-meta{font-size:12px;color:#5e6e51}.discovery-teaser button{flex-shrink:0}.home-entries{grid-template-columns:repeat(3,minmax(0,1fr))!important}.home-entries .entry-card{flex-wrap:wrap;gap:10px;padding:18px}.home-entries .entry-copy{flex-basis:calc(100% - 60px)}.home-entries .entry-copy small{line-height:1.75}.home-entries .entry-copy em{font-size:11px}.home-entries .entry-card>.icon{display:none}.home-bubble-hero .primary{background:#fffefa;color:#174b42;border:1px solid #b6ceb8;box-shadow:none}.home-bubble-hero .primary:hover{background:#edf3e4}.home-bubble-hero h2{font-size:clamp(26px,3vw,38px)}.home-bubble-hero{margin-top:0}.home-bubble-hero .hero-tags{gap:12px}.basics-card-thumb{width:100%;height:135px;object-fit:contain;border-radius:var(--r-md);background:#f0f4e9;margin:0 0 16px}.basics-catalog-count{color:#526d5d;font-size:13px;margin:18px 0}.discovery-reader button:focus-visible,.discovery-grid button:focus-visible,.discovery-stage-tabs button:focus-visible,.comic-task-grid button:focus-visible{outline:3px solid #bc7754;outline-offset:3px}.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}
@media(min-width:1500px){.discovery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.discovery-reader{grid-template-columns:minmax(0,1fr)}.comic-wordbank{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.comic-wordbank>h2,.comic-wordbank>.eyebrow,.comic-wordbank>p,.comic-wordbank>a{grid-column:1/-1}.comic-wordbank>button{margin:0;padding:12px}.home-entries .entry-emoji{display:none}.home-entries .entry-copy{flex-basis:100%}.comic-task-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.discovery-grid{grid-template-columns:minmax(0,1fr);gap:16px}.discovery-card-copy{padding:18px 20px}.discovery-stage-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.discovery-stage-tabs button{padding:10px}.discovery-teaser{padding:20px;flex-direction:column;align-items:flex-start;gap:12px}.discovery-teaser h2{font-size:22px}.discovery-teaser button{width:100%}.comic-progress{padding:14px 16px}.comic-bubble{margin:14px;padding:16px}.comic-navigation{padding:0 12px 16px;gap:5px}.comic-navigation>.secondary{padding:8px 10px;font-size:13px}.comic-navigation>div{gap:4px}.comic-navigation>div button{width:32px}.comic-wordbank{padding:18px;gap:8px}.comic-wordbank>button{padding:12px 8px;grid-template-columns:1fr;overflow-wrap:anywhere}.comic-wordbank>button b{font-size:15px}.comic-wordbank>button span:last-of-type{display:none}.comic-wordbank>button span:first-of-type{font-size:12px}.home-entries{grid-template-columns:minmax(0,1fr)!important}.home-entries .entry-card{flex-wrap:nowrap;padding:16px}.home-entries .entry-emoji{display:grid}.home-entries .entry-copy{flex-basis:auto}.home-entries .entry-card>.icon{display:block}.home-entries .entry-copy em{font-size:12px}.discovery-filters{gap:6px}.discovery-filters button{font-size:13px;padding:8px 10px}.discovery-filters>span{width:100%;margin-left:0}.comic-question,.comic-apply{padding:20px}.comic-english{font-size:23px}.comic-task-grid h2{font-size:20px}}
@media(prefers-reduced-motion:no-preference){.discovery-card{transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.discovery-card:hover{box-shadow:0 8px 28px #174b420b;transform:translateY(-2px)}}
.reduce-motion .discovery-card{transition:none;transform:none}
.comic-task-grid [data-discovery]{min-width:44px;min-height:44px}.comic-navigation>div button{min-width:44px;min-height:44px}
@media(max-width:600px){.comic-navigation{display:grid;grid-template-columns:1fr 1fr;gap:10px}.comic-navigation>div{grid-column:1/-1;grid-row:1;justify-content:center;gap:10px}.comic-navigation>div button{width:44px}.comic-navigation>.secondary{min-height:44px}}

.skip:not(:focus){clip-path:inset(50%);pointer-events:none}
.discovery-shell .eyebrow,.discovery-shell .page-intro>p,.discovery-shell .text-link,.discovery-shell .back-button,.section-trail>span,.section-trail .back-button{color:#476451}.comic-navigation button:not([aria-current="step"]){color:#476451}.discovery-shell .comic-wordbank>button{color:#244b3d}.discovery-shell .parent-notice{color:#526b59}
.discovery-shell .discovery-filters .text-link[aria-pressed="true"]{color:#fffefa}
.comic-wordbank>[data-open-basics]{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:44px;margin:0;padding:10px 0;background:transparent;border:0;border-radius:0;box-shadow:none;font-size:14px;line-height:1.7;white-space:normal;text-align:left}

/* product-experience.css */
/* Learning content components. Colors inherit the shared semantic palette. */
.moment-section{margin:32px 0}.moment-section .section-heading{margin-top:0}.moment-section .section-heading h2{margin-top:6px}.moment-levels{display:flex;gap:8px;flex-wrap:wrap}.moment-levels button{padding:9px 15px;min-height:44px}.moment-hint{font-size:13px;color:var(--muted);margin:12px 0 18px}.moment-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--line);border-radius:var(--r-xxl);overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.moment-copy{padding:30px;background:linear-gradient(135deg,var(--brand-soft),var(--mint-soft));min-width:0}.moment-meta{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;color:var(--muted);font-size:12px}.moment-meta>span:first-child{color:var(--brand);font-weight:700}.moment-copy h3{font-size:18px;line-height:1.6;margin:22px 0 12px}.moment-english{font-family:Georgia,'Times New Roman',serif;font-size:clamp(23px,2.3vw,31px);line-height:1.65;overflow-wrap:anywhere;color:var(--ink)}.moment-chinese{font-size:15px;color:var(--muted);margin:12px 0 22px}.moment-actions{display:flex;gap:10px;flex-wrap:wrap}.moment-actions button{min-height:48px}.moment-practice{padding:30px;min-width:0}.moment-practice>.eyebrow{margin-bottom:14px}.moment-pattern{font-family:Georgia,'Times New Roman',serif;font-size:20px;color:var(--brand);overflow-wrap:anywhere;line-height:1.8}.moment-practice>p:not(.eyebrow):not(.moment-pattern){font-size:14px;line-height:1.9;margin-top:14px}.moment-practice details{padding:14px 0;margin-top:12px;border-top:1px solid var(--line)}.moment-practice summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;color:var(--brand);font-size:14px;font-weight:600}.moment-practice summary:before{content:'+';font-size:18px}.moment-practice details[open]>summary:before{content:'−'}.moment-practice details p{font-size:15px;line-height:1.9;margin:8px 0}.moment-practice details p[lang=en]{font-family:Georgia,serif;font-size:19px}.moment-practice .moment-note{padding:14px 16px;background:var(--gold-soft);border-radius:var(--r-md);color:#715629;font-size:13px!important}.moment-bottom{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:14px}.moment-bottom p{font-size:12px;color:var(--muted)}.moment-bottom button{min-height:44px;flex-shrink:0}.moment-compact .moment-card{grid-template-columns:1fr}.moment-compact .moment-copy{padding:24px}.moment-compact .moment-copy h3{margin-top:14px}.moment-compact .moment-english{font-size:25px}.moment-compact .moment-chinese{margin-bottom:18px}.moment-compact .section-heading>button{white-space:nowrap;min-height:44px}
.reader-collections{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:24px 0}.reader-collection{padding:16px 14px;text-align:left;min-height:92px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-lg);color:var(--ink);display:flex;flex-direction:column;gap:8px;line-height:1.6}.reader-collection strong{font-size:14px}.reader-collection span{font-size:12px;color:var(--muted)}.reader-collection[aria-pressed=true]{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}.reader-guide{padding:20px 24px;margin:0 0 22px;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface)}.reader-guide summary{min-height:44px;cursor:pointer;font-size:16px;font-weight:700;color:var(--brand)}.reader-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:8px}.reader-guide-grid h2{font-size:14px;margin:0 0 10px;color:var(--brand)}.reader-guide-grid p{font-size:14px;line-height:1.9;color:var(--muted)}.reader-retell{margin:24px 0;border:1px solid var(--line);border-radius:var(--r-xl);padding:24px;background:var(--mint-soft)}.reader-retell h2{font-size:21px;margin:8px 0 12px}.reader-retell>p{font-size:14px;line-height:1.9}.reader-retell .reader-frame{font:21px/1.9 Georgia,'Times New Roman',serif;color:var(--brand);padding:14px 18px;margin:16px 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow-wrap:anywhere}.reader-retell small{display:block;font-size:12px;color:var(--muted);line-height:1.8}.reader-catalogue-note{font-size:13px;line-height:1.9;color:var(--muted);padding:16px 20px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);margin:20px 0}.entry-emoji>.icon{width:24px;height:24px;stroke-width:1.65}
@media(max-width:1100px){.reader-collections{grid-template-columns:repeat(3,minmax(0,1fr))}.moment-copy,.moment-practice{padding:24px}.moment-card{grid-template-columns:1fr}.reader-collection{min-height:90px}}
@media(max-width:600px){.moment-section{margin:26px 0}.moment-section .section-heading{align-items:flex-start}.moment-section .section-heading h2{font-size:22px}.moment-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.moment-levels button:last-child{grid-column:1/-1}.moment-copy,.moment-practice{padding:22px 20px}.moment-meta{font-size:12px}.moment-copy h3{margin-top:18px}.moment-english{font-size:25px}.moment-bottom{align-items:flex-start;gap:12px}.moment-bottom p{font-size:12px}.reader-collections{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}.reader-collection{padding:12px 14px;min-height:52px;justify-content:center;gap:0}.reader-collection:last-child{grid-column:1/-1}.reader-collection span{display:none}.reader-guide{padding:16px 20px}.reader-guide-grid{grid-template-columns:1fr;gap:18px}.reader-retell{padding:22px 20px}.reader-retell .reader-frame{font-size:20px;padding:14px}.reader-catalogue-note{padding:16px;font-size:13px}}

/* design-system.css */
/* Shared visual language. Keep the rabbit's own drawing and body dimensions intact. */
:root{--brand:#2e607d;--brand-hover:#244d65;--brand-soft:#e9f0f5;--ink:#203f50;--muted:#596f79;--paper:#f8f7f2;--surface:#fffefa;--surface-alt:#f0f5f5;--line:#dce5e5;--mint:#70a992;--mint-soft:#eaf3ed;--gold:#b27b28;--gold-soft:#faf1db;--success:#2d705b;--danger:#9c443e;--green:var(--brand);--teal:var(--success);--coral:#a65e47;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-xxl:28px;--radius:var(--r-xxl);--shadow-sm:0 5px 18px #203f5010;--shadow:0 8px 30px #203f5009;--shadow-lg:0 24px 72px #203f5029;--ease:cubic-bezier(.2,.8,.2,1);--dur:180ms;--dur-slow:280ms;--accent-peach:#87472e;--accent-green:#245b42;--accent-purple:#665184;--accent-yellow:#705313;--accent-blue:var(--brand);--accent-rose:#87445d;--world-accent:var(--accent-green);--world-tint:#e6efdf}
[data-world=peach]{--world-accent:var(--accent-peach);--world-tint:#f6e9dc}
[data-world=green]{--world-accent:var(--accent-green);--world-tint:#e6efdf}
[data-world=purple]{--world-accent:var(--accent-purple);--world-tint:#eee8f3}
[data-world=yellow]{--world-accent:var(--accent-yellow);--world-tint:#f7efd4}
[data-world=blue]{--world-accent:var(--accent-blue);--world-tint:#e4eef4}
[data-world=rose]{--world-accent:var(--accent-rose);--world-tint:#f6e6ed}
button,a,input,textarea,select,summary{transition-timing-function:var(--ease);transition-duration:var(--dur)}
.panel,.entry-card,.world-card,.badge-card,.lesson-card,.discovery-card{transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease),background-color var(--dur) var(--ease)}
@media(hover:hover){.entry-card:hover,.world-card:hover,.lesson-card:hover,.discovery-card:hover{box-shadow:var(--shadow-sm)}}
dialog{border-radius:var(--r-xxl);box-shadow:var(--shadow-lg)}dialog[open]{animation:dialog-arrive var(--dur-slow) var(--ease)}
@keyframes dialog-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
:is(button,a,input,textarea,select,summary,[tabindex]):focus-visible{outline:2px solid #193f36!important;outline-offset:4px!important;box-shadow:0 0 0 3px #fffefa!important}
button:disabled{cursor:not-allowed;transform:none;opacity:.65}.record-actions button:disabled{border-style:dashed}
.hero{background:var(--world-tint);border-color:var(--world-accent)}.hero .eyebrow,.hero h2{color:var(--world-accent)}.hero .tiny-dot{background:var(--world-accent)}
.hero .secondary{color:var(--world-accent);border-color:var(--world-accent)}.text-link{color:#4b6957}.world-card .mini-progress>span{font-size:12px;color:#536b5f}.daily-scene .eyebrow{color:#79572f}
.eyebrow{color:#2d705b}
.hero .hero-personal,.hero .hero-tags{color:#48614f}.daily-scene p{color:#705f4c}.goal-ring strong span,.goal-copy{color:#526b59}.goal-copy em{color:#2d705b}.stat-row>div:nth-child(2) strong{color:#84631e}.tip-panel .eyebrow{color:#795d2b}
.tip-panel>p,.tip-panel>small{color:#625e46}
.hero-illustration:before{background:var(--world-tint);border:1px solid #ffffffa8}.hero-personal{line-height:1.9;max-width:31em}.hero .hero-progress{font-size:11px;color:var(--world-accent);margin-top:10px;line-height:1.8}
.primary,.filter.active{background:var(--brand);color:var(--surface)}.primary:hover{background:var(--brand-hover);filter:none}
.badge-card:not(.locked){border-color:var(--world-accent);background:linear-gradient(160deg,#fffefa 60%,var(--world-tint))}.badge-card small{color:var(--world-accent);display:block;line-height:1.8}
.world-card{display:flex;flex-direction:column;min-width:0;gap:12px;border-radius:var(--r-xl)}.world-card:hover{transform:translateY(-2px)}
.world-overview{display:block;position:relative;padding:0;border:0;background:none;color:var(--ink);text-align:left;width:100%;border-radius:var(--r-md)}.world-overview .world-art{display:grid;place-items:center}.world-overview small{margin-bottom:0}
.world-story{font-size:12px;line-height:1.8;color:#5b7165;margin:0}.world-card .mini-progress{margin-top:auto}.world-card .track span{background:var(--world-accent)}
.world-next{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;min-height:44px;padding:10px 12px;border:1px solid #d5dfd0;border-radius:var(--r-md);color:var(--world-accent);background:var(--world-tint);font:inherit;font-size:12px;line-height:1.7}.world-next .icon{flex-shrink:0;width:16px}
.badge-progress{display:grid;gap:8px;margin:16px 0 12px}.badge-progress progress{display:block;width:100%;height:7px;border:0;border-radius:var(--r-sm);overflow:hidden;appearance:none;background:#e7ecdf;accent-color:var(--world-accent)}.badge-progress progress::-webkit-progress-bar{background:#e7ecdf}.badge-progress progress::-webkit-progress-value{background:var(--world-accent)}.badge-progress progress::-moz-progress-bar{background:var(--world-accent)}.badge-progress span{font-size:12px;color:#536b5f}
.empty-art{display:block;width:180px;height:112px;max-width:100%;margin:0 auto 18px}.empty:has(.empty-art) .empty-icon{display:none}.empty .secondary{margin-top:8px}
.loading-panel{padding:28px;border:1px solid var(--line);border-radius:var(--r-xl);background:#fffefa}.loading-panel h2{font-size:22px}.loading-panel p{line-height:1.8;color:#526c5d;margin:12px 0 22px}.skeleton{background:linear-gradient(100deg,#e9eee2 25%,#f5f7ef 45%,#e9eee2 65%);background-size:220% 100%;animation:skeleton-sweep 1.6s var(--ease) infinite;border-radius:var(--r-md)}.skeleton-title{height:22px;width:55%;margin-bottom:20px}.skeleton-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.skeleton-card{height:148px}.art-loading{position:relative;min-height:150px}.art-loading:before{content:"";display:block;position:absolute;inset:0;z-index:1;border-radius:var(--r-lg);background:linear-gradient(100deg,#e9eee2 25%,#f5f7ef 45%,#e9eee2 65%);background-size:220% 100%;animation:skeleton-sweep 1.6s var(--ease) infinite;pointer-events:none}.art-error{position:relative;z-index:2;color:#526c5d;line-height:1.8;font-size:13px}.art-error button{display:block}
@keyframes skeleton-sweep{to{background-position:-220% 0}}
.mine-learning{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px;margin:24px 0}.mine-learning h2{font-size:21px;line-height:1.5}.activity-caption,.resume-panel>p:not(.eyebrow){color:#526b5b;font-size:13px;line-height:1.8;margin:10px 0 20px}.activity-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:24px 0}.activity-week li{display:grid;gap:10px;text-align:center;font-size:11px;color:#536b5b}.activity-cell{display:grid;place-items:center;aspect-ratio:1;max-height:48px;border-radius:var(--r-sm);background:#edf1e7;color:#60715f;font-weight:700}.activity-cell[aria-current=date]{outline:2px solid #294f3d;outline-offset:3px}.activity-cell.level-1,.activity-legend .level-1{background:#d6e6c8;color:#274a30}.activity-cell.level-2{background:#92b996;color:#193f36}.activity-cell.level-3,.activity-legend .level-3{background:#315f47;color:#fffefa}.activity-legend{display:flex;gap:7px;align-items:center;flex-wrap:wrap;font-size:11px;color:#536b5b;margin-bottom:14px}.activity-legend i{width:12px;height:12px;background:#edf1e7;border-radius:3px}.activity-panel>small{color:#536b5b;font-size:12px}.weekly-review{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.weekly-review h3{font-size:16px}.weekly-review p{font-size:13px;line-height:1.8;color:#526b5b;margin:10px 0 14px;overflow-wrap:anywhere}.metric-help{font-size:12px;text-align:left;max-width:24em;margin:10px auto 0}.metric-help summary{cursor:pointer;color:#456951;min-height:44px;display:flex;align-items:center;justify-content:center}.metric-help p{font-size:12px;line-height:1.8;color:#526b5b}
.keyboard-open dialog[open]{position:fixed;inset:auto;left:50%;top:calc(var(--viewport-top,0px) + 12px);transform:translateX(-50%);margin:0;max-height:calc(var(--visible-height,100dvh) - 24px);animation:none}.keyboard-open dialog textarea{max-height:30vh}
@media(min-width:701px) and (max-width:850px){.shell{grid-template-columns:156px minmax(0,1fr)}.sidebar{padding-inline:10px}.brand{gap:7px}.brand>img{width:36px;height:36px}.brand>span{font-size:16px}.brand small{font-size:8px;letter-spacing:.5px}.sidebar nav button{font-size:13px;padding-inline:12px}.workspace{padding-inline:20px}.breadcrumb{font-size:11px}.local-status{display:none}.sidebar .side-companion{font-size:12px}}
@media(max-width:1000px){.mine-learning{grid-template-columns:1fr}.world-grid{align-items:stretch}}
@media(max-width:700px){.world-story{font-size:12px}.world-card b{font-size:15px}.world-card small{font-size:12px}.world-next{padding:8px;gap:3px;font-size:12px}.world-overview .world-art{width:100%;height:74px}.activity-week{gap:7px}.mine-learning{gap:16px}.skeleton-grid{grid-template-columns:1fr}.skeleton-card{height:90px}.hero-personal{max-width:26em}.hero .hero-progress{font-size:11px}.hero-text{max-width:67%}.loading-panel{padding:22px 18px}}
.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Brand-level surfaces and controls. Subject art and semantic feedback keep their own colors. */
html{color:var(--ink);background:var(--paper)}body{color:var(--ink);background:var(--paper)}
h1,h2,h3{letter-spacing:0;line-height:1.45}h1{font-size:clamp(27px,2.8vw,36px)}
.sidebar,.panel,.entry-card,.lesson-card,.scene-card,.dictionary-card,.badge-card,.discovery-card,.reader-card,.journey-unit,.loading-panel,dialog{background:var(--surface);border-color:var(--line)}
.panel,.lesson-card,.scene-card,.dictionary-card,.journey-unit{box-shadow:var(--shadow);border-radius:var(--r-xl)}
.sidebar{border-color:var(--line);padding-top:28px}.brand{color:var(--brand)}.brand>span{font-size:21px;letter-spacing:.2px}.brand small{font-size:9px;letter-spacing:1.6px}.side-label{color:var(--muted);letter-spacing:1px}.side-companion p,.side-footer{color:var(--muted)}
#navigation button{color:var(--muted);font-weight:600;border:1px solid transparent;min-height:48px}#navigation button.active{color:var(--brand);background:var(--brand-soft);border-color:#d6e4ec}#navigation button:hover{background:var(--surface-alt)}#navigation button b{background:var(--mint-soft);color:var(--success)}
.topbar,.page-footer{border-color:var(--line)}.topbar{height:84px}.breadcrumb,.breadcrumb strong{color:var(--muted)}.top-actions{gap:10px}.local-status{color:var(--muted)}.icon-button{border-color:var(--line);background:var(--surface);color:var(--brand)}.avatar-button{background:var(--gold-soft);color:#745628;border-color:var(--surface)}
.parent-entry{background:var(--surface);border-color:var(--line);color:var(--brand)}.section-trail{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;margin-bottom:24px}.section-trail>span,.section-trail .back-button{color:var(--muted)}.section-trail button{height:auto;min-height:44px;padding:8px 0}.page-footer{flex-wrap:wrap;line-height:1.8;padding-block:16px;color:var(--muted)}
.primary,.primary.coral,.home-bubble-hero .primary{background:var(--brand);color:var(--surface);border:1px solid var(--brand);box-shadow:0 4px 10px #2e607d12}.primary:hover,.primary.coral:hover,.home-bubble-hero .primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.secondary{background:var(--surface);border-color:var(--line);color:var(--brand)}.secondary:hover{background:var(--brand-soft);border-color:#b6cbd7}.danger{color:var(--danger);background:#fff0ed;border-color:#e8c5bc}.text-link,.back-button{color:var(--brand)}
.filter.active,.reader-levels button.active,.reader-filters button.active,.moment-levels button[aria-pressed=true],.journey-weeks .selected,.discovery-stage-tabs [aria-pressed=true],.discovery-filters [aria-pressed=true],.discovery-shell .discovery-filters .text-link[aria-pressed=true]{background:var(--brand);color:var(--surface);border-color:var(--brand)}
.eyebrow,.discovery-shell .eyebrow{color:var(--brand);letter-spacing:1.6px;font-size:11px}.page-intro{margin-bottom:30px}.page-intro h1{margin:10px 0}.page-intro>p:last-child,.discovery-shell .page-intro>p:last-child{font-size:15px;color:var(--muted);line-height:1.9;max-width:58em}.section-heading h2{font-size:23px}.section-heading p,.greeting p{font-size:14px;color:var(--muted);line-height:1.8}.section-heading{margin:30px 0 18px}.entry-card{border-color:var(--line);border-radius:var(--r-xl)}.entry-card:hover{background:var(--surface-alt)}.entry-emoji{background:var(--brand-soft);color:var(--brand);border:1px solid #dbe7eb}.entry-copy b{font-size:16px;color:var(--ink)}.entry-copy small{font-size:14px;color:var(--muted)}.entry-copy em{color:var(--success);font-size:12px}.hub-note{background:var(--mint-soft);color:var(--muted);border:1px solid #d8e7df}
.hero,.home-bubble-hero{background:linear-gradient(115deg,var(--brand-soft),var(--mint-soft));border:1px solid #d0e0e3;box-shadow:var(--shadow)}.hero h2,.hero .eyebrow,.hero .hero-progress{color:var(--brand)}.hero .tiny-dot{background:var(--mint)}.hero .hero-personal,.hero .hero-tags{color:var(--muted)}.hero .secondary{border-color:#b6cbd7;color:var(--brand)}.hero-illustration:before{background:#d5e8de}.hero-bubble{border-color:#7ba9bb38}.hero .hero-tags{font-size:12px}.hero .hero-progress{font-size:12px}.home-bubble-hero .hero-personal{font-size:14px;line-height:1.9}.home-bubble-hero .hero-text{max-width:65%}
#content[data-page=home] .journey-banner{margin:20px 0 26px;padding:22px 24px;background:var(--surface);border-color:var(--line);gap:12px}#content[data-page=home] .journey-banner>div{flex-basis:100%}#content[data-page=home] .journey-banner h2{font-size:20px}#content[data-page=home] .journey-banner .daily-details{margin-bottom:0}#content[data-page=home] .journey-banner .daily-details summary{font-size:13px;min-height:44px}
.journey-banner,.discovery-teaser,.reader-entry>button,.reader-hero{background:linear-gradient(115deg,var(--brand-soft),#f8f7ed);border-color:var(--line)}.reader-hero h1{color:var(--brand)}.reader-hero p,.reader-level-hint,.reader-filters span,.reader-card-body small,.reader-level,.reader-translation,.reader-rights,.reader-heading>div>p:last-child{color:var(--muted)}.reader-hero img{border:1px solid #ffffffb3}.reader-toolbar{margin-top:26px}.reader-levels button{border-radius:var(--r-md);background:var(--surface);border-color:var(--line);color:var(--brand);font-size:14px}.reader-card{border-radius:var(--r-xl);box-shadow:var(--shadow)}.reader-card-main:hover{background:var(--surface-alt)}.reader-card-body strong{color:var(--ink)}.reader-card-body>span[lang=en]{color:var(--brand)}.reader-card-bookmark{color:var(--brand);font-size:13px}.reader-card-bookmark[aria-pressed=true]{color:#79551f}.reader-card-body small,.reader-level{font-size:12px}.reader-filters button{border-radius:var(--r-md)}.reader-controls{background:var(--brand-soft);border-color:#d6e3e9}.reader-paragraph{border-color:var(--line);background:var(--surface)}.reader-paragraph p[lang=en]{color:var(--ink)}.reader-paragraph.is-current{border-color:#8eafbf;box-shadow:inset 4px 0 var(--brand)}.reader-paragraph.is-speaking{background:var(--mint-soft);border-color:#78a991;box-shadow:inset 5px 0 var(--success)}.reader-finish{background:var(--gold-soft)}#reading-status,.reader-finish p{color:var(--muted)}
.discovery-teaser p:not(.eyebrow),.discovery-meta,.discovery-card-copy>p:not(.eyebrow),.discovery-card-copy>small,.comic-wordbank>p:not(.eyebrow),.discovery-stage-hint,.discovery-filters>span{color:var(--muted)}.comic-wordbank,.comic-bubble,.example-box,.dialogue-prompt{background:var(--mint-soft)}.comic-english,.comic-wordbank>button{color:var(--ink)}.comic-wordbank>button{border-color:var(--line);background:var(--surface)}
.tip-panel{background:var(--gold-soft);border:1px solid #e9ddbf}.tip-panel .eyebrow,.tip-panel>p,.tip-panel>small{color:#715629}.goal-ring{background:conic-gradient(var(--mint) var(--progress),var(--mint-soft) 0)}.goal-ring strong,.metric strong{color:var(--brand)}.stat-row>div:nth-child(2) strong{color:var(--gold)}.daily-scene{background:var(--mint-soft);border-color:#d8e7df}.daily-scene-icon{background:var(--surface)}.daily-scene p,.daily-scene .eyebrow{color:var(--muted)}.practice-banner{background:var(--brand-soft);border-color:var(--line)}.practice-banner .banner-text p{color:var(--muted)}
.world-card{border-color:var(--line)}.world-card b{color:var(--ink)}.world-story,.world-card small{color:var(--muted)}.world-next{border-color:var(--line)}.world-card .world-art{border-radius:var(--r-lg)}.metric small{font-size:12px;color:var(--muted)}.badge-card p{font-size:13px;color:var(--muted)}.badge-card:not(.locked){background:linear-gradient(150deg,var(--surface) 65%,var(--gold-soft));border-color:#e4d6b4}.badge-card small{color:#79551f}.toast{background:var(--brand-hover);color:var(--surface);box-shadow:var(--shadow-lg)}
@media(min-width:701px) and (max-width:950px){.brand>span{font-size:17px}.brand small{font-size:8px;letter-spacing:.6px}}
@media(max-width:700px),(max-height:500px) and (max-width:1000px){.topbar{height:auto;min-height:68px}.sidebar{padding-top:6px}.greeting h1{font-size:27px}.home-bubble-hero .hero-personal{font-size:13px}.hero .hero-tags{font-size:11px}.hero .hero-progress{font-size:12px}.section-heading h2{font-size:21px}.page-intro{margin-bottom:24px}.entry-copy small{font-size:14px}.section-trail{gap:8px}.section-trail>span{font-size:12px}.page-footer{font-size:12px;gap:8px}.page-footer>span:nth-child(2){display:none}#content[data-page=home] .journey-banner{padding:20px;gap:10px}#content[data-page=home] .journey-banner h2{font-size:19px}#content[data-page=home] .journey-banner>.primary{flex:1 1 180px}#content[data-page=home] .journey-banner>.secondary{width:100%}.hero-illustration{right:-10px}.hero .hero-tags span:last-child{display:none}}
@media(max-width:600px){.reader-grid{grid-template-columns:1fr}.reader-card-main{display:grid;grid-template-columns:104px minmax(0,1fr)}.reader-card-main img{height:100%;width:104px;min-height:156px;object-fit:contain;background:var(--surface-alt);border-radius:0}.reader-card-body{padding:16px;gap:6px}.reader-card-body strong{font-size:19px}.reader-card-body>span[lang=en]{font-size:17px}.reader-card-bookmark{align-self:flex-end;margin:0 12px 8px}.reader-hero{padding:24px 22px}.reader-hero h1{font-size:28px}.reader-hero p{font-size:14px}.reader-levels{gap:8px}.reader-levels button{flex:1 1 calc(33.333% - 8px);padding:10px 8px;font-size:13px}.reader-filters{gap:8px}.reader-filters button{font-size:13px;padding:10px}.reader-filters span{font-size:12px}.reader-rights{font-size:13px}}
@media(max-width:700px){.home-bubble-hero .hero-text{max-width:60%}#content[data-page=home] .journey-banner>.text-link{flex:1 1 100%;min-height:44px;text-align:center}#content[data-page=home] .journey-banner>.primary{width:100%;flex-basis:100%}}
#content[data-page=home] .journey-compact{margin:0 0 24px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:20px 24px;background:linear-gradient(110deg,var(--brand-soft),var(--surface));gap:20px}#content[data-page=home] .journey-compact>div{min-width:0}#content[data-page=home] .journey-compact h2{margin:6px 0}#content[data-page=home] .journey-compact small{font-size:12px;line-height:1.8}#content[data-page=home] .journey-compact .daily-details summary{display:list-item;min-height:44px;padding:12px 0 6px}.journey-compact-links{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.journey-compact-links button{min-height:44px}
@media(max-width:700px){#content[data-page=home] .journey-compact{grid-template-columns:1fr;padding:18px 20px;gap:10px;margin-bottom:20px}#content[data-page=home] .journey-compact h2{font-size:19px}.greeting{margin-bottom:18px}.journey-compact-links{align-items:stretch;flex-direction:column}.journey-compact-links button{width:100%}}
