@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;450;500;550;600;650;700;750;800&display=swap";:root{--ink:#203d3a;--sub:#7a8e88;--green:#226653;--deep:#164d44;--mint:#e8f1e6;--line:#e6eae3;--paper:#fffefa;--bg:#f6f7f2;--gold:#d79b42;--nav:244px;--shadow:0 8px 24px #244d3905}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Be Vietnam Pro,Arial,sans-serif;font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}a,button,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #d1ad61}h1,h2,h3,h4,p{margin:0}h1{letter-spacing:-1px;font-size:29px;font-weight:750;line-height:1.35}h2{letter-spacing:-.5px;font-size:19px;line-height:1.5}h3{font-size:15px;font-weight:650}small{font-size:11px}svg{display:block}.skip{z-index:100;background:#fff;padding:10px;position:fixed;top:-60px;left:10px}.skip:focus{top:10px}.sidebar{width:var(--nav);border-right:1px solid var(--line);z-index:20;background:#fffefa;flex-direction:column;padding:28px 19px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:10px;padding:0 12px 30px;display:flex}.brandmark{background:var(--deep);color:#d6e6a3;border-radius:13px;place-items:center;width:40px;height:40px;font-family:Georgia,serif;font-size:27px;font-weight:800;display:grid;position:relative}.brandmark:after{content:"";background:#e7b774;border-radius:100% 0;width:15px;height:9px;position:absolute;top:0;right:-2px;transform:rotate(-20deg)}.brand strong{letter-spacing:-1.5px;font-size:27px;line-height:1.1}.brand small{letter-spacing:4px;color:#85998b;margin-top:2px;font-size:9px;font-weight:600;display:block}.profile-mini{background:#f4f6ed;border-radius:12px;align-items:center;gap:10px;margin:0 7px 25px;padding:13px 10px;display:flex}.avatar{background:#efe3c6;border-radius:50%;flex-shrink:0;place-items:center;width:37px;height:37px;font-size:21px;display:grid}.profile-mini b{font-size:12px}.profile-mini small{color:#809084;font-size:9px;display:block}.nav-label{color:#9aa59a;letter-spacing:1.8px;margin-bottom:9px;padding:0 12px;font-size:9px;font-weight:600}.nav{gap:5px;display:grid}.nav a{color:#77867d;border-radius:9px;align-items:center;gap:12px;padding:12px 13px;font-size:12px;font-weight:550;display:flex;position:relative}.nav a:hover{background:#f2f4ed}.nav a.active{color:#34624c;background:#eaf0e2}.nav a.active:before{content:"";background:#456a41;border-radius:0 3px 3px 0;width:3px;height:23px;position:absolute;left:-19px}.ico{vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:19px;height:19px;display:inline-block}.nav-bottom{margin-top:auto;padding-top:25px}.side-card{color:#7b806f;background:#f4f0e5;border-radius:12px;margin-bottom:18px;padding:14px;font-size:10px}.side-card b{color:#67775b;margin-bottom:3px;font-size:11px;display:block}.mini-link{color:#89958b;align-items:center;gap:11px;padding:8px 12px;font-size:11px;display:flex}.workspace{margin-left:var(--nav)}.topbar{border-bottom:1px solid var(--line);background:#fffefa;justify-content:space-between;align-items:center;gap:16px;height:78px;padding:0 38px;display:flex}.crumb{letter-spacing:1.4px;color:#8e9c91;font-size:10px;font-weight:600}.crumb span{color:#c3cbc1;padding:0 13px}.top-right{align-items:center;gap:18px;display:flex}.pill{color:#7b8e78;white-space:nowrap;background:#f1f4e9;border-radius:7px;align-items:center;gap:5px;padding:5px 10px;font-size:10px;font-weight:550;display:inline-flex}.pill.peach{color:#b18e59;background:#fbf0e3}.pill.blue{color:#617d96;background:#eaf1f7}.pill.red{color:#a46b58;background:#faebe5}.xp{color:#b89048;align-items:center;gap:5px;font-size:12px;font-weight:650;display:flex}.role-select{border:1px solid var(--line);color:#63786b;background:#fffefa;border-radius:8px;max-width:148px;padding:7px 10px;font-size:11px}.icon-btn{border:1px solid var(--line);color:#7c907c;background:0 0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.mobile-menu{display:none}main{max-width:1560px;min-height:calc(100vh - 136px);margin:auto;padding:32px 38px 25px}.pagehead{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.eyebrow{letter-spacing:2px;color:#99a18d;margin-bottom:7px;font-size:9px;font-weight:650}.pagehead p{color:#8c998c;margin-top:7px;font-size:12px}.btn{background:var(--green);color:#fffefa;white-space:nowrap;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:9px;padding:11px 18px;font-size:12px;font-weight:600;line-height:1.6;display:inline-flex;box-shadow:0 4px 8px #215d4e0d}.btn:hover{filter:brightness(.96);transform:translateY(-1px)}.btn.secondary{border-color:var(--line);color:#61775f;box-shadow:none;background:#fffefa}.btn.soft{color:#507145;box-shadow:none;background:#eaf0e1}.btn.small{border-radius:7px;padding:7px 12px;font-size:10px}.btn.ghost{color:#75856c;box-shadow:none;background:0 0;padding:7px 0}.btn.danger{color:#a15c4d;background:#f4e7df}.btn.gold{color:#70542f;background:#edc57e}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hero{background:#e8efdf;border:1px solid #e2ead8;border-radius:18px;align-items:center;min-height:258px;margin-bottom:27px;padding:32px 36px;display:flex;position:relative;overflow:hidden}.hero-copy{z-index:2;max-width:55%;position:relative}.hero .eyebrow{color:#7f9169;letter-spacing:1.2px;font-size:9px}.hero h2{letter-spacing:-1.2px;color:#365342;margin:12px 0;font-size:34px;font-weight:700;line-height:1.3}.hero p{color:#7e8f76;max-width:345px;margin-bottom:22px;font-size:11px}.hero-art{width:42%;height:270px;position:absolute;bottom:-12px;right:16px}.hero .float-tag{color:#a69368;z-index:1;background:#fff9e9;border:1px solid #f1e6c9;border-radius:9px;padding:8px 13px;font-size:10px;position:absolute;top:25px;right:34px;transform:rotate(7deg)}.dashboard-grid{grid-template-columns:minmax(0,1fr) 282px;gap:23px;display:grid}.panel{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;min-width:0;padding:22px}.panelhead{justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px;display:flex}.panelhead h2{font-size:16px}.panelhead small{color:#9aa592}.sub{color:var(--sub);font-size:12px}.muted{color:#9aa593;font-size:11px}.map-wrap{background:#f7f8ef;border-radius:10px;height:250px;position:relative;overflow:hidden}.map-wrap>svg{width:100%;height:100%}.map-badge{color:#68825a;background:#fffefa;border:1px solid #dde7cd;border-radius:9px;align-items:center;gap:7px;padding:7px 12px;font-size:9px;display:flex;position:absolute;box-shadow:0 4px 10px #35553209}.map-badge b{color:#fff;background:#70966b;border-radius:50%;place-items:center;width:19px;height:19px;font-size:10px;display:grid}.map-badge.one{top:63%;left:7%}.map-badge.two{top:19%;left:39%}.map-badge.three{bottom:12%;right:4%}.stats-inline{text-align:center;grid-template-columns:repeat(3,1fr);margin-top:23px;display:grid}.stats-inline>div+div{border-left:1px solid var(--line)}.stats-inline strong{color:#627451;font-size:21px;font-weight:650;display:block}.stats-inline small{color:#9ca68f;margin-top:3px;font-size:9px;display:block}.right-stack{align-content:start;gap:20px;display:grid}.task{border-bottom:1px solid #eff0e8;align-items:center;gap:11px;padding:13px 0;display:flex}.task:last-child{border:0;padding-bottom:0}.task-icon{color:#8b9b72;background:#f1f3e9;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.task-copy{flex:1}.task b{font-size:10px;line-height:1.5;display:block}.task small{color:#a0a894;font-size:9px}.check-dot{color:#769564;text-align:center;border:1.5px solid #dce4d4;border-radius:50%;width:17px;height:17px;font-size:10px}.check-dot.done{background:#e3ecd7;border-color:#c8d8b6}.friend{background:#f4f0e4;border-color:#ece5d7;position:relative;overflow:hidden}.friend p{color:#99957b;max-width:200px;margin:12px 0 5px;font-size:11px;line-height:1.8}.friend h3{color:#8c896b;font-size:14px}.section-space{margin-top:26px}.game-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.game-card{background:var(--paper);border:1px solid var(--line);border-radius:13px;flex-direction:column;align-items:flex-start;min-width:0;padding:14px;transition:all .2s;display:flex}.game-card:hover{border-color:#c7d6bc;transform:translateY(-4px);box-shadow:0 8px 20px #41653909}.card-art{border-radius:9px;place-items:center;width:100%;height:97px;margin-bottom:13px;display:grid;position:relative;overflow:hidden}.mint{color:#7e9d68;background:#eaf0e1}.peach{color:#be9264;background:#f7e8d8}.lavender{color:#a491bd;background:#eeeaf4}.yellow{color:#b5a16d;background:#f5efda}.blue{color:#839fae;background:#e7eef3}.pink{color:#bc9384;background:#f4e6e2}.card-art .ico{stroke-width:1.2px;width:45px;height:45px}.card-art span{border:1px solid;border-radius:5px;padding:2px 9px;font-size:15px;font-weight:600;position:absolute;top:17px;right:17px;transform:rotate(8deg)}.game-card h3{font-size:12px}.game-card p{color:#9ca492;margin:5px 0 13px;font-size:10px}.game-card .btn{margin-top:auto;padding:6px 10px;font-size:9px}.game-meta{color:#a5ab9e;margin-left:auto;font-size:9px}footer{border-top:1px solid var(--line);color:#adb5a5;justify-content:space-between;gap:15px;padding:18px 38px;font-size:9px;display:flex}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.grid4{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.metric{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:20px}.metric .ico{color:#91a77c;margin-bottom:10px}.metric strong{font-size:29px;font-weight:650;line-height:1.4;display:block}.metric small{color:#99a58f}.metric p{color:#91a080;font-size:10px}.notice{color:#839174;background:#eff3e8;border:1px solid #e1e8d6;border-radius:10px;margin-bottom:21px;padding:13px 17px;font-size:11px;line-height:1.8}.notice.warm{color:#a18d6b;background:#f7f0e4;border-color:#eee2cc}.tabs{flex-wrap:wrap;gap:7px;margin-bottom:22px;display:flex}.tab{border:1px solid var(--line);background:var(--paper);color:#92a083;border-radius:8px;padding:8px 14px;font-size:11px}.tab.active{color:#fff;background:#67825b;border-color:#67825b}.progress{background:#ecf0e4;border-radius:8px;height:7px;overflow:hidden}.progress i{background:#8da672;border-radius:8px;height:100%;transition:width .3s;display:block}.week{margin-bottom:20px}.weekhead{align-items:center;gap:12px;margin-bottom:12px;display:flex}.weeknum{color:#7b905f;background:#edf1e4;border-radius:9px;place-items:center;width:33px;height:33px;font-size:12px;font-weight:650;display:grid}.weekhead h3{font-size:13px}.weekhead small{color:#a4ad98;font-size:9px}.lesson-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:10px;padding:18px;transition:all .2s;display:flex}.lesson-card:hover{border-color:#adbf97}.lesson-card .top{justify-content:space-between;align-items:center;display:flex}.lesson-card h3{font-size:13px}.lesson-card p{color:#9aa58f;font-size:10px}.letter-chips{flex-wrap:wrap;gap:5px;display:flex}.letter-chip{color:#789260;background:#f2f4eb;border-radius:5px;padding:3px 8px;font-size:10px}.lesson-card .bottom{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.searchbox{border:1px solid var(--line);color:#62745e;background:#fffefa;border-radius:9px;min-width:220px;padding:11px 15px}.empty{text-align:center;color:#98a48c;padding:35px 20px}.empty .ico{color:#b2bea4;width:42px;height:42px;margin:0 auto 15px}.empty h3{color:#718265;margin-bottom:10px}.empty p{margin-bottom:18px;font-size:11px}.play-shell{max-width:850px;margin:auto}.play-top{align-items:center;gap:20px;margin:10px 0 24px;display:flex}.play-top .progress{flex:1}.play-top small{color:#9aa68f}.play-card{background:var(--paper);border:1px solid var(--line);text-align:center;min-height:450px;box-shadow:var(--shadow);border-radius:18px;padding:35px}.play-card h2{margin:12px 0;font-size:23px}.play-card .instruction{color:#9aa48e;font-size:12px}.play-card .question{margin:28px 0}.letters{flex-wrap:wrap;justify-content:center;gap:9px;margin:20px 0;display:flex}.tile{color:#7a8f61;background:#f6f7ee;border:1px solid #e0e6d5;border-bottom:4px solid #d8e0cd;border-radius:11px;place-items:center;min-width:58px;height:68px;padding:0 13px;font-size:27px;font-weight:650;transition:all .15s;display:grid}.tile:hover{background:#e9efdc}.tile.selected{color:#4a6c32;background:#e0ebce;border-color:#8da76d;transform:translateY(-3px)}.tile.correct{background:#e3efd8;border-color:#7d9e5d}.tile.wrong{background:#f4e7df;border-color:#c9a08e}.word-large{letter-spacing:2px;color:#5b7750;margin:23px 0 10px;font-size:49px;font-weight:600;line-height:1.3}.ipa{letter-spacing:.6px;color:#99a480;font-family:DejaVu Sans,Arial,sans-serif;font-size:18px}.play-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:13px;margin-top:28px;display:flex}.feedback{text-align:left;color:#738d59;background:#edf3e3;border-radius:10px;margin-top:25px;padding:17px 20px;font-size:12px;line-height:1.9}.feedback.bad{color:#ad8d6e;background:#f9ede4}.feedback b{margin-bottom:3px;font-size:13px;display:block}.choices{gap:10px;max-width:540px;margin:23px auto;display:grid}.choice{text-align:left;border:1px solid var(--line);color:#7e9071;background:#fffefa;border-radius:10px;align-items:center;gap:13px;padding:15px 19px;font-size:13px;display:flex}.choice>span{border:1px solid #d9e2cf;border-radius:6px;flex-shrink:0;place-items:center;width:25px;height:25px;font-size:10px;display:grid}.choice.selected{background:#f0f5e7;border-color:#8fab74}.choice.correct{background:#eaf2df;border-color:#8ba668}.choice.wrong{background:#faeee3;border-color:#cda58d}.slots{background:#f2f5e9;border:2px dashed #d7e2c8;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;max-width:600px;min-height:82px;margin:22px auto;padding:13px;display:flex}.slots .tile{border-bottom-width:3px;min-width:45px;height:48px;font-size:23px}.slots small{color:#afbaa2}.bridge-word{justify-content:center;gap:17px;margin:45px 0 25px;display:flex;position:relative}.bridge-word .tile{min-width:66px;height:77px}.bridge-word .joined{color:#9680ad;background:#eee7f5;border-color:#a898b8}.bridge-line{border:3px solid #b2a0c5;border-bottom:0;border-radius:30px 30px 0 0;width:110px;height:30px;position:absolute;top:-22px;transform:translate(42px)}.spell-input{letter-spacing:4px;text-align:center;color:#698350;background:#fbfcf6;border:1.5px solid #d4dfc6;border-radius:11px;width:330px;max-width:100%;padding:15px 22px;font-size:25px}.story-text{color:#58714d;background:#f3f5e9;border-radius:12px;margin:22px 0;padding:28px;font-size:26px;line-height:1.8}.result-orb{background:#ebf2db;border-radius:50%;place-items:center;width:105px;height:105px;margin:20px auto;font-size:48px;display:grid}.result-stats{justify-content:center;gap:45px;margin:26px 0;display:flex}.result-stats b{font-size:24px;display:block}.result-stats small{color:#a0ad91}.sound-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;display:grid}.sound-card{border:1px solid var(--line);background:var(--paper);text-align:center;color:#879b6d;border-radius:11px;padding:17px 5px;transition:all .15s}.sound-card:hover{border-color:#9eb582;transform:translateY(-3px)}.sound-card strong{font-family:Arial,sans-serif;font-size:24px;font-weight:500}.sound-card small{color:#a5ae9a;margin-top:5px;font-size:9px;display:block}.sound-detail{grid-template-columns:125px 1fr;gap:23px;margin:25px 0;display:grid}.sound-big{color:#829b61;background:#eff3e3;border-radius:20px;place-items:center;width:125px;height:125px;font-family:Arial;font-size:49px;display:grid}.sound-detail p{color:#90a07d;margin-bottom:10px;font-size:12px}.table-wrap{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:11px}th{letter-spacing:.7px;text-transform:uppercase;color:#9aa78c;border-bottom:1px solid var(--line);white-space:nowrap;background:#fafbf6;padding:13px 12px;font-size:9px;font-weight:550}td{color:#86967a;border-bottom:1px solid #edf0e5;padding:15px 12px}td strong{color:#667d59;font-weight:550}tr:last-child td{border-bottom:0}.skill-row{align-items:center;gap:15px;margin:19px 0;display:flex}.skill-row b{color:#8b9b7c;min-width:120px;font-size:11px;font-weight:500}.skill-row .progress{flex:1}.skill-row small{text-align:right;color:#9ba88c;width:33px;font-size:10px}.chart{border-bottom:1px solid var(--line);justify-content:space-around;align-items:flex-end;gap:15px;height:170px;margin:25px 0 5px;padding:0 12px 24px;display:flex}.bar-col{flex:1;justify-content:center;align-items:flex-end;height:100%;display:flex;position:relative}.bar-col i{background:#b9c9a0;border-radius:5px 5px 0 0;width:27px;max-width:100%;min-height:2px;display:block}.bar-col small{color:#9aa88c;font-size:9px;position:absolute;bottom:-21px}.bar-col b{bottom:calc(var(--v) + 4px);color:#8a9c77;font-size:9px;font-weight:500;position:absolute}.quote{color:#9b977f;background:#f5f3e8;border-radius:10px;margin:18px 0;padding:20px;font-size:12px;line-height:1.9}.field{text-align:left;gap:7px;margin-bottom:17px;display:grid}.field label{color:#899a76;font-size:11px}.field input,.field select,.field textarea{color:#6a8157;background:#fdfef9;border:1px solid #dfe6d4;border-radius:8px;width:100%;padding:11px 13px}.field textarea{resize:vertical;min-height:95px}.checkbox{color:#8f9c80;align-items:flex-start;gap:10px;margin:15px 0;font-size:11px;display:flex}.checkbox input{accent-color:#77945b;margin-top:4px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-grid .field{margin-bottom:0}dialog{border:1px solid var(--line);background:var(--paper);width:min(640px,100% - 30px);color:var(--ink);border-radius:18px;max-height:90vh;padding:32px;overflow:auto;box-shadow:0 20px 80px #1c35222a}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1c35224f}dialog h2{margin-bottom:10px;padding-right:24px}dialog .close{z-index:4;font-size:22px;position:absolute;top:17px;right:17px}dialog p{color:#93a081;margin:10px 0 18px;font-size:12px}dialog .actions{margin-top:20px}#toast{color:#f4f8ed;z-index:100;background:#294b3d;border-radius:10px;max-width:90%;padding:12px 22px;font-size:12px;display:none;position:fixed;bottom:25px;left:calc(50% + 100px);transform:translate(-50%);box-shadow:0 6px 30px #204d341f}.badge-card{text-align:center;border:1px solid var(--line);background:#fffefa;border-radius:13px;padding:24px 18px}.badge-card .badge-art{background:#f2eddc;border-radius:21px;place-items:center;width:72px;height:72px;margin:0 auto 12px;font-size:32px;display:grid;transform:rotate(-5deg)}.badge-card h3{margin-bottom:6px;font-size:12px}.badge-card p{color:#a2aa96;margin-bottom:12px;font-size:10px}.badge-card.locked .badge-art{filter:grayscale();opacity:.4}.plan-card{border:1px solid var(--line);background:#fffefa;border-radius:15px;flex-direction:column;padding:27px;display:flex;position:relative}.plan-card.featured{background:#fbfcf6;border:2px solid #8ca26d}.plan-card .ribbon{color:#fff;background:#79935d;border-radius:6px;padding:4px 12px;font-size:9px;position:absolute;top:-13px;left:24px}.plan-card h3{font-size:16px}.plan-price{color:#698252;margin:17px 0;font-size:27px;font-weight:650}.plan-price small{color:#9ca68e;font-size:10px;font-weight:400}.plan-card ul{color:#94a183;margin:4px 0 24px;padding:0;font-size:11px;line-height:2.7;list-style:none}.plan-card li:before{content:"✓";color:#8ba26c;margin-right:9px}.plan-card .btn{margin-top:auto}.checklist{padding:0;list-style:none}.checklist li{border-bottom:1px solid var(--line);color:#91a17c;align-items:center;gap:12px;padding:14px 0;font-size:12px;display:flex}.review-item{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:17px 0;display:flex}.review-item .tag{color:#7f995f;text-align:center;background:#edf2e4;border-radius:8px;width:57px;padding:5px;font-size:22px}.review-item p{color:#a2ad94;font-size:10px}.review-item .spacer{flex:1}.record-stage{text-align:center;background:#f5f7ee;border-radius:14px;padding:30px}.mic{color:#8aa16d;background:#e5edda;border-radius:50%;place-items:center;width:80px;height:80px;margin:20px auto;display:grid}.mic .ico{width:34px;height:34px}.mic.recording{color:#b37962;background:#f2ddd3;animation:1s infinite pulse}.record-stage .word-large{margin:0}.audio-player{width:100%;margin-top:20px}details{border-bottom:1px solid var(--line);padding:16px 0}summary{cursor:pointer;color:#7e926b;font-size:12px;font-weight:550}details p{color:#9aa68b;padding:12px 0 0;font-size:11px;line-height:1.9}.toggle-list{gap:15px;display:grid}.toggle-item{border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:15px;padding:15px;display:flex}.toggle-item b{font-size:12px;display:block}.toggle-item small{color:#a3ad96}.toggle-item input{accent-color:#749457;width:18px;height:18px}.menu-backdrop{display:none}.active-record{color:#bd7c63;font-size:11px}.sound-source{color:#a9af9b;margin:15px 0;font-size:10px}.onboarding-option{border:1px solid var(--line);color:#82966d;border-radius:10px;align-items:center;gap:12px;margin-bottom:10px;padding:15px;font-size:12px;display:flex}.onboarding-option input{accent-color:#829c67}.onboarding-option span{font-size:22px}.level-badge{color:#8fa176;border:1px solid #dbe4cd;border-radius:6px;padding:4px 8px;font-size:9px}.week-summary{color:#90a07b;justify-content:space-between;align-items:center;margin:15px 0;font-size:11px;display:flex}.word-card{border:1px solid var(--line);background:#fffefa;border-radius:12px;padding:18px}.word-card strong{color:#7c9366;font-size:23px;display:block}.word-card .ipa{font-size:13px}.word-card p{color:#a4ac97;margin:5px 0 12px;font-size:10px}.word-card .letter-chips{margin:12px 0}.segment-note{color:#9ca68c;max-width:580px;margin:14px auto;font-size:10px}.capability{border:1px solid var(--line);background:#f5f7ed;border-radius:10px;padding:15px}.capability strong{color:#8ba074;font-size:12px}.capability p{color:#a2ac94;margin:7px 0 0;font-size:11px}.success-head{text-align:center}.file-info{color:#a0ad90;margin-top:15px;font-size:10px}.remove-mobile{display:block}@keyframes pulse{50%{box-shadow:0 0 0 9px #ecd2c448}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}body.reduce-motion *{transition:none!important;animation:none!important}@media (width>=1600px){:root{--nav:260px}main{padding-top:40px}.hero{min-height:290px}.hero-art{height:305px}.game-grid{gap:20px}.map-wrap{height:290px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 315px}.hero h2{font-size:38px}}@media (width<=1200px){:root{--nav:210px}.sidebar{padding-left:14px;padding-right:14px}.nav a{padding:11px 8px;font-size:11px}.nav a.active:before{left:-14px}main{padding:26px}.topbar{padding:0 26px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 245px;gap:18px}.hero{padding:28px}.hero h2{font-size:29px}.hero-copy{max-width:61%}.hero-art{width:40%;right:0}.panel{padding:18px}.game-grid{gap:12px}.sound-grid{grid-template-columns:repeat(6,1fr)}.crumb{letter-spacing:.7px;font-size:9px}.grid4{gap:12px}.metric{padding:16px}}@media (width<=1000px){.dashboard-grid{grid-template-columns:1fr}.right-stack{grid-template-columns:1fr 1fr}.hero-art{width:43%}.grid3{gap:13px}.top-right{gap:10px}.topbar .pill{display:none}.plan-card{padding:20px}.form-grid{gap:12px}.grid4,.grid3.curriculum{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){:root{--nav:0px}.sidebar{width:245px;transition:transform .2s;transform:translate(-100%)}.sidebar.open{transform:none}.menu-backdrop.show{z-index:19;background:#203d3a55;display:block;position:fixed;inset:0}.mobile-menu{display:grid}.workspace{margin-left:0}.topbar{height:65px;padding:0 18px}.crumb{display:none}.top-right{gap:12px;margin-left:auto}.topbar .xp{font-size:11px}.role-select{max-width:126px;padding:7px;font-size:10px}.topbar .icon-btn.help-button{display:none}main{padding:24px 18px}h1{font-size:23px}.pagehead{align-items:flex-start;gap:10px;margin-bottom:22px}.pagehead .btn{padding:8px 10px;font-size:10px}.pagehead p{font-size:11px}.hero{align-items:flex-start;min-height:310px;padding:27px}.hero h2{font-size:29px}.hero-copy{width:100%;max-width:100%}.hero-copy p{max-width:230px;padding-right:10px;font-size:10px}.hero-art{opacity:.9;width:46%;height:190px;bottom:-12px;right:-2px}.hero .float-tag{display:none}.hero .eyebrow{font-size:8px}.hero .actions{max-width:180px}.hero .btn{font-size:10px}.hero .btn.secondary{background:#f3f6ec}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.right-stack{grid-template-columns:1fr}.friend{display:none}.panel{padding:18px}.map-wrap{height:230px}.map-badge{padding:5px 8px;font-size:8px}.map-badge.two{top:18%;left:35%}.map-badge.three{bottom:12%;right:1%}.map-badge.one{top:65%;left:2%}.map-badge b{width:15px;height:15px;font-size:8px}.grid2,.grid3,.grid3.curriculum{grid-template-columns:1fr}.grid4{gap:10px}.metric strong{font-size:25px}.sound-grid{grid-template-columns:repeat(4,1fr);gap:9px}.sound-card{padding:13px 4px}.sound-card strong{font-size:22px}.searchbox{width:100%;min-width:0}.pagehead:has(.searchbox){flex-direction:column}.play-card{padding:23px 17px}.play-card h2{font-size:19px}.tile{min-width:43px;height:57px;padding:0 10px;font-size:24px}.letters{gap:7px}.word-large{font-size:42px}.play-card .instruction{font-size:11px}.play-controls{gap:8px}.play-controls .btn{padding:10px 14px;font-size:11px}.story-text{padding:20px;font-size:21px}.choices{gap:8px}.choice{padding:12px;font-size:12px}.result-stats{gap:25px}.sound-detail{grid-template-columns:75px 1fr;gap:16px}.sound-big{width:75px;height:75px;font-size:35px}.form-grid{grid-template-columns:1fr}.tabs{gap:5px}.tab{padding:7px 10px;font-size:10px}dialog{padding:25px}.remove-mobile{display:none}footer{padding:17px 18px;font-size:8px}footer span{display:none}#toast{text-align:center;width:max-content;max-width:90%;font-size:11px;left:50%}.bridge-word{gap:9px}.bridge-word .tile{min-width:48px;height:65px}.bridge-line{width:90px;transform:translate(30px)}.weeknum{width:28px;height:28px}.notice{font-size:10px}.badge-card{padding:18px 10px}.grid3.shop-grid{grid-template-columns:repeat(2,1fr)}.game-card{padding:12px}.game-card h3{font-size:11px}.card-art{height:86px}.game-card p{font-size:9px}}.city-decoration{filter:drop-shadow(0 4px 2px #71805420);pointer-events:none;font-size:35px;line-height:1;position:absolute}.deco-tree{bottom:14%;left:29%}.deco-balloon{font-size:38px;top:6%;right:17%}.deco-lighthouse{font-size:34px;bottom:9%;right:25%}.sidebar button.mini-link{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;font-family:inherit}button.text-link,button.task{text-align:left;cursor:pointer;background:0 0;border:0}button.text-link{padding:0}button.text-link.muted{font-size:11px}button.task{border-bottom:1px solid #eff0e8;width:100%}button.task:last-child{border:0}button.game-card{font:inherit;text-align:left;cursor:pointer;width:100%}.prototype-art{display:contents}.map-wrap>.prototype-art>svg{width:100%;height:100%}button.modal-close{cursor:pointer;background:0 0;border:0;font-size:25px;position:absolute;top:10px;right:16px}.hide-reference-ipa .word-card .ipa,.hide-reference-ipa .blend-panel>.ipa{display:none}.practice-reference-guide{text-align:center;margin:20px auto}.play-card .choice.selected:not(.correct):not(.wrong){color:var(--ink);background:#f1f3f5;border-color:#667586}.trial-welcome .brand{margin-bottom:32px}.trial-welcome details{border-top:1px solid var(--line,#dce4da);padding-top:24px}.trial-welcome summary{cursor:pointer;font-weight:700}.trial-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.trial-banner p{margin:6px 0 0}.trial-banner .actions{flex-wrap:wrap}.ipa-listen-actions{flex-wrap:wrap;gap:8px}.ipa-level{align-items:center;gap:8px;margin-top:14px;display:flex}.ipa-mouth-guide{border:1px solid var(--line,#dae4d1);background:#f5f8ef;border-radius:16px;flex:240px;padding:18px}.ipa-mouth-guide h3{margin-top:0}.sound-detail.reference-head{grid-template-columns:100px minmax(0,1fr) minmax(180px,1fr);align-items:start}.reference-head .sound-big{width:100%;max-width:100px;height:100px}.reference-head>div{min-width:0}@media (width<=760px){.sound-detail.reference-head{grid-template-columns:64px minmax(0,1fr)}.reference-head .sound-big{height:64px}.ipa-listen-actions .btn{padding:10px 12px}.ipa-mouth-guide{grid-column:1/-1}}.word-picture{margin:12px 0}.word-picture-frame{aspect-ratio:4/3;background:#fcfaf2;border-radius:14px;place-items:center;display:grid;overflow:hidden}.word-picture img{object-fit:contain;width:100%;height:100%;min-height:0;display:block}.word-picture figcaption{color:#52685e;margin-top:8px;font-size:12px;line-height:1.5}.library-word-card>strong{margin-top:8px}.library-word-card .word-meaning{color:#52685e;margin:6px 0 12px;font-size:14px;line-height:1.5}.word-pronunciation{margin:12px 0}.word-pronunciation .ipa{margin-top:12px}.library-picture-filter{color:var(--sub);flex-wrap:wrap;align-items:center;gap:12px 24px;margin:18px 0 10px;display:flex}.library-picture-filter label{color:var(--ink);align-items:center;gap:8px;display:flex}.vocab-modes{flex-wrap:wrap;margin:20px 0}.vocab-question,.vocab-finish,.vocab-recall{text-align:center;padding:16px 0}.vocab-question .btn,.vocab-recall .btn{margin-top:12px}.vocab-target{color:var(--deep);margin:12px 0;font-size:38px;line-height:1.4;display:block}.vocab-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.vocab-option{border:2px solid var(--line);background:var(--paper);min-width:0;color:var(--ink);border-radius:16px;padding:8px}.vocab-option .word-picture{margin:0 0 8px}.vocab-option .word-picture-frame{aspect-ratio:1}.vocab-option:disabled{opacity:1}.vocab-option.is-correct{background:#edf5e9;border-color:#226653}.vocab-option.needs-review{border-color:#d79b42}.vocab-feedback{background:#edf5e9;border-radius:14px;padding:18px}.vocab-feedback .actions,.vocab-recall .actions{flex-wrap:wrap;justify-content:center;margin-top:14px}.vocab-recall>.word-picture{max-width:300px;margin:0 auto 16px}@media (width<=600px){.vocab-options{gap:6px}.vocab-option{padding:5px;font-size:11px}.vocab-modes .tab{padding:9px}}
