@font-face{font-family:Sidequest;src:local('Avenir Next');font-display:swap}
:root{--bg:#f6f7f2;--paper:#fff;--ink:#243c33;--muted:#758078;--line:#e1e6dc;--green:#285c47;--dark:#204637;--lime:#dff0ac;--soft:#edf2e4;--gold:#f1dfaa;--rose:#edccc8;--error:#a33a32;--shadow:0 4px 0 rgba(36,60,51,.06);font-family:Sidequest,'Avenir Next',-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC',sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:var(--green)}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #748bd2;outline-offset:4px}button{touch-action:manipulation}button svg{pointer-events:none}button>*{pointer-events:none}.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.skip-link{position:fixed;top:-100px;left:20px;background:white;padding:14px;z-index:100}.skip-link:focus{top:12px}.sidebar{width:225px;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);background:#fcfcf8;padding:32px 20px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;padding:0 10px;margin-bottom:40px;color:var(--ink)}.brand img{width:38px;height:38px}.brand strong{font-size:23px;letter-spacing:-1px}.brand small{display:block;font-size:9px;font-weight:700;letter-spacing:2.7px;margin-top:1px;color:var(--muted)}.nav-item{border:0;background:transparent;width:100%;display:flex;align-items:center;gap:13px;padding:15px 18px;border-radius:12px;font-weight:600;font-size:14px;text-align:left;margin:5px 0;color:#788179}.nav-item.active{background:#e7eedb;color:var(--green)}.nav-item:hover{background:var(--soft);color:var(--green)}.badge-count{margin-left:auto;background:var(--lime);border-radius:8px;padding:2px 7px;font-size:11px}.sidebar-bottom{margin-top:auto}.side-note{background:#f0f2e8;border-radius:14px;padding:18px;margin:25px 6px 20px;font-size:12px;line-height:1.6;color:#758074}.side-note strong{display:block;color:var(--ink);font-size:13px;margin-bottom:5px}.side-note .icon{margin-bottom:8px}.profile{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding:20px 10px 0}.avatar{background:#e2d6c5;color:#5c5347;width:35px;height:35px;border-radius:12px;display:grid;place-items:center;font-weight:700}.profile strong{font-size:13px}.profile small{display:block;font-size:11px;color:var(--muted)}.shell{margin-left:225px}.topbar{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 44px;background:rgba(252,252,248,.85)}.crumb{font-size:13px;color:var(--muted)}.crumb b{font-weight:600;color:var(--ink)}.topstats{display:flex;gap:24px;align-items:center}.stat{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;white-space:nowrap}.stat.fire{color:#b77b40}.stat.gem{color:#597877}.stat-icon{height:19px;width:19px}.main{max-width:1400px;margin:0 auto;padding:35px 44px 60px}.eyebrow{text-transform:uppercase;letter-spacing:1.7px;font-size:10px;font-weight:700;color:var(--muted);margin:0 0 9px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.page-heading h1{font-size:29px;letter-spacing:-1.1px;margin:0 0 6px;line-height:1.25}.page-heading p{color:var(--muted);font-size:13px;margin:0;line-height:1.5}.pill{border:1px solid var(--line);border-radius:20px;padding:7px 12px;font-size:10px;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.pill .icon{width:13px;height:13px}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:28px}.hero{background:#e6edd5;border:1px solid #dce6c5;border-radius:19px;padding:27px 29px;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;position:relative;overflow:hidden;min-height:246px}.hero .eyebrow{color:#6a7e4b}.hero h2{font-size:32px;line-height:1.16;letter-spacing:-1.2px;margin:10px 0 12px;font-weight:700;position:relative;z-index:1}.hero p{font-size:12px;color:#6c7b5d;max-width:255px;line-height:1.6;margin:0 0 22px}.primary{border:1px solid var(--green);border-bottom-width:4px;background:var(--green);color:white;border-radius:11px;padding:12px 18px;font-weight:650;font-size:13px;display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:45px;transition:transform .12s,background .12s}.primary:hover{background:#1e4b38}.primary:active{transform:translateY(2px);border-bottom-width:2px}.primary .icon{width:17px;height:17px}.secondary{background:white;border:1px solid #d9dfd2;border-bottom-width:3px;border-radius:11px;padding:11px 16px;font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:9px;min-height:44px}.secondary:hover{background:var(--soft)}.ghost{border:0;background:transparent;padding:9px 5px;font-size:12px;font-weight:600;color:var(--green);display:inline-flex;align-items:center;gap:7px;min-height:40px}.ghost:hover{text-decoration:underline}.ghost .icon{width:15px;height:15px}.hero-art{width:100%;max-width:245px;justify-self:end;overflow:visible}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:28px 0 14px;gap:12px}.section-heading h2{font-size:16px;letter-spacing:-.3px;margin:0}.section-heading p{font-size:11px;color:var(--muted);margin:4px 0 0}.world-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.world-card{position:relative;background:white;border:1px solid var(--line);border-radius:13px;padding:15px 13px;text-align:left;min-height:112px}.world-card:hover{border-color:#91a77b}.world-card.selected{border:2px solid var(--green);padding:14px 12px;background:#fcfdf8}.world-emblem{height:29px;width:29px;display:grid;place-items:center;border-radius:9px;margin-bottom:12px;background:#f5ebd0;color:#99844e}.sage .world-emblem{background:#e3ece1;color:#627b63}.rose .world-emblem{background:#f5e3e1;color:#a46765}.world-card strong{display:block;font-size:12px;letter-spacing:-.1px}.world-card small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.world-check{position:absolute;right:11px;top:11px;color:var(--green)}.world-check .icon{width:15px;height:15px}.level-tabs{display:flex;gap:5px;padding:4px;background:#ebece5;border-radius:10px;margin-bottom:15px;flex-wrap:wrap}.level-tabs button{border:0;background:transparent;border-radius:7px;padding:9px 12px;color:var(--muted);font-size:11px;font-weight:650;flex:1;white-space:nowrap}.level-tabs button.active{background:white;box-shadow:0 1px 4px #0000000a;color:var(--ink)}.unit{border:1px solid var(--line);background:var(--paper);border-radius:13px;margin-bottom:11px;overflow:hidden}.unit summary{display:flex;align-items:center;gap:14px;padding:17px 18px;list-style:none;cursor:pointer}.unit summary::-webkit-details-marker{display:none}.unit-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:#edf2e4;color:#6d8450;font-family:'PingFang SC',sans-serif;font-size:21px}.unit-info{flex:1;min-width:0}.unit-info small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);margin-bottom:4px}.unit-info strong{font-size:13px}.unit-count{font-size:10px;color:var(--muted)}.unit summary>.icon{width:15px;height:15px;transition:transform .2s}.unit[open] summary>.icon{transform:rotate(90deg)}.unit-lessons{border-top:1px solid var(--line);margin:0 18px 12px;padding-top:9px}.lesson-row{border:0;background:transparent;display:flex;align-items:center;text-align:left;gap:12px;padding:12px 2px;width:100%;font-size:12px}.lesson-row:hover{color:var(--green)}.lesson-node{width:28px;height:28px;display:grid;place-items:center;border:1px solid #dde5d6;border-radius:50%;font-size:11px;color:#809071}.lesson-node.done{background:var(--green);color:white;border-color:var(--green)}.lesson-node .icon{width:15px;height:15px}.lesson-row strong{font-weight:500;flex:1}.lesson-row .hint{font-size:10px;color:var(--muted)}.card{background:white;border:1px solid var(--line);border-radius:16px;padding:21px;margin-bottom:17px}.card h3{margin:0 0 8px;font-size:14px}.card p{font-size:12px;color:var(--muted);line-height:1.65;margin:5px 0 14px}.daily-title{display:flex;justify-content:space-between;align-items:center}.daily-title .icon{width:17px;height:17px;color:#b08e53}.goal-ring{width:124px;height:124px;margin:17px auto 15px;position:relative}.goal-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.goal-ring .ring-value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column}.ring-value strong{font-size:28px;letter-spacing:-1px;line-height:1}.ring-value small{font-size:10px;color:var(--muted);margin-top:6px}.week{display:flex;justify-content:space-between;margin-top:17px}.week-day{font-size:9px;color:var(--muted);text-align:center}.week-dot{width:22px;height:22px;background:#f1f3ed;border-radius:50%;margin-bottom:6px;display:grid;place-items:center}.week-day.active .week-dot{background:var(--green);color:white}.week-day.today .week-dot{box-shadow:inset 0 0 0 1px var(--green)}.week-dot .icon{width:12px;height:12px}.tool-row{display:flex;align-items:center;gap:11px;border:0;background:transparent;width:100%;padding:14px 0;text-align:left;border-bottom:1px solid #eef0e9}.tool-row:last-child{border-bottom:0;padding-bottom:3px}.tool-row .tool-icon{background:#f0f3e9;border-radius:10px;display:grid;place-items:center;width:33px;height:33px}.tool-row .icon{width:18px;height:18px}.tool-row span:nth-child(2){flex:1}.tool-row strong{display:block;font-size:12px;font-weight:600}.tool-row small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.tip{background:#f0eee4;border-color:#e7e4d9}.tip .eyebrow{font-size:9px;margin-bottom:10px}.tip .chinese-line{font-size:20px;letter-spacing:2px;color:#666c51;margin:12px 0 2px}.tiny{font-size:10px;color:var(--muted);line-height:1.6}.search{border:1px solid var(--line);background:white;border-radius:12px;padding:13px 16px;font-size:14px;width:100%;margin-bottom:18px}.atlas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.atlas-card{border:1px solid var(--line);border-radius:14px;background:white;padding:21px;cursor:pointer;text-align:left}.atlas-card:hover{border-color:#94ab82;box-shadow:var(--shadow)}.atlas-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.atlas-card h3{font-size:14px;margin:0 0 10px;line-height:1.45}.atlas-card p{font-size:12px;color:var(--muted);margin:0;line-height:1.6}.atlas-card .mini-zh{font-size:20px;color:var(--ink);margin-top:16px;letter-spacing:1px}.atlas-card .icon{width:17px;height:17px}.tag{font-size:9px;letter-spacing:1px;font-weight:700;color:var(--muted);text-transform:uppercase}.empty{padding:55px 20px;text-align:center;background:white;border:1px dashed #cfd8c4;border-radius:18px}.empty h2{font-size:22px;margin:15px 0 8px}.empty p{font-size:14px;line-height:1.65;max-width:400px;margin:0 auto 22px;color:var(--muted)}.empty>.icon{width:40px;height:40px;color:#7d9461}.notice{background:#edf2e4;border-radius:12px;padding:16px 19px;font-size:12px;line-height:1.65;color:#5d7057;margin:0 0 23px}.notice strong{color:var(--ink)}.tone-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:24px 0}.tone-card{border:1px solid var(--line);border-radius:12px;background:white;padding:17px 9px;text-align:center}.tone-card .tone-svg{width:100%;height:43px;display:block;margin-bottom:10px}.tone-card strong{font-size:12px;display:block}.tone-card small{font-size:10px;color:var(--muted)}.tone-card .tone-word{display:block;font-size:21px;margin:8px 0 3px}.practice-panel{max-width:650px;margin:25px auto 0;text-align:center;background:white;border:1px solid var(--line);border-radius:20px;padding:35px}.practice-panel h2{font-size:23px;letter-spacing:-.6px;margin:10px 0}.practice-panel>p{font-size:13px;color:var(--muted);line-height:1.6}.tone-answer-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0 15px}.tone-answer{border:2px solid var(--line);border-bottom-width:5px;border-radius:14px;padding:20px;background:white}.tone-answer strong{display:block;font-size:32px;font-weight:500}.tone-answer small{display:block;font-size:12px;margin-top:6px;color:var(--muted)}.tone-answer:hover{background:var(--soft)}.tone-answer.correct{border-color:var(--green);background:#eef5e4}.tone-answer.wrong{border-color:#c57d70;background:#fff3ef}.tone-score{font-size:12px;color:var(--muted);margin:22px 0 0}.hanzi-card{min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center}.hanzi-big{font-size:76px;font-weight:500;letter-spacing:7px;margin:18px 0;color:var(--ink);font-family:'PingFang SC','Microsoft YaHei',sans-serif}.hanzi-py{font-size:21px;color:#738064;margin:0 0 6px}.hanzi-en{font-size:16px;margin:0 0 15px}.card-actions{display:flex;justify-content:center;gap:12px;margin:20px 0 0;flex-wrap:wrap}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.setting-row{margin:22px 0}.setting-row label{font-size:13px;display:block;font-weight:600;margin-bottom:8px}.setting-row select{padding:10px;border:1px solid var(--line);border-radius:8px;width:100%;background:var(--bg);font-size:14px}.setting-row p{font-size:12px;color:var(--muted)}.toggle-row{display:flex;align-items:center;justify-content:space-between;margin:23px 0;font-size:13px;gap:15px}.toggle-row input{width:22px;height:22px;accent-color:var(--green)}.settings-grid a{font-size:12px}.file-label{cursor:pointer}.file-input{width:100%;font-size:12px;margin:8px 0 16px}.source-links{line-height:2}.source-links a{display:block}.settings-grid p{overflow-wrap:anywhere}
/* Lesson room */
.lesson-shell{min-height:100vh;background:var(--bg)}.lesson-top{display:flex;gap:22px;align-items:center;max-width:850px;margin:auto;padding:27px 25px}.icon-button{display:grid;place-items:center;min-width:42px;min-height:42px;border:1px solid var(--line);background:white;border-radius:11px}.lesson-track{height:10px;background:#e2e7da;border-radius:10px;flex:1;overflow:hidden}.lesson-track div{height:100%;background:#7ba46d;border-radius:10px;transition:width .25s}.lesson-counter{font-size:12px;color:var(--muted);min-width:50px;text-align:right}.lesson-main{width:min(680px,100%);margin:14px auto 0;padding:0 28px 30px}.lesson-main h1{font-size:26px;letter-spacing:-.6px;line-height:1.3;margin:14px 0 9px}.lesson-main .instruction{font-size:13px;color:var(--muted);line-height:1.65;margin:0 0 23px}.pattern{font-size:17px;font-weight:600;background:#e8efda;border:1px solid #dfe8cf;border-radius:13px;padding:20px 22px;line-height:1.6;margin-bottom:20px}.example-block{background:white;border:1px solid var(--line);border-radius:14px;padding:22px;margin:18px 0}.example-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:15px}.example-heading .eyebrow{margin:0}.example-block .zh,.question-zh{font-size:28px;letter-spacing:2px;line-height:1.65;font-family:'PingFang SC','Microsoft YaHei',sans-serif;overflow-wrap:anywhere}.py{font-size:14px;color:#7e8b6c;line-height:1.6;margin:5px 0}.en{font-size:14px;line-height:1.6;margin:8px 0 0}.grammar-detail{font-size:13px;line-height:1.8;margin:16px 0;color:#647264}.grammar-detail strong{color:var(--ink)}.bridge{border-left:3px solid #b5c98e;padding:3px 0 3px 16px;font-size:13px;line-height:1.75;margin:23px 0;color:#64705c}.bridge b{display:block;color:var(--ink);font-size:10px;letter-spacing:1px;text-transform:uppercase;margin-bottom:5px}.scene-label{display:flex;gap:8px;align-items:center;color:#9a8655;font-size:11px;margin-bottom:12px}.scene-label .icon{width:15px;height:15px}.scenario{font-size:13px;color:var(--muted);line-height:1.6}.choice-list{display:grid;gap:10px;margin:23px 0}.choice{display:flex;align-items:center;gap:15px;text-align:left;background:white;border:1px solid #dce2d6;border-bottom:3px solid #dce2d6;border-radius:12px;padding:17px 20px;min-height:64px;font-size:15px}.choice .choice-number{display:grid;place-items:center;border:1px solid var(--line);width:23px;height:23px;min-width:23px;border-radius:6px;font-size:10px;color:var(--muted)}.choice.selected{border-color:#8aa467;background:#edf4e2}.choice.correct{border-color:#6c996e;background:#eaf5e7}.choice.wrong{border-color:#c58d81;background:#fff0ec}.choice.known-answer{border-color:#6c996e}.choice:hover:not(:disabled){background:#f1f5e9}.answer-area{min-height:94px;border:1px dashed #becab0;border-radius:13px;padding:17px;background:#f0f3e9;display:flex;gap:8px;align-content:center;align-items:center;flex-wrap:wrap;margin:20px 0 12px}.answer-placeholder{font-size:12px;color:#87907e;padding:12px}.word-bank{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin:24px 0}.word-tile{font-size:21px;background:white;border:1px solid #d7dfcf;border-bottom:3px solid #d7dfcf;border-radius:9px;padding:10px 16px;min-height:46px}.word-tile:hover{background:#e9f0dd}.word-tile.used{opacity:.3}.answer-area .word-tile{background:#e5edda;border-color:#bbcda7}.lesson-bottom{border-top:1px solid var(--line);padding:20px 0 4px;margin-top:30px;display:flex;justify-content:space-between;align-items:center;gap:18px}.lesson-bottom small{font-size:11px;color:var(--muted)}.feedback{border-radius:13px;padding:20px;margin:22px 0 6px;background:#eaf2df;border:1px solid #d5e3c2}.feedback.error{background:#fff0e9;border-color:#ecd0c5}.feedback h3{font-size:15px;margin:0 0 7px}.feedback p{font-size:13px;line-height:1.65;margin:4px 0}.feedback .py{font-size:13px}.audio-large{width:90px;height:90px;border-radius:25px;border:1px solid #cbd9b8;border-bottom-width:5px;background:#e6efcf;color:var(--green);display:grid;place-items:center;margin:25px auto 14px}.audio-large .icon{width:34px;height:34px}.audio-controls{display:flex;justify-content:center;gap:12px;align-items:center;flex-wrap:wrap}.recording{background:#b55245!important;border-color:#b55245!important}.record-player{display:block;max-width:100%;width:100%;margin:20px 0}.speaking-help{font-size:12px;color:var(--muted);line-height:1.7}.completion{max-width:630px;margin:30px auto;text-align:center;padding:25px}.completion .complete-icon{width:88px;height:88px;background:#e7efcf;border-radius:28px;display:grid;place-items:center;margin:15px auto 25px;color:var(--green);transform:rotate(-6deg)}.complete-icon .icon{width:42px;height:42px;transform:rotate(6deg)}.completion h1{font-size:34px;letter-spacing:-1px;margin:8px 0}.completion>p{font-size:14px;color:var(--muted);line-height:1.7}.completion-stats{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:28px 0}.completion-stat{padding:22px;background:white;border:1px solid var(--line);border-radius:14px}.completion-stat strong{display:block;font-size:30px}.completion-stat small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.completion .example-block{text-align:left}.completion-actions{display:flex;gap:14px;justify-content:center;margin:25px 0;flex-wrap:wrap}.reference-note{font-size:10px;color:var(--muted);line-height:1.6;margin:24px 0 0}dialog{max-width:700px;width:calc(100% - 32px);max-height:88vh;border:1px solid var(--line);border-radius:19px;padding:29px;background:var(--bg);color:var(--ink);box-shadow:0 25px 100px #10251c33}dialog::backdrop{background:#1a2a2355;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;gap:18px;align-items:center}.dialog-top h2{font-size:21px;line-height:1.4;margin:0}.dialog-footer{display:flex;justify-content:flex-end;margin-top:23px}.hidden,[hidden]{display:none!important}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);padding:13px 22px;border-radius:12px;background:#273e32;color:white;font-size:12px;z-index:50;max-width:calc(100% - 30px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;line-height:1.6}#toast.visible{opacity:1;transform:translate(-50%,0)}.mobile-brand{display:none}#rec-status{margin:14px 0;min-height:20px}
@media(min-width:1500px){.main{padding-top:42px}.hero{min-height:275px}.hero h2{font-size:39px}.hero-art{max-width:275px}.home-grid{grid-template-columns:minmax(0,1fr) 285px}.world-card{min-height:122px}.main,.topbar{padding-left:55px;padding-right:55px}}
@media(max-width:1150px){.sidebar{width:195px;padding:27px 14px}.shell{margin-left:195px}.main{padding:28px}.topbar{padding:0 28px}.home-grid{grid-template-columns:minmax(0,1fr) 225px;gap:19px}.hero{padding:23px}.hero h2{font-size:28px}.card{padding:17px}.world-card strong{font-size:11px}.world-card small{font-size:9px}.level-tabs button{padding:9px 5px}.sidebar .brand{padding:0 5px}.hero-art{max-width:190px}}
@media(max-width:950px){.home-grid{grid-template-columns:1fr}.home-aside{display:grid;grid-template-columns:1fr 1fr;gap:15px}.home-aside .tip{display:none}.hero-art{max-width:235px}.hero h2{font-size:33px}.hero{min-height:240px}.world-card strong{font-size:13px}.world-card small{font-size:11px}.main{padding:26px}.atlas-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.topbar{height:76px}.tone-grid{gap:7px}.tone-card{padding:12px 6px}}
@media(max-width:680px){.sidebar{position:fixed;inset:auto 0 0;width:100%;height:72px;padding:6px 5px;background:#fcfcf8f5;backdrop-filter:blur(15px);border-top:1px solid var(--line);border-right:0;display:block}.sidebar .brand,.sidebar-bottom{display:none}.sidebar nav{display:flex;justify-content:space-around}.nav-item{flex-direction:column;gap:4px;padding:7px 4px;margin:0;font-size:9px;border-radius:9px;min-height:58px}.nav-item .icon{width:20px;height:20px}.badge-count{display:none}.shell{margin-left:0;padding-bottom:70px}.topbar{height:67px;padding:0 21px}.crumb{display:none}.mobile-brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:20px;letter-spacing:-.6px}.mobile-brand img{width:29px;height:29px}.topstats{gap:13px}.stat{font-size:11px;gap:4px}.stat .icon{width:16px;height:16px}.main{padding:24px 20px 30px}.page-heading{margin-bottom:21px}.page-heading h1{font-size:25px}.page-heading .pill{display:none}.page-heading p{font-size:12px}.hero{padding:23px 21px;grid-template-columns:1.3fr .9fr;min-height:226px}.hero h2{font-size:28px}.hero .eyebrow{font-size:8px}.hero p{font-size:11px;max-width:210px}.hero .primary{font-size:11px;padding:10px 13px}.hero-art{width:140%;max-width:220px;justify-self:start;margin-left:-15px}.world-grid{gap:8px}.world-card{padding:12px 9px;min-height:115px}.world-card.selected{padding:11px 8px}.world-card strong{font-size:10px;letter-spacing:0}.world-card small{font-size:9px;line-height:1.5}.world-card .world-emblem{width:27px;height:27px}.world-check{right:6px;top:7px}.world-check .icon{width:12px;height:12px}.section-heading h2{font-size:15px}.section-heading .ghost{font-size:10px}.home-aside{grid-template-columns:1fr 1fr;gap:10px}.home-aside .card{padding:15px}.home-aside .card h3{font-size:12px}.tool-row{gap:7px}.tool-row .tool-icon{width:26px;height:26px}.tool-row strong{font-size:10px}.tool-row small{font-size:9px}.tool-row>.icon{display:none}.goal-ring{width:105px;height:105px}.week-dot{width:17px;height:17px}.unit summary{padding:15px 13px;gap:10px}.unit-info strong{font-size:12px}.unit-info small{font-size:8px}.unit-count{font-size:9px}.lesson-row{font-size:11px}.level-tabs button{font-size:10px}.tone-grid{grid-template-columns:repeat(3,1fr)}.tone-card{padding:14px}.practice-panel{padding:24px 18px}.practice-panel h2{font-size:21px}.hanzi-big{font-size:64px}.settings-grid .card{padding:22px}.lesson-top{padding:18px 18px;gap:14px}.lesson-main{padding:0 21px 28px;margin-top:5px}.lesson-main h1{font-size:23px}.pattern{font-size:15px;padding:17px}.example-block{padding:18px}.example-block .zh,.question-zh{font-size:26px}.choice{font-size:14px;padding:15px;gap:10px}.word-tile{font-size:20px;padding:9px 13px}.completion{padding:15px 23px;margin-top:20px}.completion h1{font-size:29px}.lesson-bottom{align-items:flex-start}.lesson-bottom small{max-width:145px;line-height:1.6}.lesson-bottom .primary{min-width:130px}.completion-stat{padding:19px 10px}.lesson-shell .sidebar{display:none}dialog{padding:23px 20px}.dialog-top h2{font-size:18px}#toast{bottom:87px}}
@media(max-width:360px){.hero{grid-template-columns:1fr .65fr;padding:20px 17px}.hero-art{width:175%;margin-left:-26px}.hero h2{font-size:25px}.hero p{font-size:10px}.world-card strong{font-size:9px}.home-aside{grid-template-columns:1fr}.topstats{gap:8px}.topstats .fire{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:680px){.hero-art{width:112%;margin-left:-5px}}
