.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:8px;translate:0 -160%;z-index:10001;background:#fff;padding:12px;border-radius:15px;color:#665178}.skip-link:focus{translate:0 0}
:root{--ink:#514a58;--muted:#8a818d;--paper:#fffdf7;--line:#e9e0d8;--mint:#e0efe5;--mint-deep:#659b82;--lilac:#ebe3f3;--peach:#f9e8d3;--pink:#f8e0e8;--yellow:#f9edba;--shadow:0 5px 0 #e9e1d7;--radius:28px}
*{box-sizing:border-box}body{margin:0;background:#faf7ef;color:var(--ink);font-family:ui-rounded,"SF Pro Rounded","Hiragino Sans GB","PingFang SC","Microsoft YaHei",system-ui,sans-serif;line-height:1.6;font-size:17px;-webkit-tap-highlight-color:transparent}body:before{content:"";position:fixed;inset:0;background-image:radial-gradient(#cfc4b6 1px,transparent 1px);background-size:24px 24px;opacity:.17;pointer-events:none;z-index:-1}button,input{font:inherit}button{cursor:pointer;color:inherit;border:0;background:transparent;touch-action:manipulation}button:disabled{cursor:default}button:not(:disabled):active{transform:translateY(2px)}button:focus-visible,input:focus-visible{outline:3px solid #8d74ad;outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.35}h1{font-size:34px;letter-spacing:-1px}h2{font-size:24px}h3{font-size:20px}p{margin-top:10px}small,.tiny{font-size:14px;color:var(--muted)}.centered{text-align:center}.topbar{max-width:1120px;margin:auto;height:102px;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.brand{display:flex;align-items:center;gap:12px;text-align:left;padding:0;font-weight:850;font-size:23px}.brand small{display:block;letter-spacing:1px;font-size:10px;color:#9a8d85;font-weight:600}.top-tools{display:flex;gap:12px;align-items:center}.star-count{background:#fff3c8;padding:8px 16px;border-radius:24px;font-size:20px;border:1px solid #f0dfac}.icon-btn{width:45px;height:45px;display:inline-flex;align-items:center;justify-content:center;background:#fffdf7;border:1.5px solid var(--line);border-radius:50%;font-size:23px}.main-nav{display:flex;gap:8px;max-width:1064px;margin:0 auto 28px;padding:7px;background:#efebe3;border-radius:24px}.main-nav button{min-height:56px;display:flex;align-items:center;justify-content:center;gap:9px;flex:1;font-size:16px;white-space:nowrap;border-radius:18px;color:#8d8390}.main-nav span{font-size:23px}.main-nav button.active{color:var(--ink);background:var(--paper);box-shadow:0 3px 0 #ded7cd}main{max-width:1064px;margin:0 auto;padding-bottom:24px}footer{text-align:center;padding:25px 18px 36px;font-size:13px;color:#968c87}.save-warning{color:#a55c5c}.btn{display:inline-flex;gap:24px;align-items:center;justify-content:center;font-weight:750;padding:14px 26px;min-height:56px;border-radius:18px;border:1.5px solid transparent;font-size:18px;line-height:1.5;box-shadow:0 4px 0 #d5cabd}.btn.primary{background:#739e89;color:#fffef6;border-color:#668e79;box-shadow:0 4px 0 #537d67}.btn.soft{background:var(--paper);border-color:var(--line)}.btn:disabled{opacity:.45;box-shadow:none}.text-btn{min-height:48px;padding:8px 12px;font-weight:650;color:#7f6c94;font-size:15px}.small-btn{min-height:48px;padding:10px 18px;border:1.5px solid var(--line);border-radius:15px;background:var(--paper);font-size:15px;font-weight:650}.small-btn:disabled{opacity:.45}.pill{display:inline-block;padding:5px 13px;border-radius:25px;background:#fffaf0;border:1px solid #eadfd0;color:#887364;font-size:13px;font-weight:650}.mint{background:var(--mint)}.lilac{background:var(--lilac)}.peach{background:var(--peach)}.pink{background:var(--pink)}.panel{background:var(--paper);border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:30px}.welcome{display:grid;grid-template-columns:1fr 1.05fr;position:relative;border:1.5px solid #e5d7c5;background:#f5ecd9;border-radius:32px;padding:35px 38px;min-height:350px;overflow:hidden;box-shadow:var(--shadow)}.welcome-copy{position:relative;z-index:1}.welcome h1{font-size:43px;line-height:1.35;margin:16px 0 10px;font-weight:850;letter-spacing:-1.6px}.welcome p{font-size:17px;color:#92806f;line-height:1.9;margin-bottom:22px}.welcome .pill{background:#fffbef;border-color:#e8d9c4}.island-art{position:relative;align-self:center;min-width:0}.island-art>svg{width:100%;display:block}.scene-fox{position:absolute;left:42%;top:46%;width:85px;height:85px;transform:rotate(-5deg)}.scene-fox:active{transform:rotate(-5deg)!important}.scene-speech{position:absolute;top:31%;left:41%;font-weight:750;font-size:13px;transform:rotate(5deg);background:#fffbeb;border-radius:16px 16px 16px 4px;padding:4px 12px;box-shadow:0 3px 0 #c5c4a9}.learning-summary{padding:26px 30px;background:var(--paper);border-radius:28px;border:1.5px solid var(--line);margin-top:22px;box-shadow:var(--shadow)}.summary-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.summary-heading h2{font-size:21px}.stats{display:grid;grid-template-columns:repeat(3,1fr);padding:18px 0 22px;gap:12px}.stats>div{display:grid;grid-template-columns:50px auto;grid-template-rows:40px 22px;column-gap:13px;align-items:center;justify-content:center;position:relative}.stats>div+div:before{content:"";position:absolute;left:0;top:9px;height:43px;border-left:1px dashed #ddd3c9}.stats b{font-size:34px;line-height:1;font-weight:800;letter-spacing:-1px}.stats>div>span:last-child{font-size:13px;color:#93838e}.stat-icon{grid-row:1/3;width:50px;height:50px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:26px}.progress-track,.game-progress{height:11px;overflow:hidden;background:#efebe4;border-radius:10px}.progress-track>span,.game-progress>span{display:block;height:100%;background:#95bca2;border-radius:10px;transition:width .5s}.learning-summary>.tiny{margin-top:12px;text-align:center}.exam-banner{display:flex;align-items:center;gap:18px;text-align:left;width:100%;margin-top:23px;padding:20px 26px;background:#eae4f1;border:1.5px solid #ddd1e7;border-radius:24px;box-shadow:0 4px 0 #dfd6e5}.banner-icon{font-size:35px;background:#faf6fc;width:62px;height:62px;border-radius:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.exam-banner b{display:block;font-size:21px}.exam-banner small{display:block;color:#9886a1;margin-top:3px;font-size:14px}.round-arrow{margin-left:auto;width:40px;height:40px;background:#faf7fd;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:22px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:30px 3px 16px;gap:12px}.section-heading h2{font-size:22px}.section-heading>span{font-size:14px;color:#9a8d9b}.activity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.activity-card{position:relative;text-align:left;padding:23px;border:1.5px solid #ddd8ce;border-radius:25px;box-shadow:var(--shadow);min-height:207px}.activity-icon{font-size:36px;display:block;margin-bottom:14px}.activity-card h3{font-size:22px}.activity-card p{font-size:13px;color:#92848c;margin-top:6px}.card-arrow{position:absolute;right:17px;top:17px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff73;border-radius:50%;font-size:20px}.page-title{display:flex;gap:18px;align-items:center;margin:34px 4px 26px}.title-icon{font-size:38px;background:var(--paper);border:1.5px solid var(--line);border-radius:22px;display:flex;align-items:center;justify-content:center;width:75px;height:75px;flex-shrink:0}.page-title p{color:var(--muted);font-size:16px;margin-top:7px}.word-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin-top:12px}.mode-card{border:1.5px solid #ddd7d2;border-radius:30px;padding:28px 25px;text-align:left;box-shadow:var(--shadow);min-height:275px}.mode-card>span{font-size:45px;display:block;margin-bottom:18px}.mode-card h2{font-size:24px}.mode-card p{font-size:16px;margin:10px 0 20px;color:#8d7b8c}.mode-card b{font-size:16px;display:inline-block;padding:7px 15px;background:#ffffff80;border-radius:15px}.center-row{display:flex;gap:15px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:27px}.wordbook{margin-top:38px}.disclosure{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:23px;font-weight:750;min-height:54px;text-align:left;padding:0}.disclosure>span:last-child{font-size:26px;font-weight:400}.book-controls{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin:20px 0}.segmented{display:flex;gap:6px;padding:5px;background:#f0ece6;border-radius:18px;width:fit-content;max-width:100%}.segmented>button{min-height:47px;padding:8px 18px;border-radius:14px;font-weight:650;font-size:15px}.segmented>button.selected{background:var(--paper);box-shadow:0 2px 0 #dcd4ca}.search{display:flex;gap:10px;align-items:center;background:#faf7f1;border:1.5px solid var(--line);border-radius:16px;padding:5px 14px}.search input{width:195px;min-height:40px;border:0;background:transparent;color:var(--ink);outline-offset:6px;font-size:16px}.book-count{font-size:13px;color:var(--muted);margin-bottom:10px}.dictionary-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-height:600px;overflow:auto}.dictionary-word{display:flex;gap:12px;align-items:center;padding:15px 12px;text-align:left;min-height:88px;background:#faf7f1;border:1px solid #eee5dc;border-radius:18px;min-width:0}.dictionary-word>span:first-child{font-size:27px}.dictionary-word b{font-size:17px;overflow-wrap:anywhere}.dictionary-word small{display:block;font-size:12px;line-height:1.4;margin-top:5px}.word-status{margin-left:auto;flex-shrink:0;font-size:18px}.exam-intro{max-width:770px;margin:auto;text-align:center;padding:38px 50px}.big-review-icon{font-size:80px;position:relative;display:inline-block}.big-review-icon span{position:absolute;right:-25px;top:3px;color:#af95bf;font-size:50px}.exam-intro h2{font-size:29px;margin:14px 0}.exam-intro p{line-height:1.9;color:var(--muted)}.exam-intro .btn{margin-top:25px}.review-counts{display:flex;justify-content:center;gap:70px;margin:25px 0}.review-counts span{font-size:15px;color:var(--muted)}.review-counts b{display:block;font-size:42px;color:var(--ink);line-height:1.4}.game-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 0 10px}.game-top>span{font-size:15px;color:var(--muted)}.mini-flower{background:#ecf3e9;padding:5px 12px;border-radius:14px;white-space:nowrap}.game-progress{height:8px;margin:0 0 23px}.word-game{max-width:910px;margin:auto;text-align:center;padding:26px 40px 34px}.question-label{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:14px;color:#93859b;text-align:left}.streak{padding:5px 12px;background:#f3f0e6;border-radius:25px;white-space:nowrap;font-size:16px}.streak small{padding-left:5px}.prompt-emoji{display:block;font-size:64px;line-height:1.3;margin:15px auto 12px}.word-prompt{font-size:36px;letter-spacing:-.5px;margin:10px auto;max-width:720px}.question-instruction{font-size:16px;color:var(--muted)}.word-tools{display:flex;justify-content:center;gap:12px;margin-top:16px}.word-tools .small-btn{background:#f5f0fa;border-color:#e4d9ec;color:#8e789e}.hint-note{margin:18px auto 0;padding:12px 16px;background:#fff4d3;border-radius:16px;font-size:15px;max-width:700px}.letter-slots{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;margin:30px auto 22px;max-width:760px}.letter-slot{width:45px;min-height:54px;border:2px dashed #d8cbbd;background:#f9f4e9;border-radius:13px;font-size:27px;font-weight:750;text-transform:lowercase;padding:0}.letter-slot>span{color:#c7b7a8}.letter-slot.filled{background:#fff8df;border-style:solid;border-color:#e3cf96;box-shadow:0 3px 0 #e7d9b5;color:#796345}.letter-slot:disabled{opacity:1}.letter-separator{width:13px;min-height:45px;display:flex;align-items:center;justify-content:center;font-size:24px}.letter-bank{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 auto 25px;max-width:720px}.letter-tile{width:51px;min-height:57px;border:1.5px solid #dcc9dd;background:#f0e4f1;border-radius:15px;box-shadow:0 4px 0 #d6c3d8;color:#876b93;font-weight:750;font-size:27px;padding:0}.letter-tile:nth-child(3n){background:#e1eee3;border-color:#c5dccb;box-shadow:0 4px 0 #bbd3c1;color:#6f927b}.letter-tile:nth-child(3n+1){background:#f8e4de;border-color:#e5ccbd;box-shadow:0 4px 0 #e1c7b8;color:#ad836b}.letter-tile:disabled{opacity:.22;box-shadow:none}.spelling-actions{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}.spelling-actions .btn{margin-left:8px}.answer-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:27px}.answer-option{border:1.5px solid #e1d5e9;border-radius:19px;display:flex;align-items:center;gap:14px;padding:15px 17px;background:#f3edf7;text-align:left;min-height:70px;font-size:19px;font-weight:600;box-shadow:0 3px 0 #e3dae9;overflow-wrap:anywhere}.answer-option:nth-child(2){background:#edf4ed;border-color:#d1e1d1;box-shadow:0 3px 0 #d7e4d4}.answer-option:nth-child(3){background:#fdf0e1;border-color:#ead9c4;box-shadow:0 3px 0 #eadeca}.answer-option:nth-child(4){background:#f9eaf0;border-color:#e8d5df;box-shadow:0 3px 0 #ebd7df}.option-letter{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:11px;background:#ffffffa3;font-size:15px;color:#9a88a3}.answer-option.right{background:#dceedd!important;border:2px solid #94bc95!important;box-shadow:0 3px 0 #bed6b8!important;color:#507758}.answer-option.wrong{background:#ffe8e4!important;border:2px solid #dfaaa0!important;box-shadow:0 3px 0 #ebc3ba!important}.answer-option:disabled{opacity:.6}.answer-option.right:disabled{opacity:1}.feedback{text-align:left;border-radius:18px;padding:15px 20px;margin-top:23px;background:#f6efe0;font-size:15px;line-height:1.7}.feedback.good{background:#edf4e9;border:1px solid #d9e7d0;color:#5a7955}.feedback.gentle{background:#fff0e7;border:1px solid #eddccb;color:#aa805f}.feedback p{margin-top:6px}.feedback .example{color:#798671;font-size:15px}.next-btn{margin-top:24px;min-width:200px}.round-done{max-width:750px;margin:35px auto;text-align:center;padding:50px 30px}.done-fox{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-direction:column;margin-bottom:12px}.done-fox span{font-size:26px}.round-done h1{margin:12px 0}.round-done p{color:var(--muted)}.round-stats{margin:25px auto;border:1.5px dashed #bcd6bb;padding:17px;border-radius:20px;background:#f3f7ec;max-width:340px}.round-stats b{display:block;font-size:30px}.round-stats span{font-size:14px}.detective-tabs{margin:0 auto 25px}.detective-game,.builder{max-width:850px;margin:auto;text-align:center}.detective-game>h2{font-size:22px;margin:10px auto 20px}.sentence-prompt{font-size:28px;background:#f7f0df;border-radius:22px;padding:24px;font-weight:700;text-align:left;line-height:1.6;margin:20px auto}.detective-game>.small-btn{margin-top:15px}.builder>h2{margin:26px 0}.sentence-slots{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;min-height:106px;padding:18px;background:#faf5e9;border:2px dashed #e5d8bf;border-radius:22px}.sentence-slots>.tiny{width:100%}.word-blocks{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:28px auto}.word-block{background:#eee5f5;border:1.5px solid #ddd0e8;padding:12px 20px;border-radius:15px;font-size:21px;font-weight:650;min-height:56px;box-shadow:0 4px 0 #dcd0e4}.word-block:disabled{opacity:.2;box-shadow:none}.sentence-slots .word-block{background:#e4eddf;border-color:#c8d8bd;box-shadow:0 3px 0 #cadaba}.sentence-slots .word-block:disabled{opacity:1}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.story-card{overflow:hidden;background:var(--paper);border:1.5px solid var(--line);border-radius:25px;box-shadow:var(--shadow);text-align:left;padding:0;display:flex;flex-direction:column}.story-cover{height:145px;background:var(--mint);position:relative;display:flex;align-items:center;justify-content:center;font-size:70px}.story-card:nth-child(3n+2) .story-cover{background:var(--lilac)}.story-card:nth-child(3n+3) .story-cover{background:var(--peach)}.story-cover:before,.story-cover:after{content:'✦';position:absolute;color:#ffffffb2;font-size:33px;left:19%;top:17%}.story-cover:after{left:auto;right:17%;top:52%;font-size:22px}.story-done{position:absolute;bottom:12px;right:12px;border-radius:15px;font-size:11px;background:#fff9e8;padding:3px 10px;color:#829677}.story-info{padding:22px;display:flex;flex-direction:column;flex:1}.story-info h2{font-size:24px;margin-top:9px}.story-info p{font-size:15px;color:var(--muted);margin-top:6px}.story-info>div{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-top:auto;padding-top:20px}.story-info small{color:#9d8c8c;font-size:12px}.back-row{display:flex;justify-content:space-between;align-items:center;margin:15px 0}.reading-article{padding:36px 42px}.reading-title{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.reading-title>span{font-size:53px}.reading-title h1{font-size:32px}.reading-title p{color:var(--muted);margin-top:5px}.eyebrow{font-size:12px;color:#a18b87;font-weight:700}.story-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-left:auto}.story-tools .btn{font-size:15px;padding:10px 16px;min-height:48px}.story-text{font-size:23px;line-height:2.1;margin:25px 0 20px;white-space:pre-line}.inline-word{font-size:inherit;color:#7f6a94;padding:0 1px;text-decoration:underline;text-decoration-color:#d0bfd7;text-underline-offset:5px;font-weight:650;min-height:44px}.translation{padding:22px;background:#f6efe1;border-radius:18px;font-size:17px;line-height:1.9}.story-word-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:22px}.story-word-row>span{font-size:13px;color:var(--muted);margin-right:5px}.word-chip{font-size:15px;border-radius:13px;padding:8px 14px;background:#edf2e6;border:1px solid #dce7cf;min-height:44px;color:#7a8b69}.reading-tip{font-size:13px;color:var(--muted)}.reading-questions{display:grid;gap:20px}.reading-question h3{display:flex;gap:12px;align-items:baseline;font-size:21px}.reading-question h3>span{display:inline-flex;justify-content:center;align-items:center;width:30px;height:30px;flex-shrink:0;background:#eee6f4;border-radius:10px;font-size:15px}.answer-options.compact{grid-template-columns:repeat(3,1fr);margin-top:20px}.answer-options.compact .answer-option{font-size:17px;min-height:64px}.notice{background:#e8f0df;border:1.5px solid #cfdfc1;border-radius:20px;padding:20px;margin-top:20px}.writing-topics{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.writing-topics button{border:1.5px solid var(--line);background:var(--paper);border-radius:16px;min-height:52px;padding:10px 18px;font-size:16px}.writing-topics button.selected{background:var(--pink);border-color:#e4c7d7;box-shadow:0 3px 0 #e1c3d3}.writing-heading{display:flex;gap:20px;align-items:center}.writing-heading>span{font-size:55px}.writing-heading p{color:var(--muted);font-size:16px}.writing-lines{display:grid;gap:25px;margin:30px 0}.writing-line{display:flex;gap:17px;padding:23px;background:#fbf7ec;border:1px solid #eee3cf;border-radius:21px}.writing-line>b{width:33px;height:33px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:15px;background:#f2dcc0;border-radius:11px;color:#a38363}.writing-line p{font-size:24px;line-height:1.7;margin:0}.writing-line p strong{color:#88709d}.phrase-options{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.phrase-options button{background:#fffdf7;border:1.5px solid #e5dcd0;border-radius:14px;padding:10px 16px;font-size:18px;min-height:49px}.phrase-options button.selected{background:#e7e0f0;border-color:#cfc0df;box-shadow:0 3px 0 #d4c6df;color:#806391;font-weight:650}.story-paper{background:repeating-linear-gradient(#fffdf9 0,#fffdf9 39px,#ede6d8 40px,#fffdf9 41px);border:1.5px solid #e5d8c5;border-radius:20px;padding:20px 28px;margin-top:28px}.story-paper small{font-weight:700;letter-spacing:1px;font-size:12px;color:#bd9c78}.story-paper p{font-size:24px;line-height:41px;margin:9px 0}.growth-header{text-align:center;background:#eef2e6}.growth-header>span{font-size:40px}.growth-header h2{margin-top:14px}.growth-header p{color:var(--muted)}.error-list{display:grid;gap:14px}.error-card{display:flex;align-items:center;gap:18px;padding:21px 25px;box-shadow:0 3px 0 #e9e1d7}.error-card>span:first-child{font-size:30px}.error-card>div{flex:1;min-width:0}.error-card h3{font-size:18px;overflow-wrap:anywhere}.error-card p{font-size:14px;color:var(--muted);margin-top:5px}.error-card small{display:block;margin-top:5px;overflow-wrap:anywhere}.error-card .small-btn,.error-card .pill{flex-shrink:0}.empty-state{padding:28px;text-align:center;color:#9a8a92;font-size:16px;grid-column:1/-1}.saved-stories{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.saved-story h3{margin-top:10px}.saved-story p{font-size:19px;margin:18px 0;overflow-wrap:anywhere}.island-dialog{width:calc(100% - 36px);max-width:700px;padding:34px;border:2px solid #e2d6c8;border-radius:30px;box-shadow:0 15px 60px #55485733;background:var(--paper);color:var(--ink);max-height:90dvh;overflow:auto}.island-dialog::backdrop{background:#51445255;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:15px;top:15px;font-size:30px}.word-detail{text-align:center;padding:25px 0 5px}.word-detail h2{font-size:34px}.word-detail h3{color:#9c819d;font-size:22px;margin:14px 0 22px}.word-detail>p{font-size:17px;line-height:1.9;color:var(--muted)}.word-detail blockquote{background:#f5f0e5;border-radius:18px;padding:20px;margin:25px 0;font-size:20px;line-height:1.8}.parent-panel h2{margin:14px 35px 16px 0}.parent-panel h3{margin:26px 0 14px;font-size:19px}.parent-panel p{font-size:15px;color:var(--muted)}.parent-actions{display:grid;gap:14px}.parent-actions>.btn{justify-content:flex-start;font-size:16px}.import-label{position:relative;cursor:pointer;overflow:hidden}.import-label input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.rules{padding:4px 22px 23px;background:#f7f1e7;border-radius:20px;margin-top:25px}.rules p{font-size:14px;line-height:1.9}#toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);background:#514752;color:white;padding:14px 24px;border-radius:20px;max-width:calc(100vw - 32px);min-width:240px;text-align:center;font-size:15px;z-index:10000;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}#celebration{position:fixed;inset:0;z-index:9999;pointer-events:none;display:none;align-items:center;justify-content:center;background:#fff9e733}#celebration.show{display:flex}.celebrate-card{padding:24px 35px;background:#fffaf0;border:2px solid #e6d5aa;border-radius:30px;box-shadow:0 10px 0 #b4a99033;display:flex;align-items:center;flex-direction:column;animation:pop .4s ease}.celebrate-card svg{animation:happy-hop .55s ease 2}.celebrate-card strong{font-size:25px;margin-top:10px}.celebrate-card>span{font-size:27px;color:#d7b058}#celebration>i{position:absolute;top:25%;left:calc(14% + var(--i)*6%);width:9px;height:18px;background:#e0a4b3;border-radius:3px;transform:rotate(calc(var(--i)*35deg));animation:confetti 1.3s ease forwards;animation-delay:calc(var(--i)*.012s)}#celebration>i:nth-child(3n){background:#a5c3a3}#celebration>i:nth-child(3n+1){background:#d0b4da}#celebration>i:nth-child(4n){background:#e5c971}.wiggle{animation:happy-hop .5s ease 2}@keyframes happy-hop{0%,100%{translate:0 0;rotate:-4deg}50%{translate:0 -14px;rotate:5deg}}@keyframes pop{from{scale:.7;opacity:0}to{scale:1;opacity:1}}@keyframes confetti{0%{translate:0 -50px;opacity:1}100%{translate:calc((var(--i) - 6)*13px) 60vh;rotate:260deg;opacity:0}}
@media(hover:hover){.activity-card:hover,.mode-card:hover,.story-card:hover{translate:0 -3px}.answer-option:hover:not(:disabled),.dictionary-word:hover,.phrase-options button:hover{filter:brightness(.98)}.btn:hover{filter:brightness(1.03)}}
@media(min-width:1400px){.topbar{height:112px}main{padding-bottom:35px}.welcome{min-height:370px}}
@media(max-width:1120px){main,.main-nav{margin-left:26px;margin-right:26px}.topbar{padding:0 26px}.activity-grid{gap:13px}.activity-card{padding:22px 17px}.activity-card h3{font-size:20px}.activity-card p{font-size:12px}.welcome{padding:28px 32px}.welcome h1{font-size:39px}.mode-card{padding:28px 20px}.mode-card h2{font-size:22px}}
@media(max-width:850px){.topbar{height:90px}.brand{font-size:21px}.main-nav button{font-size:14px;gap:6px}.welcome{grid-template-columns:1.05fr 1fr}.welcome h1{font-size:36px}.welcome p{font-size:15px}.welcome .btn{padding:12px 20px}.scene-fox{width:65px;height:65px}.scene-fox svg{width:65px;height:65px}.scene-speech{font-size:10px;padding:3px 8px;top:26%;left:37%}.word-mode-grid{gap:14px}.mode-card{padding:24px 18px}.mode-card h2{font-size:20px}.mode-card p{font-size:14px;min-height:50px}.dictionary-list{grid-template-columns:repeat(2,1fr)}.story-grid{grid-template-columns:repeat(2,1fr)}.activity-grid{grid-template-columns:repeat(2,1fr);gap:18px}.activity-card{min-height:170px}.activity-icon{font-size:34px;margin-bottom:6px}.activity-card h3{font-size:23px}.activity-card p{font-size:14px}.reading-article{padding:30px}.story-tools{margin-left:0}.word-game{padding:23px 27px}.word-prompt{font-size:31px}.letter-slot{width:42px;min-height:51px}.letter-tile{width:49px;min-height:55px}}
@media(max-width:600px){body{font-size:16px}.topbar{height:86px;padding:0 18px}.brand{font-size:18px;gap:7px}.brand>svg{width:39px;height:39px}.brand small{font-size:8px;letter-spacing:.4px}.top-tools{gap:7px}.top-tools .icon-btn{width:38px;height:38px;font-size:21px}.star-count{padding:5px 9px;font-size:16px}.main-nav{position:fixed;bottom:0;left:0;right:0;margin:0;border-radius:22px 22px 0 0;background:#fffdf6f5;border-top:1.5px solid #e7dccd;box-shadow:0 -3px 18px #85795b13;padding:6px 4px calc(6px + env(safe-area-inset-bottom));gap:1px;z-index:50}.main-nav button{min-height:65px;display:flex;flex-direction:column;gap:3px;border-radius:16px;font-size:11px;line-height:1.4;padding:6px 0;white-space:normal}.main-nav button.active{background:#e8f0e3;box-shadow:none;color:#6b8263}.main-nav span{font-size:24px}.main-nav b{font-weight:650}main{margin:0 16px;padding-bottom:14px}footer{padding:16px 20px 106px;font-size:11px}.welcome{grid-template-columns:1fr;padding:26px 24px 14px;border-radius:26px;min-height:0}.welcome-copy{max-width:100%}.welcome h1{font-size:33px;letter-spacing:-.8px;margin:15px 0 9px}.welcome p{font-size:15px;margin-bottom:18px}.welcome .pill{font-size:11px}.welcome .btn{min-height:54px;padding:12px 24px;font-size:17px}.island-art{margin:8px -10px 0;max-width:370px}.scene-fox{width:75px;height:75px}.scene-fox svg{width:75px;height:75px}.scene-speech{font-size:11px;top:30%;left:40%}.learning-summary{padding:20px 15px;margin-top:20px;border-radius:24px}.summary-heading h2{font-size:18px}.summary-heading .text-btn{font-size:11px;padding:5px 2px}.stats{gap:4px;padding:15px 0 20px}.stats>div{grid-template-columns:1fr;grid-template-rows:37px 36px 23px;justify-items:center;row-gap:7px;column-gap:0}.stat-icon{grid-row:auto;width:37px;height:37px;border-radius:13px;font-size:22px}.stats b{font-size:29px;grid-row:2}.stats>div>span:last-child{font-size:11px;grid-row:3}.stats>div+div:before{top:40px;height:51px}.learning-summary>.tiny{font-size:11px;line-height:1.8}.exam-banner{padding:16px 14px;gap:12px;border-radius:22px}.banner-icon{width:47px;height:50px;border-radius:15px;font-size:29px}.exam-banner b{font-size:18px}.exam-banner small{font-size:11px;line-height:1.7}.round-arrow{width:30px;height:30px;flex-shrink:0;font-size:18px}.section-heading{margin:27px 2px 14px}.section-heading h2{font-size:20px}.section-heading>span{font-size:11px}.activity-grid{gap:12px}.activity-card{padding:20px 15px;min-height:165px;border-radius:23px}.activity-icon{font-size:32px}.activity-card h3{font-size:19px;margin-top:13px}.activity-card p{font-size:11px;line-height:1.8}.card-arrow{width:28px;height:28px;right:12px;top:12px;font-size:17px}.page-title{margin:12px 3px 23px;gap:13px;align-items:flex-start}.title-icon{width:57px;height:57px;font-size:31px;border-radius:18px}.page-title h1{font-size:28px;letter-spacing:-.6px}.page-title p{font-size:13px;line-height:1.8}.word-mode-grid{grid-template-columns:1fr;gap:17px}.mode-card{min-height:0;position:relative;padding:22px 22px 22px 94px;border-radius:25px}.mode-card>span{position:absolute;left:24px;top:25px;font-size:43px}.mode-card h2{font-size:22px}.mode-card p{min-height:0;margin:6px 0 12px;font-size:13px}.mode-card b{font-size:13px;padding:5px 11px}.center-row{gap:12px;margin-top:24px}.btn{font-size:16px;padding:12px 19px;gap:13px;min-height:54px;border-radius:16px}.panel{padding:23px 19px;border-radius:24px}.wordbook{margin-top:28px}.disclosure{font-size:20px}.book-controls{margin:12px 0;gap:12px}.segmented>button{padding:8px 13px;font-size:13px;min-height:45px}.search{width:100%;padding:4px 12px}.search input{width:100%}.dictionary-list{grid-template-columns:1fr;gap:10px;max-height:620px}.dictionary-word{min-height:80px}.dictionary-word>span:first-child{font-size:30px}.dictionary-word b{font-size:18px}.dictionary-word small{font-size:13px}.exam-intro{padding:26px 23px}.big-review-icon{font-size:67px}.exam-intro h2{font-size:23px}.exam-intro>p{font-size:14px}.exam-intro>.tiny{font-size:12px}.review-counts{gap:63px}.review-counts b{font-size:37px}.game-top{flex-wrap:wrap;justify-content:space-between;gap:0;margin-top:0}.game-top .text-btn{padding-left:0;font-size:13px}.game-top>span{font-size:12px}.game-top>.mini-flower{display:none}.word-game{padding:21px 15px 26px}.question-label{font-size:12px}.streak{font-size:14px;padding:4px 8px}.prompt-emoji{font-size:54px;margin:18px auto 12px}.word-prompt{font-size:27px;overflow-wrap:anywhere}.question-instruction{font-size:13px}.word-tools{gap:9px;margin-top:13px}.small-btn{font-size:13px;padding:8px 13px;min-height:46px;border-radius:13px}.letter-slots{gap:5px;margin:26px auto 22px}.letter-slot{width:37px;min-height:47px;font-size:23px;border-radius:11px}.letter-separator{width:9px;min-height:37px}.letter-bank{gap:9px;margin-bottom:21px}.letter-tile{width:45px;min-height:52px;font-size:25px;border-radius:13px}.spelling-actions{gap:2px 4px}.spelling-actions .text-btn{font-size:12px;padding:8px;min-height:48px}.spelling-actions .btn{margin-left:3px;padding:12px 16px;font-size:14px}.word-choices{grid-template-columns:1fr;gap:12px;margin-top:24px}.answer-option{min-height:64px;font-size:17px;padding:13px 14px;border-radius:16px}.answer-option .option-letter{width:30px;height:30px;font-size:13px}.feedback{padding:13px 15px;margin-top:20px;font-size:14px}.feedback .example{font-size:14px;line-height:1.8}.hint-note{font-size:13px;padding:12px}.word-game+.tiny{font-size:11px}.next-btn{min-width:180px}.round-done{margin:10px auto;padding:35px 21px}.round-done h1{font-size:28px}.round-done p{font-size:14px}.round-done .tiny{font-size:12px}.detective-game>h2{font-size:19px}.sentence-prompt{font-size:22px;padding:19px;border-radius:18px}.detective-game .answer-options{grid-template-columns:1fr}.builder>h2{font-size:22px;margin:23px 0}.word-block{font-size:18px;padding:10px 15px;min-height:49px}.word-blocks{gap:10px}.sentence-slots{gap:8px;padding:15px;min-height:115px}.story-grid{grid-template-columns:1fr;gap:18px}.story-card{flex-direction:row;min-height:160px}.story-cover{width:115px;min-width:115px;height:auto;font-size:48px;border-right:1px solid var(--line)}.story-info{padding:19px 15px}.story-info h2{font-size:22px}.story-info p{font-size:13px}.story-info small{font-size:10px}.story-info>div{font-size:10px;padding-top:13px}.story-done{bottom:8px;right:7px;padding:3px 7px;font-size:9px}.reading-article{padding:23px 21px}.reading-title{gap:12px}.reading-title>span{font-size:39px}.reading-title h1{font-size:25px}.reading-title p{font-size:13px}.eyebrow{font-size:10px}.story-tools{margin-top:8px;gap:3px}.story-tools .btn{padding:10px 14px;font-size:14px}.story-tools .text-btn{font-size:12px}.story-text{font-size:21px;line-height:2;margin-top:24px}.translation{padding:18px;font-size:15px}.story-word-row{gap:8px}.story-word-row>span{width:100%}.word-chip{font-size:14px;padding:7px 11px}.reading-tip{font-size:11px}.reading-question h3{font-size:19px;align-items:flex-start;gap:10px}.reading-question h3>span{margin-top:2px}.answer-options.compact{grid-template-columns:1fr;gap:11px}.notice{font-size:14px;padding:17px}.writing-topics{gap:9px}.writing-topics button{font-size:12px;min-height:47px;padding:9px 12px;border-radius:13px}.writing-heading{gap:12px;align-items:flex-start}.writing-heading>span{font-size:41px}.writing-heading h2{font-size:22px}.writing-heading p{font-size:13px}.writing-line{gap:10px;padding:18px 14px}.writing-line>b{width:28px;height:28px;font-size:13px;border-radius:9px;margin-top:4px}.writing-line p{font-size:21px}.phrase-options{gap:9px;margin-top:13px}.phrase-options button{font-size:16px;min-height:48px;padding:9px 13px}.story-paper{padding:18px;border-radius:18px;background:repeating-linear-gradient(#fffdf9 0,#fffdf9 34px,#ede6d8 35px,#fffdf9 36px)}.story-paper p{font-size:20px;line-height:36px}.writing-game>.tiny{font-size:12px}.growth-header h2{font-size:22px}.growth-header p{font-size:13px}.error-card{gap:12px;padding:18px 16px;flex-wrap:wrap}.error-card>span:first-child{font-size:25px}.error-card h3{font-size:16px}.error-card p{font-size:12px}.error-card small{font-size:12px}.error-card>.small-btn,.error-card>.pill{margin-left:36px}.saved-stories{grid-template-columns:1fr}.saved-story p{font-size:18px}.empty-state{font-size:14px;padding:23px}.island-dialog{padding:27px 22px;border-radius:26px;max-height:88dvh}.word-detail h2{font-size:29px}.word-detail h3{font-size:20px}.word-detail>p{font-size:15px}.word-detail blockquote{font-size:18px;padding:18px}.parent-panel h2{font-size:23px}.parent-panel h3{font-size:17px}.parent-panel p{font-size:14px}.rules{padding:2px 17px 19px}.rules p{font-size:12px}.parent-panel .segmented>button{font-size:12px;padding:8px 11px}.celebrate-card{padding:23px 26px}.celebrate-card strong{font-size:22px}#toast{bottom:100px;font-size:13px;padding:13px 19px;min-width:280px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.letter-slot{min-width:44px}.letter-slot.filled{color:#796345}@media(max-width:600px){.letter-slot{min-width:44px;min-height:49px}.letter-bank .letter-tile{min-width:46px}}

.letter-slots{gap:13px 20px}.spelling-word{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;max-width:100%}@media(max-width:600px){.letter-slots{gap:14px 20px}.spelling-word{gap:5px}}
