:root{color:#19332d;font-synthesis:none;--green:#193d34;--mint:#dceae4;--paper:#fffdfa;--line:#d9ddd7;--gold:#eacb70;background:#f7f5ef;font-family:Inter,system-ui,-apple-system,Noto Sans SC,Microsoft YaHei,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}header{border-bottom:1px solid var(--line);z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f5efeb;justify-content:space-between;align-items:center;height:76px;padding:0 max(24px,50vw - 580px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;font-family:Georgia,serif;font-size:20px;font-weight:700;display:flex}.brand span,.deck-icon{background:var(--green);color:#fff;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}nav{gap:8px;display:flex}nav a{border-radius:9px;align-items:center;gap:7px;padding:9px 13px;font-size:14px;display:flex}nav a.active{background:var(--mint)}svg{width:18px;height:18px}main{max-width:1160px;margin:auto;padding:56px 24px 100px}.hero{grid-template-columns:1.3fr .7fr;align-items:center;gap:60px;min-height:410px;display:grid}.hero h1,.page-title{letter-spacing:-1.5px;margin:10px 0 18px;font:52px/1.08 Georgia,serif}.hero h1 em{color:#367362;font-weight:400}.hero>div>p:not(.eyebrow){color:#5d6b66;max-width:620px;font-size:18px}.eyebrow{letter-spacing:2px;color:#4b7c6e;font-size:12px;font-weight:800}.hero-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;place-items:center;padding:42px;display:grid;transform:rotate(2deg);box-shadow:0 22px 50px #183c3214}.hanzi{font-family:Noto Sans SC,Microsoft YaHei,sans-serif;font-size:106px}.pinyin{color:#428675;font-size:24px}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button,.icon-button{background:var(--paper);cursor:pointer;border:1px solid #cbd2cc;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-weight:700;display:inline-flex}.button:hover,.icon-button:hover{border-color:#6b8d83}.primary{background:var(--green);color:#fff;border-color:var(--green)}.wide{width:100%}.save{float:right;margin-top:20px}.icon-button{width:44px;padding:0}.section-title{justify-content:space-between;align-items:end;gap:20px;margin:52px 0 20px;display:flex}.section-title h2{margin:0;font:36px Georgia,serif}.section-title p{margin:0}.empty{text-align:center;background:#fff8;border:1px dashed #aebbb4;border-radius:18px;padding:54px}.empty>svg{width:44px;height:44px}.deck-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.deck{background:var(--paper);border:1px solid var(--line);border-radius:16px;gap:18px;padding:22px;transition:all .2s;display:flex}.deck h3{margin:0 0 5px}.deck p{color:#65726d;margin:0}.deck small{color:#78827e;gap:5px;margin-top:12px;display:flex}.form-card,.settings{background:var(--paper);border:1px solid var(--line);border-radius:18px;max-width:800px;padding:28px}.form-card>label,.settings>label:not(.button){gap:8px;margin-bottom:20px;font-weight:700;display:grid}input,select{color:#19332d;background:#fff;border:1px solid #cbd1cc;border-radius:9px;min-height:44px;padding:9px 12px}input:focus,select:focus,button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #77b7a5}.upload{text-align:center;cursor:pointer;border:2px dashed #b9c6bf;border-radius:14px;align-content:center;place-items:center;min-height:250px;margin:18px 0;display:grid;overflow:hidden}.upload img{object-fit:contain;width:100%;max-height:420px}.upload>svg{width:36px;height:36px}.privacy{color:#5c6c66;font-size:13px}.error{color:#8e302b;background:#fbe5e2;border-radius:9px;padding:12px 15px}.progress{background:#dfe6e1;border-radius:9px;height:8px;overflow:hidden}.progress span{background:#3d806d;height:100%;display:block}.word-table{gap:8px;display:grid}.word-row{background:var(--paper);border:1px solid var(--line);border-radius:10px;grid-template-columns:24px 30px 1fr 1.2fr .7fr 2fr 44px;align-items:center;gap:6px;padding:7px;display:grid}.word-row.review{border-left:4px solid #d39c3b}.num{text-align:center;color:#7d8985}.cards-list{gap:8px;margin:28px 0;display:grid}.mini-card{background:var(--paper);border-bottom:1px solid var(--line);grid-template-columns:30px 80px 140px 1fr 140px;align-items:center;gap:12px;padding:13px 18px;display:grid}.mini-card b{font-size:22px}.mini-card i{color:#2a8aab}.study{max-width:760px;margin:auto}.study-top{justify-content:space-between;margin-bottom:18px;display:flex}.study-top a{font-size:30px}.study-card{background:var(--paper);border:1px solid var(--line);text-align:center;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;min-height:420px;padding:40px;display:flex;box-shadow:0 18px 50px #2342}.study-hanzi{font-family:Noto Sans SC,Microsoft YaHei,sans-serif}.study-pinyin{color:#2683a2;font-size:26px}.meaning{border-top:1px solid var(--line);width:80%;margin-top:22px;padding-top:22px}.reveal{color:#356f61;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin-top:25px;display:flex}.answer-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;display:grid}.answer-grid button{background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:12px;place-items:center;min-height:80px;display:grid}.answer-grid span{color:#73807b;font-size:12px}kbd{background:#eef1ed;border:1px solid #d6dad6;border-radius:4px;padding:1px 5px;font-size:11px}.study-complete{text-align:center}.study-complete>span{font-size:100px}.check{align-items:center;grid-template-columns:none!important;display:flex!important}.check input{width:20px;height:20px;min-height:auto}.settings h2{border-bottom:1px solid var(--line);margin-top:32px;padding-bottom:10px;font:26px Georgia,serif}@media (width<=720px){header{height:64px;padding:0 14px}.brand{font-size:0}.brand span{font-size:20px}nav a{padding:10px;font-size:0}main{padding:32px 14px 90px}.hero{grid-template-columns:1fr;min-height:0}.hero h1,.page-title{font-size:39px}.hero-card{display:none}.deck-grid{grid-template-columns:1fr}.section-title{align-items:start}.word-row{grid-template-columns:24px 26px 1fr 1fr 44px}.word-row input:nth-of-type(3),.word-row input:nth-of-type(4){grid-column:3/5}.mini-card{grid-template-columns:25px 70px 1fr}.mini-card p{grid-column:2/4}.mini-card small{display:none}.study-card{min-height:360px;padding:25px}.answer-grid{grid-template-columns:1fr}.form-card,.settings{padding:18px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--green:#a8d6c8;--mint:#24483e;--paper:#172620;--line:#394c45;color:#e8eee9;background:#101b17}header{background:#101b17e8}.primary{color:#10251e;background:#a8d6c8}input,select{color:#eef4f0;background:#102019}.hero h1 em{color:#92c7b7}}:root[data-theme=dark]{--green:#a8d6c8;--mint:#24483e;--paper:#172620;--line:#394c45;color:#e8eee9;background:#101b17}.animated .meaning{animation:.25s ease-out show}@keyframes show{0%{opacity:0;transform:translateY(8px)}}.new-mode-panel{background:linear-gradient(125deg,var(--mint),var(--paper));border:1px solid var(--line);border-radius:20px;grid-template-columns:auto 1fr minmax(260px,340px);align-items:center;gap:22px;margin:48px 0 10px;padding:26px;display:grid}.new-mode-panel h2{margin:2px 0;font:32px Georgia,serif}.new-mode-panel p{margin:4px 0}.mode-icon{background:var(--green);width:58px;height:58px;color:var(--paper);border-radius:17px;place-items:center;display:grid}.mode-icon svg{width:27px;height:27px}.mode-start{gap:9px;display:grid}.mode-start label{gap:6px;font-size:13px;font-weight:700;display:grid}.lead{color:#64716c;max-width:700px}.learning-head{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.learning-head a{color:#557168;align-items:center;gap:7px;display:flex}.new-word-grid{grid-template-columns:repeat(2,1fr);gap:14px;margin:28px 0;display:grid}.new-word-grid article{background:var(--paper);border:1px solid var(--line);text-align:center;border-radius:16px;padding:18px;box-shadow:0 8px 24px #1231}.new-word-grid i{color:#27809c;font-size:20px;font-style:normal}.new-word-grid p{margin:10px 0 0}.stroke-practice{margin-bottom:12px}.stroke-word{min-height:90px;font-size:58px;line-height:1.5}.stroke-open{width:100%;font-size:13px}.character-tabs{justify-content:center;gap:6px;margin-bottom:8px;display:flex}.character-tabs button{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:8px;width:40px;height:40px;font-size:23px}.character-tabs button.active{background:var(--mint);border-color:#3a806d}.writer-stage{border:1px solid var(--line);background:linear-gradient(90deg,#0000 49.7%,#88a89d22 50%,#0000 50.3%),linear-gradient(#0000 49.7%,#88a89d22 50%,#0000 50.3%);border-radius:14px;place-items:center;width:206px;height:206px;margin:0 auto;display:grid;position:relative}.writer-stage>div{touch-action:none}.writer-loading{background:var(--paper);border-radius:7px;padding:5px 9px;font-size:12px;position:absolute}.stroke-status{color:#60716a;min-height:42px;font-size:13px;margin:8px 0!important}.stroke-status.complete{color:#23704f;font-weight:800}.stroke-actions{flex-wrap:wrap;justify-content:center;gap:7px;display:flex}.stroke-actions .button{min-height:38px;padding:7px 10px;font-size:12px}.trace-close{color:#6b7773;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;margin-top:8px;font-size:11px;display:inline-flex}.trace-close svg{width:13px}.stroke-missing{color:#78571b;background:#fff1d9;border-radius:9px;padding:10px;font-size:13px}.matching-board{grid-template-columns:1fr 1fr;gap:30px;max-width:760px;margin:32px auto;display:grid}.matching-board>div{gap:12px;display:grid}.matching-board button,.triple-options button{background:var(--paper);border:2px solid var(--line);cursor:pointer;border-radius:12px;min-height:62px;padding:12px 18px;font-size:20px}.matching-board button{justify-content:center;align-items:center;gap:9px;display:flex}.matching-board>div:first-child button{font-size:30px}.matching-board button.selected,.triple-options button.selected{background:var(--mint);border-color:#2f806a;box-shadow:0 0 0 3px #67a99633}.matching-board button.correct,.triple-options button.correct{color:#17603f;background:#dff4e9;border-color:#38986d}.matching-board button.wrong,.triple-options button.wrong{color:#8c2f2a;background:#fde7e4;border-color:#cc5a52;animation:.22s shake}.matching-board button.correct:disabled{opacity:1;cursor:default}.match-feedback{text-align:center;color:#397462;min-height:28px;font-weight:700}.triple-prompt{text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:20px;max-width:680px;margin:24px auto;padding:28px}.triple-prompt>b{font-size:72px;display:block}.triple-prompt svg{color:#4d8978}.triple-options{grid-template-columns:1fr 1fr;gap:20px;margin:20px 0;display:grid}.triple-options>div{gap:10px;display:grid}.triple-options>div:first-child button{color:#267e98;font-size:20px}@keyframes shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}@media (width<=720px){.new-mode-panel{grid-template-columns:1fr}.mode-icon{display:none}.new-word-grid{grid-template-columns:1fr}.matching-board,.triple-options{gap:10px}.matching-board button,.triple-options button{padding:8px;font-size:15px}.learning-head{align-items:flex-start}.new-learning .page-title{font-size:34px}}.import-summary{color:#66756f;justify-items:end;gap:3px;font-size:13px;display:grid}.import-summary strong{color:#2e7662}.imported-example-fields{background:#eef7f2;border-radius:9px;grid-column:3/7;grid-template-columns:auto 1.2fr 1.2fr 1.5fr;align-items:center;gap:6px;padding:7px 8px;display:grid}.example-label{color:#34715f;white-space:nowrap;font-size:12px;font-weight:800}@media (width<=720px){.import-summary{justify-items:start}.word-row>input:nth-of-type(3),.word-row>input:nth-of-type(4){grid-column:3/5}.imported-example-fields{grid-column:3/5;grid-template-columns:1fr}}.autofill-toolbar{background:#f2f8f5;border:1px solid #cfe0d8;border-radius:12px;align-items:center;gap:12px;margin:-7px 0 14px;padding:12px 14px;display:flex}.autofill-toolbar small{color:#5e6f68}.autofill-status{color:#28634f;background:#e3f3eb;border-radius:9px;margin:-4px 0 14px;padding:10px 13px}@media (width<=720px){.autofill-toolbar{flex-direction:column;align-items:stretch}.autofill-toolbar .button{width:100%}}.settings-hint{color:#66756f;margin-top:-8px}.cloud-account{gap:14px;display:grid}.cloud-status{color:#315f52;background:#edf6f2;border-radius:12px;align-items:center;gap:12px;padding:13px 15px;display:flex}.cloud-status.error,.cloud-status.offline{color:#8e302b;background:#fbe9e6}.cloud-status svg{width:25px;height:25px}.cloud-status div{display:grid}.cloud-status span{opacity:.75;font-size:13px}.cloud-login{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cloud-login label{gap:6px;font-weight:700;display:grid}@media (width<=720px){.cloud-login{grid-template-columns:1fr}}.header-auth{max-width:220px;min-height:40px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:7px;padding:8px 12px;font-weight:700;display:flex}.header-auth:hover{background:var(--mint)}.header-auth span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.auth-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#10251e99;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.auth-modal{border:1px solid var(--line);background:var(--paper);width:min(520px,100%);max-height:calc(100vh - 40px);color:inherit;border-radius:22px;padding:30px;position:relative;overflow:auto;box-shadow:0 28px 80px #07130f66}.auth-modal h2{margin:4px 42px 4px 0;font:32px Georgia,serif}.auth-intro{color:#66756f;margin:0 0 22px}.auth-close{border:1px solid var(--line);width:40px;height:40px;color:inherit;cursor:pointer;background:0 0;border-radius:10px;place-items:center;display:grid;position:absolute;top:18px;right:18px}@media (width<=720px){.header-auth{width:42px;padding:10px}.header-auth span{display:none}.auth-modal{padding:24px 18px}.auth-modal h2{font-size:27px}}.registration-name{grid-column:1/-1}.profile-name{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.profile-name label{gap:6px;font-weight:700;display:grid}@media (width<=520px){.profile-name{grid-template-columns:1fr}}.auth-mode-switch{border:1px solid var(--theme-border);background:#0002;border-radius:12px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.auth-mode-switch button{min-height:38px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;font-weight:800}.auth-mode-switch button.active{background:var(--theme-surface-soft);color:var(--theme-surface-text);box-shadow:0 2px 8px #0002}.hanzi-data-status{color:#28634f;background:#e9f6f1;border:1px solid #8fc7b5;border-radius:10px;max-width:800px;padding:11px 14px;font-weight:700}.header-identity{align-items:center;gap:10px;display:flex}.global-back{border:1px solid var(--theme-border);min-height:40px;color:inherit;cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:6px;padding:8px 11px;font-weight:750;display:flex}.global-back:hover{background:var(--mint)}.theme-toggle{min-height:40px;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:7px;padding:8px 11px;font-size:14px;display:flex}.theme-toggle:hover{border-color:var(--theme-border,var(--line));background:var(--mint)}@media (width<=720px){.global-back,.theme-toggle{width:40px;padding:9px}.global-back span,.theme-toggle span{display:none}}.public-deck-choice{border:1px solid var(--line);background:var(--mint);cursor:pointer;border-radius:12px;align-items:flex-start;gap:12px;padding:15px;display:flex!important}.public-deck-choice input{flex:none;width:20px;height:20px;min-height:0;margin-top:2px}.public-deck-choice span{gap:3px;display:grid}.public-deck-choice small{color:var(--theme-muted,#64716c);font-weight:400}.deck-language-choice{border:0;margin:0 0 20px;padding:0}.deck-language-choice legend{margin-bottom:8px;font-weight:800}.deck-language-choice>label{border:1px solid var(--line);cursor:pointer;border-radius:12px;align-items:flex-start;gap:9px;width:calc(50% - 6px);padding:13px;display:inline-flex}.deck-language-choice>label+label{margin-left:8px}.deck-language-choice input{width:18px;height:18px;min-height:0}.deck-language-choice span{display:grid}.deck-language-choice small{color:var(--theme-muted,#64716c);font-weight:400}.word-row.english{grid-template-columns:24px 30px 1.4fr .7fr 2fr 44px}.word-row.english .imported-example-fields{grid-column:3/6;grid-template-columns:auto 1.5fr 1.5fr}@media (width<=720px){.deck-language-choice>label{width:100%}.deck-language-choice>label+label{margin:8px 0 0}.word-row.english{grid-template-columns:24px 26px 1fr 1fr 44px}.word-row.english .imported-example-fields{grid-column:3/5;grid-template-columns:1fr}}.settings-languages{border:1px solid var(--line);border-radius:12px;margin-bottom:20px;padding:14px}.settings-languages legend{padding:0 6px;font-weight:800}.settings-languages .check{margin:6px 0}.library-language-groups,.home-language-groups{gap:34px;display:grid}.library-language-section>h2,.home-language-section>h3{margin:0 0 14px;font:28px Georgia,serif}.library-language-section .public-deck-grid,.home-language-section .deck-grid{margin:0}.public-deck-card{border:1px solid var(--theme-border,var(--line));background:var(--theme-surface,var(--paper));border-radius:18px;gap:16px;min-width:0;padding:20px;display:grid;box-shadow:0 10px 28px #193d3410}.public-deck-head{align-items:center;gap:12px;min-width:0;display:flex}.public-deck-head>span{color:#fff;background:#337a67;border-radius:12px;flex:none;place-items:center;width:44px;height:44px;font-size:22px;display:grid}.public-deck-head>div{min-width:0}.public-deck-head h2{overflow-wrap:anywhere;color:var(--theme-surface-heading,#19332d);margin:0;font:24px Georgia,serif}.public-deck-preview{gap:7px;min-width:0;display:grid}.public-deck-preview>div{background:var(--theme-surface-soft,#edf4f0);border-radius:9px;grid-template-columns:70px 110px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:7px 9px;display:grid}.public-deck-preview.english>div{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.public-deck-preview b{overflow-wrap:anywhere;min-width:0;color:var(--theme-surface-heading,#19332d);font-size:19px;line-height:1.25}.public-deck-preview span:last-child{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--theme-surface-muted,#64716c);overflow:hidden}.public-deck-card>.button{width:100%}@media (width<=760px){.public-deck-grid{grid-template-columns:1fr}.library-hero{align-items:flex-start}.library-hero-icon{width:50px;height:50px}.public-deck-preview>div{grid-template-columns:60px 90px minmax(0,1fr)}.public-deck-preview.english>div{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}}.learning-journey{border:1px solid var(--line);background:linear-gradient(145deg,#edf8f2,var(--paper) 55%,#fff4dc);border-radius:24px;margin:0 0 44px;padding:24px;overflow:hidden;box-shadow:0 18px 45px #183c3212}.journey-title{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.journey-title>div{align-items:center;gap:11px;display:flex}.journey-title>div>svg{color:#347b68;width:28px;height:28px}.journey-title>div>span{display:grid}.journey-title small{color:#6e7b76}.journey-title>span{color:#53645e;background:#fff;border-radius:999px;padding:7px 12px;font-size:13px}.journey-title strong{color:#1e6a55;font-size:18px}.journey-map{gap:18px;display:grid;position:relative}.journey-map:before{content:"";background:repeating-linear-gradient(#9cccbc 0 12px,#0000 12px 20px);border-radius:8px;width:5px;position:absolute;top:25px;bottom:25px;left:50%;transform:translate(-50%)}.journey-group{color:#19332d;background:#fff;border:1px solid #cfddd7;border-radius:18px;width:calc(50% - 30px);padding:15px;position:relative;box-shadow:0 8px 22px #14372d12}.journey-group:nth-child(2n){margin-left:auto}.journey-group:after{content:"";border-top:4px dotted #9cccbc;width:30px;position:absolute;top:28px}.journey-group:nth-child(odd):after{right:-31px}.journey-group:nth-child(2n):after{left:-31px}.journey-group.complete{background:#e4f4ec;border-color:#8bc5b1}.journey-group.active{border:2px solid #e0a43d;box-shadow:0 0 0 5px #f4c66b30,0 12px 28px #59431b1c}.journey-group.locked{opacity:.62}.journey-group-label{align-items:center;gap:10px;margin-bottom:12px;display:flex}.journey-group-label>span{color:#357866;background:#e4eee9;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.journey-group.active .journey-group-label>span{color:#6d4810;background:#f5c765}.journey-group-label>div{display:grid}.journey-group-label small{color:#74817c}.journey-steps{justify-content:space-between;align-items:flex-start;gap:7px;display:flex}.journey-steps button{color:#71817b;background:0 0;border:0;flex:1;justify-items:center;gap:5px;min-width:0;padding:0;display:grid;position:relative}.journey-steps button:not(:last-child):after{content:"";border-top:3px dotted #c5d1cc;position:absolute;top:18px;left:65%;right:-35%}.journey-steps button.done:not(:last-child):after{border-color:#67ae93}.journey-steps button>span{z-index:1;background:#fff;border:2px solid #c3ceca;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:relative}.journey-steps button.done>span{color:#fff;background:#55a383;border-color:#55a383}.journey-steps button.current>span{color:#6f490e;background:#ffd477;border-color:#d99727;animation:1.8s infinite journey-pulse}.journey-steps button.current{color:#6d4b13;cursor:pointer}.journey-steps button.future{cursor:not-allowed}.journey-steps button small{text-align:center;font-size:10px;line-height:1.15}.journey-steps button em{color:#fff;white-space:nowrap;background:#193d34;border-radius:999px;padding:3px 7px;font-size:9px;font-style:normal;position:absolute;top:-24px}.journey-group-progress{background:#e8ecea;border-radius:5px;height:5px;margin-top:12px;overflow:hidden}.journey-group-progress span{border-radius:inherit;background:#df9b2b;height:100%;display:block}.new-learning>.eyebrow{margin-top:0}@keyframes journey-pulse{50%{transform:translateY(-2px);box-shadow:0 0 0 8px #efb84b28}}@media (width<=720px){.learning-journey{padding:18px 14px}.journey-title{align-items:flex-start}.journey-title>span{white-space:nowrap}.journey-map:before{left:17px}.journey-group,.journey-group:nth-child(2n){width:calc(100% - 42px);margin-left:42px}.journey-group:after,.journey-group:nth-child(odd):after,.journey-group:nth-child(2n):after{width:26px;left:-27px;right:auto}.journey-steps button small{font-size:9px}}.journey-celebration-card{text-align:center;color:#19332d;background:linear-gradient(145deg,#fff8e4,#fff);border:1px solid #dfbe72;border-radius:24px;max-width:680px;margin:0 auto;padding:42px;box-shadow:0 20px 50px #694a141c}.journey-celebration-card>span{color:#68450c;background:#f5c75f;border-radius:50%;place-items:center;width:76px;height:76px;margin:0 auto 14px;display:grid}.journey-celebration-card>span svg{width:38px;height:38px}.journey-celebration-card h1{margin:6px 0;font:38px Georgia,serif}.journey-celebration-card>p:not(.eyebrow){color:#65736e;max-width:480px;margin:8px auto 24px}.journey-celebration-card .button{min-width:260px}.journey-board{aspect-ratio:1122/1402;background:#efe3c8;border:1px solid #c9b98f;border-radius:20px;width:min(100%,780px);margin:0 auto;position:relative;overflow:hidden;box-shadow:0 18px 45px #49371320}.journey-board>img{width:100%;height:auto;display:block}.journey-map-node{aspect-ratio:1.62;z-index:1;color:#665b46;cursor:pointer;box-shadow:none;background:0 0;border:2px solid #405d5366;border-radius:50%;place-items:center;transition:transform .12s,box-shadow .2s,border-color .2s;display:grid;position:absolute;overflow:visible;transform:translate(-50%,-50%)}.journey-map-node:hover,.journey-map-node.selected{z-index:4;border-color:#275f50;transform:translate(-50%,-50%)scale(1.035);box-shadow:0 0 0 3px #fff9,0 4px 11px #233b3245}.journey-map-node:active{transform:translate(-50%,-50%)scale(.94);box-shadow:inset 0 4px 8px #49371355}.journey-map-node.active{border-color:#a46f14;animation:1.8s infinite map-node-pulse}.journey-map-node.complete{border-color:#33735f}.journey-map-node:after{content:attr(data-stage-label);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#173d33;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;line-height:1;transition:all .16s;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 4px 10px #17221e44}.journey-map-node:hover:after,.journey-map-node:focus-visible:after{opacity:1;transform:translate(-50%)translateY(0)}.journey-node-parts{border-radius:inherit;background:conic-gradient(from -90deg,#ffffff38 0 31.5%,#314d43c7 31.5% 33.333%,#ffffff38 33.333% 64.8%,#314d43c7 64.8% 66.666%,#ffffff38 66.666% 98.2%,#314d43c7 98.2% 100%);position:absolute;inset:0;overflow:hidden}.journey-map-node.parts-1 .journey-node-parts{background:conic-gradient(from -90deg,#67917fa8 0 31.5%,#314d43c7 31.5% 33.333%,#ffffff38 33.333% 64.8%,#314d43c7 64.8% 66.666%,#ffffff38 66.666% 98.2%,#314d43c7 98.2% 100%)}.journey-map-node.parts-2 .journey-node-parts{background:conic-gradient(from -90deg,#67917fa8 0 31.5%,#314d43c7 31.5% 33.333%,#67917fa8 33.333% 64.8%,#314d43c7 64.8% 66.666%,#ffffff38 66.666% 98.2%,#314d43c7 98.2% 100%)}.journey-map-node.parts-3 .journey-node-parts{background:conic-gradient(from -90deg,#67917fa8 0 31.5%,#314d43c7 31.5% 33.333%,#67917fa8 33.333% 64.8%,#314d43c7 64.8% 66.666%,#67917fa8 66.666% 98.2%,#314d43c7 98.2% 100%)}.journey-island{border-radius:50%;width:22%;height:14%;transition:all .2s;position:absolute;top:4%}.journey-island.quick{left:17%}.journey-island.difficult{right:17%}.journey-island:hover,.journey-island:focus-visible{background:#fff3;box-shadow:0 0 0 4px #f4c85d,0 0 28px #fff}.journey-checkpoint{color:#19332d;background:#fff;border:1px solid #cfddd7;border-radius:18px;max-width:780px;margin:16px auto 0;padding:17px;box-shadow:0 9px 24px #14372d14}.journey-checkpoint .journey-group-label{margin-bottom:14px}.journey-checkpoint .journey-steps{max-width:520px;margin:auto}@keyframes map-node-pulse{50%{box-shadow:0 0 0 6px #ffd3613d,0 4px 12px #50360b3d}}@media (width<=720px){.journey-checkpoint{padding:14px 10px}}.learning-journey{box-shadow:none;background:0 0;border:0;padding:0;overflow:visible}.journey-title{max-width:780px;margin:0 auto 16px}.card-memory-image{max-width:260px;margin:0 auto 14px}.card-memory-image img{aspect-ratio:1;object-fit:contain;border:1px solid var(--line);background:#edf2ef;border-radius:14px;width:100%;height:auto;display:block}.card-memory-image figcaption{color:#78847f;margin-top:5px;font-size:10px;line-height:1.25}.card-memory-image.compact{max-width:220px;margin-bottom:12px}.card-memory-image.compact img{aspect-ratio:auto;height:120px}@media (width<=720px){.card-memory-image{width:100%;max-width:260px}}.image-generation-status{z-index:40;background:var(--paper);color:#19332d;border:1px solid #d8b36a;border-radius:16px;width:min(420px,100vw - 32px);padding:16px 18px;position:fixed;bottom:24px;right:24px;box-shadow:0 18px 50px #2b171638}.image-generation-heading{grid-template-columns:40px 1fr auto;align-items:center;gap:11px;display:grid}.image-generation-heading>div{display:grid}.image-generation-heading small{color:#66736e}.image-generation-icon{color:#fff;background:#d45b36;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.image-generation-close{width:36px;height:36px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.image-generation-progress{background:#eaded9;border-radius:99px;height:10px;margin:13px 0 9px;overflow:hidden}.image-generation-progress span{border-radius:inherit;background:linear-gradient(90deg,#d45b36,#e79a45);height:100%;transition:width .3s;display:block}.image-generation-status p{margin:0;font-size:13px}.image-generation-error{color:#a72d28;margin-top:8px!important}.spin{animation:1s linear infinite image-generation-spin}@keyframes image-generation-spin{to{transform:rotate(360deg)}}@media (width<=720px){.image-generation-status{bottom:16px;right:16px}}.image-generation-cancel{color:#8d201b;cursor:pointer;background:#fff5f2;border:1px solid #b64235;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:12px;padding:9px 12px;font:700 13px/1.2 inherit;display:flex}.image-generation-cancel:hover{background:#ffe4de}.image-generation-cancel svg{width:17px;height:17px}.triple-prompt.is-english{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:560px;min-height:0;padding:22px 30px;display:flex;position:relative}.triple-prompt.is-english>svg{position:absolute;top:18px;right:18px}.triple-prompt.is-english .card-memory-image{width:100%;max-width:260px;margin:0}.triple-prompt.is-english .card-memory-image img{aspect-ratio:1;object-fit:contain;width:100%;height:auto}.triple-english-instruction{color:var(--theme-surface-heading,var(--green));margin:0;font-weight:700}.triple-options.is-english{grid-template-columns:1fr;max-width:760px;margin:20px auto}.triple-options.is-english>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.match-feedback.is-english{max-width:760px;margin:12px auto}.english-triple-next{max-width:760px;margin-inline:auto;display:flex}@media (width<=720px){.triple-prompt.is-english{gap:14px;padding:20px}.triple-prompt.is-english .card-memory-image{max-width:220px;margin:auto}.triple-options.is-english>div{grid-template-columns:1fr}}.journey-map-node.audio-checkpoint .journey-node-parts{background:#f8d47cc7}.journey-map-node.audio-checkpoint.locked .journey-node-parts{background:#d9d4c9a8}.journey-map-node.sentence-checkpoint .journey-node-parts{background:#b9d9cec7}.journey-map-node.sentence-checkpoint.locked .journey-node-parts{background:#d9d4c9a8}.journey-map-node.audio-checkpoint:disabled{cursor:not-allowed;opacity:.7}.journey-audio-icon{z-index:2;color:#5f4315;width:32%;height:32%;position:relative}.audio-journey-step{max-width:220px!important}.audio-journey-step button:after{display:none}.audio-pair-progress{background:var(--theme-border,var(--line));border-radius:99px;max-width:920px;height:9px;margin:24px auto 18px;overflow:hidden}.audio-pair-progress span{border-radius:inherit;background:linear-gradient(90deg,#2f806a,#e0a43d);height:100%;transition:width .25s;display:block}.audio-pair-board{grid-template-columns:1fr 1fr;align-items:start;gap:20px;max-width:920px;margin:0 auto;display:grid}.audio-pair-stack{border:1px solid var(--theme-border,var(--line));background:var(--theme-surface,var(--paper));border-radius:20px;gap:10px;max-height:620px;padding:18px;display:grid;overflow:auto;box-shadow:0 12px 32px #193d3414}.audio-pair-stack h2{z-index:2;background:var(--theme-surface,var(--paper));border-bottom:1px solid var(--theme-border,var(--line));color:var(--theme-surface-heading,var(--green));margin:-18px -18px 4px;padding:18px;font:24px/1.2 Georgia,serif;position:sticky;top:-18px}.audio-pair-stack button{border:2px solid var(--theme-border,var(--line));background:var(--theme-surface,var(--paper));min-height:58px;color:var(--theme-surface-text,var(--green));cursor:pointer;border-radius:13px;justify-content:center;align-items:center;gap:10px;padding:11px 16px;font-weight:700;transition:all .15s;display:flex}.audio-pair-stack button:hover:not(:disabled){border-color:#5a9d88;transform:translateY(-1px)}.audio-pair-stack button.selected{background:var(--mint);border-color:#2f806a;box-shadow:0 0 0 3px #67a99633}.audio-pair-stack button.correct{color:#17603f;opacity:.72;background:#dff4e9;border-color:#38986d}.audio-pair-stack button.wrong{color:#8c2f2a;background:#fde7e4;border-color:#cc5a52;animation:.22s shake}.audio-pair-stack button:disabled{cursor:default}.audio-pair-stack.audio button svg:first-child{width:22px;height:22px}.audio-pair-stack button svg:last-child{margin-left:auto}.audio-pair-feedback{max-width:920px;margin:16px auto}@media (width<=720px){.audio-pair-board{grid-template-columns:1fr;gap:14px}.audio-pair-stack{max-height:420px;padding:14px}.audio-pair-stack h2{margin:-14px -14px 2px;padding:14px;font-size:21px;top:-14px}}.sentence-gap-progress{background:var(--theme-border,var(--line));border-radius:99px;max-width:760px;height:9px;margin:24px auto 18px;overflow:hidden}.sentence-gap-progress span{border-radius:inherit;background:linear-gradient(90deg,#2f806a,#e0a43d);height:100%;transition:width .25s;display:block}.sentence-gap-card{border:1px solid var(--theme-border,var(--line));background:var(--theme-surface,var(--paper));text-align:center;border-radius:24px;place-items:center;max-width:760px;min-height:230px;margin:0 auto 20px;padding:42px 52px;display:grid;position:relative;box-shadow:0 14px 38px #193d3417}.sentence-gap-card>svg{color:#3d806d;width:24px;height:24px;position:absolute;top:20px;left:22px}.sentence-gap-card p{color:var(--theme-surface-heading,var(--green));text-wrap:balance;margin:0;font:clamp(25px,3vw,38px)/1.45 Georgia,serif}.sentence-gap-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:760px;margin:0 auto;display:grid}.sentence-gap-options button{border:2px solid var(--theme-border,var(--line));background:var(--theme-surface,var(--paper));min-height:64px;color:var(--theme-surface-text,var(--green));cursor:pointer;border-radius:14px;padding:13px 18px;font-size:19px;font-weight:700;transition:all .15s}.sentence-gap-options button:hover{border-color:#5a9d88;transform:translateY(-1px)}.sentence-gap-options button.selected.correct{color:#17603f;background:#dff4e9;border-color:#38986d;box-shadow:0 0 0 3px #67a99633}.sentence-gap-options button.selected.wrong{color:#8c2f2a;background:#fde7e4;border-color:#cc5a52;animation:.22s shake}.sentence-gap-feedback,.sentence-gap-next{max-width:760px;margin-inline:auto}.sentence-gap-next{display:flex}@media (width<=720px){.sentence-gap-card{min-height:190px;padding:38px 24px 28px}.sentence-gap-card p{font-size:25px}.sentence-gap-options{grid-template-columns:1fr}.sentence-gap-options button{font-size:17px}}.cards-list{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:18px}.mini-card{border:1px solid var(--theme-border,var(--line));background:var(--theme-surface,var(--paper));border-radius:24px;flex-direction:column;align-items:stretch;gap:10px;min-width:0;height:100%;padding:18px;display:flex;position:relative;box-shadow:0 12px 30px #37151218}.mini-card-index{color:var(--theme-muted,#7b8984);font-size:12px;position:absolute;top:13px;right:15px}.mini-card .mini-card-translation{text-align:center;text-wrap:balance;min-height:55px;color:var(--theme-surface-heading,#19332d);order:1;place-items:center;margin:0;padding:0 24px;font:21px/1.3 Georgia,serif;display:grid}.deck-card-image{aspect-ratio:1.12;border:1px solid var(--theme-border,var(--line));width:100%;color:var(--theme-muted,#7b8984);background:#fff;border-radius:18px;order:2;place-items:center;margin:0;display:grid;position:relative;overflow:hidden}.deck-card-image img{object-fit:contain;width:100%;height:100%;display:block}.deck-card-image svg{opacity:.42;width:34px;height:34px}.image-prompt-button{z-index:2;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#660000de;border:1px solid #ffffffa6;border-radius:12px;place-items:center;width:40px;height:40px;padding:0;display:grid;position:absolute;top:10px;right:10px;box-shadow:0 5px 16px #3005}.image-prompt-button:hover{background:#8d1818}.deck-card-image .image-prompt-button svg{opacity:1;width:19px;height:19px}.mini-card-word{order:3;justify-content:center;align-items:center;gap:8px;min-height:78px;display:flex}.mini-card-word b{text-align:center;text-wrap:balance;overflow-wrap:normal;word-break:normal;min-width:0;color:var(--theme-surface-heading,#19332d);font-size:34px;line-height:1.08}.mini-card-word.is-long b{font-size:28px}.mini-card-word.is-very-long b{font-size:24px}.mini-card-pinyin{text-align:center;order:4;min-width:0;min-height:27px;font-size:18px}.mini-card .mini-example{border-top:1px solid var(--theme-border,var(--line));min-height:96px;color:var(--theme-surface-muted,#64716c);order:5;align-items:flex-start;gap:8px;margin-top:5px;padding-top:11px;font-size:12px;line-height:1.4;display:flex}.mini-card .mini-example>span{flex:none}.mini-card .mini-example strong{color:var(--theme-surface-heading,#19332d);font-size:13px;display:block}.mini-card .mini-example p{color:var(--theme-surface-muted,#64716c);margin:2px 0 0;font-size:11px}.mini-card .word-learning-progress{order:6;margin-top:auto}.mini-card .word-learning-progress small{font-size:10px}.mini-card .pronunciation-button{flex:none;width:34px;height:34px}.mini-card .pronunciation-button svg{width:17px;height:17px}.image-prompt-dialog{width:min(680px,100%)}.image-prompt-intro{color:var(--theme-surface-muted,#64716c);margin:4px 0 12px}.image-generation-warning{color:#5c3600;background:#fff2c9;border:1px solid #e8b44f;border-radius:11px;gap:4px;margin:0 0 16px;padding:12px 14px;font-size:13px;display:grid}.image-generation-warning strong{font-size:14px}.image-generation-warning b{color:#7b3f00;margin-top:4px}.image-prompt-field{gap:8px;font-weight:800;display:grid}.image-prompt-field textarea{resize:vertical;border:1px solid var(--line);background:var(--theme-surface,var(--paper));width:100%;min-height:190px;color:var(--theme-surface-heading,#19332d);border-radius:12px;padding:14px;font:14px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.image-prompt-field textarea:focus{outline-offset:2px;outline:3px solid #77b7a5}.image-prompt-message{background:var(--mint);color:var(--green);border-radius:9px;padding:10px 12px;font-size:13px}.image-prompt-message.is-queued{color:#5c3600;background:#fff2c9}.image-prompt-dialog .button{margin-top:14px}.image-prompt-dialog button:disabled,.image-prompt-dialog textarea:disabled{opacity:.62;cursor:wait}@media (width<=980px){.cards-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.cards-list{grid-template-columns:1fr;gap:14px}.mini-card{padding:16px}.deck-card-image{aspect-ratio:1;max-height:none}.mini-card .mini-example p{grid-column:auto}.mini-card small{display:initial}}.image-generation-budget-note{border:1px solid var(--theme-border,var(--line));background:var(--theme-surface,var(--paper));color:var(--theme-surface-heading,#19332d);border-radius:11px;margin:14px 0 0;padding:11px 15px;font-size:13px;font-weight:700}.image-generate-deck-button{color:#fff;background:#e9663c;border-color:#e9663c;margin-top:14px}.image-generate-deck-button:hover{border-color:#ff9a74}.image-generate-deck-button:disabled{opacity:.65;cursor:wait}.image-deck-queue-note{color:#5c3600;background:#fff2c9;border:1px solid #e8b44f;border-radius:11px;justify-content:space-between;align-items:center;gap:14px;margin:14px 0 0;padding:12px 15px;font-weight:700;display:flex}.image-deck-queue-note .button{color:#5c3600;background:#fff7df;border-color:#b97912;flex:none;padding:8px 12px}.image-deck-queue-note .button.primary{color:#fff;background:#a96508;border-color:#a96508}@media (width<=620px){.image-deck-queue-note{flex-direction:column;align-items:stretch}.image-deck-queue-note .button{width:100%}}.csv-ai-guide{border:1px solid var(--theme-border,var(--line));background:var(--theme-surface-soft,var(--mint));color:var(--theme-surface-heading,#19332d);border-radius:14px;margin:18px 0;overflow:hidden}.csv-ai-guide summary{cursor:pointer;padding:14px 16px;font-weight:800}.csv-ai-guide-content{gap:12px;padding:0 16px 16px;display:grid}.csv-ai-guide-content>p{color:var(--theme-surface-muted,#64716c);margin:0;font-size:13px}.csv-ai-guide pre{border:1px solid var(--theme-border,var(--line));white-space:pre-wrap;background:var(--theme-surface,var(--paper));max-height:260px;color:var(--theme-surface-heading,#19332d);border-radius:10px;margin:0;padding:13px;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.csv-ai-guide .button{justify-self:start}.csv-ai-example code{overflow-wrap:anywhere;color:var(--theme-surface-heading,#19332d)}.deck-topic-hint{color:var(--theme-muted,#64716c);font-weight:400;line-height:1.4}.deck-topic-badge{border:1px solid var(--theme-border,var(--line));background:var(--theme-surface-soft,var(--mint));width:max-content;max-width:100%;color:var(--theme-surface-heading,#19332d);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;display:flex;margin:0 0 9px!important}.deck-topic-badge svg{color:#a46c1e;flex:none;width:15px;height:15px}.deck-topic-badge b{overflow-wrap:anywhere;min-width:0}.edit-save-top{justify-content:flex-end;max-width:800px;margin:-8px 0 14px;display:flex}.edit-save-top .button{min-width:190px}@media (width<=620px){.edit-save-top .button{width:100%}}.deck-page,.new-deck-page{width:100%;max-width:var(--content-width,1160px);margin:0 auto}.deck-page-header,.new-deck-header{border-bottom:1px solid var(--theme-border,var(--line));min-width:0;margin:0 0 24px;padding:0 0 20px}.deck-page-header>.eyebrow,.new-deck-header .eyebrow{margin:0 0 4px}.deck-page-header .section-title{align-items:center;margin:0}.deck-page-header .page-title,.new-deck-header .page-title{margin:4px 0 8px}.deck-page-header .section-title>div>p:last-child,.new-deck-header>div>p:last-child{max-width:68ch;color:var(--theme-muted,#64716c);margin:0;line-height:1.55}.deck-page-actions{justify-content:flex-end}.deck-more-actions{position:relative}.deck-more-actions>summary{-webkit-user-select:none;user-select:none;list-style:none}.deck-more-actions>summary::-webkit-details-marker{display:none}.deck-more-actions[open]>summary{border-color:var(--theme-accent,#28705d);background:var(--theme-surface-soft,#edf4f0)}.deck-more-actions-menu{z-index:20;border:1px solid var(--theme-border,var(--line));background:var(--theme-surface,var(--paper));width:min(290px,100vw - 32px);box-shadow:var(--shadow-md,0 14px 36px #193d3420);transform-origin:100% 0;border-radius:14px;gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.deck-more-actions-menu .button{width:100%;box-shadow:none;background:0 0;border-color:#0000;justify-content:flex-start}.deck-more-actions-menu .button.danger{color:var(--theme-danger,#a33e38)}.new-deck-header{justify-content:space-between;align-items:end;gap:24px;display:flex}.new-deck-header>div:first-child{min-width:0}.new-deck-header .edit-save-top{flex:none;max-width:none;margin:0}.new-deck-form{width:100%;max-width:960px;margin-top:0}.new-deck-page .manual-entry-section{margin-top:24px}.new-deck-page .manual-entry-section>.section-title{margin:0 0 20px}@media (width<=720px){.deck-page-header .section-title,.new-deck-header{flex-direction:column;align-items:stretch;gap:14px}.deck-page-actions{justify-content:flex-start}.deck-page-actions>.button,.deck-page-actions>a.button,.deck-more-actions,.deck-more-actions>summary{width:100%}.deck-more-actions-menu{width:100%;box-shadow:none;margin-top:8px;position:static}.new-deck-header .edit-save-top,.new-deck-header .edit-save-top .button{width:100%}.deck-page-header,.new-deck-header{margin-bottom:20px;padding-bottom:16px}}.save-homework{float:right;color:#245f50;background:#e7f2ed;border-color:#8eb6a8;margin:20px 10px 0 0}.route-player{max-width:880px;margin:0 auto}.route-player-top{justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.route-player-top a{color:#557168;align-items:center;gap:6px;display:flex}.route-player-top>span{color:#356f60;background:#e8f1ed;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.route-player-track{justify-content:center;align-items:center;gap:8px;margin-bottom:28px;display:flex}.route-player-track span{color:#78847f;background:#fff;border:2px solid #cbd5d1;border-radius:50%;place-items:center;width:32px;height:32px;font-size:12px;font-weight:900;display:grid}.route-player-track span.active{color:#6c480f;background:#ffdf98;border-color:#d79a31;box-shadow:0 0 0 5px #efbe5b24}.route-player-track span.done{color:#fff;background:#4d9a7e;border-color:#4d9a7e}.route-player-track svg{width:14px}.route-player-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.route-player-heading h1{margin:2px 0;font:42px Georgia,serif}.route-player-heading small{color:#687670}.route-player-heading>strong{color:#397663;font-size:24px}.route-task-progress{background:#e4e9e6;border-radius:999px;height:8px;margin:14px 0 26px;overflow:hidden}.route-task-progress span{border-radius:inherit;background:linear-gradient(90deg,#4b967f,#dfaa46);height:100%;display:block}.route-introduction-card,.route-exercise-card{border:1px solid var(--line);background:var(--paper);border-radius:22px;padding:30px;box-shadow:0 18px 45px #183c3212}.route-introduction-card>div:first-child{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.route-introduction-card h2{margin:0;font:52px Georgia,serif}.route-introduction-card>div>span{color:#33809a;font-size:18px}.route-introduction-card>div>button,.route-audio-button{color:#245f50;cursor:pointer;background:#e5f3ed;border:1px solid #a9c9be;border-radius:10px;align-items:center;gap:7px;min-height:44px;padding:9px 14px;font-weight:800;display:flex}.route-card-translation{margin:16px 0 8px;font-size:25px}.route-introduction-card blockquote{background:#fff7e8;border-left:4px solid #dba64b;border-radius:0 12px 12px 0;margin:20px 0;padding:18px}.route-introduction-card blockquote span{color:#67736e;margin-top:7px;display:block}.route-exercise-card{align-content:start;gap:18px;min-height:360px;display:grid}.route-exercise-instruction{text-align:center;color:#405a52;justify-items:center;gap:4px;margin:0 auto -2px;font-size:15px;font-weight:700;display:grid}.route-exercise-instruction>span{color:#397663;letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:900}.route-audio-button{border-radius:16px;width:max-content;margin:25px auto;padding:18px 28px;font-size:17px}.route-audio-button svg{width:25px;height:25px}.route-exercise-prompt{text-align:center;margin:22px auto;font:32px/1.25 Georgia,serif}.route-choice-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.route-choice-grid button{border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;min-height:60px;padding:12px;font-weight:700}.route-choice-grid button.correct{color:#1e6447;background:#e0f3e9;border-color:#40916f}.route-choice-grid button.wrong{color:#8c302a;background:#fde7e4;border-color:#c45c54}.route-exercise-card form{gap:10px;display:grid}.route-exercise-card form label{gap:8px;font-weight:800;display:grid}.route-exercise-card form input{font-size:18px}.route-hint{color:#8a651e;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;width:max-content;padding:5px 0;display:flex}.route-answer-result{border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:4px 14px;padding:14px;display:grid}.route-answer-result.correct{color:#1f6547;background:#e1f2e8}.route-answer-result.wrong{color:#87352f;background:#fde9e6}.route-answer-result span{grid-column:1}.route-answer-result .button{grid-area:1/2/3}.route-letter-answer{text-align:center;border:1px dashed #9eb0a9;border-radius:10px;min-height:48px;padding:10px;font-size:22px}.route-letter-grid{flex-wrap:wrap;justify-content:center;gap:7px;display:flex}.route-letter-grid button{cursor:pointer;background:#fff;border:1px solid #bac9c3;border-radius:9px;width:44px;height:44px;font-size:20px}.route-stage-result,.route-player-complete{text-align:center;border:1px solid var(--line);background:var(--paper);border-radius:24px;max-width:680px;margin:0 auto;padding:50px 25px}.route-stage-result>svg,.route-player-complete>svg{color:#a97116;background:#fff0ce;border-radius:50%;width:64px;height:64px;padding:14px}.route-stage-result h1,.route-player-complete h1{margin:7px 0;font:42px Georgia,serif}.route-player-complete>svg{color:#2e765c;background:#dff2e7}@media (width<=720px){.save-homework,.save{float:none;width:100%;margin:12px 0 0}.route-player-track{gap:3px}.route-player-track span{width:27px;height:27px}.route-player-heading h1{font-size:34px}.route-introduction-card,.route-exercise-card{padding:20px 16px}.route-introduction-card h2{font-size:42px}.route-choice-grid{grid-template-columns:1fr}.route-exercise-prompt{font-size:26px}.route-answer-result{grid-template-columns:1fr}.route-answer-result .button,.route-answer-result span{grid-area:auto/1}}html,body,#root{min-width:0;max-width:100%}body{overflow-x:clip}img,video,canvas,textarea{max-width:100%}.word-row>*,.mini-card>*{min-width:0}.word-row input,.mini-card input{width:100%}.lesson-texts-page{min-width:0}.lesson-reader{overflow-wrap:anywhere}.imported-collocations-field{background:#fff7e5;border-radius:9px;grid-column:3/6;gap:5px;padding:8px;display:grid}.imported-collocations-field textarea{color:#19332d;width:100%;min-height:78px;font:inherit;resize:vertical;background:#fff;border:1px solid #cbd1cc;border-radius:9px;padding:9px 12px}.imported-collocations-field textarea:focus{outline-offset:2px;outline:3px solid #77b7a5}.imported-collocations-field small{color:#756542}@media (width<=720px){.imported-collocations-field{grid-column:3/5}}.mini-card-flip-button{border:1px solid var(--theme-border,var(--line));background:var(--theme-surface-soft,var(--mint));width:34px;height:34px;color:var(--theme-accent,var(--green));cursor:pointer;border-radius:999px;flex:none;place-items:center;padding:0;display:grid}.mini-card-flip-button:hover{background:var(--theme-surface,var(--paper));transform:rotate(-12deg)}.mini-card-flip-button svg{width:17px;height:17px}.mini-card.is-flipped{background:var(--theme-surface-soft,var(--mint));animation:.22s ease-out mini-card-side-in}.mini-card-back{flex-direction:column;flex:1;gap:16px;min-height:100%;padding-top:18px;display:flex}.mini-card-back-header{border-bottom:1px solid var(--theme-border,var(--line));justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:14px;display:flex}.mini-card-back-header>div{gap:4px;min-width:0;display:grid}.mini-card-back-header b{overflow-wrap:anywhere;color:var(--theme-surface-heading,#19332d);font-size:27px;line-height:1.15}.mini-card-back-header small{color:var(--theme-surface-muted,#64716c);font-size:14px}.mini-card-back-button{border:1px solid var(--theme-border,var(--line));background:var(--theme-surface,var(--paper));color:var(--theme-surface-heading,#19332d);cursor:pointer;border-radius:10px;flex:none;align-items:center;gap:6px;padding:8px 10px;font-weight:750;display:flex}.mini-card-back-button svg{width:16px;height:16px}.mini-card-back-section{border:1px solid var(--theme-border,var(--line));background:var(--theme-surface,var(--paper));color:var(--theme-surface-heading,#19332d);border-radius:14px;margin:0;padding:14px}.mini-card .mini-card-back-section.mini-example{border-top:1px solid var(--theme-border,var(--line));min-height:0;margin:0;padding:14px;font-size:14px;line-height:1.45;display:block}.mini-card-back-section h3{color:var(--theme-surface-heading,#19332d);margin:0 0 10px;font:700 17px/1.2 system-ui,sans-serif}.mini-card .mini-card-back-section.mini-example strong{font-size:15px}.mini-card .mini-card-back-section.mini-example p{margin:7px 0 0;font-size:13px}.mini-collocations ul{margin:0;padding-left:19px}.mini-collocations li{margin:7px 0;line-height:1.35}.mini-collocations li span{font-weight:750}.mini-collocations li small{color:var(--theme-surface-muted,#64716c);margin-top:2px;display:block}.mini-card-back-empty{text-align:center;color:var(--theme-surface-muted,#64716c);margin:auto 0}@keyframes mini-card-side-in{0%{opacity:.45;transform:rotateY(7deg)}to{opacity:1;transform:rotateY(0)}}@media (width<=620px){.mini-card-back-header{flex-direction:column;align-items:stretch}.mini-card-back-button{align-self:flex-start}}.route-spelling-translation-hint{justify-content:center;align-items:center;gap:12px;min-height:44px;display:flex}.route-spelling-translation-hint button{color:#795b1c;cursor:pointer;background:#fff9e9;border:1px solid #d6c28f;border-radius:999px;align-items:center;gap:7px;min-height:40px;padding:8px 12px;font-weight:750;transition:transform .14s cubic-bezier(.23,1,.32,1),background-color .14s;display:inline-flex}.route-spelling-translation-hint button:active{transform:scale(.97)}.route-spelling-translation-hint button svg{width:16px;height:16px}.route-spelling-translation-hint strong{color:#315f53;font-size:17px}@media (width<=520px){.route-spelling-translation-hint{text-align:center;flex-direction:column;align-items:stretch}.route-spelling-translation-hint button{align-self:center}}.writer-stage>div{touch-action:none;-webkit-user-select:none;user-select:none}.writer-stage>div>svg,.writer-stage>div>canvas{width:100%;height:100%;display:block}.stroke-fields{flex-wrap:nowrap;justify-content:center;align-items:flex-start;gap:10px;display:flex}.writer-stage.compact{margin:0}.character-field{flex:none}.character-dictionary-trigger{border:1px solid var(--line);background:var(--paper);min-height:34px;color:inherit;cursor:pointer;border-radius:9px;justify-content:center;align-items:baseline;gap:7px;margin:0 auto 7px;padding:3px 10px;display:flex}.character-dictionary-trigger span{font-family:Noto Sans SC,Microsoft YaHei,sans-serif;font-size:23px;line-height:1}.character-dictionary-trigger small{color:#425a52;font-size:10px}.character-status{color:#435c54;min-height:34px;font-size:11px;margin:6px 0 4px!important}.character-actions{justify-content:center;gap:4px;display:flex}.character-actions button{background:var(--paper);color:#173f35;cursor:pointer;border:1px solid #a8b8b2;border-radius:7px;align-items:center;gap:3px;min-height:30px;padding:4px 7px;font-size:10px;display:flex}.character-actions button:disabled{opacity:.45;cursor:not-allowed}.character-actions svg{width:12px;height:12px}.writer-complete{color:#fff;background:#2f806a;border-radius:50%;place-items:center;width:25px;height:25px;display:grid;position:absolute;top:5px;right:5px}.writer-complete svg{width:15px;height:15px}.character-field.is-complete .writer-stage{border-color:#2f806a;box-shadow:0 0 0 2px #2f806a22}.word-writing-status{color:#435c54;font-size:12px;margin:9px 0 0!important}.word-writing-status.complete{color:#23704f;font-weight:800}.hanzi-writing-focus{flex-direction:column;min-height:calc(100dvh - 156px);display:flex}.focused-writing-shell{flex-direction:column;flex:1;justify-content:center;align-items:center;width:min(100%,520px);margin:0 auto;display:flex}.focused-writing-context{text-align:center;justify-items:center;gap:7px;margin:0 0 16px;display:grid}.focused-writing-context .tone-pinyin{font-size:28px}.focused-writing-context p{background:var(--mint);color:var(--green);border-radius:9px;margin:0;padding:7px 13px;font-size:17px;font-weight:750}.focused-writing-progress{color:#60716a;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-bottom:10px;font-size:13px;display:flex}.focused-writing-progress b{color:var(--green)}.focused-writing{width:100%}.focused-writing .character-status{min-height:30px;font-size:13px;margin-top:9px!important}.focused-writing .character-actions{gap:9px}.focused-writing .character-actions button{min-height:42px;padding:9px 14px;font-size:12px}.writing-practice-page{max-width:900px;margin:0 auto}.writing-page-title{align-items:flex-start;gap:18px;margin-bottom:28px;display:flex}.writing-page-title>span{background:var(--mint);width:62px;height:62px;color:var(--green);border-radius:18px;flex:none;place-items:center;display:grid}.writing-page-title>span svg{width:30px;height:30px}.writing-page-title .page-title{margin:3px 0 7px}.writing-page-title>div>p:last-child{color:#64716c;margin:0}.writing-deck-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.writing-deck-grid button{border:1px solid var(--line);background:var(--paper);min-width:0;min-height:112px;color:inherit;text-align:left;cursor:pointer;border-radius:16px;grid-template-columns:46px minmax(0,1fr) 24px;align-items:center;gap:13px;padding:17px;display:grid;box-shadow:0 8px 24px #193d340d}.writing-deck-grid button:hover:not(:disabled){border-color:#6b9e8e;transform:translateY(-1px)}.writing-deck-grid button:disabled{opacity:.48;cursor:not-allowed}.writing-deck-grid button>span{background:var(--mint);width:46px;height:46px;color:var(--green);border-radius:13px;place-items:center;display:grid}.writing-deck-grid button>div{gap:3px;min-width:0;display:grid}.writing-deck-grid button b{text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.writing-deck-grid button small{color:#6c7974}.writing-deck-grid button>svg{color:#467c6d}.writing-deck-copy{min-width:0}.writing-deck-progress-label{color:#60716a;justify-content:space-between;align-items:center;gap:8px;margin-top:5px;font-size:11px;display:flex}.writing-deck-progress-label strong{color:#2d715e;font-size:11px}.writing-deck-progress{background:#dfe7e2;border-radius:999px;height:6px;margin-top:3px;overflow:hidden}.writing-deck-progress i{border-radius:inherit;background:#3e8a72;height:100%;display:block}.writing-practice-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.writing-practice-head>div{align-items:center;gap:12px;min-width:0;display:flex}.writing-practice-head b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.writing-practice-head span{color:#65736e;flex:none;font-size:13px}.writing-practice-complete{text-align:center;align-content:center;place-items:center;min-height:65vh;display:grid}.writing-practice-complete>span{color:#23704f;background:#dff4e9;border-radius:50%;place-items:center;width:76px;height:76px;display:grid}.writing-practice-complete>span svg{width:38px;height:38px}.writing-practice-complete h1{margin:5px 0;font:38px Georgia,serif}.writing-practice-complete>p:not(.eyebrow){color:#64716c;margin:4px 0 20px}@media (width>=901px){.writing-practice-page.hanzi-writing-focus{max-width:1280px}.hanzi-writing-focus .writing-practice-head{margin-bottom:0}.focused-writing-shell{justify-content:flex-start;width:min(100%,1080px);padding-top:0}.focused-writing-context{gap:5px;margin:0 0 18px}.focused-writing-word{letter-spacing:.08em;color:var(--green);font-family:Noto Sans SC,Microsoft YaHei,sans-serif;font-size:72px;font-weight:500;line-height:1.08}.focused-writing-context .tone-pinyin{font-size:34px}.focused-writing-context p{font-size:16px}.desktop-writing-progress{color:#536b63;justify-content:space-between;align-items:center;width:100%;margin:0 0 8px;display:flex}.desktop-writing-progress b{color:var(--green)}.focused-writing.desktop-parallel{width:100%}.desktop-parallel .stroke-fields{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:34px;width:100%;display:grid}.desktop-parallel .character-field{max-width:100%}.desktop-parallel .writer-stage.compact{border-radius:17px;max-width:100%}.desktop-parallel .character-status{text-align:center;min-height:25px;margin:7px 0 0!important}.desktop-writing-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:12px auto 0;display:flex}.desktop-writing-actions button,.desktop-writing-actions span{border:1px solid var(--line);background:var(--paper);min-height:44px;color:var(--green);border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:9px 15px;font-weight:750;display:inline-flex}.desktop-writing-actions button{cursor:pointer}.desktop-writing-actions span.is-complete{color:#176149;background:#e2f1eb;border-color:#75ad9b}.desktop-next-word{min-width:205px;margin:14px auto 0}.desktop-next-word svg{margin-left:auto}}:root,:root[data-theme=light]{--writer-stroke:#173f35;--writer-outline:#718b82;--writer-drawing:#176f57;--writer-highlight:#9b5b0b}:root[data-theme=dark]{--writer-stroke:#751515;--writer-outline:#a85a5a;--writer-drawing:#155b49;--writer-highlight:#865000}:root[data-theme=dark] .character-status{color:#6b3535}:root[data-theme=dark] .character-actions button,:root[data-theme=dark] .character-dictionary-trigger{color:#fff5ed;background:#8a1b1b;border-color:#c96868}:root[data-theme=dark] .character-dictionary-trigger small{color:#ffd0c7}:root[data-theme=dark] .word-writing-status{color:#6b3535}:root[data-theme=dark] .word-writing-status.complete{color:#155b49}:root[data-theme=dark] .focused-writing-progress{color:#674343}:root[data-theme=dark] .focused-writing-progress b{color:#641111}:root[data-theme=dark] .focused-writing-context .tone-1{color:#145f96}:root[data-theme=dark] .focused-writing-context .tone-2{color:#126044}:root[data-theme=dark] .focused-writing-context .tone-3{color:#774800}:root[data-theme=dark] .focused-writing-context .tone-4{color:#8b2525}:root[data-theme=dark] .focused-writing-context .tone-5{color:#5b4747}:root[data-theme=dark] .new-word-meaning .tone-pinyin .tone-1{color:#8ac7ff}:root[data-theme=dark] .new-word-meaning .tone-pinyin .tone-2{color:#8ee0b4}:root[data-theme=dark] .new-word-meaning .tone-pinyin .tone-3{color:#ffd37a}:root[data-theme=dark] .new-word-meaning .tone-pinyin .tone-4{color:#ff9b92}:root[data-theme=dark] .new-word-meaning .tone-pinyin .tone-5{color:#f0caca}@media (prefers-color-scheme:dark){:root[data-theme=system]{--writer-stroke:#751515;--writer-outline:#a85a5a;--writer-drawing:#155b49;--writer-highlight:#865000}:root[data-theme=system] .character-status{color:#6b3535}:root[data-theme=system] .character-actions button,:root[data-theme=system] .character-dictionary-trigger{color:#fff5ed;background:#8a1b1b;border-color:#c96868}:root[data-theme=system] .character-dictionary-trigger small{color:#ffd0c7}:root[data-theme=system] .word-writing-status{color:#6b3535}:root[data-theme=system] .word-writing-status.complete{color:#155b49}:root[data-theme=system] .focused-writing-progress{color:#674343}:root[data-theme=system] .focused-writing-progress b{color:#641111}:root[data-theme=system] .focused-writing-context .tone-1{color:#145f96}:root[data-theme=system] .focused-writing-context .tone-2{color:#126044}:root[data-theme=system] .focused-writing-context .tone-3{color:#774800}:root[data-theme=system] .focused-writing-context .tone-4{color:#8b2525}:root[data-theme=system] .focused-writing-context .tone-5{color:#5b4747}:root[data-theme=system] .new-word-meaning .tone-pinyin .tone-1{color:#8ac7ff}:root[data-theme=system] .new-word-meaning .tone-pinyin .tone-2{color:#8ee0b4}:root[data-theme=system] .new-word-meaning .tone-pinyin .tone-3{color:#ffd37a}:root[data-theme=system] .new-word-meaning .tone-pinyin .tone-4{color:#ff9b92}:root[data-theme=system] .new-word-meaning .tone-pinyin .tone-5{color:#f0caca}}.button:disabled{opacity:.45;cursor:not-allowed}@media (width<=720px){.new-word-grid article{overflow:hidden}.new-word-grid article.hanzi-preview-card{padding:14px 6px}.mobile-sequential{width:100%;margin:0 auto 12px}.mobile-sequential .stroke-fields{width:100%;display:block}.mobile-sequential .character-field{max-width:100%;margin:0 auto}.mobile-sequential .writer-stage.compact{border-radius:16px;max-width:100%;margin:0 auto}.mobile-sequential .character-dictionary-trigger{margin-bottom:9px}.mobile-sequential .character-status{min-height:30px;font-size:13px;margin-top:8px!important}.mobile-sequential .character-actions{gap:8px}.mobile-sequential .character-actions button{min-height:40px;padding:8px 12px;font-size:12px}.mobile-sequential .word-writing-status{font-size:13px}.hanzi-writing-focus{min-height:calc(100dvh - 116px)}.hanzi-writing-focus .learning-head{margin-bottom:14px}.focused-writing-shell{justify-content:flex-start}.focused-writing-context{margin-bottom:12px}.focused-writing-context .tone-pinyin{font-size:25px}.focused-writing-context p{text-align:center;max-width:100%;font-size:16px}.writing-page-title{gap:12px;margin-bottom:20px}.writing-page-title>span{border-radius:14px;width:48px;height:48px}.writing-page-title>span svg{width:24px;height:24px}.writing-page-title .page-title{font-size:32px}.writing-deck-grid{grid-template-columns:1fr}.writing-deck-grid button{min-height:84px;padding:14px}.writing-practice-head .button{padding:9px 11px}}.tone-pinyin{letter-spacing:.01em;font-size:1.12em;font-style:normal;font-weight:650;line-height:1.35}.tone-pinyin .tone-1{color:#2878c8}.tone-pinyin .tone-2{color:#24865b}.tone-pinyin .tone-3{color:#c17816}.tone-pinyin .tone-4{color:#c64b46}.tone-pinyin .tone-5{color:#737c78}.tone-pinyin .tone-0{color:inherit}.new-word-meaning{flex-direction:column;justify-content:flex-start;align-items:center;min-height:76px;margin-bottom:12px;display:flex}.new-word-meaning .tone-pinyin{font-size:23px}.new-word-meaning p{background:var(--mint);max-width:100%;color:var(--green);border-radius:8px;padding:6px 11px;font-size:16px;font-weight:700;line-height:1.35;margin:7px 0 0!important}.study-card .study-pinyin{margin:0 0 12px;font-size:30px;display:block}.study-card>.reveal:first-child{margin:0 0 16px}.stage-indicator{color:#7b8581;justify-content:center;align-items:center;gap:8px;margin:0 0 16px;display:flex}.stage-indicator span{border:2px solid var(--line);border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:grid}.stage-indicator span.active{color:#fff;background:var(--green);border-color:var(--green)}.stage-indicator i{background:var(--line);width:34px;height:2px}.stage-indicator b{color:inherit;margin-left:10px;font-size:13px}.binary-answer-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;display:grid}.binary-answer-grid button{border:1px solid var(--line);background:var(--paper);min-height:92px;color:inherit;cursor:pointer;text-align:left;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:5px 10px;padding:14px;display:grid}.binary-answer-grid button svg{grid-row:1/3;width:24px;height:24px}.binary-answer-grid button span{color:#73807b;font-size:12px}.binary-answer-grid button.remember{color:#174f3d;background:#e7f4ee;border-color:#64a58d}.binary-answer-grid button.remember span{color:#487064}.binary-answer-grid button.again{color:#852f2a;background:#fbe9e7;border-color:#d48780}.binary-answer-grid button.again span{color:#965a55}.binary-answer-grid button.again kbd{color:#6f2925;background:#fff5f3;border-color:#d9aaa5}.binary-answer-grid button.remember kbd{color:#174f3d;background:#f5fffa;border-color:#9cc6b7}@media (width<=520px){.binary-answer-grid{grid-template-columns:1fr}.stage-indicator b{display:none}}.writing-card{border:1px solid var(--line);background:var(--paper);text-align:center;border-radius:22px;max-width:620px;margin:0 auto;padding:38px;box-shadow:0 18px 50px #2342}.writing-card h2{margin:7px 0 2px;font:700 28px/1.3 Georgia,serif}.writing-card small{color:#74817c}.writing-card label{text-align:left;gap:9px;margin:30px 0 14px;font-weight:750;display:grid}.writing-card input{text-align:center;letter-spacing:.12em;height:68px;font-family:Noto Sans SC,Microsoft YaHei,sans-serif;font-size:34px}.writing-card input.correct{border-color:#329069;box-shadow:0 0 0 3px #32906922}.writing-card input.wrong{border-color:#c4524c;box-shadow:0 0 0 3px #c4524c22}.writing-feedback{border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:18px;padding:14px;display:flex}.writing-feedback.correct{color:#185a40;background:#e3f3eb}.writing-feedback.wrong{color:#8e332f;background:#fbe8e6}.writing-feedback b{font-size:25px}.writing-correction{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.writing-answer-pinyin{font-size:20px;font-weight:700}.context-card{border:1px solid var(--line);background:var(--paper);text-align:center;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;max-width:680px;min-height:390px;margin:0 auto;padding:38px;display:flex;box-shadow:0 18px 50px #2342}.context-chinese{font-family:Noto Sans SC,Microsoft YaHei,sans-serif;font-size:38px;line-height:1.5}.context-chinese mark{color:#843f25;background:#ffe4a8;border-radius:7px;padding:2px 5px}.context-answer{border-top:1px solid var(--line);width:100%;margin-top:22px;padding-top:20px}.context-answer h2{margin:10px 0;font:700 25px/1.35 Georgia,serif}.context-hint{color:#7a8580;margin:10px 0 0;font-size:13px}.mini-example{color:#38564d;background:#f3f7f4;border-radius:10px;grid-column:2/-1;grid-template-columns:30px 1fr;align-items:start;gap:10px;margin-top:4px;padding:10px 12px;display:grid}.mini-example>span{color:#28634f;background:#dcebe5;border-radius:7px;place-items:center;width:26px;height:26px;font-weight:800;display:grid}.mini-example>div{flex-wrap:wrap;align-items:baseline;gap:5px 12px;display:flex}.mini-example strong{font-family:Noto Sans SC,Microsoft YaHei,sans-serif;font-size:18px}.mini-example .tone-pinyin{font-size:15px}.mini-example p{color:#65756f;flex-basis:100%;margin:0;font-size:14px}@media (width<=720px){.mini-example{grid-column:1/-1}.mini-example>div{gap:3px;display:grid}}.import-message{color:#235b48;background:#e5f2ec;border-radius:10px;padding:10px 14px;font-weight:700}.context-answer a{color:#55766c;font-size:12px;text-decoration:underline}.context-pinyin{font-size:23px;font-weight:700}.context-state{color:#687872;justify-items:center;gap:15px;display:grid}.context-state.error{color:#8e332f}@media (width<=520px){.context-card{padding:24px}.context-chinese{font-size:31px}.stage-indicator i{width:18px}}html,body{overflow-x:hidden}@media (width<=720px){.review-options{grid-template-columns:1fr}.review-secondary,.practice-controls{grid-column:1}.review-options .mode-button-review{width:100%}.practice-controls{grid-template-columns:1fr!important}.practice-button{width:100%}}.review-options{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:auto;display:grid}.review-options label{color:#405a51;gap:6px;font-size:13px;font-weight:700;display:grid}.review-options select{background:#fff9;width:100%}.review-options .mode-button-review{white-space:nowrap;align-self:end;margin-top:0}.practice-controls{background:#effaf5;border:1px solid #9bcdbd;border-radius:14px;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:11px;display:grid}.practice-button{white-space:nowrap;color:#fff!important;background:#2f856d!important;border-color:#2f856d!important}.review-secondary{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:10px;display:grid}.review-secondary .button{color:#315765;background:#fff9}.forgotten-button{color:#9a5630!important;border-color:#d99a72!important}.mode-card-review{min-height:500px}body{background:radial-gradient(circle at 8% 8%,#f9dfb955 0,#0000 24%),radial-gradient(circle at 94% 20%,#b9e3d655 0,#0000 25%),#f8f6f0}.hero{position:relative}.hero:before{content:"";z-index:-1;background:#f6c96555;border-radius:50%;width:90px;height:90px;position:absolute;top:35px;left:-55px}.hero-card{background:linear-gradient(150deg,#fffdfa,#fff7e5);border-color:#eadfc7;border-radius:28px;position:relative}.hero-card:after{content:"";pointer-events:none;border:1px dashed #e8c974;border-radius:20px;position:absolute;inset:10px}.hero-spark{color:#fff;z-index:1;border-radius:14px;place-items:center;width:43px;height:43px;font:22px Noto Sans SC,Microsoft YaHei,sans-serif;display:grid;position:absolute;box-shadow:0 8px 18px #193d3430}.hero-spark-one{background:#ed765f;top:28px;right:-20px;transform:rotate(9deg)}.hero-spark-two{background:#54a990;bottom:38px;left:-18px;transform:rotate(-10deg)}.learning-launchers{gap:12px;margin:30px 0 20px;display:grid}.lesson-launcher{border:1px solid var(--theme-border,#cad8d2);background:var(--theme-surface,#fffdfa);color:var(--theme-surface-text,#40524c);border-radius:18px;grid-template-columns:minmax(230px,.75fr) minmax(500px,1.5fr);align-items:end;gap:22px;padding:18px 20px;display:grid;box-shadow:0 10px 28px #193d340d}.lesson-current{grid-template-columns:1fr auto}.lesson-current-quick{background:linear-gradient(125deg,#fff0d2,#dff4e9);border:2px solid #e2ad5f;margin:12px 0 0;box-shadow:0 12px 30px #b77b2830}.lesson-current-quick .eyebrow{color:#9b5a14}.lesson-launcher.lesson-current-quick h2{color:#49321f}.lesson-current-quick .lesson-launcher-name{color:#315c4f}.lesson-launcher h2{color:var(--theme-surface-heading,#19332d);margin:2px 0 4px;font:26px/1.15 Georgia,serif}.lesson-launcher-copy p{margin:0}.lesson-launcher-name{color:var(--theme-surface-text,#40524c);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.lesson-launcher-controls{grid-template-columns:minmax(190px,1fr) auto;align-items:end;gap:10px;display:grid}.lesson-launcher-controls label{gap:6px;font-size:13px;font-weight:800;display:grid}.lesson-launcher-controls select{background:var(--theme-input-bg,#fff);width:100%;min-height:44px;color:var(--theme-input-text,#19332d)}.lesson-launcher-controls .button,.lesson-current>.button{white-space:nowrap;min-height:44px}.lesson-current>.lesson-continue{justify-content:space-between;min-width:250px;padding:11px 18px}.lesson-current>.lesson-continue span{text-align:left;line-height:1.15;display:grid}.lesson-current>.lesson-continue strong{text-overflow:ellipsis;max-width:300px;margin-top:4px;font-size:13px;overflow:hidden}.lesson-current>.lesson-continue svg{flex:none}:root[data-theme=dark] .lesson-current-quick{background:linear-gradient(125deg,#49351f,#20483d);border-color:#d9a85e;box-shadow:0 12px 30px #0005}:root[data-theme=dark] .lesson-current-quick .eyebrow{color:#ffd08b}:root[data-theme=dark] .lesson-current-quick h2{color:#fff1d8}:root[data-theme=dark] .lesson-current-quick .lesson-launcher-name{color:#c9f1e4}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .lesson-current-quick{background:linear-gradient(125deg,#49351f,#20483d);border-color:#d9a85e;box-shadow:0 12px 30px #0005}:root:not([data-theme=light]) .lesson-current-quick .eyebrow{color:#ffd08b}:root:not([data-theme=light]) .lesson-current-quick h2{color:#fff1d8}:root:not([data-theme=light]) .lesson-current-quick .lesson-launcher-name{color:#c9f1e4}}@media (width<=900px){.lesson-launcher{grid-template-columns:1fr}.lesson-launcher-controls{grid-template-columns:minmax(180px,1fr) auto auto}}@media (width<=700px){.lesson-launcher{padding:16px}.lesson-launcher-controls{grid-template-columns:1fr}.lesson-launcher-controls .button{width:100%}}.study-modes{margin-top:34px}.modes-title{align-items:center;margin-bottom:20px}.modes-title>p{color:#67756f;text-align:right;max-width:470px;margin:0}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.mode-card{border-radius:24px;flex-direction:column;gap:22px;min-height:390px;padding:28px;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 36px #193d3412}.mode-card:after{content:"";border:40px solid #fff5;border-radius:50%;width:170px;height:170px;position:absolute;top:-95px;right:-95px}.mode-card-new{background:linear-gradient(145deg,#fff4ec,#ffe7dc);border:1px solid #f2c6b4}.mode-card-review{background:linear-gradient(145deg,#edf8fb,#dceff6);border:1px solid #b9d7e4}.mode-card-top{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.mode-card .mode-icon{color:#fff}.mode-card-new .mode-icon{background:#ed765f}.mode-card-review .mode-icon{background:#397b9d}.mode-badge{letter-spacing:1.5px;color:#4a5f58;background:#fff9;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:900}.mode-card h3{margin:0 0 8px;font:30px Georgia,serif}.mode-card p{color:#556962;margin:0}.mode-card .mode-start{grid-template-columns:1fr auto;align-items:end;margin-top:auto}.mode-card .mode-start label{color:#405a51}.mode-card select{background:#fff9}.mode-button-new{color:#fff;background:#d95f49;border-color:#d95f49}.mode-button-review{color:#fff;background:#397b9d;border-color:#397b9d;align-self:flex-start;margin-top:auto}.mode-button-new:hover,.mode-button-review:hover{filter:brightness(.95);border-color:#0000}.mode-empty{background:#fff8;border-radius:12px;padding:14px;font-weight:700;margin-top:auto!important}.review-summary{align-items:center;gap:13px;margin-top:auto;display:flex}.review-summary strong{color:#286884;font:54px/1 Georgia,serif}.review-summary span{color:#52717e;font-size:14px}.deck:nth-child(4n+1) .deck-icon{background:#397b9d}.deck:nth-child(4n+2) .deck-icon{background:#d96751}.deck:nth-child(4n+3) .deck-icon{background:#8a6bb1}.deck:nth-child(4n+4) .deck-icon{background:#bf8a32}.deck{border-top-width:3px}.deck:hover{transform:translateY(-4px);box-shadow:0 14px 30px #193d3420}@media (width<=820px){.mode-grid{grid-template-columns:1fr}.modes-title{align-items:flex-start}.modes-title>p{text-align:left}.mode-card{min-height:350px}}@media (width<=720px){.hero:before,.hero-spark{display:none}.study-modes{margin-top:42px}.mode-card{padding:22px}.mode-card .mode-start{grid-template-columns:1fr}.mode-button-new{width:100%}.modes-title{display:block}.modes-title>p{margin-top:8px}.mode-card h3{font-size:27px}}.deck-wrap{height:138px;position:relative}.deck-wrap:nth-child(4n+1) .deck-icon{background:#397b9d}.deck-wrap:nth-child(4n+2) .deck-icon{background:#d96751}.deck-wrap:nth-child(4n+3) .deck-icon{background:#8a6bb1}.deck-wrap:nth-child(4n+4) .deck-icon{background:#bf8a32}.deck-wrap .deck{border-top-width:3px;width:100%;height:138px;min-height:138px;padding-right:64px;overflow:hidden}.deck-delete{color:#9aaaa4;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;place-items:center;width:34px;height:34px;padding:0;transition:all .18s;display:grid;position:absolute;top:14px;right:14px}.deck-delete svg{width:16px;height:16px}.deck-delete:hover{color:#b33d36;background:#fff0ed;border-color:#efc6c1}.deck-delete:focus-visible{outline-offset:2px;outline:3px solid #77b7a5}.home-deck-topic{max-width:100%;color:var(--theme-accent,#367362);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;margin:2px 0 1px;font-size:12px;font-weight:700;display:flex;overflow:hidden}.home-deck-topic svg{flex:none;width:13px;height:13px}.home-language-groups{gap:12px}.deck-language-toggle{border:1px solid var(--theme-border,var(--line));background:var(--theme-surface,var(--paper));width:100%;min-height:64px;color:var(--theme-surface-heading,#19332d);text-align:left;cursor:pointer;border-radius:16px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:14px 18px;transition:border-color .18s,box-shadow .18s;display:grid;box-shadow:0 8px 22px #193d3410}.deck-language-toggle:hover{border-color:var(--theme-accent,#367362);box-shadow:0 10px 26px #193d3418}.deck-language-toggle>span{font:25px Georgia,serif}.deck-language-toggle>small{background:var(--theme-surface-soft,var(--mint));border-radius:999px;place-items:center;min-width:30px;height:30px;padding:0 8px;font-weight:800;display:grid}.home-language-section .deck-grid{margin-top:14px}@media (hover:none){.home-page .deck:hover{box-shadow:none;transform:none}}@media (width<=720px){.deck-wrap,.deck-wrap .deck{height:auto;min-height:120px}.deck-language-toggle>span{font-size:22px}}.home-page .hero h1,.home-page .section-title h2,.home-page .mode-card h3,.home-page .hero-card .hanzi{color:#19332d}.home-page .hero h1 em{color:#367362}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--theme-bg:#f8f6f0;--theme-surface:#fffdfa;--theme-surface-soft:#f1f7f4;--theme-text:#19332d;--theme-heading:#19332d;--theme-muted:#5d6b66;--theme-surface-text:#19332d;--theme-surface-heading:#19332d;--theme-surface-muted:#5d6b66;--theme-header-text:#19332d;--theme-accent:#28705d;--theme-danger:#a33e38;--theme-border:#d9ddd7;--theme-header:#f7f5efef;--theme-shadow:#193d3420;--theme-input:#fff;--theme-new-card:linear-gradient(145deg,#fff4ec,#ffe7dc);--theme-review-card:linear-gradient(145deg,#edf8fb,#dceff6);--theme-new-heading:#7f3d31;--theme-review-heading:#285f79}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--theme-bg:#f8f6f0;--theme-surface:#172620;--theme-surface-soft:#20372f;--theme-text:#19332d;--theme-heading:#19332d;--theme-muted:#5d6b66;--theme-surface-text:#edf4f0;--theme-surface-heading:#fff;--theme-surface-muted:#b3c4bd;--theme-header-text:#edf4f0;--theme-accent:#8ed8c0;--theme-danger:#ff9b94;--theme-border:#3d544b;--theme-header:#101c18f2;--theme-shadow:#0008;--theme-input:#102019;--theme-new-card:linear-gradient(145deg,#3a2823,#2b211e);--theme-review-card:linear-gradient(145deg,#18313d,#142832);--theme-new-heading:#ffb29f;--theme-review-heading:#9ed9f4}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--theme-bg:#f8f6f0;--theme-surface:#172620;--theme-surface-soft:#20372f;--theme-text:#19332d;--theme-heading:#19332d;--theme-muted:#5d6b66;--theme-surface-text:#edf4f0;--theme-surface-heading:#fff;--theme-surface-muted:#b3c4bd;--theme-header-text:#edf4f0;--theme-accent:#8ed8c0;--theme-danger:#ff9b94;--theme-border:#3d544b;--theme-header:#101c18f2;--theme-shadow:#0008;--theme-input:#102019;--theme-new-card:linear-gradient(145deg,#3a2823,#2b211e);--theme-review-card:linear-gradient(145deg,#18313d,#142832);--theme-new-heading:#ffb29f;--theme-review-heading:#9ed9f4}}:root,body{color:var(--theme-text);background:var(--theme-bg)!important}body{min-height:100vh}header{color:var(--theme-header-text);border-color:var(--theme-border);background:var(--theme-header)!important}.form-card,.settings,.study-card,.new-word-grid article,.triple-prompt,.auth-modal,.deck,.button,.icon-button,.answer-grid button,.matching-board button,.triple-options button{background:var(--theme-surface);color:var(--theme-surface-text);border-color:var(--theme-border)}.button.primary{background:var(--theme-accent);color:#fff;border-color:var(--theme-accent)}.header-auth{color:inherit}.auth-close{color:var(--theme-surface-text)}.reveal{color:var(--theme-accent)}input,select,textarea{border-color:var(--theme-border);background:var(--theme-input)!important;color:var(--theme-surface-text)!important}.page-title,.section-title h2,.settings h2,.auth-modal h2{color:var(--theme-heading)}.settings h2,.auth-modal h2{color:var(--theme-surface-heading)}.lead,.privacy{color:var(--theme-muted)}.auth-intro,.settings-hint,.deck p,.deck small{color:var(--theme-surface-muted)}.auth-modal{box-shadow:0 28px 80px var(--theme-shadow)}.cloud-status{background:var(--theme-surface-soft);color:var(--theme-surface-text)}.auth-modal .eyebrow,.settings .eyebrow{color:var(--theme-accent)}.danger{color:var(--theme-danger)!important}.home-page{color:var(--theme-text)}.home-page .hero h1,.home-page .section-title h2{color:var(--theme-heading)!important}.home-page .hero-card .hanzi{color:var(--theme-surface-heading)!important}.home-page .hero>div>p:not(.eyebrow),.home-page .modes-title>p{color:var(--theme-muted)}.home-page .hero-card{background:var(--theme-surface);color:var(--theme-surface-text);border-color:var(--theme-border)}.home-page .mode-card-new{background:var(--theme-new-card);border-color:var(--theme-border)}.home-page .mode-card-review{background:var(--theme-review-card);border-color:var(--theme-border)}.home-page .mode-card-new h3{color:var(--theme-new-heading)!important}.home-page .mode-card-review h3{color:var(--theme-review-heading)!important}.home-page .mode-card p,.home-page .mode-card .mode-start label{color:var(--theme-surface-muted)}.home-page .review-summary strong{color:var(--theme-review-heading)}.home-page .review-summary span{color:var(--theme-surface-muted)}:root[data-theme=light] .primary,:root[data-theme=light] .mode-button-new,:root[data-theme=light] .mode-button-review,:root[data-theme=light] .practice-button{color:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .mode-badge,:root:not([data-theme=light]) .review-options select{color:var(--theme-surface-text);background:#ffffff24;border-color:#fff5}}:root[data-theme=dark] .mode-badge,:root[data-theme=dark] .review-options select{color:var(--theme-surface-text);background:#ffffff24;border-color:#fff5}:root[data-theme=dark] .button.primary{color:#10251e}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .button.primary{color:#10251e}}.library-page{gap:22px;display:grid}.library-hero{align-items:center;gap:18px;display:flex}.library-hero .page-title{margin:3px 0}.library-hero p:last-child{color:var(--theme-muted,#64716c);margin:0}.library-hero-icon{color:#286b58;background:#dceee7;border-radius:18px;place-items:center;width:64px;height:64px;display:grid}.library-hero-icon svg{width:31px;height:31px}.library-account-hint{color:#6c4b13;background:#fff4d8;border:1px solid #d7b365;border-radius:12px;align-items:center;gap:10px;padding:13px 16px;display:flex}.library-tabs{border:1px solid var(--theme-border,var(--line));background:var(--theme-surface-soft,#edf4f0);border-radius:14px;gap:8px;padding:5px;display:flex}.library-tabs button{min-height:44px;color:var(--theme-muted,#64716c);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-weight:800;display:flex}.library-tabs button.active{background:var(--theme-surface,var(--paper));color:var(--theme-surface-heading,#19332d);box-shadow:0 3px 12px #193d3414}.library-duplicate-notice{border:1px solid var(--theme-border,var(--line));background:var(--theme-surface-soft,#edf4f0);color:var(--theme-surface-heading,#19332d);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.library-duplicate-notice .button{flex:none}.library-duplicate-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.personal-deck-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.personal-deck-card{border:1px solid var(--theme-border,var(--line));background:var(--theme-surface,var(--paper));border-radius:18px;gap:16px;min-width:0;padding:20px;display:grid;box-shadow:0 10px 28px #193d3410}.personal-deck-preview{gap:6px;min-height:74px;display:grid}.personal-deck-preview>div{background:var(--theme-surface-soft,#edf4f0);border-radius:9px;grid-template-columns:minmax(70px,.7fr) minmax(90px,.8fr) minmax(90px,1.4fr);align-items:center;gap:8px;min-width:0;padding:6px 9px;display:grid}.personal-deck-preview.english>div{grid-template-columns:minmax(90px,.8fr) minmax(100px,1.4fr)}.personal-deck-preview b,.personal-deck-preview span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.personal-deck-preview b{color:var(--theme-surface-heading,#19332d)}.personal-deck-preview span:last-child{color:var(--theme-muted,#64716c)}.personal-deck-actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.personal-deck-actions .button{width:100%;padding-inline:10px}.library-account-hint svg{flex:none}.guest-library-import-panel{background:var(--theme-surface-soft,#edf4f0);color:var(--theme-surface-heading,#19332d);border:1px dashed #438b76;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:15px 16px;display:flex}.guest-library-import-panel>div{align-items:center;gap:11px;min-width:0;display:flex}.guest-library-import-panel>div>svg{color:#347965;flex:none}.guest-library-import-panel span{gap:2px;display:grid}.guest-library-import-panel small{color:var(--theme-muted,#64716c)}.guest-library-import-panel .button{flex:none}.guest-library-import-dialog{gap:14px;width:min(620px,100%);display:grid}.guest-library-import-dialog h2,.guest-library-import-dialog p{margin:0}.guest-library-import-dialog>p:not(.eyebrow){color:var(--theme-surface-muted,#64716c)}.guest-library-import-dialog label{color:var(--theme-surface-heading,#19332d);gap:6px;font-weight:700;display:grid}.guest-library-import-dialog input,.guest-library-import-dialog select{border:1px solid var(--theme-border,var(--line));background:var(--theme-surface,var(--paper));width:100%;min-height:44px;color:var(--theme-surface-text,#344b44);font:inherit;border-radius:10px;padding:9px 11px}.guest-library-import-dialog input[type=file]{padding:7px;font-weight:500}.library-state{text-align:center;min-height:260px;color:var(--theme-muted,#64716c);align-content:center;place-items:center;display:grid}.library-state svg{width:52px;height:52px}.library-state h2{margin:12px 0 0}.library-state p{margin:3px}.library-language-groups,.library-topic-level,.library-deck-level{gap:14px;display:grid}.library-topic-level,.library-deck-level{border-top:1px solid var(--theme-border,var(--line));margin-top:10px;padding-top:20px}.library-level-heading{color:var(--theme-surface-heading,#19332d);align-items:center;gap:11px;display:flex}.library-level-heading>svg{color:#347965;width:22px;height:22px}.library-level-heading div{display:grid}.library-level-heading b{font-size:16px}.library-level-heading span{color:var(--theme-muted,#64716c);font-size:12px}.library-language-buttons,.library-topic-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.library-level-button,.library-topic-button{border:1px solid var(--theme-border,var(--line));text-align:left;background:var(--theme-surface,var(--paper));min-width:0;min-height:66px;color:var(--theme-surface-heading,#19332d);cursor:pointer;border-radius:15px;grid-template-columns:42px 1fr auto 20px;align-items:center;gap:10px;padding:12px 15px;display:grid}.library-level-button:hover,.library-topic-button:hover,.library-level-button.is-active,.library-topic-button.is-active{background:var(--theme-surface-soft,#edf4f0);border-color:#438b76}.library-level-button>span{color:#fff;background:#337a67;border-radius:12px;place-items:center;width:42px;height:42px;font-size:21px;font-weight:800;display:grid}.library-level-button small,.library-topic-button small{text-align:center;background:var(--theme-border,#d9ddd7);min-width:28px;color:var(--theme-surface-heading,#19332d);border-radius:999px;padding:3px 7px;font-weight:800}.library-topic-button{grid-template-columns:24px 1fr auto 20px;min-height:56px}.library-topic-button>svg:first-child{color:#b37824}.public-deck-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.public-deck-card{border:1px solid var(--theme-border,var(--line));background:var(--theme-surface,var(--paper));border-radius:18px;gap:16px;padding:20px;display:grid;box-shadow:0 10px 28px #193d3410}.public-deck-head{align-items:center;gap:12px;display:flex}.public-deck-head>span{color:#fff;background:#337a67;border-radius:12px;place-items:center;width:44px;height:44px;font-size:22px;display:grid}.public-deck-head h2{color:var(--theme-surface-heading,#19332d);margin:0;font:24px Georgia,serif}.public-deck-head p{color:var(--theme-surface-muted,#64716c);margin:2px 0 0;font-size:13px}.public-deck-preview{gap:7px;display:grid}.public-deck-preview>div{background:var(--theme-surface-soft,#edf4f0);border-radius:9px;grid-template-columns:70px 110px 1fr;align-items:center;gap:8px;padding:7px 9px;display:grid}.public-deck-preview b{color:var(--theme-surface-heading,#19332d);font-size:19px}.public-deck-preview span:last-child{white-space:nowrap;text-overflow:ellipsis;color:var(--theme-surface-muted,#64716c);overflow:hidden}.public-deck-actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.public-deck-actions .button{width:100%;padding-inline:10px}.public-deck-dialog{width:min(1160px,100%);padding-bottom:24px}.public-library-cards-list{margin:0 0 20px}.public-library-mini-card .deck-card-image{cursor:default}.public-library-mini-card .mini-example{margin-bottom:0}.guest-library-image-actions{gap:10px;display:grid}.guest-library-image-actions .image-generation-budget-note,.guest-library-image-actions .import-message{margin:0}.guest-library-image-actions-top{margin-bottom:18px}.public-deck-dialog-meta{color:var(--theme-surface-muted,#64716c);margin:0 0 20px}.public-deck-word-list{gap:8px;margin-bottom:20px;display:grid}.public-deck-word-list>article{border:1px solid var(--theme-border,var(--line));background:var(--theme-surface-soft,#edf4f0);border-radius:13px;grid-template-columns:32px minmax(150px,.75fr) minmax(180px,1fr);align-items:center;gap:10px 14px;min-width:0;padding:12px;display:grid}.public-deck-word-number{color:var(--theme-muted,#64716c);align-self:start;font-size:12px}.public-deck-word-main{flex-wrap:wrap;align-items:baseline;gap:4px 9px;min-width:0;display:flex}.public-deck-word-main b{overflow-wrap:anywhere;color:var(--theme-surface-heading,#19332d);font-size:21px}.public-deck-word-main small{background:var(--theme-surface,var(--paper));color:var(--theme-surface-muted,#64716c);border-radius:999px;padding:2px 7px}.public-deck-word-list>article>p{min-width:0;color:var(--theme-surface-text,#344b44);margin:0}.public-deck-word-example{border-top:1px dashed var(--theme-border,var(--line));grid-column:2/-1;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);gap:3px 14px;padding-top:9px;font-size:12px;display:grid}.public-deck-word-example strong{color:var(--theme-surface-heading,#19332d)}.public-deck-word-example>span:last-child{color:var(--theme-surface-muted,#64716c)}.public-deck-word-example>.tone-pinyin{grid-column:1}.library-deck-card{flex-direction:column;gap:16px;padding:20px;display:flex}.library-deck-card .public-deck-head{align-items:flex-start;min-height:48px}.library-deck-card .public-deck-head>div{min-width:0}.library-deck-card .public-deck-head h2,.library-deck-card .public-deck-head p{text-overflow:ellipsis;overflow:hidden}.library-deck-card .public-deck-head h2{white-space:nowrap;font-size:23px}.library-deck-preview{gap:6px;min-height:0;display:grid}.library-deck-preview>div{background:var(--theme-surface-soft,#edf4f0);border-radius:9px;align-items:center;min-width:0;min-height:38px;padding:7px 10px}.library-deck-actions{margin-top:auto}.library-deck-actions .button{flex:1 1 0}@media (width<=760px){.guest-library-import-panel{flex-direction:column;align-items:stretch}.guest-library-import-panel .button{width:100%}.public-deck-grid{grid-template-columns:1fr}.library-duplicate-notice{flex-direction:column;align-items:stretch}.personal-deck-grid,.personal-deck-actions{grid-template-columns:1fr}.library-tabs{grid-template-columns:1fr 1fr;display:grid}.library-tabs button{padding-inline:8px}.personal-deck-preview>div{grid-template-columns:64px 82px minmax(0,1fr)}.library-hero{align-items:flex-start}.library-hero-icon{width:50px;height:50px}.public-deck-preview>div{grid-template-columns:60px 90px 1fr}.public-deck-actions{grid-template-columns:1fr}.public-deck-word-list>article{grid-template-columns:26px 1fr;align-items:start}.public-deck-word-list>article>p,.public-deck-word-example{grid-column:2}.public-deck-word-example,.library-language-buttons,.library-topic-buttons{grid-template-columns:1fr}}@media (width>=761px) and (width<=1020px){.public-library-cards-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.dictionary-page{gap:24px;display:grid}.dictionary-hero{align-items:center;gap:18px;display:flex}.dictionary-hero .page-title{margin:3px 0;font-size:46px}.dictionary-hero p:last-child{color:var(--theme-muted,#64716c);margin:0}.dictionary-hero-icon{color:#8a5619;background:#f6dfb5;border-radius:18px;flex:none;place-items:center;width:64px;height:64px;display:grid}.dictionary-hero-icon svg{width:31px;height:31px}.dictionary-toolbar{grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:14px;display:grid}.dictionary-search{display:block;position:relative}.dictionary-search svg{color:var(--theme-muted,#64716c);position:absolute;top:50%;left:15px;transform:translateY(-50%)}.dictionary-search input{border-radius:14px;width:100%;height:52px;padding-left:47px}.dictionary-filters{gap:7px;display:flex}.dictionary-filters button{border:1px solid var(--theme-border,var(--line));background:var(--theme-surface,var(--paper));min-height:44px;color:var(--theme-surface-text,#19332d);cursor:pointer;border-radius:11px;padding:8px 13px;font-weight:800}.dictionary-filters button.active{border-color:var(--theme-accent,#28705d);background:var(--mint);box-shadow:0 0 0 2px #67a99622}.dictionary-filters span{color:var(--theme-surface-muted,#64716c);margin-left:5px;font-size:12px}.dictionary-layout{grid-template-columns:minmax(340px,.84fr) minmax(400px,1.16fr);align-items:start;gap:18px;min-height:620px;display:grid}.dictionary-list,.dictionary-entry{border:1px solid var(--theme-border,var(--line));background:var(--theme-surface,var(--paper));border-radius:20px;box-shadow:0 12px 30px #193d3412}.dictionary-list{min-height:520px;max-height:calc(100vh - 230px);padding:10px;overflow:auto}.dictionary-list-heading{z-index:2;background:var(--theme-surface,var(--paper));border-bottom:1px solid var(--theme-border,var(--line));color:var(--theme-surface-heading,#19332d);gap:6px;margin:-10px -10px 5px;padding:15px 17px 11px;display:flex;position:sticky;top:-10px}.dictionary-list-heading span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--theme-surface-muted,#64716c);font-size:13px;overflow:hidden}.dictionary-row{width:100%;min-width:0;color:var(--theme-surface-text,#19332d);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:13px;grid-template-columns:38px minmax(95px,.8fr) minmax(120px,1.2fr) auto;align-items:center;gap:10px;padding:11px 10px;display:grid}.dictionary-row:hover{background:var(--theme-surface-soft,#f1f7f4)}.dictionary-row.active{background:var(--mint);border-color:#8ebcad}.dictionary-row-mark{color:#fff;background:#27705d;border-radius:10px;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.dictionary-row-mark.english{background:#b86636}.dictionary-row-word{min-width:0;display:grid}.dictionary-row-word b{text-overflow:ellipsis;font-size:18px;overflow:hidden}.dictionary-row-word .tone-pinyin{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.dictionary-row-translation{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--theme-surface-muted,#64716c);font-size:13px;overflow:hidden}.dictionary-row>small{color:var(--theme-surface-muted,#64716c);background:#0001;border-radius:99px;padding:2px 6px}.dictionary-more{width:100%;margin-top:8px}.dictionary-entry{color:var(--theme-surface-text,#19332d);padding:28px;position:sticky;top:96px}.dictionary-entry-top{justify-content:space-between;gap:18px;display:flex}.dictionary-entry-title>span{color:var(--theme-accent,#28705d);letter-spacing:1.5px;text-transform:uppercase;font-size:12px;font-weight:900;display:block}.dictionary-entry-title h2{color:var(--theme-surface-heading,#19332d);margin:4px 0 2px;font:clamp(38px,5vw,68px)/1.08 Noto Sans SC,Georgia,serif}.dictionary-entry-title .tone-pinyin{font-size:22px}.dictionary-entry-image{border:1px solid var(--theme-border,var(--line));background:#fff;border-radius:16px;height:220px;margin:22px 0 0;overflow:hidden}.dictionary-entry-image img{object-fit:contain;width:100%;height:100%;display:block}.dictionary-entry-section{border-top:1px solid var(--theme-border,var(--line));margin-top:24px;padding-top:20px}.dictionary-entry-section h3{color:var(--theme-surface-heading,#19332d);align-items:center;gap:7px;margin:0 0 11px;font:23px Georgia,serif;display:flex}.dictionary-meanings{margin:0;padding-left:24px}.dictionary-meanings li+li{margin-top:7px}.dictionary-tags,.dictionary-decks{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.dictionary-tags span,.dictionary-decks a{background:var(--theme-surface-soft,#f1f7f4);color:var(--theme-surface-heading,#19332d);border-radius:999px;padding:6px 10px;font-size:13px}.dictionary-decks a:hover{text-decoration:underline}.dictionary-examples{gap:9px;display:grid}.dictionary-examples article{background:var(--theme-surface-soft,#f1f7f4);border-radius:12px;padding:13px 15px}.dictionary-examples b,.dictionary-examples .tone-pinyin{display:block}.dictionary-examples p{color:var(--theme-surface-muted,#64716c);margin:4px 0 0}.dictionary-entry>.wiktionary-link{margin-top:24px}.dictionary-empty{border:1px dashed var(--theme-border,var(--line));text-align:center;min-height:360px;color:var(--theme-muted,#64716c);border-radius:20px;align-content:center;place-items:center;padding:40px;display:grid}.dictionary-empty>svg{width:48px;height:48px}.dictionary-empty h2{margin:12px 0 0}.dictionary-empty p{margin:4px 0 18px}@media (width<=900px){.dictionary-layout{grid-template-columns:1fr}.dictionary-list{min-height:0;max-height:480px}.dictionary-entry{position:static}.dictionary-hero .page-title{font-size:39px}}@media (width<=620px){.dictionary-hero{align-items:flex-start}.dictionary-hero-icon{border-radius:14px;width:50px;height:50px}.dictionary-hero-icon svg{width:25px;height:25px}.dictionary-hero .page-title{font-size:32px}.dictionary-toolbar{grid-template-columns:1fr}.dictionary-filters{padding-bottom:2px;overflow:auto}.dictionary-filters button{white-space:nowrap}.dictionary-row{grid-template-columns:38px minmax(90px,.8fr) minmax(100px,1.2fr)}.dictionary-row>small{display:none}.dictionary-entry{padding:21px}.dictionary-entry-image{height:190px}}.dictionary-row{grid-template-columns:38px minmax(95px,.8fr) minmax(120px,1.2fr)}@media (width<=620px){.dictionary-row{grid-template-columns:38px minmax(90px,.8fr) minmax(100px,1.2fr)}}.dictionary-cleanup-message{margin:0}.dictionary-tabs{border:1px solid var(--theme-border,var(--line));background:var(--theme-surface,var(--paper));border-radius:13px;gap:3px;width:max-content;padding:4px;display:flex}.dictionary-tabs button{min-width:145px;min-height:42px;color:var(--theme-surface-text,#19332d);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:8px 18px;font-weight:800}.dictionary-tabs button.active{color:#fff;background:#7b1010;box-shadow:0 7px 18px #680c0c2b}.dictionary-toolbar{grid-template-columns:minmax(260px,1fr) auto auto}.dictionary-filter-selects{align-items:center;gap:7px;display:flex}.dictionary-filter-selects>svg{width:18px;color:var(--theme-muted,#64716c)}.dictionary-filter-selects select,.general-dictionary-search select,.general-add-controls select{background:var(--theme-surface,var(--paper));max-width:190px;min-height:44px;color:var(--theme-surface-text,#19332d);border-radius:11px}.general-dictionary{gap:18px;display:grid}.general-dictionary-search{grid-template-columns:minmax(280px,1fr) 180px auto;gap:10px;display:grid}.general-dictionary-search label{position:relative}.general-dictionary-search label>svg{color:var(--theme-muted,#64716c);position:absolute;top:50%;left:15px;transform:translateY(-50%)}.general-dictionary-search input{border-radius:14px;width:100%;height:48px;padding-left:46px}.general-dictionary-search select{max-width:none}.general-dictionary-intro{min-height:480px}.general-dictionary-layout{min-height:560px}.general-results{min-height:460px}.general-result-row{grid-template-columns:38px minmax(0,1fr)}.general-result-row small{text-overflow:ellipsis;white-space:nowrap;color:var(--theme-surface-muted,#64716c);margin-top:2px;font-weight:400;display:block;overflow:hidden}.dictionary-loading{min-height:260px;color:var(--theme-surface-muted,#64716c);place-items:center;display:grid}.general-entry-translation{color:var(--theme-surface-heading,#19332d);margin:15px 0 0;font-size:20px;font-weight:750}.general-add-controls{grid-template-columns:minmax(180px,1fr) auto;gap:9px;display:grid}.general-add-controls select{max-width:none}.general-add-section a{color:var(--theme-accent,#28705d);font-weight:800;text-decoration:underline}.general-add-message{color:#28705d;align-items:center;gap:7px;margin:12px 0 0;font-weight:800;display:flex}.general-add-message svg{width:18px}.general-entry-source{border-top:1px solid var(--theme-border,var(--line));color:var(--theme-surface-muted,#64716c);justify-content:space-between;align-items:center;gap:10px;margin-top:22px;padding-top:15px;display:flex}.general-entry-source a{color:var(--theme-accent,#28705d);align-items:center;gap:6px;font-weight:800;display:flex}.general-entry-source svg{width:16px}.general-entry .error{margin-top:18px}@media (width<=1100px){.dictionary-toolbar{grid-template-columns:1fr}.dictionary-filter-selects,.dictionary-filters{flex-wrap:wrap}.dictionary-filter-selects select{flex:1;max-width:none}.dictionary-filters{display:none}}@media (width<=700px){.dictionary-tabs{width:100%}.dictionary-tabs button{flex:1;min-width:0}.general-dictionary-search{grid-template-columns:1fr}.general-dictionary-search select{max-width:none}.general-add-controls{grid-template-columns:1fr}.general-entry-source{flex-direction:column;align-items:flex-start}}.mini-card{color:var(--theme-surface-text);border-color:var(--theme-border);grid-template-columns:30px 130px 130px minmax(0,1fr) 140px;background:var(--theme-surface)!important}.mini-card>span,.mini-card>p{color:var(--theme-surface-muted)}.mini-card b{color:var(--theme-surface-heading)}.mini-card-word{align-items:center;gap:8px;min-width:0;display:flex}.mini-card-word b{min-width:0;font-family:Noto Sans SC,Microsoft YaHei,sans-serif}.pronunciation-button{border:1px solid var(--theme-border);background:var(--theme-surface-soft);width:34px;height:34px;color:var(--theme-accent);cursor:pointer;border-radius:50%;flex:0 0 34px;place-items:center;padding:0;transition:border-color .16s,background .16s,transform .16s;display:grid}.pronunciation-button:hover{border-color:var(--theme-accent);transform:translateY(-1px)}.pronunciation-button.is-speaking{border-color:var(--theme-accent);background:color-mix(in srgb, var(--theme-accent) 18%, var(--theme-surface))}.pronunciation-button svg{width:17px;height:17px}.wiktionary-button{border:1px solid var(--theme-border);background:var(--theme-surface-soft);width:34px;height:34px;color:var(--theme-accent);cursor:pointer;border-radius:50%;flex:0 0 34px;place-items:center;transition:border-color .16s,background .16s,transform .16s;display:grid}.wiktionary-button:hover{border-color:var(--theme-accent);transform:translateY(-1px)}.wiktionary-button svg{width:17px;height:17px}.wiktionary-link{width:fit-content;color:var(--theme-accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin:8px auto 0;padding:0;font-size:13px;font-weight:700;display:inline-flex}.wiktionary-link:hover{text-decoration:underline}.wiktionary-link svg{width:16px;height:16px}.wiktionary-dialog{width:min(720px,100%)}.wiktionary-dialog h2{overflow-wrap:anywhere}.wiktionary-state{min-height:180px;color:var(--theme-surface-muted,#64716c);text-align:center;place-items:center;display:grid}.wiktionary-state.error{color:#8e302b;align-content:center;gap:14px}.wiktionary-extract{border:1px solid var(--theme-border,var(--line));color:#34211d;background:#fffaf3;border-radius:14px;max-height:min(58vh,560px);margin-top:18px;padding:18px;font-size:15px;line-height:1.5;overflow:auto}.wiktionary-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;display:flex}.wiktionary-meta span{color:#fff;background:#7b1010;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.wiktionary-meta b{color:#694b44;font-size:13px;font-weight:600}.wiktionary-pronunciation{background:#f8ece5;border-left:3px solid #a72b2b;border-radius:0 9px 9px 0;margin-bottom:20px;padding:12px 14px}.wiktionary-pronunciation small{color:#8d5f55;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:800;display:block}.wiktionary-pronunciation p{margin:0;font-size:14px}.wiktionary-extract h3{color:#6f1010;margin:0 0 10px;font:700 20px Georgia,serif}.wiktionary-meanings ol{gap:12px;margin:0;padding-left:25px;display:grid}.wiktionary-meanings li{padding-left:4px}.wiktionary-meanings li::marker{color:#8b1717;font-weight:800}.wiktionary-meanings strong{font-weight:650}.wiktionary-meanings p{color:#745d56;margin:5px 0 0;font-size:13px;font-style:italic;line-height:1.45}.wiktionary-synonyms{border-top:1px solid #ead9cd;margin-top:22px;padding-top:16px}.wiktionary-synonyms>div{flex-wrap:wrap;gap:7px;display:flex}.wiktionary-synonyms span{color:#633f36;background:#f3e5da;border-radius:8px;padding:5px 9px;font-size:13px}.wiktionary-footer{justify-content:space-between;align-items:center;gap:14px;margin-top:16px;display:flex}.wiktionary-footer small{color:var(--theme-surface-muted,#64716c)}.chinese-dictionary-extract{gap:20px;display:grid}.chinese-card-translation{background:#f8ece5;border-radius:12px;gap:4px;padding:14px 16px;display:grid}.chinese-card-translation small{color:#8d5f55;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.chinese-card-translation strong{font-size:18px;line-height:1.35}.chinese-dictionary-extract .wiktionary-meanings ul,.cedict-results ul{gap:7px;margin:0;padding-left:22px;display:grid}.cedict-results{gap:12px;display:grid}.cedict-results article{background:#fffdfa;border:1px solid #ead9cd;border-radius:12px;padding:13px 15px}.cedict-heading{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.cedict-heading .tone-pinyin{color:#6f1010;font-size:17px;font-weight:800}.cedict-heading>span:last-child{color:#745d56;font-size:13px}.cedict-results li{color:#433b38;font-size:14px;line-height:1.45}.chinese-dictionary-footer .button{flex:none}@media (width<=620px){.wiktionary-extract{max-height:55vh;padding:14px}.wiktionary-footer{flex-direction:column;align-items:stretch}}.speech-message{margin:14px 0 -12px}.mini-card .mini-example{background:var(--theme-surface-soft);color:var(--theme-surface-text)}.mini-card .mini-example strong{color:var(--theme-surface-heading)}.mini-card .mini-example p,.word-learning-progress small{color:var(--theme-surface-muted)}.mini-card .mini-example>span{background:color-mix(in srgb, var(--theme-accent) 18%, transparent);color:var(--theme-accent)}.mini-card.is-learned{border-left:4px solid #3b956d;background:var(--theme-surface-soft)!important}.word-learning-progress{gap:5px;display:grid}.word-learning-progress>div{background:#dfe6e1;border-radius:10px;height:8px;overflow:hidden}.word-learning-progress>div>span{border-radius:inherit;background:linear-gradient(90deg,#e3aa42,#3b956d);height:100%;transition:width .25s;display:block}.word-learning-progress small{font-size:11px;line-height:1.2}@media (width<=720px){.mini-card{grid-template-columns:25px 115px minmax(0,1fr)}.word-learning-progress{grid-column:2/4}.word-learning-progress small{display:block}}.app-loading{min-height:45vh;color:var(--theme-muted);place-content:center;justify-items:center;gap:10px;display:grid}.app-loading span{background:var(--green);color:#fff;border-radius:17px;place-items:center;width:58px;height:58px;font-size:28px;animation:1.2s ease-in-out infinite alternate loading-pulse;display:grid}@keyframes loading-pulse{to{opacity:.72;transform:scale(.92)}}.writing-actions{grid-template-columns:minmax(150px,.7fr) minmax(260px,1.3fr);gap:10px;display:grid}.skip-writing{color:var(--theme-surface-muted);font-size:13px}@media (width<=620px){.writing-actions{grid-template-columns:1fr}}.daily-exercise-heading{background:#e8f2ee;border-left:5px solid #3b806d;border-radius:10px;gap:4px;margin-bottom:16px;padding:15px 18px;display:grid}.daily-exercise-heading span{color:#397462;letter-spacing:1.5px;font-size:11px;font-weight:800}.daily-exercise-heading b{font-size:18px}.daily-exercise-heading small{color:#5c6d67}.matching-review-card{border:1px solid var(--line);background:var(--theme-surface);color:var(--theme-surface-text);text-align:center;border-radius:24px;padding:32px}.matching-review-card h2{margin:5px 0 12px}.matching-review-hanzi{color:var(--theme-surface-heading);margin:8px 0 24px;font-family:Noto Sans SC,Microsoft YaHei,sans-serif;font-size:82px}.matching-review-options{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.matching-review-options button{border:2px solid var(--theme-border);background:var(--theme-surface-soft);min-height:64px;color:var(--theme-surface-text);cursor:pointer;border-radius:12px;padding:12px;font-size:19px}.writing-card,.context-card{background:var(--theme-surface);color:var(--theme-surface-text);border-color:var(--theme-border)}.writing-card h2,.context-card h2,.context-chinese{color:var(--theme-surface-heading)}.matching-review-options button.correct{color:#17603f;background:#dff4e9;border-color:#38986d}.matching-review-options button.wrong{color:#8c2f2a;background:#fde7e4;border-color:#cc5a52}.matching-review-card .match-feedback{border-radius:12px;justify-content:space-between;align-items:center;gap:15px;margin-top:18px;padding:14px;display:flex}.matching-result-answer{text-align:left;gap:3px;display:grid}.matching-result-answer .tone-pinyin{font-size:18px}.translation-answer-pinyin{text-align:center;margin:10px auto;font-weight:700}.translation-answer-pinyin>span{color:var(--theme-muted);margin-right:5px;font-size:13px}.matching-review-card .match-feedback.correct{color:#17603f;background:#e4f4eb}.matching-review-card .match-feedback.wrong{color:#8c2f2a;background:#fde7e4}@media (width<=620px){.matching-review-options{grid-template-columns:1fr}.matching-review-card .match-feedback{flex-direction:column;align-items:stretch}}.review-options{grid-template-columns:1fr;gap:12px;display:grid}.review-deck-select{width:100%}.review-mode-list{gap:9px;display:grid}.review-mode-option{border:1px solid var(--theme-border);background:var(--theme-surface);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;display:grid}.review-mode-option>div{gap:3px;display:grid}.review-mode-option b{color:var(--theme-surface-heading)}.review-mode-option small,.review-global-option small{color:var(--theme-surface-muted);line-height:1.3}.review-mode-option.practice{background:var(--theme-surface-soft);border-color:#9bcdbd;grid-template-columns:minmax(0,1fr) 105px auto}.review-mode-option.practice b{color:var(--theme-accent)}.review-mode-option select{min-width:0}.review-secondary{grid-template-columns:1fr 1fr;gap:9px;display:grid}.review-global-option{border:1px solid var(--theme-border);background:var(--theme-surface);border-radius:14px;gap:4px;min-height:82px;padding:13px;display:grid}.review-global-option b{color:var(--theme-surface-heading);justify-content:space-between;display:flex}.review-global-option b span{text-align:center;background:#e3eff3;border-radius:999px;min-width:28px;padding:2px 7px}.review-global-option.forgotten-button{border-color:#d99a72!important}.review-global-option.forgotten-button b{color:#9a5630}@media (width<=720px){.review-mode-option,.review-mode-option.practice{grid-template-columns:1fr}.review-mode-option .button{width:100%}.review-secondary{grid-template-columns:1fr}}.daily-minimum{box-shadow:0 14px 34px var(--theme-shadow);background:linear-gradient(125deg,#fff5df,#f1faf5);border:1px solid #e3b56c;border-radius:17px;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:12px;margin:-30px 0 28px;padding:11px;display:grid}.daily-minimum-main{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:5px 7px;display:grid}.daily-minimum-icon{color:#fff;background:#e87b4b;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.daily-minimum-icon svg{width:21px;height:21px}.daily-minimum h2{color:#5e3926;margin:0 0 2px;font:22px Georgia,serif}.daily-minimum .eyebrow{margin:0;font-size:10px}.daily-minimum-main p:last-child{color:#695f58;margin:0;font-size:13px}.daily-minimum-button{white-space:nowrap;color:#fff!important;background:#c85835!important;border-color:#c85835!important}.daily-done{color:#216344;white-space:nowrap;background:#dff2e7;border-radius:11px;padding:10px 14px;font-weight:800}.study-calendar{background:var(--theme-surface);color:var(--theme-surface-text);border-radius:12px;padding:8px 10px}.calendar-title{text-transform:capitalize;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;font-size:12px;display:flex}.calendar-title svg{width:14px;height:14px}.calendar-title>div,.calendar-title>span{align-items:center;gap:6px;display:flex}.calendar-title>span{color:#b95835;font-size:13px}.calendar-weekdays,.calendar-days{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-weekdays span{color:var(--theme-surface-muted);padding:1px;font-size:9px;font-weight:700}.calendar-days span,.calendar-days i{border-radius:6px;place-items:center;height:21px;font-size:10px;font-style:normal;display:grid;position:relative}.calendar-days span{background:var(--theme-surface-soft)}.calendar-days span.active{color:#1e6644;background:#dff1e7;font-weight:800}.calendar-days span.today{box-shadow:inset 0 0 0 2px #d47646}.calendar-days small{color:#2c8a60;font-size:8px;position:absolute;bottom:0;right:2px}@media (width<=850px){.daily-minimum{grid-template-columns:1fr;margin-top:-10px}}@media (width<=570px){.daily-minimum-main{grid-template-columns:auto 1fr}.daily-minimum-main>:last-child{text-align:center;grid-column:1/-1;width:100%}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .daily-minimum{background:linear-gradient(125deg,#3a291f,#18332a);border-color:#795239}:root:not([data-theme=light]) .daily-minimum h2{color:#ffd2ae}:root:not([data-theme=light]) .daily-minimum-main p:last-child{color:#d2c2b7}}:root[data-theme=dark] .daily-minimum{background:linear-gradient(125deg,#3a291f,#18332a);border-color:#795239}:root[data-theme=dark] .daily-minimum h2{color:#ffd2ae}:root[data-theme=dark] .daily-minimum-main p:last-child{color:#d2c2b7}.worksheet-button{white-space:nowrap}.worksheet-dialog{gap:18px;display:grid}.worksheet-dialog h2{margin-bottom:0}.worksheet-dialog-field{gap:8px;font-weight:700;display:grid}.worksheet-dialog-field select{width:100%}.worksheet-grid-options{border:0;gap:10px;padding:0;display:grid}.worksheet-grid-options legend{margin-bottom:8px;font-weight:800}.worksheet-grid-options label{border:1px solid var(--theme-border);cursor:pointer;border-radius:12px;grid-template-columns:auto 58px 1fr;align-items:center;gap:12px;padding:12px;display:grid}.worksheet-grid-options label:has(input:checked){border-color:var(--theme-accent);background:var(--mint)}.worksheet-grid-options label>span:last-child{gap:3px;display:grid}.worksheet-grid-options small{color:var(--muted)}.worksheet-grid-preview{aspect-ratio:1;background:var(--paper);border:1px solid;width:54px;position:relative}.worksheet-grid-preview:before,.worksheet-grid-preview:after,.worksheet-grid-preview i{content:"";position:absolute}.worksheet-grid-preview:before{border-left:1px dashed #95a29d;top:0;bottom:0;left:50%}.worksheet-grid-preview:after{border-top:1px dashed #95a29d;top:50%;left:0;right:0}.worksheet-grid-preview.diagonal i:first-child{background:linear-gradient(45deg,#0000 49%,#b5beba 50%,#0000 51%);inset:0}.worksheet-grid-preview.diagonal i:nth-child(2){background:linear-gradient(-45deg,#0000 49%,#b5beba 50%,#0000 51%);inset:0}.worksheet-page{max-width:1040px;margin:auto}.worksheet-toolbar{background:var(--theme-surface);color:var(--theme-surface-text);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:12px;display:flex}.worksheet-toolbar-actions{gap:10px;display:flex}.worksheet-sheet{gap:24px;width:210mm;margin:auto;font-family:Arial,Microsoft YaHei,sans-serif;display:grid}.worksheet-paper{color:#17211d;background:#fff;flex-direction:column;width:210mm;height:297mm;padding:14mm 13mm 12mm;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 50px #1223}.worksheet-content{flex:1}.worksheet-page-number{color:#66736e;font-size:10px;line-height:1;position:absolute;bottom:6mm;right:13mm}.worksheet-header{z-index:auto;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-bottom:1px solid #aebbb6;align-items:center;width:100%;height:auto;padding:0 0 2mm;display:flex;position:static;color:#17211d!important;background:#fff!important}.worksheet-header b{font-size:13px;color:#53625d!important}.worksheet-word{margin-top:3mm}.worksheet-word-title{grid-template-columns:7mm 32mm 1fr auto;align-items:baseline;gap:3mm;margin-bottom:1.5mm;display:grid}.worksheet-word-title>span{color:#87908d;font-size:11px}.worksheet-word-title .tone-pinyin{font-size:16px;font-weight:700}.worksheet-word-title>b{color:#596460;font-size:12px;font-weight:500}.worksheet-word-title>strong{font-family:Microsoft YaHei,SimSun,sans-serif;font-size:18px}.worksheet-line{grid-template-columns:repeat(12,1fr);margin-top:-1px;display:grid}.worksheet-cell{aspect-ratio:1;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;border:1px solid #52615c;position:relative;overflow:hidden}.worksheet-cell.diagonal{background-color:#fff;background-image:linear-gradient(45deg,#0000 49.35%,#c7cfcc 49.7% 50.3%,#0000 50.65%),linear-gradient(-45deg,#0000 49.35%,#c7cfcc 49.7% 50.3%,#0000 50.65%)}.worksheet-cell:before,.worksheet-cell:after,.worksheet-cell i{content:"";pointer-events:none;position:absolute}.worksheet-cell:before{border-left:.35px dashed #c4cbc8;top:0;bottom:0;left:50%}.worksheet-cell:after{border-top:.35px dashed #c4cbc8;top:50%;left:0;right:0}.worksheet-cell i{display:none}.worksheet-cell span{z-index:1;place-items:center;font-family:Microsoft YaHei,SimSun,sans-serif;font-size:8mm;line-height:1;display:grid;position:absolute;inset:0}.worksheet-cell.trace span{color:#c2c8c5}@media (width<=900px){.worksheet-sheet{width:100%}.worksheet-paper{width:100%;height:auto;min-height:calc(141.4vw - 56.56px);padding:20px}.worksheet-toolbar{flex-direction:column;align-items:stretch}.worksheet-toolbar-actions{grid-template-columns:1fr;display:grid}}@media print{@page{size:A4 portrait;margin:0}body{background:#fff!important}body>#root>header,.worksheet-toolbar{display:none!important}main{max-width:none!important;padding:0!important}.worksheet-sheet{width:210mm;margin:0;display:block}.worksheet-paper{width:210mm;height:297mm;box-shadow:none;break-after:page;page-break-after:always;margin:0;padding:14mm 13mm 12mm}.worksheet-paper:last-child{break-after:auto;page-break-after:auto}}.home-top-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;margin:-30px 0 28px;display:grid}.home-top-row .daily-minimum,.home-top-row .lesson-current-quick{height:100%;min-height:300px;margin:0;font-family:Inter,system-ui,-apple-system,Noto Sans SC,Microsoft YaHei,sans-serif}.home-top-row .daily-minimum{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);align-content:stretch;padding:16px;display:grid}.home-top-row .daily-minimum-main{grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-content:space-between;align-items:start;gap:12px;padding:0}.home-top-row .daily-minimum-main,.home-top-row .lesson-current-main{height:132px;min-height:132px}.home-top-row .daily-minimum-main>div:nth-child(2){min-width:0}.home-top-row .daily-minimum-main>.daily-minimum-button,.home-top-row .daily-minimum-main>.daily-done{text-align:center;grid-column:1/-1;justify-content:center;align-self:end;width:100%}.home-top-row .daily-minimum-main>.daily-minimum-button{min-height:46px}.home-top-row .daily-minimum-button,.home-top-row .lesson-current-main>.lesson-continue{border-radius:12px;min-height:46px;padding:10px 14px;font-size:14px;font-weight:700;line-height:1.2}.home-top-row .daily-minimum h2{color:#5e3926;margin:0 0 2px;font:22px/1.15 Georgia,serif}.home-top-row .daily-minimum-main p:last-child{color:#695f58;margin:0;font-size:13px;line-height:1.4}.home-top-row .daily-minimum .eyebrow,.home-top-row .lesson-current-quick .eyebrow{color:#4b7c6e;letter-spacing:2px;margin:0;font-size:10px;font-weight:800;line-height:1.2}.home-top-row .study-calendar{align-self:end;margin-top:12px;padding:8px 10px}.home-top-row .calendar-days span,.home-top-row .calendar-days i{height:18px}.home-top-row .lesson-current-quick{grid-template-rows:auto 142px;grid-template-columns:minmax(0,1fr);align-content:space-between;align-self:stretch;align-items:stretch;gap:12px;padding:16px;overflow:hidden}.home-top-row .lesson-current-main>.lesson-continue{width:100%;min-width:0;margin-top:0}.home-top-row .lesson-launcher-copy{align-self:start}.home-top-row .lesson-current-main{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);align-content:space-between;display:grid}.home-top-row .lesson-current-image{object-fit:contain;object-position:center;width:100%;height:100%;min-height:116px;box-shadow:none;transform-origin:50% 58%;background:0 0;border:0;border-radius:0;transform:scale(1.24);-webkit-mask-image:radial-gradient(78% 90%,#000 58%,#0000 100%);mask-image:radial-gradient(78% 90%,#000 58%,#0000 100%)}.home-top-row .lesson-current-main .lesson-launcher-copy{min-width:0}.home-top-row .lesson-current-main h2{color:#5e3926;margin:3px 0 8px;font:22px/1.15 Georgia,serif}.home-top-row .lesson-current-main .lesson-launcher-name{color:#695f58;margin:0;font-size:13px;font-weight:400;line-height:1.4}.home-top-row .lesson-current-main>.lesson-continue{justify-content:space-between;color:#fff!important;background:#c85835!important;border-color:#c85835!important}.home-top-row .lesson-current-main>.lesson-continue span{text-align:left;min-width:0;display:block}.home-top-row .lesson-current-main>.lesson-continue strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.2;overflow:hidden}.home-top-row .lesson-current-quick{box-shadow:0 14px 34px var(--theme-shadow);background:linear-gradient(125deg,#fff5df,#f1faf5);border:1px solid #e3b56c}.home-top-row .lesson-current-quick .lesson-launcher-name{color:#695f58}:root[data-theme=dark] .home-top-row .lesson-current-quick{background:linear-gradient(125deg,#3a291f,#18332a);border-color:#795239}:root[data-theme=dark] .home-top-row .daily-minimum h2,:root[data-theme=dark] .home-top-row .lesson-current-main h2{color:#ffd2ae}:root[data-theme=dark] .home-top-row .daily-minimum-main p:last-child,:root[data-theme=dark] .home-top-row .lesson-current-main .lesson-launcher-name{color:#d2c2b7}:root[data-theme=dark] .home-top-row .lesson-current-quick .eyebrow{color:#4b7c6e}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .home-top-row .lesson-current-quick{background:linear-gradient(125deg,#3a291f,#18332a);border-color:#795239}:root:not([data-theme=light]) .home-top-row .daily-minimum h2,:root:not([data-theme=light]) .home-top-row .lesson-current-main h2{color:#ffd2ae}:root:not([data-theme=light]) .home-top-row .daily-minimum-main p:last-child,:root:not([data-theme=light]) .home-top-row .lesson-current-main .lesson-launcher-name{color:#d2c2b7}:root:not([data-theme=light]) .home-top-row .lesson-current-quick .eyebrow{color:#4b7c6e}}@media (width<=760px){.home-top-row{grid-template-columns:1fr;margin-top:-10px}.home-top-row .lesson-current-image{height:132px}.home-top-row .lesson-current-quick{grid-template-rows:auto 132px}}.landing-page{--landing-ink:#17352e;--landing-muted:#5f706a;--landing-cream:#fffaf1;--landing-paper:#fffefd;--landing-green:#173d34;--landing-mint:#91d8c4;--landing-mint-soft:#dff3ec;--landing-coral:#ef7656;--landing-gold:#edc86b;--landing-line:#d9ddd7;--landing-shadow:0 28px 70px #173d3420;color:var(--landing-ink);gap:112px;display:grid}.landing-page h1,.landing-page h2,.landing-page h3,.landing-page p{margin-top:0}.landing-page h1,.landing-page h2{letter-spacing:-.035em;font-family:Georgia,Times New Roman,serif}.landing-page button,.landing-page a{-webkit-tap-highlight-color:transparent}.landing-hero{color:#fffaf0;background:radial-gradient(circle at 86% 8%, #ef765633 0 19%, transparent 44%), radial-gradient(circle at 0 100%, #8fd9c329 0 18%, transparent 42%), var(--landing-green);min-height:min(760px,100vh - 110px);box-shadow:var(--landing-shadow);border-radius:34px;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);align-items:center;gap:56px;padding:72px 68px 78px;display:grid;position:relative;overflow:hidden}.landing-hero:before{content:"";pointer-events:none;border:1px solid #fff4d51f;border-radius:24px;position:absolute;inset:18px}.landing-hero-copy,.landing-hero-scene{z-index:1;position:relative}.landing-kicker{color:#2f806b;letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:9px;font-size:12px;font-weight:900;display:flex}.landing-kicker svg{width:17px;height:17px}.landing-hero .landing-kicker{color:#9de1cf}.landing-hero h1{color:#fffaf0;max-width:680px;margin-bottom:24px;font-size:clamp(48px,5.2vw,76px);line-height:.98}.landing-hero h1 em{color:#9de1cf;font-weight:400;display:block}.landing-lead{color:#e0ebe6;max-width:590px;margin-bottom:28px;font-size:18px;line-height:1.65}.landing-auth-actions{flex-wrap:wrap;gap:12px;display:flex}.landing-button{cursor:pointer;border:1px solid #0000;border-radius:13px;justify-content:center;align-items:center;gap:9px;min-height:52px;padding:12px 20px;font-weight:850;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.landing-button:hover{transform:translateY(-4px);box-shadow:0 16px 34px #3d171b42}.landing-button:active{transform:translateY(-1px)scale(.985)}.landing-button svg{transition:transform .18s}.landing-button:hover svg{transform:translate(4px)}.landing-button-primary{background:var(--landing-coral);color:#fff;box-shadow:0 12px 28px #3d171b38}.landing-button-secondary{color:#fffaf0;background:#ffffff0c;border-color:#fff6df66}.landing-button-secondary:hover{background:#ffffff17}.landing-hero-notes{color:#c9dad4;flex-wrap:wrap;gap:10px 20px;margin:26px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.landing-hero-notes li{align-items:center;gap:6px;display:flex}.landing-hero-notes svg{color:#9de1cf;width:15px;height:15px}.landing-hero-scene{align-self:stretch;min-height:540px}.landing-companion{filter:drop-shadow(0 28px 28px #071a1644);z-index:3;width:min(540px,110%);position:absolute;bottom:-26px;right:-36px}.landing-orbit{border:1px solid #fff4cf2c;border-radius:50%;position:absolute}.landing-orbit-one{width:430px;height:430px;top:34px;right:-50px}.landing-orbit-two{width:300px;height:300px;top:102px;right:38px}.landing-floating-card{z-index:4;width:150px;min-height:172px;color:var(--landing-ink);background:#fffaf2;border:1px solid #173d3420;border-radius:22px;align-content:center;place-items:center;padding:20px 16px;display:grid;position:absolute;box-shadow:0 20px 45px #071a163d}.landing-card-chinese{top:72px;left:-12px;transform:rotate(-6deg)}.landing-card-chinese>span:first-child{font-family:Noto Sans SC,sans-serif;font-size:48px;font-weight:800}.landing-card-chinese .tone-pinyin{font-size:20px;font-weight:850}.landing-floating-card small{color:#687771}.landing-card-english{width:164px;min-height:152px;top:50px;right:-22px;transform:rotate(5deg)}.landing-card-english small{color:#d25d43;letter-spacing:.12em;font-size:10px;font-weight:900}.landing-card-english strong{font-family:Georgia,serif;font-size:25px}.landing-progress-pill{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c2c24e6;border:1px solid #ffffff26;border-radius:17px;align-items:center;gap:11px;width:255px;padding:11px 14px;display:flex;position:absolute;bottom:52px;left:-42px;box-shadow:0 17px 38px #071a1644}.landing-progress-pill>span{background:var(--landing-coral);border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.landing-progress-pill div{display:grid}.landing-progress-pill small{color:#bdd2ca;font-size:11px}.landing-scroll{z-index:2;color:#bdcec8;align-items:center;gap:8px;font-size:12px;font-weight:750;display:flex;position:absolute;bottom:28px;left:68px}.landing-scroll svg{width:15px}.landing-value-strip{border:1px solid var(--landing-line);background:var(--landing-paper);border-radius:22px;grid-template-columns:repeat(4,1fr);margin-top:-70px;padding:24px 30px;display:grid;box-shadow:0 18px 48px #173d3412}.landing-value-strip>div{border-right:1px solid var(--landing-line);align-items:center;gap:13px;min-width:0;padding:6px 22px;display:flex}.landing-value-strip>div:last-child{border-right:0}.landing-value-strip svg{color:#2f806b;flex:none;width:25px;height:25px}.landing-value-strip span{min-width:0;display:grid}.landing-value-strip b{font-size:14px}.landing-value-strip small{color:var(--landing-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.landing-section{scroll-margin-top:110px}.landing-section-heading{text-align:center;max-width:780px;margin:0 auto 44px}.landing-section-heading .landing-kicker{justify-content:center}.landing-section-heading h2,.landing-showcase-copy h2,.landing-final-cta h2{color:var(--landing-ink);margin-bottom:18px;font-size:clamp(38px,4.4vw,58px);line-height:1.05}.landing-section-heading>p:last-child,.landing-showcase-copy>p,.landing-final-cta>div>p{color:var(--landing-muted);font-size:17px;line-height:1.7}.landing-section-heading.compact{max-width:700px}.landing-guides{border:1px solid var(--landing-line);background:var(--landing-cream);border-radius:30px;padding:58px}.landing-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.landing-guide-card{border:1px solid var(--landing-line);background:var(--landing-paper);border-radius:21px;flex-direction:column;min-width:0;padding:25px;display:flex;box-shadow:0 12px 28px #173d340b}.landing-guide-top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.landing-guide-top>span{color:#9bb0a9;font:400 35px/1 Georgia,serif}.landing-guide-top>i{background:var(--landing-mint-soft);color:#28725f;border-radius:14px;place-items:center;width:46px;height:46px;display:grid}.landing-guide-top svg{width:22px;height:22px}.landing-guide-card>small{color:#2f806b;letter-spacing:.11em;font-size:10px;font-weight:900}.landing-guide-card h3{margin:8px 0 14px;font-family:Georgia,serif;font-size:25px;line-height:1.18}.landing-guide-card ul{counter-reset:guide-step;gap:10px;margin:0 0 22px;padding:0;list-style:none;display:grid}.landing-guide-card li{min-width:0;color:var(--landing-muted);grid-template-columns:25px minmax(0,1fr);gap:9px;line-height:1.5;display:grid}.landing-guide-card li:before{counter-increment:guide-step;content:counter(guide-step);background:var(--landing-mint-soft);color:#28725f;border-radius:50%;place-items:center;width:25px;height:25px;font-size:11px;font-weight:900;display:grid}.landing-guide-card>a{border-top:1px solid var(--landing-line);color:#286c59;justify-content:space-between;align-items:center;gap:12px;min-height:42px;margin-top:auto;padding-top:14px;font-weight:850;display:flex}.landing-guide-card>a svg{width:17px;height:17px;transition:transform .18s}.landing-guide-card>a:hover svg{transform:translate(4px)}.landing-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.landing-feature-card{border:1px solid var(--landing-line);background:var(--landing-paper);border-radius:26px;grid-template-rows:auto 1fr;gap:24px;min-height:440px;padding:30px;transition:transform .22s,box-shadow .22s,border-color .22s;display:grid;overflow:hidden;box-shadow:0 16px 45px #173d340d}.landing-feature-card:hover{border-color:#91b9ad;transform:translateY(-7px);box-shadow:0 24px 54px #173d341c}.landing-feature-card:hover .landing-feature-icon{transform:rotate(-5deg)scale(1.08)}.landing-feature-card.wide{grid-column:span 2;grid-template-rows:1fr;grid-template-columns:.8fr 1.2fr;align-items:center;min-height:330px}.landing-feature-copy{align-self:start}.landing-feature-icon{background:var(--landing-mint-soft);color:#28725f;border-radius:14px;place-items:center;width:46px;height:46px;margin-bottom:17px;transition:transform .22s;display:grid}.landing-feature-card:nth-child(2) .landing-feature-icon,.landing-feature-card:nth-child(5) .landing-feature-icon{color:#c6533a;background:#ffe6db}.landing-feature-copy h3{margin-bottom:10px;font-family:Georgia,serif;font-size:27px;line-height:1.12}.landing-feature-copy p{color:var(--landing-muted);margin-bottom:0;line-height:1.65}.landing-feature-visual{background:#f4f3ed;border-radius:20px;place-items:center;min-height:210px;display:grid;overflow:hidden}.landing-upload-mockup{gap:10px;width:90%;display:grid}.landing-text-mockup{box-sizing:border-box;border:1px solid var(--landing-line);background:#fff;border-radius:17px;grid-template-columns:1fr 1fr;width:88%;display:grid;overflow:hidden;box-shadow:0 18px 35px #173d3412}.landing-text-mockup>div{min-width:0;padding:20px}.landing-text-mockup>div+div{border-left:1px solid var(--landing-line);background:#f5f8f5}.landing-text-mockup small{color:#2f806b;letter-spacing:.12em;font-size:9px;font-weight:900}.landing-text-mockup p{margin:14px 0;font-size:17px;line-height:1.65}.landing-text-mockup>div:first-child p{font-family:Noto Sans SC,sans-serif;font-size:21px}.landing-text-mockup mark,.landing-text-mockup span{color:#4f2519;background:#f2b96c;border-radius:8px;padding:5px 8px;font-size:11px}.landing-text-mockup mark{font-family:Noto Sans SC,sans-serif;font-size:16px}.landing-teacher-mockup{box-sizing:border-box;background:#fff;border-radius:19px;grid-template-columns:1fr 1fr;gap:10px;width:88%;padding:18px;display:grid;box-shadow:0 18px 35px #173d3412}.landing-teacher-mockup>div:not(.landing-teacher-progress){background:#f4f7f4;border-radius:13px;align-items:center;gap:11px;min-width:0;padding:14px;display:flex}.landing-teacher-mockup svg{color:#2f806b;flex:none;width:25px}.landing-teacher-mockup div>span{min-width:0;display:grid}.landing-teacher-mockup b,.landing-teacher-mockup small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.landing-teacher-mockup small{color:var(--landing-muted);font-size:11px}.landing-teacher-mockup .landing-teacher-progress{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.landing-teacher-mockup .landing-teacher-progress>span{background:#e5ece8;border-radius:99px;height:9px;overflow:hidden}.landing-teacher-mockup .landing-teacher-progress i{border-radius:inherit;background:#4f9d87;height:100%;display:block}.landing-upload-drop{min-height:120px;color:var(--landing-muted);border:2px dashed #8bb0a4;border-radius:16px;align-content:center;place-items:center;gap:4px;display:grid}.landing-upload-drop svg{color:#2f806b;width:30px;height:30px}.landing-upload-drop span{font-size:12px}.landing-csv-row{background:#fff;border-radius:12px;grid-template-columns:70px 90px 1fr 20px;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:grid;box-shadow:0 7px 16px #173d340c}.landing-csv-row b{font-size:20px}.landing-csv-row>span{color:var(--landing-muted)}.landing-csv-row svg{color:#2f806b}.landing-csv-row.english b{font-size:15px}.landing-image-mockup{text-align:center;background:#fff;border-radius:20px;width:76%;padding:16px;box-shadow:0 18px 35px #173d3415}.landing-generated-picture{background:linear-gradient(145deg,#f8dca9,#dce9d3);border-radius:14px;align-content:center;place-items:center;min-height:140px;margin-bottom:12px;display:grid}.landing-generated-picture span{font-size:70px}.landing-generated-picture small{color:#6e675c;background:#ffffffb8;border-radius:999px;padding:3px 8px;font-size:9px}.landing-image-mockup>div:last-child{place-items:center;display:grid}.landing-image-mockup b{font-size:31px}.landing-image-mockup .tone-pinyin{font-size:16px;font-weight:800}.landing-image-mockup>div:last-child>span:last-child{color:var(--landing-muted);font-size:13px}.landing-writing-mockup{background:#fff;border:2px solid #4c927f;border-radius:20px;place-items:center;width:210px;height:210px;display:grid;position:relative}.landing-writing-mockup b{z-index:1;color:#245d50;font-family:Noto Sans SC,sans-serif;font-size:105px}.landing-guide-line{background:#4c927f1c;position:absolute}.landing-guide-line.vertical{width:1px;height:100%}.landing-guide-line.horizontal{width:100%;height:1px}.landing-writing-mockup small{color:#2f806b;white-space:nowrap;display:flex;position:absolute;bottom:-35px;left:50%;transform:translate(-50%)}.landing-audio-mockup{background:#fff;border-radius:18px;grid-template-columns:44px 1fr;gap:10px 14px;width:82%;padding:20px;display:grid;box-shadow:0 18px 35px #173d3412}.landing-audio-mockup button{background:var(--landing-mint-soft);color:#28725f;border:0;border-radius:13px;width:44px;height:44px}.landing-audio-mockup>div{grid-template-columns:auto 1fr;align-items:center;gap:0 9px;display:grid}.landing-audio-mockup b{grid-row:span 2;font-size:29px}.landing-audio-mockup .tone-pinyin{font-size:16px;font-weight:800}.landing-audio-mockup>div span:last-child{color:var(--landing-muted);font-size:12px}.landing-audio-mockup blockquote,.landing-audio-mockup>small{background:#f4f3ed;border-radius:10px;grid-column:1/-1;margin:0;padding:9px 11px}.landing-audio-mockup>small{color:var(--landing-muted);margin-top:-7px;padding-top:0}.landing-review-mockup{background:var(--landing-green);color:#fff;border-radius:20px;gap:14px;width:86%;padding:18px;display:grid;box-shadow:0 20px 40px #173d3429}.landing-review-top{color:#c9dad4;justify-content:space-between;font-size:11px;display:flex}.landing-review-mockup>strong{text-align:center;font-family:Noto Sans SC,sans-serif;font-size:54px}.landing-choice-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.landing-choice-grid span{background:#ffffff10;border:1px solid #fff2;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:42px;font-size:12px;display:flex}.landing-choice-grid .correct{background:var(--landing-mint);color:#15352d;font-weight:850}.landing-library-mockup{grid-template-columns:1fr 1fr;gap:12px;width:92%;display:grid}.landing-library-mockup>div{background:var(--landing-green);color:#fff;border-radius:16px;grid-template-columns:42px 1fr;align-content:center;gap:2px 10px;min-height:128px;padding:16px;display:grid}.landing-library-mockup>div>span{background:#2f806b;border-radius:12px;grid-row:span 2;place-items:center;width:42px;height:42px;font-size:20px;display:grid}.landing-library-mockup small{color:#c3d6d0}.landing-library-mockup button{background:var(--landing-mint);color:#15352d;border:0;border-radius:12px;grid-column:1/-1;min-height:44px;font-weight:850}.landing-learning-showcase{background:var(--landing-green);color:#fff;border-radius:32px;grid-template-columns:.95fr 1.05fr;align-items:center;gap:62px;padding:54px;display:grid;overflow:hidden}.landing-map-frame{aspect-ratio:1090/1378;background:#efe6d1;border-radius:24px;width:100%;position:relative;overflow:hidden;box-shadow:0 24px 55px #071a164c}.landing-map-frame img{object-fit:contain;object-position:center;width:100%;height:100%;transition:transform .45s;position:absolute;inset:0}.landing-map-frame:hover img{transform:scale(1.015)}.landing-map-badge{color:var(--landing-ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff9ebeb;border-radius:999px;align-items:center;gap:6px;padding:8px 11px;font-size:11px;font-weight:850;display:flex;position:absolute;top:18px;left:18px}.landing-showcase-copy .landing-kicker{color:#9de1cf}.landing-showcase-copy h2{color:#fffaf0}.landing-showcase-copy>p{color:#cadbd5}.landing-learning-list{gap:12px;margin:30px 0 0;padding:0;list-style:none;display:grid}.landing-learning-list li{background:#ffffff09;border:1px solid #ffffff1c;border-radius:15px;align-items:center;gap:13px;padding:14px;transition:transform .18s,background .18s;display:flex}.landing-learning-list li:hover{background:#ffffff12;transform:translate(6px)}.landing-learning-list li>span{background:var(--landing-coral);border-radius:11px;flex:none;place-items:center;width:38px;height:38px;font-family:Georgia,serif;font-size:18px;display:grid}.landing-learning-list div{display:grid}.landing-learning-list small{color:#bcd0c9}.landing-workflow-grid{grid-template-columns:1fr 44px 1fr 44px 1fr;align-items:center;display:grid}.landing-workflow-grid article{border:1px solid var(--landing-line);background:var(--landing-paper);border-radius:24px;min-height:410px;padding:24px;transition:transform .22s,box-shadow .22s;position:relative;box-shadow:0 16px 40px #173d340c}.landing-workflow-grid article:hover{transform:translateY(-6px);box-shadow:0 24px 48px #173d3419}.landing-step-number{color:#d9e6e1;font-family:Georgia,serif;font-size:42px;position:absolute;top:14px;right:18px}.landing-step-visual{background:#f2f3ed;border-radius:18px;justify-content:center;align-items:center;height:190px;margin-bottom:24px;display:flex}.landing-step-visual.create{gap:11px;padding:20px}.landing-step-visual.create>svg:first-child{color:#2f806b;width:38px;height:38px}.landing-step-visual.create div{display:grid}.landing-step-visual.create small{color:var(--landing-muted)}.landing-step-visual.create>svg:last-child{color:#2f806b}.landing-step-visual.learn{gap:14px}.landing-step-visual.learn>span{font-family:Noto Sans SC,sans-serif;font-size:70px}.landing-step-visual.learn div{display:grid}.landing-step-visual.learn .tone-pinyin{font-size:19px;font-weight:850}.landing-step-visual.learn small{color:var(--landing-muted)}.landing-step-visual.learn>svg{color:var(--landing-coral)}.landing-step-visual.repeat{position:relative}.landing-mini-calendar{grid-template-columns:repeat(7,1fr);gap:5px;width:78%;display:grid}.landing-mini-calendar span{aspect-ratio:1;color:var(--landing-muted);background:#fff;border-radius:8px;place-items:center;font-size:11px;display:grid}.landing-mini-calendar .done{background:var(--landing-mint);color:#15352d;font-weight:850}.landing-step-visual.repeat>svg{background:var(--landing-coral);color:#fff;border-radius:50%;width:34px;height:34px;padding:7px;position:absolute;bottom:22px;right:20px}.landing-workflow-grid h3{margin-bottom:9px;font-family:Georgia,serif;font-size:25px}.landing-workflow-grid p{color:var(--landing-muted);margin-bottom:0;line-height:1.6}.landing-workflow-arrow{color:#8bac9f;justify-self:center;transition:transform .2s,color .2s}.landing-workflow-grid article:hover+.landing-workflow-arrow{color:#2f806b;transform:translate(5px)}.landing-advantages{border:1px solid var(--landing-line);background:var(--landing-cream);border-radius:30px;padding:58px}.landing-advantage-grid{grid-template-columns:repeat(4,1fr);gap:15px;display:grid}.landing-advantage-grid article{background:var(--landing-paper);border-radius:19px;min-height:210px;padding:22px;transition:transform .2s,box-shadow .2s;box-shadow:0 12px 28px #173d340a}.landing-advantage-grid article:hover{transform:translateY(-5px);box-shadow:0 20px 38px #173d3417}.landing-advantage-grid article:hover svg{transform:scale(1.12)rotate(-5deg)}.landing-advantage-grid svg{color:#2f806b;width:29px;height:29px;margin-bottom:22px;transition:transform .2s}.landing-advantage-grid h3{margin-bottom:8px;font-family:Georgia,serif;font-size:21px}.landing-advantage-grid p{color:var(--landing-muted);margin-bottom:0;font-size:14px;line-height:1.55}.landing-final-cta{background:radial-gradient(circle at 92% 18%, #ef765648 0 12%, transparent 35%), var(--landing-green);color:#fff;border-radius:32px;grid-template-columns:1fr .6fr;align-items:center;gap:30px;min-height:420px;padding:66px;display:grid;position:relative;overflow:hidden}.landing-final-cta>div:first-child{z-index:2;position:relative}.landing-final-cta .landing-kicker{color:#9de1cf}.landing-final-cta h2{color:#fffaf0;max-width:720px}.landing-final-cta>div>p{color:#c8d9d3;max-width:600px}.landing-final-cards{height:260px;position:relative}.landing-final-cards span{width:150px;height:190px;color:var(--landing-green);background:#fffaf0;border-radius:22px;place-items:center;font-family:Georgia,serif;font-size:60px;display:grid;position:absolute;box-shadow:0 24px 45px #071a1645}.landing-final-cards .one{top:34px;left:10px;transform:rotate(-13deg)}.landing-final-cards .two{z-index:2;background:var(--landing-coral);color:#fff;top:0;left:110px;transform:rotate(2deg)}.landing-final-cards .three{top:38px;left:205px;transform:rotate(13deg)}.landing-final-cards span{transition:transform .24s}.landing-final-cta:hover .landing-final-cards .one{transform:translate(-8px)rotate(-16deg)}.landing-final-cta:hover .landing-final-cards .two{transform:translateY(-9px)rotate(2deg)}.landing-final-cta:hover .landing-final-cards .three{transform:translate(8px)rotate(16deg)}.landing-footer{border-top:1px solid var(--landing-line);color:var(--landing-muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-top:-70px;padding:28px 4px 6px;font-size:13px;display:grid}.landing-footer-brand{color:var(--landing-ink);justify-self:start;align-items:center;gap:8px;font-family:Georgia,serif;font-size:18px;font-weight:750;display:flex}.landing-footer-brand span{background:var(--landing-green);color:#fff;border-radius:9px;place-items:center;width:30px;height:30px;font-family:Inter,sans-serif;font-size:14px;display:grid}.landing-footer p{margin:0}.landing-footer>a:last-child{justify-self:end;align-items:center;gap:6px;display:flex}.landing-footer>a:last-child svg{transform:rotate(180deg)}:root[data-theme=dark] .landing-page{--landing-ink:#600;--landing-muted:#845151;--landing-paper:#fff8f4;--landing-cream:#ffe7df;--landing-green:#600;--landing-mint:#91d8c4;--landing-mint-soft:#dff3ec;--landing-line:#dca8a0;--landing-shadow:0 28px 70px #6600002e}:root[data-theme=dark] .landing-progress-pill{background:#4d0000e8}:root[data-theme=dark] .landing-feature-visual,:root[data-theme=dark] .landing-step-visual{background:#ffe9e4}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .landing-page{--landing-ink:#600;--landing-muted:#845151;--landing-paper:#fff8f4;--landing-cream:#ffe7df;--landing-green:#600;--landing-mint:#91d8c4;--landing-mint-soft:#dff3ec;--landing-line:#dca8a0;--landing-shadow:0 28px 70px #6600002e}:root:not([data-theme=light]) .landing-progress-pill{background:#4d0000e8}:root:not([data-theme=light]) .landing-feature-visual,:root:not([data-theme=light]) .landing-step-visual{background:#ffe9e4}}@media (prefers-reduced-motion:no-preference){.landing-floating-card{animation:5s ease-in-out infinite landing-float}.landing-card-english{animation-delay:-2.5s}@keyframes landing-float{0%,to{translate:0}50%{translate:0 -8px}}}@media (width<=980px){.landing-page{gap:88px}.landing-hero{grid-template-columns:1fr;padding:62px 48px 72px}.landing-hero-copy{max-width:720px}.landing-hero-scene{min-height:430px}.landing-companion{width:520px;right:6%}.landing-card-chinese{left:8%}.landing-card-english{right:8%}.landing-progress-pill{left:10%}.landing-value-strip,.landing-guide-grid{grid-template-columns:1fr 1fr}.landing-value-strip>div:nth-child(2){border-right:0}.landing-value-strip>div:nth-child(-n+2){border-bottom:1px solid var(--landing-line);margin-bottom:12px;padding-bottom:18px}.landing-learning-showcase{grid-template-columns:1fr}.landing-map-frame{width:min(100%,560px);margin-inline:auto}.landing-workflow-grid{grid-template-columns:1fr;gap:16px}.landing-workflow-grid article{grid-template-rows:auto auto;grid-template-columns:.8fr 1fr;gap:0 24px;min-height:0;display:grid}.landing-step-visual{grid-row:span 2;margin:0}.landing-workflow-arrow{transform:rotate(90deg)}.landing-advantage-grid{grid-template-columns:1fr 1fr}.landing-final-cta{grid-template-columns:1fr}.landing-final-cards{display:none}}@media (width<=700px){.landing-page{gap:72px}.landing-hero{border-radius:24px;min-height:0;padding:46px 24px 64px}.landing-hero:before{border-radius:17px;inset:10px}.landing-hero h1{font-size:clamp(41px,12vw,56px)}.landing-lead{font-size:16px}.landing-auth-actions{display:grid}.landing-button{width:100%}.landing-hero-notes{display:grid}.landing-hero-scene{min-height:360px}.landing-companion{width:390px;max-width:112%;right:-35px}.landing-orbit-one{width:330px;height:330px}.landing-orbit-two{width:230px;height:230px}.landing-floating-card{border-radius:17px;width:112px;min-height:132px;padding:13px}.landing-card-chinese{top:38px;left:-7px}.landing-card-chinese>span:first-child{font-size:36px}.landing-card-chinese .tone-pinyin{font-size:15px}.landing-card-english{width:125px;min-height:118px;top:28px;right:-8px}.landing-card-english strong{font-size:18px}.landing-progress-pill{width:220px;bottom:8px;left:-7px}.landing-scroll{display:none}.landing-value-strip{grid-template-columns:1fr;margin-top:-36px;padding:16px}.landing-value-strip>div{border-right:0;border-bottom:1px solid var(--landing-line);padding:13px 6px;margin:0!important}.landing-value-strip>div:nth-child(-n+2){padding-bottom:13px}.landing-value-strip>div:last-child{border-bottom:0}.landing-section-heading{text-align:left}.landing-section-heading .landing-kicker{justify-content:flex-start}.landing-section-heading h2,.landing-showcase-copy h2,.landing-final-cta h2{font-size:38px}.landing-guides{border-radius:24px;padding:28px 18px}.landing-guide-grid{grid-template-columns:1fr}.landing-guide-card{padding:21px}.landing-feature-grid{grid-template-columns:1fr}.landing-feature-card,.landing-feature-card.wide{grid-column:auto;grid-template-rows:auto 1fr;grid-template-columns:1fr;min-height:0;padding:22px}.landing-feature-visual{min-height:260px}.landing-text-mockup,.landing-teacher-mockup{grid-template-columns:1fr;width:92%}.landing-text-mockup>div+div{border-top:1px solid var(--landing-line);border-left:0}.landing-teacher-mockup .landing-teacher-progress{grid-column:auto}.landing-csv-row{grid-template-columns:52px 70px 1fr 16px;font-size:11px}.landing-library-mockup{grid-template-columns:1fr}.landing-library-mockup button{grid-column:auto}.landing-learning-showcase,.landing-advantages,.landing-final-cta{border-radius:24px;padding:28px 22px}.landing-map-frame{width:100%}.landing-workflow-grid article{padding:20px;display:block}.landing-step-visual{height:175px;margin-bottom:22px}.landing-advantage-grid{grid-template-columns:1fr}.landing-advantage-grid article,.landing-final-cta{min-height:0}.landing-footer{grid-template-columns:1fr auto;margin-top:-40px}.landing-footer p{display:none}}@media (prefers-reduced-motion:reduce){.landing-page *,.landing-page :before,.landing-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.dashboard-main{background:#fbd9d6;max-width:none;min-height:100vh;margin:0;padding:0}.dashboard-shell{--dash-wine:#720c0c;--dash-wine-dark:#4b0909;--dash-green:#153a30;--dash-mint:#8fd9c5;--dash-coral:#dc603a;--dash-cream:#fff9f3;color:#18382f;background:radial-gradient(circle at 40% 0,#fff1ec 0,#0000 32%),#fbd9d6;grid-template-columns:264px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .24s;display:grid}.dashboard-sidebar{color:#fff8ef;z-index:2;background:radial-gradient(circle at 50% 17%,#932525 0,#0000 28%),linear-gradient(#500707,#760e0e 65%,#4a0707);flex-direction:column;height:100vh;padding:28px 16px 18px;display:flex;position:sticky;top:0;overflow:auto;box-shadow:12px 0 35px #4b090929}.dashboard-brand{align-items:center;gap:11px;padding:0 10px;font:700 24px Georgia,serif;display:flex}.dashboard-brand span{color:#245c4d;background:#94dac7;border-radius:12px;place-items:center;width:42px;height:42px;font:800 22px Inter,sans-serif;display:grid}.dashboard-profile{justify-items:center;margin:36px 8px 25px;display:grid}.dashboard-avatar{color:#6f1712;background:linear-gradient(145deg,#fff3dd,#f0b39c);border:5px solid #f0ad9a;border-radius:50%;place-items:center;width:104px;height:104px;font:52px Georgia,serif;display:grid;box-shadow:0 10px 30px #26000070}.dashboard-profile strong{margin-top:12px;font:24px Georgia,serif}.dashboard-profile>span{opacity:.85;font-size:13px}.dashboard-profile small{opacity:.72;margin-top:4px;font-size:10px}.dashboard-level{background:#ffffff30;border-radius:99px;width:170px;height:5px;margin-top:12px;overflow:hidden}.dashboard-level i{border-radius:inherit;background:#f4bd72;height:100%;display:block}.dashboard-nav{gap:6px;display:grid}.dashboard-nav a,.dashboard-nav button{width:100%;min-height:47px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:13px;padding:11px 14px;font-size:14px;display:flex;position:relative}.dashboard-nav a:hover,.dashboard-nav button:hover,.dashboard-nav .active{background:#ffffff18}.dashboard-nav svg{color:#f5b78d;width:20px;height:20px}.dashboard-nav .nav-update-badge{color:#3d1900;letter-spacing:.04em;text-transform:uppercase;width:auto;height:auto;box-shadow:none;background:#f3a52f;border:0;border-radius:999px;margin-left:auto;padding:4px 7px;font-size:9px;font-style:normal;font-weight:800;line-height:1;position:static}.dashboard-nav .nav-update-badge.count{text-align:center;min-width:20px;padding:5px;font-size:10px}.dashboard-invite{background:#ffffff0a;border:1px solid #ffffff20;border-radius:12px;gap:10px;margin-top:auto;padding:14px;display:flex}.dashboard-invite>svg{color:#f6bb75;flex:none}.dashboard-invite div{gap:3px;display:grid}.dashboard-invite b{font-size:13px}.dashboard-invite span{opacity:.75;font-size:11px;line-height:1.45}.dashboard-content{box-sizing:border-box;grid-template-columns:minmax(540px,1fr) 330px;gap:28px;width:100%;min-width:0;max-width:1600px;margin-inline:auto;padding:24px 30px 42px;display:grid}.dashboard-main-column,.dashboard-side-column{align-content:start;gap:16px;min-width:0;display:grid}.dashboard-greeting{justify-content:space-between;align-items:flex-start;height:128px;display:flex;overflow:hidden}.dashboard-greeting h1{margin:2px 0 5px;font:clamp(30px,3vw,42px)/1.1 Georgia,serif}.dashboard-greeting p{color:#6f756f;margin:0}.dashboard-greeting .dashboard-greeting-cat{object-fit:contain;object-position:center 36%;filter:drop-shadow(0 9px 10px #8d35253a);width:300px;height:150px}.dashboard-review-card,.dashboard-lesson-card{border-radius:19px;min-height:205px;overflow:hidden;box-shadow:0 15px 30px #71161622}.dashboard-review-card{color:#fff5e6;background:radial-gradient(circle at 85%,#2e6756 0,#0000 26%),linear-gradient(120deg,#163d32,#102d27);justify-content:space-between;align-items:center;gap:20px;padding:28px 34px;display:flex}.dashboard-review-copy h2,.dashboard-lesson-card h2{margin:2px 0 5px;font:30px/1.1 Georgia,serif}.dashboard-review-copy>p:not(.eyebrow),.dashboard-lesson-card>div>p:not(.eyebrow){color:#ead9c4;margin:0;font-size:14px}.dashboard-review-card .eyebrow,.dashboard-lesson-card .eyebrow{color:#8fc6b5}.dashboard-cta{background:var(--dash-coral);color:#fff;cursor:pointer;border:0;border-radius:10px;justify-content:space-between;align-items:center;width:min(310px,100%);min-height:46px;margin-top:24px;padding:10px 18px;font-weight:800;display:flex}.dashboard-cta:hover{filter:brightness(1.06);transform:translateY(-1px)}.dashboard-cta.is-done{background:#568675}.dashboard-review-count{flex:none;place-items:center;width:116px;display:grid}.dashboard-review-count:before{content:"";border:9px solid #80c7b3;border-right-color:#ffffff26;border-radius:50%;grid-area:1/1;width:108px;height:108px}.dashboard-review-count strong,.dashboard-review-count span{grid-area:1/1}.dashboard-review-count strong{font:34px Georgia,serif;transform:translateY(-8px)}.dashboard-review-count span{opacity:.7;font-size:12px;transform:translateY(18px)}.dashboard-review-count small{color:#e7d8c7;margin-top:12px}.dashboard-lesson-card{color:#fff1df;background:radial-gradient(circle at 84% 25%,#9c302b 0,#0000 28%),linear-gradient(120deg,#681010,#410707);grid-template-columns:minmax(0,1fr) 230px;padding:25px 34px;display:grid;position:relative}.dashboard-lesson-card>div{z-index:1;position:relative}.dashboard-lesson-card>img{object-fit:contain;filter:sepia(.15)drop-shadow(0 8px 13px #20000088);align-self:end;width:235px;height:170px;transform:scale(1.12)}.dashboard-lesson-progress{background:#ffffff30;border-radius:99px;width:200px;height:5px;margin:22px 9px 0 0;display:inline-block;overflow:hidden}.dashboard-lesson-progress i{background:#efb869;height:100%;display:block}.dashboard-lesson-card small{color:#ead2bf;font-size:10px}.dashboard-lesson-card .dashboard-cta{margin-top:18px}.dashboard-section-title{justify-content:space-between;align-items:end;gap:15px;margin:13px 4px 6px;display:flex}.dashboard-section-title h2{margin:0;font:29px Georgia,serif}.dashboard-section-title p{margin:0}.dashboard-section-title>a{color:#47766a;align-items:center;gap:5px;font-size:13px;font-weight:800;display:flex}.dashboard-deck-list{gap:7px;display:grid}.dashboard-deck-row{background:#fff8f2;border:1px solid #e8c9bc;border-radius:13px;grid-template-columns:58px minmax(0,1fr) auto auto auto;align-items:center;gap:12px;min-height:66px;padding:7px 13px 7px 7px;transition:all .18s;display:grid}.dashboard-deck-row:hover{border-color:#d89d85;transform:translate(3px)}.dashboard-deck-thumb{color:#286b58;background:#e1eee8;border-radius:9px;place-items:center;width:58px;height:50px;font:25px Georgia,serif;display:grid;overflow:hidden}.dashboard-deck-thumb img{object-fit:cover;width:100%;height:100%}.dashboard-deck-row>div:nth-child(2){min-width:0;display:grid}.dashboard-deck-row b,.dashboard-deck-row span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dashboard-deck-row span{color:#68746e;font-size:11px}.dashboard-deck-row small{color:#7b746d;font-size:11px}.dashboard-deck-row em{color:#39705c;background:#d9efe0;border-radius:999px;padding:5px 9px;font-size:10px;font-style:normal}.dashboard-deck-row>svg{color:#6f6c66;width:15px}.dashboard-empty{background:#fff8f2;border:1px dashed #ccaa9b;border-radius:14px;justify-items:center;padding:24px;display:grid}.dashboard-empty p{margin:6px}.dashboard-empty a{color:#28705d;font-weight:800}.dashboard-word-card{background:radial-gradient(circle at 88% 12%,#f4b7ae55 0,#0000 28%),#fff1d5;border:1px solid #e8b86e;border-radius:18px;grid-template-columns:130px 1fr 1.35fr;align-items:center;gap:20px;min-height:125px;margin-top:1px;padding:18px 24px;display:grid}.dashboard-word-card>div+div{border-left:1px solid #e7c99c;padding-left:23px}.dashboard-word-card strong{font:54px Noto Sans SC,sans-serif}.dashboard-word-card h2{align-items:center;gap:8px;margin:0;font:27px Georgia,serif;display:flex}.dashboard-word-pinyin{white-space:nowrap;letter-spacing:0;align-items:baseline;gap:.16em;font:500 26px/1.25 Inter,Noto Sans SC,sans-serif;display:inline-flex}.dashboard-word-pinyin>span{line-height:inherit;display:inline-block}.dashboard-word-card p{color:#726d62;margin:2px 0;font-size:13px}.dashboard-word-card b{font-family:Noto Sans SC,sans-serif}.dashboard-side-column>section{background:#fff9f3;border:1px solid #e8c9bc;border-radius:17px;box-shadow:0 10px 25px #71161612}.dashboard-route-card{padding:15px 12px 12px}.dashboard-route-card>div,.dashboard-widget-title,.dashboard-widget-title>p{justify-content:space-between;align-items:center;gap:10px;display:flex}.dashboard-route-card>div p{margin:0}.dashboard-route-card>div span{color:#708079;font-size:11px}.dashboard-route-card figure{background:#f5ead7;border-radius:12px;height:342px;margin:9px 0;overflow:hidden}.dashboard-route-card img{object-fit:cover;object-position:center 62%;width:100%;height:100%}.dashboard-route-card button{background:var(--dash-coral);color:#fff;cursor:pointer;border:0;border-radius:9px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:44px;font-weight:800;display:flex}.dashboard-calendar-card,.dashboard-stats-card{padding:16px 18px}.dashboard-widget-title>p{width:100%;margin:0}.dashboard-widget-title b{color:#d95e39;align-items:center;gap:5px;font:18px Georgia,serif;display:flex}.dashboard-widget-title small{color:#77827d}.dashboard-widget-title button{color:#6d7772;cursor:pointer;background:0 0;border:0;width:27px;height:27px;font-size:20px}.dashboard-calendar-card h3{text-transform:capitalize;margin:8px 0;font-size:13px}.dashboard-weekdays,.dashboard-days{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.dashboard-weekdays span{color:#727d78;font-size:9px}.dashboard-days span,.dashboard-days i{border-radius:7px;place-items:center;height:24px;font-size:10px;font-style:normal;display:grid}.dashboard-days span.active{color:#1a5948;background:#a9dfcf;font-weight:800}.dashboard-days span.today{outline-offset:-1px;outline:1px solid #df603c}.dashboard-stats-card{gap:10px;display:grid}.dashboard-stats-card>.dashboard-widget-title{margin-bottom:3px}.dashboard-stats-card>div:not(.dashboard-widget-title){grid-template-columns:26px 1fr auto;align-items:center;gap:8px;font-size:12px;display:grid}.dashboard-stats-card>div:not(.dashboard-widget-title)>svg{color:#387968;background:#ddede7;border-radius:7px;width:26px;height:26px;padding:5px}.dashboard-stats-card>div:nth-child(3)>svg{color:#3b718d;background:#e0ebf2}.dashboard-stats-card b{font-size:16px}.dashboard-motivation{place-items:center;min-height:210px;padding:0;display:grid;overflow:hidden;background:#fff0d6!important}.dashboard-motivation img{object-fit:contain;width:100%;height:auto;max-height:230px;display:block}.dashboard-shell{grid-template-columns:236px minmax(0,1fr);transition:none}:is(.dashboard-shell:has(.dashboard-sidebar:hover),.dashboard-shell:has(.dashboard-sidebar:focus-within)){grid-template-columns:236px minmax(0,1fr)}.dashboard-sidebar,.dashboard-sidebar:hover,.dashboard-sidebar:focus-within{will-change:auto;width:auto;padding:22px 14px 16px;transition:none;overflow-x:hidden;box-shadow:8px 0 28px #173d3426}.dashboard-brand,.dashboard-sidebar:hover .dashboard-brand,.dashboard-sidebar:focus-within .dashboard-brand{white-space:nowrap;justify-content:flex-start;height:64px;min-height:64px;padding:0 8px;font-size:24px}.dashboard-brand span{flex:none}.dashboard-profile,.dashboard-sidebar:hover .dashboard-profile,.dashboard-sidebar:focus-within .dashboard-profile{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:14px;grid-template-columns:46px minmax(0,1fr);place-items:center start;column-gap:11px;margin:14px 2px 18px;padding:12px;display:grid}.dashboard-avatar,.dashboard-sidebar:hover .dashboard-avatar,.dashboard-sidebar:focus-within .dashboard-avatar{border-width:2px;grid-row:1/3;width:46px;height:46px;font-size:24px;transition:none;box-shadow:0 6px 18px #102e2855}.dashboard-profile strong,.dashboard-sidebar:hover .dashboard-profile strong,.dashboard-sidebar:focus-within .dashboard-profile strong{text-overflow:ellipsis;white-space:nowrap;max-width:130px;margin:0;font:700 15px/1.2 Inter,sans-serif;display:block;overflow:hidden}.dashboard-profile>span,.dashboard-sidebar:hover .dashboard-profile>span,.dashboard-sidebar:focus-within .dashboard-profile>span{opacity:.76;font-size:11px;display:block}.dashboard-level,.dashboard-sidebar:hover .dashboard-level,.dashboard-sidebar:focus-within .dashboard-level{grid-column:1/-1;width:100%;height:4px;margin-top:10px;display:block}.dashboard-profile small,.dashboard-sidebar:hover .dashboard-profile small,.dashboard-sidebar:focus-within .dashboard-profile small{opacity:.68;grid-column:1/-1;margin-top:5px;font-size:9px;display:block}.dashboard-nav{gap:4px}.dashboard-nav a,.dashboard-nav button,.dashboard-sidebar:hover .dashboard-nav a,.dashboard-sidebar:hover .dashboard-nav button,.dashboard-sidebar:focus-within .dashboard-nav a,.dashboard-sidebar:focus-within .dashboard-nav button{white-space:nowrap;min-height:43px;transition:background-color .14s ease,color .14s ease,transform .14s var(--ease-out,ease-out);border-radius:11px;justify-content:flex-start;padding:9px 11px;font-size:13px;font-weight:650}.dashboard-nav svg{flex:none;width:19px;height:19px}.dashboard-nav a:active,.dashboard-nav button:active{transform:scale(.98)}.dashboard-nav .active{color:#214f43;background:#fff;box-shadow:0 4px 14px #102e2830}.dashboard-nav .active svg{color:#27725e}.dashboard-invite,.dashboard-sidebar:hover .dashboard-invite,.dashboard-sidebar:focus-within .dashboard-invite{margin:14px 2px 0;padding:12px;display:flex}@media (width<=1150px){.dashboard-content{grid-template-columns:minmax(500px,1fr) 290px;padding-inline:22px}.dashboard-route-card figure{height:310px}.dashboard-greeting .dashboard-greeting-cat{width:245px}.dashboard-deck-row{grid-template-columns:58px minmax(0,1fr) auto}.dashboard-deck-row small,.dashboard-deck-row em{display:none}}@media (width<=1050px) and (width>=901px){.dashboard-content{grid-template-columns:1fr}.dashboard-side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-route-card{grid-row:span 2}.dashboard-motivation{display:none}}@media (width<=900px){.dashboard-shell{grid-template-columns:82px minmax(0,1fr)}.dashboard-sidebar{padding-inline:10px}.dashboard-brand{justify-content:center;padding:0;font-size:0}.dashboard-profile{margin-block:25px}.dashboard-avatar{border-width:3px;width:54px;height:54px;font-size:28px}.dashboard-profile strong,.dashboard-profile>span,.dashboard-profile small,.dashboard-level,.dashboard-nav a,.dashboard-nav button{font-size:0}.dashboard-nav a,.dashboard-nav button{justify-content:center;padding:10px}.dashboard-nav svg{width:22px;height:22px}.dashboard-invite{display:none}.dashboard-content{grid-template-columns:1fr}.dashboard-side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-route-card{grid-row:span 2}.dashboard-motivation{display:none}}@media (width<=650px){.dashboard-main{background:#fbd9d6}:is(.dashboard-shell,.dashboard-shell:has(.dashboard-sidebar:hover),.dashboard-shell:has(.dashboard-sidebar:focus-within)){display:block}.dashboard-sidebar{grid-template-columns:auto 1fr;align-items:center;width:100%;height:auto;padding:8px 10px;display:grid;position:sticky;top:0}.dashboard-brand{justify-content:start;font-size:18px}.dashboard-brand span{width:34px;height:34px;font-size:18px}.dashboard-profile,.dashboard-invite{display:none}.dashboard-nav{justify-content:flex-end;display:flex;overflow:hidden}.dashboard-nav a,.dashboard-nav button{width:42px;min-width:42px;height:42px;padding:9px}.dashboard-nav a:first-of-type,.dashboard-nav button:nth-child(4),.dashboard-nav button:nth-child(5){display:none}.dashboard-content{padding:18px 12px 34px;display:block}.dashboard-main-column,.dashboard-side-column{display:grid}.dashboard-side-column{grid-template-columns:1fr;margin-top:16px}.dashboard-greeting{height:106px}.dashboard-greeting h1{font-size:29px}.dashboard-greeting>div>p:last-child{font-size:13px}.dashboard-greeting .dashboard-greeting-cat{object-position:center;width:155px;height:105px}.dashboard-review-card{min-height:190px;padding:22px}.dashboard-review-count{width:92px}.dashboard-review-count:before{border-width:7px;width:84px;height:84px}.dashboard-review-count strong{font-size:27px}.dashboard-review-copy h2,.dashboard-lesson-card h2{font-size:25px}.dashboard-lesson-card{grid-template-columns:1fr;padding:22px}.dashboard-lesson-card>img{opacity:.65;width:150px;height:130px;position:absolute;bottom:0;right:-25px}.dashboard-lesson-card>div{max-width:80%}.dashboard-lesson-progress{width:140px}.dashboard-deck-row{grid-template-columns:48px minmax(0,1fr) auto;padding:7px}.dashboard-deck-thumb{width:48px;height:46px}.dashboard-deck-row>svg{display:none}.dashboard-word-card{grid-template-columns:90px 1fr}.dashboard-word-card>div:last-child{border:0;border-top:1px solid #e7c99c;grid-column:1/-1;padding:10px 0 0}.dashboard-word-card strong{font-size:42px}.dashboard-route-card figure{height:380px}.dashboard-section-title h2{font-size:25px}.dashboard-sidebar:hover,.dashboard-sidebar:focus-within{width:100%;padding:8px 10px;box-shadow:5px 0 18px #4b09091f}.dashboard-sidebar:hover .dashboard-brand,.dashboard-sidebar:focus-within .dashboard-brand{justify-content:flex-start;padding:0;font-size:18px}.dashboard-sidebar:hover .dashboard-profile,.dashboard-sidebar:focus-within .dashboard-profile,.dashboard-sidebar:hover .dashboard-invite,.dashboard-sidebar:focus-within .dashboard-invite{display:none}.dashboard-sidebar:hover .dashboard-nav a,.dashboard-sidebar:hover .dashboard-nav button,.dashboard-sidebar:focus-within .dashboard-nav a,.dashboard-sidebar:focus-within .dashboard-nav button{justify-content:center;padding:9px;font-size:0}}.homework-notification-layer{z-index:120;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#35131366;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.homework-notification{color:#3e2925;background:#fffaf5;border:1px solid #efd4c6;border-radius:24px;width:min(520px,100%);padding:30px;animation:.22s ease-out homework-notification-in;box-shadow:0 24px 70px #3f171740}.homework-notification-icon{color:#24634f;background:#dff1e8;border-radius:16px;place-items:center;width:50px;height:50px;margin-bottom:15px;display:grid}.homework-notification-icon svg{width:25px;height:25px}.homework-notification h2{margin:6px 0 10px;font-family:Georgia,serif;font-size:27px;line-height:1.18}.homework-notification>p:not(.eyebrow){color:#715f59;margin:0;line-height:1.55}.homework-notification>small{color:#8a7169;margin-top:10px;display:block}.homework-notification-comment{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5ede5;border-left:3px solid #d69d42;border-radius:0 10px 10px 0;margin-top:16px;padding:13px 15px;line-height:1.5}.homework-notification-comment a{color:#176b62;text-underline-offset:2px;text-decoration:underline}.homework-notification-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.homework-notification-actions button{color:#583b34;cursor:pointer;background:#fff;border:1px solid #dfc7bb;border-radius:11px;min-height:43px;padding:10px 17px;font-weight:750}.homework-notification-actions .primary{color:#fff;background:#185848;border-color:#185848;align-items:center;gap:8px;display:flex}.homework-notification-actions svg{width:17px;height:17px}@keyframes homework-notification-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}@media (width<=650px){.homework-notification-layer{align-items:end;padding:10px}.homework-notification{border-radius:20px;padding:22px 18px}.homework-notification h2{font-size:23px}.homework-notification-actions{grid-template-columns:1fr 1.5fr;display:grid}.homework-notification-actions button{justify-content:center}.dashboard-nav .nav-update-badge{border:2px solid #591919;width:9px;height:9px;padding:0;font-size:0;position:absolute;top:2px;right:2px}.dashboard-nav .nav-update-badge.count{border-width:1px;width:18px;height:18px;padding:0;font-size:10px}}@media (width<=900px){:is(.dashboard-shell,.dashboard-shell:has(.dashboard-sidebar:hover),.dashboard-shell:has(.dashboard-sidebar:focus-within)){display:block}.dashboard-sidebar,.dashboard-sidebar:hover,.dashboard-sidebar:focus-within{z-index:30;width:100%;height:calc(64px + env(safe-area-inset-bottom));padding:6px 8px env(safe-area-inset-bottom);align-items:center;display:flex;position:fixed;inset:auto 0 0;overflow:hidden;box-shadow:0 -5px 22px #3103033d}.dashboard-brand,.dashboard-profile,.dashboard-invite,.dashboard-sidebar:hover .dashboard-brand,.dashboard-sidebar:focus-within .dashboard-brand,.dashboard-sidebar:hover .dashboard-profile,.dashboard-sidebar:focus-within .dashboard-profile{display:none}.dashboard-nav{overscroll-behavior-x:contain;scrollbar-width:none;justify-content:flex-start;gap:3px;width:100%;min-width:0;display:flex;overflow-x:auto}.dashboard-nav::-webkit-scrollbar{display:none}.dashboard-nav a,.dashboard-nav button,.dashboard-nav a:first-of-type,.dashboard-nav button:nth-child(4),.dashboard-nav button:nth-child(5),.dashboard-sidebar:hover .dashboard-nav a,.dashboard-sidebar:hover .dashboard-nav button,.dashboard-sidebar:focus-within .dashboard-nav a,.dashboard-sidebar:focus-within .dashboard-nav button{justify-content:center;width:48px;min-width:48px;height:48px;padding:10px;font-size:0;display:flex}.dashboard-content{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.dashboard-word-card{grid-template-columns:90px minmax(0,1fr)}.dashboard-route-card figure{height:min(380px,75vw)}}.brand-logo{align-items:center;min-width:0;line-height:0;display:inline-flex}.brand-logo-asset{object-fit:contain;border-radius:10px;height:auto;display:block}.brand-logo-wordmark{aspect-ratio:2.6;width:178px}.brand-logo-icon,.brand-logo-dark{display:none}.brand-logo--compact .brand-logo-wordmark{display:none!important}.brand-logo--compact .brand-logo-light.brand-logo-icon{aspect-ratio:1;width:42px;display:block}:root[data-theme=dark] .brand-logo-light{display:none!important}:root[data-theme=dark] .brand-logo-dark.brand-logo-wordmark{display:block}:root[data-theme=dark] .brand-logo--compact .brand-logo-dark.brand-logo-icon{aspect-ratio:1;width:42px;display:block}@media (prefers-color-scheme:dark){:root[data-theme=system] .brand-logo-light{display:none!important}:root[data-theme=system] .brand-logo-dark.brand-logo-wordmark{display:block}:root[data-theme=system] .brand-logo--compact .brand-logo-dark.brand-logo-icon{aspect-ratio:1;width:42px;display:block}}.brand{min-width:178px;overflow:hidden}.brand .brand-logo{width:auto;height:auto;color:inherit;background:0 0;border-radius:0;display:inline-flex}.brand .brand-logo-wordmark{width:178px}.app-loading .brand-logo--compact .brand-logo-icon{border-radius:18px;width:64px;box-shadow:0 12px 30px #43100f26}.landing-footer-brand .brand-logo{width:auto;height:auto;color:inherit;background:0 0;border-radius:0;display:inline-flex}.landing-footer-brand .brand-logo-wordmark{width:145px}.dashboard-brand{flex:none;height:76px;min-height:76px;overflow:hidden}.dashboard-brand .brand-logo{width:auto;height:auto;color:inherit;place-items:initial;background:0 0;border-radius:0;display:inline-flex}.dashboard-brand .dashboard-logo-full{display:inline-flex}.dashboard-brand .dashboard-logo-compact{display:none}.dashboard-brand .dashboard-logo-compact .brand-logo-icon{border-radius:13px;width:46px}.dashboard-sidebar:hover .dashboard-brand .dashboard-logo-compact,.dashboard-sidebar:focus-within .dashboard-brand .dashboard-logo-compact{display:none}.dashboard-sidebar:hover .dashboard-brand .dashboard-logo-full,.dashboard-sidebar:focus-within .dashboard-brand .dashboard-logo-full{display:inline-flex}.dashboard-brand .dashboard-logo-full .brand-logo-wordmark{width:190px}@media (width<=720px){.brand{min-width:42px}.brand .brand-logo-wordmark{display:none!important}.brand .brand-logo-light.brand-logo-icon{width:42px;display:block}:root[data-theme=dark] .brand .brand-logo-light.brand-logo-icon{display:none!important}:root[data-theme=dark] .brand .brand-logo-dark.brand-logo-icon{width:42px;display:block}}@media (width<=900px){.dashboard-brand .dashboard-logo-compact{display:inline-flex}.dashboard-brand .dashboard-logo-full,.dashboard-sidebar:hover .dashboard-brand .dashboard-logo-full,.dashboard-sidebar:focus-within .dashboard-brand .dashboard-logo-full{display:none}.dashboard-sidebar:hover .dashboard-brand .dashboard-logo-compact,.dashboard-sidebar:focus-within .dashboard-brand .dashboard-logo-compact{display:inline-flex}}@media (prefers-color-scheme:dark) and (width<=720px){:root[data-theme=system] .brand .brand-logo-light.brand-logo-icon{display:none!important}:root[data-theme=system] .brand .brand-logo-dark.brand-logo-icon{width:42px;display:block}}.app-sidebar{z-index:30;width:var(--sidebar-width,236px);color:#fff8ef;background:var(--app-sidebar-bg,linear-gradient(180deg, #173f35, #286b59 66%, #15372f));height:100vh;box-shadow:8px 0 28px var(--app-sidebar-shadow,#173d342e);flex-direction:column;padding:22px 14px 16px;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden auto}.app-sidebar-brand{white-space:nowrap;justify-content:flex-start;align-items:center;height:64px;min-height:64px;padding:0 8px;display:flex;overflow:hidden}.app-sidebar-logo-compact{display:none}.app-sidebar-logo-full{display:inline-flex}.app-sidebar-logo-full .brand-logo-wordmark{width:190px}.app-sidebar-nav{gap:4px;margin-top:22px;display:grid}.app-sidebar-nav a,.app-sidebar-nav button,.app-sidebar .header-auth,.app-mobile-navigation-items a,.app-mobile-navigation-items button,.app-mobile-navigation .header-auth{min-height:43px;color:inherit;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:11px;align-items:center;gap:12px;display:flex;position:relative}.app-sidebar-nav a,.app-sidebar-nav button,.app-sidebar .header-auth{width:100%;transition:background-color var(--duration-fast,.14s) ease, color var(--duration-fast,.14s) ease, transform var(--duration-fast,.14s) var(--ease-out,ease-out);justify-content:flex-start;padding:9px 11px;font-size:13px;font-weight:650}.app-sidebar-nav a:active,.app-sidebar-nav button:active,.app-sidebar .header-auth:active{transform:scale(.98)}.app-sidebar-nav a:hover,.app-sidebar-nav button:hover,.app-sidebar .header-auth:hover{background:#ffffff12}.app-sidebar-nav a.active{color:#214f43;background:#fff;box-shadow:0 4px 14px #102e2830}.app-sidebar-nav svg,.app-sidebar .header-auth svg,.app-mobile-navigation svg{width:19px;height:19px;color:var(--app-sidebar-icon,#bde8da);flex:none}.app-sidebar-nav a.active svg{color:#27725e}.nav-update-badge{border-radius:var(--radius-pill,999px);color:#3d1900;letter-spacing:.04em;text-transform:uppercase;width:auto;height:auto;box-shadow:none;background:#ffc34f;border:0;margin-left:auto;padding:4px 7px;font-size:9px;font-style:normal;font-weight:800;line-height:1;position:static}.nav-update-badge.count{text-align:center;min-width:20px;padding:5px;font-size:10px}.app-sidebar-account{border-top:1px solid #ffffff1c;margin-top:auto;padding:14px 2px 0}.app-sidebar .header-auth span{text-overflow:ellipsis;min-width:0;display:block;overflow:hidden}.app-mobile-navigation{display:none}main.app-main-with-sidebar{width:calc(100% - var(--sidebar-width,236px));max-width:none;min-height:100vh;margin:0 0 0 var(--sidebar-width,236px);padding:48px max(24px, calc((100vw - var(--sidebar-width,236px) - var(--content-width,1160px)) / 2)) 100px}@media (width<=900px){.app-sidebar{display:none}.app-mobile-navigation{z-index:30;height:calc(var(--mobile-nav-height,64px) + env(safe-area-inset-bottom));padding:6px 8px env(safe-area-inset-bottom);color:#fff8ef;background:var(--app-sidebar-bg,linear-gradient(180deg, #173f35, #286b59));box-shadow:0 -5px 22px var(--app-sidebar-shadow,#173d342e);align-items:center;gap:3px;display:flex;position:fixed;inset:auto 0 0;overflow:hidden}.app-mobile-navigation-items{overscroll-behavior-x:contain;scrollbar-width:none;flex:1;gap:3px;min-width:0;display:flex;overflow-x:auto}.app-mobile-navigation-items::-webkit-scrollbar{display:none}.app-mobile-navigation-items a,.app-mobile-navigation-items button,.app-mobile-navigation .header-auth{justify-content:center;width:48px;min-width:48px;min-height:48px;padding:10px;font-size:0}.app-mobile-navigation-items a.active{color:#214f43;background:#fff;box-shadow:0 4px 14px #102e2830}.app-mobile-navigation-items a.active svg{color:#27725e}.app-mobile-navigation-account{border-left:1px solid #ffffff24;flex:none;padding-left:3px}.app-mobile-navigation .header-auth span{display:none}.app-mobile-navigation .nav-update-badge,.app-mobile-navigation .nav-update-badge:not(.count){border:2px solid #285548;width:12px;min-width:0;height:12px;margin:0;padding:0;font-size:0;position:absolute;top:2px;right:2px;box-shadow:0 0 0 2px #ffc34f38}.app-mobile-navigation .nav-update-badge.count{border-width:1px;place-items:center;width:18px;height:18px;font-size:10px;display:grid}main.app-main-with-sidebar{width:100%;padding:28px 12px calc(88px + env(safe-area-inset-bottom));margin:0}}:root{--app-sidebar-bg:radial-gradient(circle at 50% 17%, #397b68 0, transparent 29%), linear-gradient(180deg, #173f35, #286b59 66%, #15372f);--app-sidebar-shadow:#173d342e;--app-sidebar-shadow-open:#102e2866;--app-sidebar-icon:#bde8da;--dashboard-page:#f8f6f0;--dashboard-page-glow:#eef8f3;--dashboard-ink:#193d34;--dashboard-muted:#62716b;--dashboard-surface:#fffdfa;--dashboard-surface-soft:#eff7f3;--dashboard-border:#d4dfd9;--dashboard-shadow:#193d3418;--dashboard-feature:radial-gradient(circle at 84% 25%, #4d8f7d 0, transparent 29%), linear-gradient(120deg, #245f50, #173e34);--dashboard-feature-text:#fffaf0;--dashboard-word:radial-gradient(circle at 88% 12%, #bfe8dc66 0, transparent 28%), #fff8e9}:root[data-theme=dark]{--app-sidebar-bg:radial-gradient(circle at 50% 17%, #932525 0, transparent 28%), linear-gradient(180deg, #500707, #760e0e 65%, #4a0707);--app-sidebar-shadow:#4b090929;--app-sidebar-shadow-open:#31030366;--app-sidebar-icon:#f5b78d;--dashboard-page:#ffd6d6;--dashboard-page-glow:#fff1ec;--dashboard-ink:#19382f;--dashboard-muted:#765f5f;--dashboard-surface:#fff9f3;--dashboard-surface-soft:#fff1eb;--dashboard-border:#e8c9bc;--dashboard-shadow:#71161622;--dashboard-feature:radial-gradient(circle at 84% 25%, #9c302b 0, transparent 28%), linear-gradient(120deg, #681010, #410707);--dashboard-feature-text:#fff1df;--dashboard-word:radial-gradient(circle at 88% 12%, #f4b7ae55 0, transparent 28%), #fff1d5}@media (prefers-color-scheme:dark){:root[data-theme=system]{--app-sidebar-bg:radial-gradient(circle at 50% 17%, #932525 0, transparent 28%), linear-gradient(180deg, #500707, #760e0e 65%, #4a0707);--app-sidebar-shadow:#4b090929;--app-sidebar-shadow-open:#31030366;--app-sidebar-icon:#f5b78d;--dashboard-page:#ffd6d6;--dashboard-page-glow:#fff1ec;--dashboard-ink:#19382f;--dashboard-muted:#765f5f;--dashboard-surface:#fff9f3;--dashboard-surface-soft:#fff1eb;--dashboard-border:#e8c9bc;--dashboard-shadow:#71161622;--dashboard-feature:radial-gradient(circle at 84% 25%, #9c302b 0, transparent 28%), linear-gradient(120deg, #681010, #410707);--dashboard-feature-text:#fff1df;--dashboard-word:radial-gradient(circle at 88% 12%, #f4b7ae55 0, transparent 28%), #fff1d5}}.app-sidebar,.dashboard-sidebar{background:var(--app-sidebar-bg);box-shadow:5px 0 18px var(--app-sidebar-shadow)}.app-sidebar:hover,.app-sidebar:focus-within,.dashboard-sidebar:hover,.dashboard-sidebar:focus-within{box-shadow:16px 0 40px var(--app-sidebar-shadow-open)}.app-sidebar-nav svg,.app-sidebar .header-auth svg,.dashboard-nav svg,.dashboard-invite>svg{color:var(--app-sidebar-icon)}.dashboard-main{background:var(--dashboard-page)}.dashboard-shell{color:var(--dashboard-ink);background:radial-gradient(circle at 40% 0, var(--dashboard-page-glow) 0, transparent 32%), var(--dashboard-page)}.dashboard-greeting p,.dashboard-deck-row span,.dashboard-deck-row small,.dashboard-route-card>div span,.dashboard-widget-title small,.dashboard-weekdays span,.dashboard-word-card p{color:var(--dashboard-muted)}.dashboard-deck-row,.dashboard-empty,.dashboard-side-column>section{border-color:var(--dashboard-border);background:var(--dashboard-surface);box-shadow:0 10px 25px var(--dashboard-shadow)}.dashboard-deck-row:hover{border-color:var(--theme-accent)}.dashboard-deck-thumb,.dashboard-stats-card>div:not(.dashboard-widget-title)>svg{background:var(--dashboard-surface-soft);color:var(--theme-accent)}.dashboard-lesson-card{color:var(--dashboard-feature-text);background:var(--dashboard-feature)}.dashboard-word-card{border-color:var(--dashboard-border);background:var(--dashboard-word)}.dashboard-word-card>div+div{border-color:var(--dashboard-border)}.dashboard-motivation{background:var(--dashboard-surface-soft)!important}.form-card small,.form-card .privacy,.form-card .deck-topic-hint,.form-card .deck-language-choice small,.form-card .public-deck-choice small,.form-card .csv-ai-guide-content>p{color:var(--theme-surface-muted)}.dictionary-tabs button.active,.general-dictionary-search .primary{background:var(--theme-accent);color:#fff;border-color:var(--theme-accent)}:root[data-theme=dark] .dictionary-tabs button.active,:root[data-theme=dark] .general-dictionary-search .primary{color:#600}@media (prefers-color-scheme:dark){:root[data-theme=system] .dictionary-tabs button.active,:root[data-theme=system] .general-dictionary-search .primary{color:#600}}@media (width<=650px){.dashboard-main{background:var(--dashboard-page)}}.classroom-page{max-width:1180px;margin:0 auto}.classroom-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.classroom-heading h1,.join-teacher-card h1{margin:4px 0 8px;font:clamp(32px,5vw,48px)/1.05 Georgia,serif}.classroom-heading p{max-width:720px;color:var(--muted,#65736e);margin:0}.classroom-heading>svg{color:#356f60;background:#dcefe8;border-radius:24px;width:82px;height:82px;padding:18px}.classroom-message{color:#6c4817;background:#fff0d5;border-radius:10px;padding:12px 15px}.classroom-tools{grid-template-columns:1fr 1fr;gap:18px;display:grid}.classroom-panel,.assignment-card,.classroom-roster,.join-teacher-card{background:#fffaf5;border:1px solid #e6cbc0;border-radius:18px;box-shadow:0 12px 28px #6c1b1012}.classroom-panel{padding:24px}.classroom-panel>svg{color:#b64c32;width:34px;height:34px}.classroom-panel h2{margin:10px 0 5px;font:26px Georgia,serif}.classroom-panel p{color:#6d756f}.invite-link{grid-template-columns:1fr auto;gap:8px;display:grid}.invite-link input{min-width:0}.invite-link .button{align-items:center;gap:6px;display:flex}.assignment-form{grid-template-columns:1fr 1fr;gap:10px;display:grid}.assignment-form label{gap:5px;display:grid}.assignment-form label:nth-child(3),.assignment-form button{grid-column:1/-1}.classroom-roster{margin-top:20px;padding:24px}.classroom-section-title{justify-content:space-between;align-items:end;display:flex}.classroom-section-title h2{margin:2px 0;font:29px Georgia,serif}.classroom-section-title>span{color:#326d5c;background:#dfefe9;border-radius:999px;padding:6px 10px}.progress-table{border:1px solid #ead7cf;border-radius:12px;margin-top:18px;overflow:hidden}.progress-row{border-top:1px solid #eee0da;grid-template-columns:1fr 1.2fr 1.2fr .7fr 1fr;align-items:center;gap:12px;padding:13px 15px;display:grid}.progress-row:first-child{border:0}.progress-head{color:#746c68;background:#f5e9e3;font-size:12px;font-weight:800}.progress-row span{min-width:0}.progress-row small{color:#7c817e;display:block}.progress-value{align-items:center;gap:8px;display:flex}.progress-value i{background:#e5ddd7;border-radius:999px;width:90px;height:7px;overflow:hidden}.progress-value b{background:#4b967f;height:100%;display:block}.assignment-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.assignment-card{padding:22px}.assignment-card h2{margin:12px 0 5px;font:25px Georgia,serif}.assignment-state{color:#397762;align-items:center;gap:5px;font-size:12px;font-weight:800;display:flex}.assignment-state svg{width:16px}.classroom-empty{text-align:center;color:#73807a;align-content:center;place-items:center;min-height:220px;display:grid}.classroom-empty svg{color:#9cb8ae;width:44px;height:44px}.classroom-empty h2{margin:10px 0 0}.classroom-empty p{margin:5px}.join-teacher-page{place-items:center;min-height:calc(100vh - 160px);display:grid}.join-teacher-card{width:min(620px,100%);padding:34px}.join-teacher-card>svg{color:#397765;background:#dcefe8;border-radius:18px;width:58px;height:58px;padding:12px}.join-success{justify-items:start;gap:8px;margin-top:20px;display:grid}.join-success>svg{color:#2f755e;background:#d9eee3;border-radius:50%;width:38px;height:38px;padding:8px}.account-role-choice{border:1px solid #ddd1c9;border-radius:10px;gap:18px;margin:4px 0;padding:10px 12px;display:flex}.account-role-choice legend{padding-inline:4px;font-size:12px}.account-role-choice label{align-items:center;gap:6px;grid-template-columns:auto 1fr!important;display:flex!important}.account-role-choice input{width:auto!important}@media (width<=800px){.classroom-tools{grid-template-columns:1fr}.progress-table{overflow-x:auto}.progress-row{min-width:760px}.assignment-form{grid-template-columns:1fr}.assignment-form label,.assignment-form label:nth-child(3),.assignment-form button{grid-column:auto}.classroom-heading>svg{display:none}.invite-link{grid-template-columns:1fr}.join-teacher-card{padding:23px}}.classroom-view-switch{background:#f6ebe5;border:1px solid #ddc8be;border-radius:12px;gap:4px;width:max-content;margin:-10px 0 22px;padding:4px;display:flex}.classroom-view-switch button{color:#685e58;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:7px;min-height:40px;padding:8px 14px;font-weight:800;display:flex}.classroom-view-switch button.active{color:#70312b;background:#fff;box-shadow:0 3px 10px #6c1b1018}.classroom-view-switch svg{width:18px}.classroom-heading{z-index:auto;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;width:100%;height:auto;padding:0;position:static}.assignment-row-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:5px;display:flex}.assignment-edit-link,.assignment-delete-link{cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;width:max-content;padding:0;font-size:12px;font-weight:800;display:flex}.assignment-edit-link{color:#397762}.assignment-delete-link{color:#a33e38}.assignment-edit-link svg,.assignment-delete-link svg{width:14px;height:14px}.assignment-delete-link:disabled{opacity:.55;cursor:wait}.route-editor{background:#fff;border:1px solid #dbc6bc;border-radius:16px;grid-column:1/-1;margin-top:14px;padding:20px}.route-editor-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.route-editor-heading h3{margin:3px 0;font:26px Georgia,serif}.route-editor-heading>span{color:#356f60;white-space:nowrap;background:#e3f1eb;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.route-templates{grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0;display:grid}.route-templates>button{text-align:left;color:inherit;cursor:pointer;background:#fffaf7;border:1px solid #dfd1ca;border-radius:12px;padding:14px}.route-templates>button.active{background:#e9f5ef;border-color:#43836f;box-shadow:0 0 0 2px #43836f22}.route-templates span{align-items:center;gap:6px;display:flex}.route-templates svg{color:#2f755e;width:16px}.route-templates small{color:#6f7975;margin-top:6px;line-height:1.35;display:block}.route-drag-hint{font-size:12px;margin:0 0 10px!important}.route-stage-list{gap:9px;display:grid}.route-stage{background:#fff;border:1px solid #e4d6cf;border-radius:13px}.route-stage.disabled{color:#787572;background:#f5f2f0}.route-stage-main{grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:10px;min-height:72px;padding:10px 12px;display:grid}.route-drag-handle{color:#8c8a87;cursor:grab;width:19px}.route-stage-number{background:#eee3dc;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.route-stage-copy{gap:2px;display:grid}.route-stage-copy small{color:#707976}.route-order-buttons{gap:3px;display:flex}.route-order-buttons button{color:#52635d;cursor:pointer;background:#fff;border:1px solid #ded4cf;border-radius:8px;width:30px;height:30px;padding:0}.route-order-buttons button:disabled{opacity:.35;cursor:default}.route-order-buttons svg{width:15px}.route-toggle{align-items:center;gap:7px!important;font-size:12px!important;display:flex!important}.route-toggle input{opacity:0;pointer-events:none;position:absolute}.route-toggle span{background:#bbb;border-radius:999px;width:38px;height:22px;padding:3px;transition:all .2s}.route-toggle span:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;display:block}.route-toggle input:checked+span{background:#3c8a72}.route-toggle input:checked+span:after{transform:translate(16px)}.route-toggle em{font-style:normal}.route-stage-settings fieldset{border:0;margin:0;padding:0}.route-stage-settings legend{margin-bottom:7px;font-size:12px;font-weight:800}.route-exercises{flex-wrap:wrap;gap:7px;display:flex}.route-exercises label,.route-hint-setting{background:#fffaf7;border:1px solid #e2d9d4;border-radius:9px;align-items:center;padding:7px 9px;grid-template-columns:auto 1fr!important;gap:6px!important;font-size:12px!important;display:flex!important}.route-exercises input,.route-hint-setting input{width:auto!important}.route-hint-setting{width:max-content;margin-top:8px}.route-numeric-settings{grid-template-columns:170px minmax(220px,1fr);gap:10px;margin-top:10px;display:grid}.route-numeric-settings label{gap:4px;font-size:12px;display:grid}.route-editor-actions{justify-content:flex-end;gap:9px;margin-top:14px;display:flex}@media (width<=800px){.route-templates{grid-template-columns:1fr}.route-editor-heading{display:grid}.route-stage-main{grid-template-columns:auto auto 1fr auto}.route-order-buttons{grid-column:3}.route-toggle{grid-area:1/4/3}.route-stage-settings{padding-left:14px}.route-numeric-settings{grid-template-columns:1fr}.route-toggle em{display:none}}.route-editor-actions,.assignment-deck-panel.route-open{grid-column:1/-1}.route-visual-overview{color:#fff;background:linear-gradient(135deg,#173e34,#326f5f);border-radius:16px;margin:18px 0;padding:18px}.route-visual-title{justify-content:space-between;align-items:center;gap:14px;display:flex}.route-visual-title>div{align-items:center;gap:10px;display:flex}.route-visual-title>div>svg{background:#ffffff20;border-radius:9px;width:28px;height:28px;padding:6px}.route-visual-title span{display:grid}.route-visual-title small{color:#d2e4de}.route-visual-title em{background:#ffffff18;border-radius:999px;padding:5px 9px;font-size:11px;font-style:normal;font-weight:800}.route-preview-path{align-items:flex-start;gap:5px;margin-top:17px;padding:4px 2px 8px;display:flex;overflow-x:auto}.route-preview-path>p{color:#d8e7e2;margin:7px 0}.route-preview-path-item{flex:1;align-items:center;min-width:max-content;display:flex}.route-preview-path-item>svg{color:#9bc3b6;width:15px;margin:17px 3px 0}.route-preview-path-item button{color:#d7e7e1;cursor:pointer;background:0 0;border:0;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:2px 6px;min-width:76px;padding:0;display:grid}.route-preview-path-item button>span{background:#28594d;border:2px solid #8fb8ab;border-radius:50%;grid-row:1/3;place-items:center;width:38px;height:38px;display:grid}.route-preview-path-item button>b{background:#ffffff1a;border-radius:50%;place-items:center;width:19px;height:19px;font-size:10px;display:grid}.route-preview-path-item button>small{text-overflow:ellipsis;white-space:nowrap;max-width:86px;font-size:10px;overflow:hidden}.route-preview-path-item button.active{color:#fff}.route-preview-path-item button.active>span{color:#fff;background:#d6932d;border-color:#ffd67f;box-shadow:0 0 0 5px #f8cb6930}.route-builder-layout{grid-template-columns:minmax(0,1.3fr) minmax(310px,.7fr);align-items:start;gap:18px;display:grid}.route-settings-column{min-width:0}.route-student-preview{background:#f5eee9;border:1px solid #ded5cf;border-radius:18px;padding:14px;position:sticky;top:20px}.route-preview-caption{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.route-preview-caption span{letter-spacing:1.4px;color:#8c6356;font-size:10px;font-weight:900}.route-preview-caption b{color:#4b665e;font-size:12px}.route-preview-device{background:#fff;border:7px solid #243b35;border-radius:27px;padding:15px;box-shadow:0 18px 40px #293d3525}.route-preview-device-top{justify-content:space-between;align-items:center;font-size:11px;font-weight:900;display:flex}.route-preview-device-top small{color:#73827d}.route-preview-progress{background:#e5eae7;border-radius:999px;height:5px;margin:9px 0 16px;overflow:hidden}.route-preview-progress span{border-radius:inherit;background:linear-gradient(90deg,#438e76,#e0a443);height:100%;display:block}.route-preview-stage-label{align-items:center;gap:9px;margin-bottom:13px;display:flex}.route-preview-stage-label>span{color:#2f725e;background:#e2f1eb;border-radius:12px;place-items:center;width:39px;height:39px;display:grid}.route-preview-stage-label>div{display:grid}.route-preview-stage-label small{letter-spacing:1px;color:#8a928f;font-size:8px}.route-preview-stage-label b{font:20px Georgia,serif}.route-preview-task{text-align:center;background:#fffdf9;border:1px solid #e2e4e1;border-radius:15px;align-content:center;gap:8px;min-height:210px;padding:18px 13px;display:grid}.route-preview-task>p{margin:0;font:22px/1.25 Georgia,serif}.route-preview-task>small{color:#6b7772}.route-preview-audio{color:#2c6b58;background:#e6f3ee;border:1px solid #a8c8bd;border-radius:9px;align-items:center;gap:5px;width:max-content;margin:0 auto;padding:8px 11px;font-size:11px;font-weight:800;display:flex}.route-preview-audio.compact{margin-top:4px}.route-preview-options{gap:5px;margin-top:5px;display:grid}.route-preview-options button{color:#30443e;background:#fff;border:1px solid #d8ded9;border-radius:8px;min-height:34px;padding:6px 8px;font-size:11px}.route-preview-options button.selected{color:#205f4b;background:#e4f3ed;border-color:#4a927b;font-weight:800}.route-preview-options.introduction button{background:0 0;border:0;min-height:0}.route-preview-options.introduction button:first-child{font-weight:800}.route-preview-input{text-align:left;color:#375d52;background:#fff;border:1px solid #8bb5a7;border-radius:9px;min-height:40px;padding:9px 10px}.route-preview-input span{animation:1s infinite route-preview-caret}.route-preview-meta{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.route-preview-meta span{color:#68736f;background:#eeeae7;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:800}.route-preview-next{color:#fff;background:#193d34;border:0;border-radius:9px;justify-content:center;align-items:center;gap:5px;width:100%;min-height:39px;font-weight:800;display:flex}.route-preview-exercise{font-size:10px;line-height:1.4;color:#65736e!important;margin:10px 4px 0!important}.route-preview-empty{text-align:center;color:#687772;align-content:center;place-items:center;min-height:360px;padding:30px;display:grid}.route-preview-empty svg{width:40px;height:40px;margin-bottom:8px}.route-preview-empty small{margin-top:5px}.route-stage-list{scrollbar-width:thin;max-height:760px;padding-right:4px;overflow-y:auto}@keyframes route-preview-caret{50%{opacity:0}}@media (width<=980px){.route-builder-layout{grid-template-columns:1fr}.route-student-preview{grid-row:1;position:static}.route-stage-list{max-height:none;overflow:visible}.route-preview-device{max-width:390px;margin:0 auto}.route-preview-exercise{max-width:390px;margin-inline:auto!important}}@media (width<=620px){.route-visual-overview{padding:14px}.route-visual-title{align-items:flex-start}.route-visual-title em{display:none}.route-preview-path-item button{min-width:68px}.route-preview-path-item button>small{max-width:72px}.route-preview-path-item>svg{margin-inline:0}.route-editor{padding:14px}.route-student-preview{padding:10px}.route-preview-device{border-width:5px;border-radius:22px}.route-preview-caption{flex-direction:column;align-items:flex-start}.route-stage-main{grid-template-columns:auto auto 1fr}.route-order-buttons{grid-column:2/4}.route-toggle{grid-area:2/3}.route-stage-copy small{font-size:11px}}.route-preview-path{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:10px;display:grid;overflow:visible}.route-preview-path-item{min-width:0;display:block}.route-preview-path-item .route-preview-card{color:#fff;text-align:left;background:#ffffff0a;border:1px solid #78a89a;border-radius:13px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:8px;width:100%;min-width:0;min-height:126px;padding:12px;transition:all .18s;display:flex}.route-preview-path-item .route-preview-card:hover{background:#ffffff14;border-color:#b9d7ce;transform:translateY(-1px)}.route-preview-path-item .route-preview-card.active{color:#173e34;background:#fff;border-color:#ffd477;box-shadow:0 0 0 3px #ffd47735}.route-preview-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.route-preview-card-top>span{color:#d9ebe5;background:#ffffff18;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.route-preview-card.active .route-preview-card-top>span{color:#2d705c;background:#e2f1eb}.route-preview-card-top small{color:#cfe2dc;text-transform:uppercase;background:#ffffff12;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:900}.route-preview-card.active .route-preview-card-top small{color:#6d736f;background:#f2eee9}.route-preview-card>strong{min-height:34px;font-size:14px;line-height:1.2}.route-preview-card-action{color:#e3f0ec;border-top:1px solid #ffffff1c;align-items:center;gap:5px;margin-top:auto;padding-top:8px;font-size:10px;font-weight:900;display:flex}.route-preview-card-action svg{width:14px;height:14px}.route-preview-card.active .route-preview-card-action{color:#246a55;border-color:#dce6e1}.route-preview-caption span{color:#9b523e;font-weight:900}@media (width<=780px){.route-preview-path{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.route-preview-path{grid-template-columns:1fr}.route-preview-path-item .route-preview-card{min-height:104px}}.route-numeric-settings.introduction{grid-template-columns:minmax(170px,240px)}.route-preview-card-image{background:#dceae4;border-radius:11px;height:112px;margin:0 0 5px;position:relative;overflow:hidden}.route-preview-card-image img{object-fit:cover;object-position:center 72%;width:100%;height:100%}.route-preview-card-image:after{content:"";background:linear-gradient(#0000 55%,#173e3490);position:absolute;inset:0}.route-preview-card-image figcaption{z-index:1;color:#fff;text-shadow:0 1px 3px #0008;font-size:9px;font-weight:900;position:absolute;bottom:7px;left:9px}.route-introduction-image{background:#e3ebe7;border-radius:17px;width:min(440px,100%);height:240px;margin:0 auto 22px;overflow:hidden}.route-introduction-image img{object-fit:cover;width:100%;height:100%}.route-introduction-card>div:first-of-type{justify-content:center}.route-assignment-explanation{color:#284b40;background:#edf7f3;border:1px solid #b9d8cc;border-radius:12px;margin:0 0 14px;padding:13px 15px;font-size:12px}.route-assignment-explanation b{font-size:13px}.route-assignment-explanation ul{margin:7px 0 0;padding-left:19px}.route-assignment-explanation li+li{margin-top:4px}.route-stage-explanation{color:#49605a;background:#f1f7f4;border-left:3px solid #4b8c77;border-radius:8px;gap:3px;margin-top:10px;padding:10px 12px;font-size:11px;line-height:1.4;display:grid}.route-stage-explanation b{color:#244e40;font-size:12px}.route-stage-explanation span:nth-of-type(2){color:#315e50;font-weight:700}.route-final-review-sources{color:#5d4a24;background:#fff8e7;border:1px solid #e2c98d;border-radius:10px;gap:5px;padding:10px 12px;font-size:11px;line-height:1.4;display:grid}.route-final-review-sources b{font-size:12px}.route-final-review-sources small{color:#365e52;font-weight:750}.route-stage-unavailable{color:#795819;background:#fff2d7;border-radius:8px;margin:0 10px 10px 58px;padding:9px 11px;font-size:11px;line-height:1.4}.route-stage-list{max-height:none!important;overflow:visible!important}.route-toggle{position:relative}.route-toggle input{cursor:pointer;pointer-events:auto;width:100%;height:100%;margin:0;inset:0}@media (width<=620px){.route-preview-card-image{height:132px}.route-introduction-image{height:190px}}.route-builder-layout{grid-template-columns:minmax(0,1fr) minmax(390px,420px);gap:14px}.route-preview-column{grid-template-rows:auto minmax(0,1fr);align-self:start;gap:8px;max-height:calc(100vh - 20px);display:grid;position:sticky;top:10px}.route-preview-column .route-visual-overview{border-radius:14px;margin:0;padding:10px 11px}.route-preview-column .route-visual-title>div{align-items:flex-start}.route-preview-column .route-visual-title>div>svg{width:24px;height:24px;padding:5px}.route-preview-column .route-visual-title b{font-size:13px;line-height:1.2}.route-preview-column .route-visual-title small{font-size:10px}.route-preview-column .route-preview-path{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:8px;padding:0}.route-preview-column .route-preview-path-item .route-preview-card{border-radius:9px;gap:3px;min-height:72px;padding:6px 7px}.route-preview-column .route-preview-card-top>span{border-radius:7px;width:24px;height:24px}.route-preview-column .route-preview-card-top svg{width:13px;height:13px}.route-preview-column .route-preview-card-top small{padding:2px 5px;font-size:8px}.route-preview-column .route-preview-card>strong{min-height:22px;font-size:10px;line-height:1.1}.route-preview-column .route-preview-card-action{padding-top:4px;font-size:8px}.route-preview-column .route-preview-card-action svg{width:10px;height:10px}.route-preview-column .route-student-preview{border-radius:14px;min-height:0;padding:8px 9px;position:static;top:auto;overflow:hidden}.route-preview-column .route-preview-caption{margin-bottom:6px}.route-preview-column .route-preview-caption span{letter-spacing:1px;font-size:8px}.route-preview-column .route-preview-caption b{font-size:10px}.route-preview-column .route-preview-device{border-width:4px;border-radius:19px;padding:9px 10px;box-shadow:0 10px 24px #293d351c}.route-preview-column .route-preview-device-top{font-size:9px}.route-preview-column .route-preview-progress{height:4px;margin:5px 0 8px}.route-preview-column .route-preview-stage-label{gap:6px;margin-bottom:7px}.route-preview-column .route-preview-stage-label>span{border-radius:9px;width:29px;height:29px}.route-preview-column .route-preview-stage-label>span svg{width:14px;height:14px}.route-preview-column .route-preview-stage-label small{font-size:7px}.route-preview-column .route-preview-stage-label b{font-size:15px}.route-preview-column .route-preview-task{border-radius:11px;gap:4px;min-height:118px;padding:8px 9px}.route-preview-column .route-preview-task>p{font-size:17px}.route-preview-column .route-preview-task>small{font-size:9px}.route-preview-column .route-preview-card-image{border-radius:8px;height:62px;margin-bottom:2px}.route-preview-column .route-preview-audio{padding:5px 7px;font-size:9px}.route-preview-column .route-preview-audio svg{width:12px;height:12px}.route-preview-column .route-preview-options{gap:3px;margin-top:2px}.route-preview-column .route-preview-options button{min-height:24px;padding:3px 6px;font-size:9px}.route-preview-column .route-preview-input{min-height:31px;padding:6px 8px;font-size:10px}.route-preview-column .route-preview-meta{gap:4px;margin:5px 0}.route-preview-column .route-preview-meta span{padding:3px 5px;font-size:8px}.route-preview-column .route-preview-next{min-height:31px;font-size:11px}.route-preview-column .route-preview-next svg{width:13px;height:13px}.route-preview-column .route-preview-exercise{font-size:8px;line-height:1.25;margin-top:5px!important}.route-stage-list{max-height:min(760px,100vh - 250px)}.route-stage-main{min-height:60px;padding:8px 9px}.route-stage-number{width:27px;height:27px}.route-stage-copy small{font-size:11px}.route-stage-settings{padding:0 10px 10px 58px}.route-exercises label,.route-hint-setting{padding:5px 7px}.route-numeric-settings{margin-top:7px}.route-numeric-settings input,.route-numeric-settings select{min-height:36px}@media (width<=980px){.route-builder-layout{grid-template-columns:1fr}.route-preview-column{grid-row:1;max-height:none;position:static}.route-settings-column{grid-row:2}.route-preview-column .route-preview-path{grid-template-columns:repeat(3,minmax(0,1fr))}.route-preview-column .route-preview-device{max-width:390px;margin-inline:auto}.route-stage-list{max-height:none}}@media (width<=520px){.route-preview-column .route-preview-path{grid-template-columns:repeat(2,minmax(0,1fr))}.route-preview-column .route-preview-card-image{height:82px}}.assignment-comment-field{grid-column:1/-1!important}.assignment-comment-field textarea{color:#19332d;width:100%;min-height:94px;font:inherit;resize:vertical;background:#fff;border:1px solid #cbd1cc;border-radius:9px;padding:10px 12px;line-height:1.45}.assignment-comment-field textarea:focus{outline-offset:2px;outline:3px solid #77b7a5}.assignment-comment-field>small{color:#747e7a;font-size:11px;font-weight:500}.assignment-comment{color:#344d45;background:#f0f7f4;border:1px solid #d8e4df;border-radius:11px;align-items:flex-start;gap:9px;margin:14px 0;padding:12px;display:flex}.assignment-comment>svg{color:#397762;flex:none;margin-top:2px}.assignment-comment>div{min-width:0}.assignment-comment b{margin-bottom:4px;font-size:12px;display:block}.assignment-comment div div,.assignment-comment-compact,.deck-assignment-comment div div{white-space:pre-wrap;overflow-wrap:anywhere}.assignment-comment a,.assignment-comment-compact a,.deck-assignment-comment a{color:#176f83;text-underline-offset:2px;text-decoration:underline}.assignment-comment-compact{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:5px;font-size:11px;line-height:1.35;overflow:hidden;color:#526e65!important;display:-webkit-box!important}.deck-assignment-comment{color:#294b40;background:#eef7f3;border:1px solid #c9ddd5;border-radius:14px;align-items:flex-start;gap:11px;margin:0 0 24px;padding:15px 17px;display:flex}.deck-assignment-comment>svg{color:#397762;flex:none;margin-top:2px}.deck-assignment-comment>div{min-width:0}.deck-assignment-comment b{margin-bottom:5px;display:block}.classroom-tools .assignment-deck-panel{grid-column:1/-1}.assignment-deck-panel>.assignment-form{grid-template-columns:1fr;gap:14px;margin-top:20px}.assignment-step{border-top:1px solid #eadbd3;align-items:center;gap:10px;padding-top:7px;display:flex}.assignment-step:first-child{border-top:0;padding-top:0}.assignment-step>span{color:#fff;background:#1f6754;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.assignment-step>div{gap:1px;display:grid}.assignment-step b{font-size:15px}.assignment-step small{color:#7a817d}.assignment-step em{color:#2f725e;background:#e4f1ec;border-radius:999px;margin-left:auto;padding:5px 9px;font-size:11px;font-style:normal;font-weight:850}.assignment-student-select{max-width:430px}.assignment-deck-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.assignment-deck-choice{background:#fff;border:1px solid #e1d4cd;border-radius:13px;min-width:0;padding:12px}.assignment-deck-choice.selected{background:#eff8f4;border-color:#4c917c;box-shadow:0 0 0 2px #4c917c1f}.assignment-form .assignment-deck-choice>label{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.assignment-deck-choice input{accent-color:#327964;width:18px;height:18px;margin:0}.assignment-deck-choice label>span{gap:2px;min-width:0;display:grid}.assignment-deck-choice label b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.assignment-deck-choice label small{color:#7b827f;font-size:11px}.assignment-deck-choice label>i{color:#31725d;background:#dcece6;border-radius:50%;place-items:center;width:23px;height:23px;display:grid}.assignment-deck-choice label>i svg{width:14px}.assignment-form .assignment-deck-choice>button{color:#286b57;cursor:pointer;background:#fff;border:1px solid #bad3ca;border-radius:8px;justify-content:center;align-items:center;gap:5px;width:100%;min-height:34px;margin-top:10px;padding:6px 8px;font-size:11px;font-weight:800;display:flex}.assignment-deck-choice>button svg{width:14px}.assignment-details{grid-template-columns:minmax(220px,.45fr) minmax(0,1.55fr);align-items:start;gap:12px;display:grid}.assignment-form .assignment-details>label{gap:5px;display:grid}.assignment-route-workspace{background:#f7eee9;border:1px solid #d9c8c0;border-radius:16px;min-width:0;padding:14px}.assignment-route-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:8px;display:flex}.assignment-route-heading small{color:#946251;letter-spacing:.12em;font-size:9px;font-weight:900}.assignment-route-heading h3{margin:2px 0;font:22px Georgia,serif}.assignment-route-workspace>.route-editor{margin:0}.assignment-submit-summary{color:#fff;background:#193f35;border-radius:13px;justify-content:space-between;align-items:center;gap:15px;padding:14px 16px;display:flex}.assignment-submit-summary>div{gap:2px;display:grid}.assignment-submit-summary small{color:#c9ddd6}.assignment-form .assignment-submit-summary>button{grid-column:auto;align-items:center;gap:7px;width:auto;display:flex}.assignment-submit-summary button svg{width:17px}@media (width<=900px){.assignment-deck-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-details{grid-template-columns:1fr}}@media (width<=600px){.assignment-deck-picker{grid-template-columns:1fr}.assignment-submit-summary{flex-direction:column;align-items:stretch}.assignment-form .assignment-submit-summary>button{justify-content:center;width:100%}}.assignment-selected-decks{background:#eff7f4;border:1px solid #cbded7;border-radius:13px;flex-wrap:wrap;gap:7px;padding:10px;display:flex}.assignment-selected-decks>div{background:#fff;border:1px solid #c7dcd4;border-radius:10px;align-items:center;gap:5px;min-width:180px;max-width:290px;padding:7px 7px 7px 10px;display:flex}.assignment-selected-decks span{min-width:0;margin-right:auto;display:grid}.assignment-selected-decks b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.assignment-selected-decks small{color:#71807a;font-size:9px}.assignment-form .assignment-selected-decks button{color:#3b715f;cursor:pointer;background:#edf4f1;border:0;border-radius:8px;place-items:center;width:29px;height:29px;padding:0;display:grid}.assignment-selected-decks button:last-child{color:#9b4d43}.assignment-selected-decks svg{width:14px}.assignment-routes-panel{background:#f3faf7;border:1px solid #b9d6cb;border-radius:14px;padding:14px}.assignment-routes-title{align-items:center;gap:9px;margin-bottom:10px;display:flex}.assignment-routes-title>svg{color:#31705c;background:#dcefe8;border-radius:10px;width:35px;height:35px;padding:8px}.assignment-routes-title>div{display:grid}.assignment-routes-title small{color:#6f7d78}.assignment-routes-panel>div:last-child{gap:7px;display:grid}.assignment-routes-panel article{background:#fff;border:1px solid #d3e3dd;border-radius:10px;align-items:center;gap:12px;padding:9px 10px;display:flex}.assignment-routes-panel article>span{gap:2px;min-width:0;margin-right:auto;display:grid}.assignment-routes-panel article small{color:#6f7e79;font-size:11px}.assignment-form .assignment-routes-panel article>button{color:#286a55;cursor:pointer;background:#e7f4ef;border:1px solid #91b9aa;border-radius:8px;align-items:center;gap:6px;width:auto;min-height:34px;padding:7px 10px;font-size:11px;font-weight:850;display:flex}.assignment-routes-panel button svg{width:14px}.assignment-deck-catalog{background:#fcf8f5;border:1px solid #e2d5ce;border-radius:14px;padding:13px}.assignment-deck-toolbar{justify-content:space-between;align-items:center;gap:10px;display:flex}.assignment-form .assignment-deck-toolbar>label{flex:1;min-width:260px;display:block;position:relative}.assignment-deck-toolbar label>svg{color:#71817b;width:17px;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.assignment-deck-toolbar input{width:100%;padding-left:36px}.assignment-deck-toolbar>div{background:#fff;border:1px solid #dfd3cc;border-radius:10px;padding:3px;display:flex}.assignment-form .assignment-deck-toolbar button{color:#6b716e;cursor:pointer;background:0 0;border:0;border-radius:7px;width:auto;min-height:34px;padding:6px 9px;font-size:11px;font-weight:800}.assignment-deck-toolbar button.active{color:#fff;background:#286b57}.assignment-deck-results{color:#78807c;justify-content:space-between;gap:10px;margin:9px 1px;font-size:10px;display:flex}.assignment-deck-no-results{color:#75807c;align-content:center;place-items:center;gap:4px;min-height:150px;display:grid}.assignment-deck-no-results svg{width:30px}.assignment-deck-no-results span{font-size:11px}.assignment-form .assignment-show-more{color:#47665c;cursor:pointer;background:#fff;border:1px solid #d2c7c1;border-radius:9px;align-items:center;gap:6px;width:max-content;min-height:36px;margin:11px auto 0;padding:7px 13px;font-size:11px;font-weight:850;display:flex}.assignment-show-more svg{width:15px}@media (width<=720px){.assignment-deck-toolbar{flex-direction:column;align-items:stretch}.assignment-form .assignment-deck-toolbar>label{width:100%;min-width:0}.assignment-deck-toolbar>div{overflow-x:auto}.assignment-routes-panel article{flex-direction:column;align-items:stretch}.assignment-form .assignment-routes-panel article>button{justify-content:center;width:100%}.assignment-selected-decks>div{flex:100%;max-width:none}}.app-shell--content .classroom-page{max-width:var(--content-width)}.app-shell--content .classroom-tools{gap:var(--space-5);grid-template-columns:minmax(250px,.72fr) minmax(0,1.55fr);align-items:start}.app-shell--content .classroom-panel,.app-shell--content .assignment-card,.app-shell--content .classroom-roster{border-color:var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.app-shell--content .classroom-panel{padding:var(--space-5)}.app-shell--content .classroom-panel--invite{top:var(--space-6);position:sticky}.app-shell--content .classroom-panel--assignment{padding:var(--space-6);grid-column:2}.app-shell--content .classroom-panel-heading{margin-bottom:var(--space-3);align-items:center;gap:var(--space-3);display:flex}.app-shell--content .classroom-panel-heading>span{border-radius:var(--radius-md);background:var(--color-surface-subtle);width:42px;height:42px;color:var(--color-accent);flex:none;place-items:center;display:grid}.app-shell--content .classroom-panel-heading>span svg{width:21px;height:21px}.app-shell--content .classroom-panel-heading h2{color:var(--color-heading);font:400 var(--text-xl)/1.15 var(--font-display);margin:2px 0 0}.app-shell--content .classroom-panel>p{margin:0 0 var(--space-5);color:var(--color-muted);line-height:1.55}.app-shell--content .assignment-deck-panel.route-open{grid-column:1/-1}.app-shell--content .classroom-message{margin:0 0 var(--space-5);background:color-mix(in srgb,var(--color-warning) 9%,var(--color-surface));color:var(--color-warning)}.app-shell--content .assignment-card{padding:var(--space-5);flex-direction:column;align-items:flex-start;display:flex}.app-shell--content .assignment-state{background:var(--color-surface-subtle);max-width:100%;color:var(--color-accent);border-radius:999px;align-self:flex-start;padding:3px 8px;display:inline-flex}.app-shell--content .assignment-progress{width:100%;margin:var(--space-4) 0;gap:7px;display:grid}.app-shell--content .assignment-progress-label{justify-content:space-between;align-items:baseline;gap:var(--space-3);color:var(--color-muted);font-size:13px;display:flex}.app-shell--content .assignment-progress-label strong{color:var(--color-heading);font-size:15px}.app-shell--content .assignment-progress-track{background:var(--color-border);border-radius:999px;width:100%;height:8px;overflow:hidden}.app-shell--content .assignment-progress-track i{border-radius:inherit;background:var(--color-accent);height:100%;transition:width .2s;display:block}.app-shell--content .assignment-progress small{color:var(--color-muted);font-size:12px}.app-shell--content .assignment-comment{border-color:var(--color-border);background:var(--color-surface-subtle)}.app-shell--content .classroom-roster{margin-top:var(--space-5);padding:var(--space-6)}.app-shell--content .classroom-section-title{margin-bottom:var(--space-4)}.app-shell--content .progress-table{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.app-shell--content .progress-row{border-color:var(--color-border)}.app-shell--content .progress-head{background:var(--color-surface-subtle);color:var(--color-muted);border-top:0}.app-shell--content .progress-value i{background:var(--color-border)}.app-shell--content .progress-value i b{background:var(--color-accent)}.app-shell--content .assignment-edit-link,.app-shell--content .assignment-delete-link{border-radius:var(--radius-sm);min-height:32px;transition:transform var(--duration-fast) var(--ease-out),background-color var(--duration-fast) ease;padding:5px 8px}.app-shell--content .assignment-edit-link:active,.app-shell--content .assignment-delete-link:active{transform:scale(.97)}@media (width<=1080px){.app-shell--content .classroom-tools{grid-template-columns:minmax(220px,.62fr) minmax(0,1.38fr)}}@media (width<=900px){.app-shell--content .classroom-tools{grid-template-columns:minmax(0,1fr)}.app-shell--content .classroom-panel--invite{position:static}.app-shell--content .classroom-panel--assignment,.app-shell--content .assignment-deck-panel.route-open{grid-column:auto}}@media (width<=720px){.app-shell--content .classroom-panel,.app-shell--content .classroom-panel--assignment,.app-shell--content .classroom-roster{padding:var(--space-4);border-radius:var(--radius-md)}.app-shell--content .progress-table{background:0 0;border:0;overflow:visible}.app-shell--content .progress-head{display:none}.app-shell--content .progress-row:not(.progress-head){width:100%;min-width:0;margin-bottom:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);gap:var(--space-3);background:var(--color-surface);grid-template-columns:minmax(0,1fr) auto;display:grid}.app-shell--content .progress-row:not(.progress-head)>*{overflow-wrap:anywhere;min-width:0}.app-shell--content .progress-row:not(.progress-head)>strong,.app-shell--content .progress-row:not(.progress-head)>span:nth-child(2),.app-shell--content .progress-row:not(.progress-head)>span:nth-child(5){grid-column:1/-1}.app-shell--content .progress-row:not(.progress-head)>span:nth-child(4){text-align:right}.app-shell--content .assignment-row-actions{flex-wrap:wrap;max-width:100%}}.app-shell--content .classroom-page--teacher{max-width:min(1380px,100%)}.app-shell--content .classroom-page--teacher .classroom-tools{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}.app-shell--content .classroom-page--teacher .classroom-panel--invite{position:static;top:auto}.app-shell--content .classroom-page--teacher .classroom-panel--assignment,.app-shell--content .classroom-page--teacher .assignment-deck-panel.route-open{grid-column:1}@media (width>=1100px){.app-shell--content .classroom-page--teacher .classroom-panel--invite{padding:var(--space-4) var(--space-5);align-items:center;gap:var(--space-5);grid-template-columns:minmax(250px,.8fr) minmax(300px,1fr) minmax(300px,1.15fr);display:grid}.app-shell--content .classroom-page--teacher .classroom-panel--invite>.classroom-panel-heading,.app-shell--content .classroom-page--teacher .classroom-panel--invite>p{margin:0}.app-shell--content .classroom-page--teacher .classroom-panel--invite>.button{justify-self:end}.app-shell--content .classroom-page--teacher .classroom-panel--invite>.invite-link{width:100%;min-width:0}}.route-preview-card-image img,.route-introduction-image img{object-fit:contain;object-position:center}.route-editor>.route-templates{grid-template-columns:1fr;margin:16px 0 12px}.route-editor>.route-templates>button{min-height:74px;padding:14px 16px;transition:transform .14s cubic-bezier(.23,1,.32,1),border-color .16s,background-color .16s,box-shadow .16s}.route-editor>.route-templates>button:active,.route-saved-presets article>button:first-child:active,.route-advanced-toggle:active{transform:scale(.985)}.route-editor-actions{justify-content:flex-start;margin-top:12px}.assignment-form .route-editor-actions>.route-advanced-toggle{color:#286a56;background:#fff;border-color:#8fb8aa;grid-column:auto;align-items:center;gap:7px;width:auto;min-height:42px;display:inline-flex}.route-advanced-toggle svg{width:17px;height:17px}.route-advanced-settings{border-top:1px solid #e3d8d2;margin-top:18px;padding-top:18px}.route-saved-presets{background:#f4faf7;border:1px solid #cbded7;border-radius:13px;margin:12px 0 14px;padding:12px}.route-saved-presets-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.route-saved-presets-heading>div{gap:1px;display:grid}.route-saved-presets-heading small{color:#70807a;font-size:11px}.route-saved-presets-heading>span{color:#2d705b;background:#dceee7;border-radius:999px;place-items:center;min-width:25px;height:25px;padding:0 7px;font-size:11px;font-weight:850;display:grid}.route-saved-presets>div:last-child{gap:7px;display:grid}.route-saved-presets article{background:#fff;border:1px solid #d2e1dc;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-width:0;display:grid;overflow:hidden}.route-saved-presets article.active{border-color:#43836f;box-shadow:0 0 0 2px #43836f20}.route-saved-presets article>button:first-child{min-width:0;min-height:52px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;transition:transform .14s cubic-bezier(.23,1,.32,1),background-color .16s;display:flex}.assignment-form .route-saved-presets article>button:first-child{grid-area:1/1;width:100%}.route-saved-presets article>button:first-child>span{align-items:center;gap:6px;min-width:0;display:flex}.route-saved-presets article>button:first-child svg{color:#2f755e;width:15px}.route-saved-presets article>button:first-child small{color:#71807a;flex:none}.assignment-form .route-saved-presets .route-delete-preset{color:#9b4d43;cursor:pointer;background:0 0;border:0;border-radius:9px;grid-area:1/2;place-items:center;width:40px;height:40px;min-height:40px;margin-right:6px;padding:0;display:grid}.route-delete-preset svg{width:16px}.route-preset-save{background:#eef7f3;border:1px solid #bad5cb;border-radius:13px;margin-bottom:14px;padding:13px}.route-preset-save>div{align-items:flex-start;gap:9px;display:flex}.route-preset-save>div>svg{color:#2d705b;background:#d7ebe3;border-radius:9px;width:31px;height:31px;padding:7px}.route-preset-save>div span{gap:2px;display:grid}.route-preset-save>div small{color:#64766f}.route-preset-save form{grid-template-columns:minmax(180px,1fr) auto;gap:8px;margin-top:10px;display:grid}.route-preset-save input{min-width:0}.assignment-form .route-preset-save form>button{white-space:nowrap;grid-column:auto;width:auto}.route-preset-message{grid-column:1/-1;font-size:12px;color:#315f50!important;margin:8px 0 0!important}@media (hover:hover) and (pointer:fine){.route-editor>.route-templates>button:hover{background:#fff;border-color:#88ad9f}.route-saved-presets article>button:first-child:hover{background:#f5faf8}.assignment-form .route-saved-presets .route-delete-preset:hover{background:#fff0ed}}@media (width<=620px){.route-editor>.route-templates>button{min-height:0}.assignment-form .route-editor-actions>.route-advanced-toggle{justify-content:center;width:100%}.route-preset-save form{grid-template-columns:1fr}.assignment-form .route-preset-save form>button{width:100%}.route-saved-presets article>button:first-child{flex-direction:column;align-items:flex-start;gap:3px}}.route-player-track{isolation:isolate;position:relative}.route-player-track:before{content:"";z-index:-1;background:var(--color-border);width:min(200px,100% - 72px);height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.route-player-track span{box-shadow:0 0 0 4px var(--color-bg);transition:transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) ease,background-color var(--duration-fast) ease,color var(--duration-fast) ease}.route-player-track span.active{transform:scale(1.06)}.route-player-heading{padding-inline:2px}.route-player-heading>strong{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-accent);padding:7px 11px;font-size:16px;line-height:1}.route-task-progress{height:6px;margin:12px 0 22px}.route-introduction-card{border-color:var(--color-border);background:var(--color-surface);box-shadow:0 18px 44px color-mix(in srgb,var(--color-accent) 11%,transparent);border-radius:26px;padding:20px}.route-introduction-image{border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface-subtle) 78%,var(--color-surface))}.route-introduction-card>.route-introduction-copy{flex-flow:column;align-items:stretch;gap:0;min-width:0;min-height:100%;padding:10px 6px 4px;display:flex}.route-introduction-word{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.route-introduction-word>div{gap:4px;min-width:0;display:grid}.route-introduction-word h2{overflow-wrap:normal;word-break:normal;color:var(--color-heading);font:400 clamp(42px,5vw,58px)/1.02 var(--font-display);letter-spacing:-.035em}.route-introduction-word>div>span{color:var(--color-accent);font-size:18px;font-weight:750}.route-introduction-card .route-pronunciation-button{border:1px solid color-mix(in srgb,var(--color-accent) 38%,var(--color-border));border-radius:var(--radius-md);background:var(--color-surface-subtle);min-height:42px;color:var(--color-accent);transition:transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) ease,background-color var(--duration-fast) ease;flex:none;justify-content:center;align-items:center;gap:7px;padding:9px 12px;font-weight:800;display:inline-flex}.route-pronunciation-button:active{transform:scale(.97)}.route-card-translation{color:var(--color-text);text-wrap:balance;margin:20px 0 16px;font-size:26px;line-height:1.25}.route-part-of-speech{color:var(--color-muted);align-items:center;gap:9px;margin:0;font-size:14px;display:flex}.route-part-of-speech span{border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-accent);letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;font-size:10px;font-weight:850}.route-part-of-speech b{color:var(--color-text);font-weight:700}.route-introduction-example{border:1px solid color-mix(in srgb,var(--color-warning) 35%,var(--color-border))!important;border-left:3px solid var(--color-warning)!important;border-radius:var(--radius-md)!important;background:color-mix(in srgb,var(--color-warning) 7%,var(--color-surface))!important;margin:20px 0 0!important;padding:14px 16px!important}.route-introduction-example small{color:var(--color-warning);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:850;display:block}.route-introduction-next{min-height:50px;transition:transform var(--duration-fast) var(--ease-out),background-color var(--duration-fast) ease,border-color var(--duration-fast) ease;margin-top:auto}.route-introduction-next:active{transform:scale(.98)}.route-audio-task-actions{justify-items:center;gap:10px;margin:14px 0 4px;display:grid}.route-audio-task-actions .route-audio-button{margin:0}.route-audio-unavailable{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:42px;color:var(--color-muted);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) ease,color var(--duration-fast) ease,background-color var(--duration-fast) ease;justify-content:center;align-items:center;gap:7px;padding:8px 13px;font-weight:750;display:inline-flex}.route-audio-unavailable svg{width:18px;height:18px}.route-audio-unavailable:active{transform:scale(.97)}.route-audio-task-actions>small{color:var(--color-muted);text-align:center;font-size:12px}.route-audio-pause-banner{border:1px solid color-mix(in srgb,var(--color-accent) 28%,var(--color-border));border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-accent-soft) 68%,var(--color-surface));color:var(--color-accent);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;margin:-6px 0 18px;padding:12px 14px;display:grid}.route-audio-pause-banner>svg{width:22px;height:22px}.route-audio-pause-banner>span{gap:2px;min-width:0;display:grid}.route-audio-pause-banner small{color:var(--color-muted)}.route-audio-pause-banner button{border:1px solid color-mix(in srgb,var(--color-accent) 32%,var(--color-border));border-radius:var(--radius-sm);background:var(--color-surface);min-height:38px;color:var(--color-accent);cursor:pointer;padding:7px 10px;font-weight:800}.route-answer-result .route-auto-advance{color:inherit;opacity:.78;font-size:13px}.route-answer-result .button kbd{color:inherit;font:700 10px/1.2 var(--font-sans);background:#ffffff18;border:1px solid #ffffff70;border-radius:5px;padding:2px 6px;box-shadow:0 1px #00000018}.route-retry-setting small{max-width:360px;color:var(--color-muted);font-size:11px;font-weight:500;line-height:1.35}@media (width>=721px){.route-introduction-card:has(.route-introduction-image){grid-template-columns:minmax(280px,.92fr) minmax(0,1.08fr);align-items:stretch;column-gap:30px;display:grid}.route-introduction-card:has(.route-introduction-image)>.route-introduction-image{aspect-ratio:4/3;grid-column:1;align-self:center;width:100%;height:auto;margin:0}.route-introduction-card:has(.route-introduction-image)>.route-introduction-copy{grid-column:2}}@media (hover:hover) and (pointer:fine){.route-pronunciation-button:hover{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface))}.route-audio-unavailable:hover{border-color:var(--color-accent);background:var(--color-surface-subtle);color:var(--color-accent)}}@media (width<=720px){.route-player-heading{align-items:center}.route-player-heading h1{font-size:32px}.route-player-heading>strong{font-size:14px}.route-introduction-card{text-align:center;padding:12px}.route-introduction-card>.route-introduction-image{aspect-ratio:4/3;width:100%;height:auto;margin:0 0 16px}.route-introduction-copy{padding:4px 6px 3px}.route-introduction-word{flex-direction:column;align-items:center;gap:10px}.route-introduction-word>div{justify-items:center}.route-introduction-word h2{font-size:42px}.route-pronunciation-button{margin-inline:auto}.route-card-translation{margin:17px 0 13px;font-size:23px}.route-part-of-speech{flex-wrap:wrap;justify-content:center}.route-introduction-example{text-align:left}.route-introduction-next{margin-top:20px}.route-audio-pause-banner{text-align:left;grid-template-columns:auto 1fr}.route-audio-pause-banner button{grid-column:1/-1;width:100%}.route-answer-result .button kbd{display:none}}.lesson-texts-page{max-width:1280px;margin:0 auto}.lesson-texts-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.lesson-texts-heading h1{margin:3px 0 6px;font:clamp(34px,5vw,49px)/1.05 Georgia,serif}.lesson-texts-heading p{color:#68756f;margin:0}.lesson-texts-heading .button,.lesson-upload-actions .button,.lesson-editor-actions .button,.lesson-reader-heading .button{align-items:center;gap:7px;display:flex}.lesson-workspace{grid-template-columns:250px minmax(0,1fr);gap:18px;display:grid}.lesson-library,.lesson-editor,.lesson-reader-section{background:#fffaf5;border:1px solid #e5cec3;border-radius:18px;box-shadow:0 12px 28px #6c1b1010}.lesson-library{align-self:start;padding:15px}.lesson-library h2{margin:4px 5px 12px;font:21px Georgia,serif}.lesson-library>button{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:flex-start;gap:9px;padding:11px 9px;display:flex}.lesson-library>button:hover,.lesson-library>button.active{background:#f1e4de}.lesson-library>button>svg{color:#9b4f3d;flex:none;width:20px}.lesson-library span{gap:3px;min-width:0;display:grid}.lesson-library b,.lesson-library small{text-overflow:ellipsis;overflow:hidden}.lesson-library small{color:#737c77}.lesson-main{gap:18px;min-width:0;display:grid}.lesson-editor{padding:22px}.lesson-fields{grid-template-columns:1fr 190px;gap:12px;display:grid}.lesson-fields label,.lesson-content-field{gap:6px;display:grid}.lesson-upload-actions,.lesson-editor-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.lesson-upload-actions>span{color:#6e7772;align-items:center;gap:5px;font-size:12px;display:flex}.lesson-upload-actions>span svg{width:16px}.lesson-content-field{margin-top:15px}.lesson-content-field textarea{resize:vertical;min-height:260px;font:16px/1.65 Inter,Noto Sans SC,sans-serif}.lesson-processing{background:#eee3dc;border-radius:8px;height:28px;margin-top:12px;position:relative;overflow:hidden}.lesson-processing i{background:#b8dfd2;position:absolute;inset:0 auto 0 0}.lesson-processing span{place-items:center;height:100%;font-size:11px;display:grid;position:relative}.lesson-message{color:#68491e;background:#fff0d5;border-radius:9px;margin:12px 0 0;padding:10px 12px}.lesson-reader-section{padding:25px}.lesson-reader-heading{justify-content:space-between;align-items:end;gap:18px;display:flex}.lesson-reader-heading h2{margin:3px 0;font:30px Georgia,serif}.lesson-reader-heading p{color:#6d7872;margin:0}.lesson-reader{white-space:pre-wrap;background:#fff;border:1px solid #ecddd5;border-radius:14px;margin-top:20px;padding:28px;font:18px/1.95 Inter,Noto Sans SC,sans-serif}.lesson-reader.chinese{font-size:21px;line-height:2.1}.lesson-reader button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:2px 3px;display:inline}.lesson-reader button:hover{background:#fff0c8}.lesson-reader button.selected,.lesson-reader button.focused{color:#4f2519;background:#f2b96c;box-shadow:0 0 0 1px #d89038}.selected-lesson-words{flex-wrap:wrap;align-items:center;gap:7px;margin-top:15px;display:flex}.selected-lesson-words button{color:#6c382b;cursor:pointer;background:#fff3e8;border:1px solid #d9b59f;border-radius:999px;padding:5px 9px}.lesson-empty{text-align:center;align-content:center;place-items:center;min-height:420px;display:grid}.lesson-empty svg{color:#6b9c8d;width:56px;height:56px}.lesson-empty h1{margin:12px 0 5px}@media (width<=850px){.lesson-workspace{grid-template-columns:1fr}.lesson-library{display:flex;overflow-x:auto}.lesson-library h2,.lesson-library>p{display:none}.lesson-library>button{min-width:210px}.lesson-fields{grid-template-columns:1fr}.lesson-reader-heading{flex-direction:column;align-items:start}.lesson-reader{padding:18px}.lesson-texts-heading{flex-direction:column;align-items:start}}.lesson-texts-heading{z-index:auto;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;width:100%;height:auto;padding:0;position:static}.lesson-paste-dialog textarea{resize:vertical;width:100%;margin:16px 0;font:16px/1.55 Inter,Noto Sans SC,sans-serif}.lesson-reader-word{display:inline;position:relative}.lesson-word-popover{z-index:20;color:#173e35;text-align:left;white-space:normal;background:#fffaf5;border:1px solid #d8b9a9;border-radius:13px;gap:5px;width:max-content;min-width:210px;max-width:min(320px,100vw - 32px);padding:14px 38px 14px 15px;font:15px/1.4 Inter,Noto Sans SC,sans-serif;display:grid;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 12px 30px #4020192b}.lesson-word-popover:before{content:"";background:#fffaf5;border-top:1px solid #d8b9a9;border-left:1px solid #d8b9a9;width:12px;height:12px;position:absolute;top:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.lesson-word-popover>b{font:24px/1.1 Noto Sans SC,sans-serif}.lesson-word-popover>.tone-pinyin{font-size:17px;font-weight:700}.lesson-word-popover>span:last-child{color:#455b54}.lesson-word-popover small{color:#6c7772}.lesson-reader .lesson-word-popover-close{z-index:1;color:#65736d;background:0 0;border-radius:50%;place-items:center;width:27px;height:27px;padding:5px;display:grid;position:absolute;top:7px;right:7px}.lesson-reader .lesson-word-popover-close:hover{background:#efe3dc}.lesson-word-popover-close svg{width:15px;height:15px}@media (width<=650px){.lesson-word-popover{z-index:80;top:auto;right:14px;bottom:calc(76px + env(safe-area-inset-bottom));width:auto;max-width:none;position:fixed;left:14px;transform:none}.lesson-word-popover:before{display:none}}@media (width<=900px){.lesson-texts-page,.lesson-texts-heading>div,.lesson-workspace,.lesson-main{width:100%;min-width:0}.lesson-texts-heading{grid-template-columns:minmax(0,1fr);place-items:start;gap:14px;min-height:0!important;margin:0 0 20px!important;display:grid!important}.lesson-texts-heading .button{white-space:normal;max-width:100%;margin:0;position:static!important}.lesson-workspace{grid-template-columns:minmax(0,1fr)}.lesson-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid;overflow:visible}.lesson-library h2{grid-column:1/-1;display:block}.lesson-library>p{grid-column:1/-1}.lesson-library>button{width:100%;min-width:0;height:100%}.lesson-library b,.lesson-library small{white-space:normal;overflow-wrap:anywhere}.lesson-editor,.lesson-reader-section{min-width:0}}@media (width<=650px){.lesson-texts-heading h1{font-size:38px}.lesson-library{grid-template-columns:minmax(0,1fr)}.lesson-library h2,.lesson-library>p{display:block}.lesson-editor,.lesson-reader-section{padding:16px}.lesson-upload-actions{flex-direction:column;align-items:stretch}.lesson-upload-actions .button{white-space:normal;width:100%}.lesson-upload-actions>span{overflow-wrap:anywhere;width:100%}.lesson-content-field textarea{width:100%;min-width:0}}.app-shell--content .lesson-library,.app-shell--content .lesson-editor,.app-shell--content .lesson-reader-section{border-color:var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.app-shell--content .lesson-library{top:var(--space-6);max-height:calc(100dvh - var(--space-12));padding:var(--space-3);position:sticky;overflow:auto}.app-shell--content .lesson-library-heading{padding:var(--space-2) var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.app-shell--content .lesson-library-heading h2{color:var(--color-heading);font:400 var(--text-lg)/1.2 var(--font-display);margin:0}.app-shell--content .lesson-library>button{margin-top:var(--space-1);transition:transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) ease,background-color var(--duration-fast) ease;border:1px solid #0000}.app-shell--content .lesson-library>button.active{border-color:var(--color-border);background:var(--color-surface-subtle)}.app-shell--content .lesson-library>button:active{transform:scale(.98)}.app-shell--content .lesson-library>button>svg{color:var(--color-accent)}.app-shell--content .lesson-editor,.app-shell--content .lesson-reader-section{padding:var(--space-6)}.app-shell--content .lesson-editor-heading{align-items:center}.app-shell--content .lesson-fields label,.app-shell--content .lesson-content-field{color:var(--color-text);font-weight:700}.app-shell--content .lesson-fields input,.app-shell--content .lesson-fields select,.app-shell--content .lesson-content-field textarea{border-color:var(--color-border);background:var(--color-input);color:var(--color-text);font-weight:400}.app-shell--content .lesson-upload-actions{padding:var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.app-shell--content .lesson-processing{background:var(--color-border)}.app-shell--content .lesson-processing i{background:color-mix(in srgb,var(--color-accent) 42%,var(--color-surface))}.app-shell--content .lesson-message{background:color-mix(in srgb,var(--color-warning) 9%,var(--color-surface));color:var(--color-warning)}.app-shell--content .lesson-reader-heading{align-items:flex-end;margin-bottom:0}.app-shell--content .lesson-reader{margin-top:var(--space-5);border-color:var(--color-border);background:var(--color-input);color:var(--color-text)}.app-shell--content .selected-lesson-words{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.app-shell--content .selected-lesson-words button{border-color:var(--color-border);background:var(--color-surface);color:var(--color-accent);transition:transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) ease}.app-shell--content .selected-lesson-words button:active{transform:scale(.97)}@media (width<=1080px){.app-shell--content .lesson-workspace{grid-template-columns:minmax(0,1fr)}.app-shell--content .lesson-library{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));max-height:none;display:grid;position:static;overflow:visible}.app-shell--content .lesson-library-heading{grid-column:1/-1}.app-shell--content .lesson-library>button{width:100%;min-width:0;height:100%}}@media (width<=650px){.app-shell--content .lesson-editor,.app-shell--content .lesson-reader-section{padding:var(--space-4);border-radius:var(--radius-md)}.app-shell--content .lesson-library{grid-template-columns:minmax(0,1fr)}.app-shell--content .lesson-reader-heading .button{justify-content:center;width:100%}.app-shell--content .lesson-upload-actions{padding:var(--space-2)}}.lesson-reader-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.lesson-reading-layout{margin-top:var(--space-5,20px);grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);align-items:start;gap:14px;display:grid}.app-shell--content .lesson-reading-layout .lesson-reader,.lesson-reading-layout .lesson-reader{min-height:390px;margin-top:0}.lesson-translation-panel{border:1px solid var(--color-border,#e4d5ce);background:var(--color-surface-subtle,#f6eee9);min-width:0;max-height:calc(100vh - 40px);color:var(--color-text,#293b35);border-radius:14px;padding:18px;position:sticky;top:20px;overflow:auto}.lesson-translation-panel>header{border-bottom:1px solid var(--color-border,#e2d5ce);justify-content:space-between;align-items:center;gap:10px;padding-bottom:12px;display:flex}.lesson-translation-panel>header h3{font:23px/1.15 var(--font-display,Georgia,serif);margin:3px 0 0}.lesson-translation-panel>header>svg{color:#31715d;background:#dcefe8;border-radius:11px;width:38px;height:38px;padding:8px}.lesson-translation-copy{padding:10px 1px 2px}.lesson-translation-copy p{margin:0 0 12px;font-size:15px;line-height:1.7}.lesson-translation-copy p:last-child{margin-bottom:0}.lesson-translation-empty,.lesson-translation-loading{text-align:center;min-height:220px;color:var(--color-muted,#6f7a75);align-content:center;place-items:center;gap:7px;padding:24px 12px;display:grid}.lesson-translation-empty>svg,.lesson-translation-loading>svg{color:#4d8976;width:34px;height:34px}.lesson-translation-empty b,.lesson-translation-loading b{color:var(--color-heading,#294239)}.lesson-translation-empty span,.lesson-translation-loading span{max-width:280px;font-size:12px;line-height:1.5}.lesson-translation-empty button{color:#286a55;cursor:pointer;background:#e4f2ed;border:1px solid #8eb8aa;border-radius:9px;margin-top:6px;padding:8px 12px;font-weight:800}.lesson-translation-empty.error{min-height:170px}.lesson-translation-empty.error b{color:#9e4139}.lesson-character-details{background:var(--color-surface,#fff);border:1px dashed #cbbeb7;border-radius:12px;margin-top:14px;padding:13px}.lesson-character-details.visible{border-style:solid;border-color:#8fbcad;box-shadow:0 0 0 2px #65a89118}.lesson-character-details-title{color:#8d6254;letter-spacing:.12em;justify-content:space-between;align-items:center;gap:8px;font-size:9px;font-weight:900;display:flex}.lesson-character-details-title button{color:#697772;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:28px;height:28px;padding:5px;display:grid}.lesson-character-details-title button:hover{background:#eee5df}.lesson-character-details-title svg{width:15px}.lesson-character-details>p{color:var(--color-muted,#6e7974);margin:10px 0 2px;font-size:12px;line-height:1.5}.lesson-character-result{gap:5px;margin-top:9px;display:grid}.lesson-character-result>b{color:var(--color-heading,#193f35);font:34px/1.1 Noto Sans SC,sans-serif}.lesson-character-result>.tone-pinyin{font-size:17px;font-weight:750}.lesson-character-result>strong{color:#315e51;font-size:15px}.lesson-character-result blockquote{background:var(--color-surface-subtle,#f7eee8);border-left:3px solid #d8a253;border-radius:0 8px 8px 0;margin:8px 0 0;padding:9px 11px;font:13px/1.55 Noto Sans SC,sans-serif}.lesson-word-loading{min-height:90px;color:var(--color-muted,#6e7974);justify-content:center;align-items:center;gap:7px;font-size:12px;display:flex}.lesson-word-loading svg{width:17px}@media (width<=980px){.lesson-reading-layout{grid-template-columns:1fr}.lesson-translation-panel{max-height:none;position:static}.lesson-reader-actions{justify-content:flex-start;width:100%}}@media (width<=650px){.lesson-reader-actions{grid-template-columns:1fr;display:grid}.lesson-reader-heading .lesson-reader-actions .button{width:100%}.lesson-reading-layout{gap:10px}.lesson-translation-panel{padding:14px}.app-shell--content .lesson-reading-layout .lesson-reader,.lesson-reading-layout .lesson-reader{min-height:260px}}.lesson-workspace{grid-template-columns:minmax(0,1fr)}.lesson-library{grid-template-columns:minmax(170px,210px) minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:10px 12px;display:grid}.lesson-library-heading{justify-content:space-between;align-items:center;gap:10px;padding:4px 10px;display:flex}.lesson-library-heading h2,.lesson-library h2{margin:0}.lesson-library-list{overscroll-behavior-inline:contain;scrollbar-width:thin;align-items:stretch;gap:8px;min-width:0;padding:2px;display:flex;overflow-x:auto}.lesson-library-list>button{min-width:210px;max-width:270px;color:inherit;text-align:left;cursor:pointer;transition:transform var(--duration-fast,.16s) var(--ease-out,ease-out),border-color var(--duration-fast,.16s) ease,background-color var(--duration-fast,.16s) ease;background:0 0;border:1px solid #0000;border-radius:11px;align-items:flex-start;gap:9px;padding:10px 12px;display:flex}.lesson-library-list>button:hover{background:var(--color-surface-subtle,#f1e4de)}.lesson-library-list>button.active{border-color:var(--color-border,#e5cec3);background:var(--color-surface-subtle,#f1e4de)}.lesson-library-list>button:active{transform:scale(.98)}.lesson-library-list>button>svg{width:19px;color:var(--color-accent,#9b4f3d);flex:none}.lesson-library-list>button>span{gap:3px;min-width:0;display:grid}.lesson-library-list b,.lesson-library-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lesson-library-list small{color:var(--color-muted,#737c77)}.lesson-library-list>p{color:var(--color-muted,#737c77);margin:8px}.app-shell--content .lesson-texts-page{max-width:1500px}.app-shell--content .lesson-workspace{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}.app-shell--content .lesson-library{grid-template-columns:minmax(0,1fr);gap:10px;max-height:none;padding:12px;position:static;top:auto;overflow:visible}.app-shell--content .lesson-library-heading{border:0;padding:4px 10px}.app-shell--content .lesson-library-list>button{margin:0}.app-shell--content .lesson-library-list{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:8px;padding:0;display:grid;overflow:visible}.app-shell--content .lesson-library-list>button{width:100%;min-width:0;max-width:none;min-height:64px}.app-shell--content .lesson-library-list :is(b,small){white-space:normal;overflow-wrap:anywhere}.lesson-parallel-reader{margin-top:var(--space-5,20px);border:1px solid var(--color-border,#e4d5ce);background:var(--color-input,#fff);border-radius:15px;overflow:hidden}.lesson-parallel-heading{background:var(--color-surface-subtle,#f6eee9);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.lesson-parallel-heading>div{border-bottom:1px solid var(--color-border,#e4d5ce);min-width:0;padding:16px 22px}.lesson-parallel-heading>div+div{border-left:1px solid var(--color-border,#e4d5ce)}.lesson-parallel-heading h3{color:var(--color-heading,#294239);font:23px/1.15 var(--font-display,Georgia,serif);margin:3px 0 0}.lesson-parallel-heading h3 svg{vertical-align:-3px;width:19px;height:19px;color:var(--color-accent,#31715d);margin-right:5px}.lesson-parallel-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.lesson-parallel-row:not(:last-child){border-bottom:1px solid var(--color-border,#e4d5ce)}.lesson-reader.lesson-reader-segment{border:0;border-right:1px solid var(--color-border,#e4d5ce);background:var(--color-input,#fff);white-space:normal;border-radius:0;min-height:0;margin:0;padding:17px 22px;font-size:18px;line-height:1.8}.lesson-reader.lesson-reader-segment.chinese{font-size:20px;line-height:1.8}.lesson-translation-segment{background:color-mix(in srgb,var(--color-surface-subtle,#f6eee9) 58%,var(--color-input,#fff));min-width:0;color:var(--color-text,#293b35);margin:0;padding:17px 22px;font-size:17px;line-height:1.8}.lesson-translation-segment>span{color:var(--color-muted,#6f7a75);font-size:13px}.lesson-character-details-wide{margin-top:12px}.lesson-character-details-wide .lesson-character-result{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:14px}.lesson-character-details-wide .lesson-character-result>b{grid-row:1/3}.lesson-character-details-wide .lesson-character-result blockquote{grid-column:1/-1}@media (width<=900px){.lesson-library,.app-shell--content .lesson-library{grid-template-columns:minmax(0,1fr);gap:6px;padding:10px;overflow:hidden}.lesson-library-heading,.app-shell--content .lesson-library-heading{padding:4px 6px 8px}.lesson-library-list>button{min-width:200px}}@media (width<=980px){.lesson-parallel-heading{display:none}.lesson-parallel-row{grid-template-columns:minmax(0,1fr)}.lesson-reader.lesson-reader-segment{border-right:0;padding:16px 18px}.lesson-translation-segment{border-top:1px dashed var(--color-border,#e4d5ce);padding:14px 18px}.lesson-translation-segment:before{content:"Перевод";color:var(--color-accent,#31715d);letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:850;display:block}}@media (width<=650px){.lesson-library-list>button{min-width:min(78vw,240px)}.lesson-reader.lesson-reader-segment,.lesson-translation-segment{padding:14px}.lesson-reader.lesson-reader-segment.chinese{font-size:19px}}.lesson-phrase-toolbar{margin-top:var(--space-4,16px);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.lesson-phrase-toolbar .button{flex:none;min-height:40px}.lesson-phrase-toolbar .button.active{color:#653318;background:#fff0d8;border-color:#d89038}.lesson-phrase-toolbar>span{min-width:0;color:var(--color-muted,#6e7974);font-size:13px;line-height:1.45}.lesson-reader .lesson-reader-selected-phrase,.lesson-reader button.phrase-start{color:#4f2519;background:#f2b96c}.lesson-reader .lesson-reader-selected-phrase{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px}.lesson-reader .lesson-reader-selected-phrase button,.lesson-reader .lesson-reader-selected-phrase button:hover{color:inherit;box-shadow:none;background:0 0;border-radius:0;padding-inline:0}.lesson-reader button.phrase-start{box-shadow:0 0 0 1px #d89038}.lesson-reader .lesson-reader-word>button{padding:0}@media (width<=650px){.lesson-phrase-toolbar{flex-direction:column;align-items:stretch;gap:7px}.lesson-phrase-toolbar .button{justify-content:center;width:100%}.app-shell--content .lesson-editor-heading{align-items:flex-start}}:root{--font-sans:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-display:Georgia, "Times New Roman", "Noto Serif SC", serif;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:clamp(1.5rem, 2vw, 2rem);--text-page-title:clamp(2.25rem, 4vw, 3.25rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-pill:999px;--control-height:44px;--control-height-compact:36px;--content-width:1160px;--learning-width:960px;--sidebar-width:236px;--sidebar-width-open:236px;--mobile-nav-height:64px;--color-bg:var(--theme-bg,#f8f6f0);--color-surface:var(--theme-surface,#fffdfa);--color-surface-subtle:var(--theme-surface-soft,#f1f7f4);--color-text:var(--theme-surface-text,#19332d);--color-heading:var(--theme-surface-heading,#19332d);--color-muted:var(--theme-surface-muted,#5d6b66);--color-accent:var(--theme-accent,#28705d);--color-border:var(--theme-border,#d9ddd7);--color-input:var(--theme-input,#fff);--color-danger:var(--theme-danger,#a33e38);--color-warning:#966315;--color-success:#22664f;--color-info:#285f79;--focus-ring:0 0 0 3px color-mix(in srgb, var(--color-accent) 34%, transparent);--shadow-sm:0 4px 14px color-mix(in srgb, var(--theme-shadow,#193d3420) 64%, transparent);--shadow-md:0 14px 36px var(--theme-shadow,#193d3420);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--duration-fast:.14s;--duration-ui:.2s}.app-shell{background:var(--color-bg);min-width:0;min-height:100dvh;color:var(--theme-text,var(--color-text));font-family:var(--font-sans)}.app-shell main{min-width:0}.learning-shell{width:100%;max-width:var(--learning-width);min-width:0;min-height:calc(100dvh - var(--space-12) * 2);margin-inline:auto}.app-shell--content :where(.page-title),.app-shell--learning :where(.page-title){margin-block:var(--space-2) var(--space-5);color:var(--theme-heading,var(--color-heading));font-family:var(--font-display);font-size:var(--text-page-title);letter-spacing:-.025em;text-wrap:balance;font-weight:400;line-height:1.08}.app-shell--content :where(.lead),.app-shell--learning :where(.lead){max-width:68ch;color:var(--theme-muted,var(--color-muted));font-size:var(--text-md);line-height:1.65}.app-shell--content :where(.library-hero,.dictionary-hero,.writing-page-title,.classroom-heading,.lesson-texts-heading){min-width:0;margin:0 0 var(--space-6);padding:0 0 var(--space-5);border-bottom:1px solid var(--color-border)}.app-shell--content :where(.library-hero,.dictionary-hero,.writing-page-title,.classroom-heading,.lesson-texts-heading) :where(h1,.page-title),.app-shell--content .library-hero .page-title,.app-shell--content .dictionary-hero .page-title,.app-shell--content .writing-page-title .page-title,.app-shell--content .classroom-heading h1,.app-shell--content .lesson-texts-heading h1{margin:var(--space-1) 0 var(--space-2);color:var(--theme-heading,var(--color-heading));font-family:var(--font-display);font-size:var(--text-page-title);letter-spacing:-.025em;text-wrap:balance;font-weight:400;line-height:1.08}.app-shell--content :where(.library-hero,.dictionary-hero,.writing-page-title,.classroom-heading,.lesson-texts-heading) :where(p:last-child),.app-shell--content .library-hero p:last-child,.app-shell--content .dictionary-hero p:last-child,.app-shell--content .writing-page-title>div>p:last-child,.app-shell--content .classroom-heading p,.app-shell--content .lesson-texts-heading p{max-width:68ch;color:var(--theme-muted,var(--color-muted));margin:0;line-height:1.55}.app-shell--content :where(.library-hero-icon,.dictionary-hero-icon,.writing-page-title>span){border-radius:var(--radius-lg);background:var(--color-surface-subtle);width:58px;height:58px;color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-border)}.app-shell--content :where(.button,.icon-button),.app-shell--learning :where(.button,.icon-button){min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);box-shadow:none;transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) ease, background-color var(--duration-fast) ease, color var(--duration-fast) ease, box-shadow var(--duration-fast) ease;font-weight:750}.app-shell--content :where(.button.primary),.app-shell--learning :where(.button.primary){border-color:var(--color-accent);background:var(--color-accent);color:#fff}.app-shell--content :where(.button,.icon-button):active:not(:disabled),.app-shell--learning :where(.button,.icon-button):active:not(:disabled){transform:scale(.98)}.app-shell--content :where(.button,.icon-button):disabled,.app-shell--learning :where(.button,.icon-button):disabled{opacity:.52;cursor:not-allowed}.app-shell--content :where(input:not([type=checkbox]):not([type=radio]),select,textarea),.app-shell--learning :where(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);transition:border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease;background:var(--color-input)!important;color:var(--color-text)!important}.app-shell--content :where(textarea),.app-shell--learning :where(textarea){min-height:112px;line-height:1.55}.app-shell--content :where(input:not([type=checkbox]):not([type=radio]),select,textarea):focus,.app-shell--learning :where(input:not([type=checkbox]):not([type=radio]),select,textarea):focus,.app-shell--content :where(button,a):focus-visible,.app-shell--learning :where(button,a):focus-visible{border-color:var(--color-accent);box-shadow:var(--focus-ring);outline:none}.app-shell--content :where(.form-card,.settings,.empty,.ui-surface),.app-shell--learning :where(.form-card,.settings,.empty,.ui-surface){border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.app-shell :where(.ui-tabs){gap:var(--space-1);padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);display:flex}.app-shell :where(.ui-tabs>button){min-height:var(--control-height);border-radius:calc(var(--radius-md) - 3px);color:var(--color-muted);box-shadow:none;background:0 0;border:0}.app-shell :where(.ui-tabs>button[aria-selected=true],.ui-tabs>button.active){background:var(--color-surface);color:var(--color-heading);box-shadow:var(--shadow-sm)}.app-shell :where(.ui-card){border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0;color:var(--color-text);box-shadow:var(--shadow-sm)}.app-shell :where(.ui-card-actions){align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);display:flex}.app-shell :where(.ui-empty-state){min-height:260px;padding:var(--space-8);border:1px dashed color-mix(in srgb, var(--color-border) 75%, var(--color-accent));border-radius:var(--radius-lg);align-content:center;place-items:center;gap:var(--space-2);background:color-mix(in srgb, var(--color-surface) 82%, transparent);color:var(--color-muted);text-align:center;box-shadow:none;display:grid}.app-shell :where(.ui-section){min-width:0;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.app-shell :where(.ui-section-heading){min-width:0;margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-end;gap:var(--space-4);display:flex}.app-shell :where(.ui-section-heading h2){margin:var(--space-1) 0 0;color:var(--color-heading);font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;line-height:1.15}.app-shell :where(.ui-section-heading p:last-child){max-width:64ch;margin:var(--space-1) 0 0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.5}.app-shell :where(.ui-meta-pill){border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-accent);font-size:var(--text-xs);flex:none;padding:6px 10px;font-weight:800;line-height:1}.app-shell--learning .learning-session-bar{min-width:0;min-height:52px;margin:0 0 var(--space-6);padding:0 0 var(--space-3);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.app-shell--learning .learning-session-bar :where(a){min-height:40px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);align-items:center;gap:var(--space-2);color:var(--theme-text,var(--color-text));font-size:var(--text-sm);font-weight:750;display:inline-flex}.dashboard-main .teacher-home-greeting,.app-shell--content .classroom-heading,.app-shell--content .lesson-texts-heading,.app-shell--content .lesson-translation-panel>header{color:inherit;background:0 0!important}.app-shell--learning .learning-session-bar>span,.app-shell--learning .learning-session-bar>.actions:last-child>span{border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-accent);font-size:var(--text-xs);flex:none;padding:6px 10px;font-weight:800}.app-shell--learning .learning-session-bar>.actions{gap:var(--space-2);min-width:0}.app-shell--learning .learning-progress-bar{border-radius:var(--radius-pill);background:var(--color-border);height:8px;overflow:hidden}.app-shell--learning .learning-progress-bar>:where(span,i){border-radius:inherit;background:var(--color-accent);height:100%;transition:width .18s var(--ease-out);display:block}.app-shell--learning :where(.study-card,.writing-card,.context-card,.matching-review-card,.route-introduction-card,.route-exercise-card,.triple-prompt,.sentence-gap-card){border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-md)}.app-shell--learning .route-exercise-card,.app-shell--learning .route-introduction-card{color:var(--color-text)}.app-shell--learning .route-player-heading h1{color:var(--theme-heading,var(--color-heading))}.app-shell--learning .route-player-heading small{color:var(--theme-muted,var(--color-muted))}.app-shell--learning .route-exercise-instruction{color:var(--color-muted)}.app-shell--learning .route-exercise-instruction>span{color:var(--color-accent)}.app-shell--learning .route-exercise-prompt,.app-shell--learning .route-introduction-card h2,.app-shell--learning .route-exercise-card form label,.app-shell--learning .route-letter-answer{color:var(--color-heading)}.app-shell--learning .route-choice-grid button:not(.correct):not(.wrong),.app-shell--learning .route-letter-grid button{border-color:var(--color-border);background:var(--color-input);color:var(--color-heading)}.route-letter-grid.route-phrase-grid button{width:auto;min-width:72px;padding:0 16px;font-size:16px;font-weight:750}.route-phrase-answer{place-items:center;min-height:58px;line-height:1.35;display:grid}.route-phrase-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.route-context-coverage{border:1px solid var(--color-border);background:var(--color-surface-subtle);color:var(--color-muted);border-radius:12px;align-items:center;gap:9px;margin:-12px 0 22px;padding:10px 13px;font-size:13px;display:flex}.route-context-coverage svg{width:18px;height:18px;color:var(--color-accent);flex:none}.app-shell--learning .route-audio-button{border-color:var(--color-border);background:var(--color-surface-subtle);color:var(--color-accent)}.app-shell--learning .route-hint{color:color-mix(in srgb, var(--color-accent) 72%, #ffd06b)}.app-shell--learning .route-introduction-card blockquote{border-left-color:var(--color-accent);background:var(--color-surface-subtle);color:var(--color-text)}.app-shell--learning .route-introduction-card blockquote span{color:var(--color-muted)}.app-shell--learning :where(.matching-board button,.triple-options button,.route-choice-grid button,.sentence-gap-options button,.binary-answer-grid button){transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) ease, background-color var(--duration-fast) ease, color var(--duration-fast) ease}.app-shell--learning :where(.matching-board button,.triple-options button,.route-choice-grid button,.sentence-gap-options button,.binary-answer-grid button):active:not(:disabled){transform:scale(.98)}.app-shell--learning :where(.study-complete,.route-player-complete,.writing-practice-complete,.journey-celebration-card){border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-md)}.app-shell--content :where(.error,.success,.warning,.info,.ui-status),.app-shell--learning :where(.error,.success,.warning,.info,.ui-status){border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);border:1px solid;line-height:1.45}.app-shell :where(.error){color:var(--color-danger)}.app-shell :where(.success){color:var(--color-success)}.app-shell :where(.warning){color:var(--color-warning)}.app-shell :where(.info){color:var(--color-info)}@media (hover:hover) and (pointer:fine){.app-shell--content :where(.button,.icon-button):hover:not(:disabled),.app-shell--learning :where(.button,.icon-button):hover:not(:disabled){border-color:var(--color-accent);box-shadow:var(--shadow-sm)}}@media (width<=720px){.learning-shell{min-height:calc(100dvh - var(--mobile-nav-height) - var(--space-8))}.app-shell--content :where(.form-card,.settings),.app-shell--learning :where(.form-card,.settings){border-radius:var(--radius-md)}.app-shell :where(.ui-card-actions){flex-direction:column;align-items:stretch}.app-shell :where(.ui-card-actions>.button){width:100%}.app-shell :where(.ui-section){padding:var(--space-4);border-radius:var(--radius-md)}.app-shell :where(.ui-section-heading){flex-direction:column;align-items:flex-start}.app-shell--learning .learning-session-bar{min-height:48px;margin-bottom:var(--space-4);padding-bottom:var(--space-2);flex-wrap:wrap;align-items:flex-start}.app-shell--learning .learning-session-bar>.actions{width:100%}.app-shell--learning .learning-session-bar>.actions:last-child:not(:first-child){padding-top:var(--space-2);border-top:1px solid var(--color-border);justify-content:space-between}}@media (width<=900px){.app-shell--content :where(.library-hero,.dictionary-hero,.writing-page-title,.classroom-heading,.lesson-texts-heading){margin-bottom:var(--space-5);padding-bottom:var(--space-4)}}@media (prefers-reduced-motion:reduce){.app-shell *,.app-shell :before,.app-shell :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}:root{--rv-bg:#f5f4ed;--rv-surface:#fffefa;--rv-soft:#eaf0e7;--rv-text:#203c32;--rv-muted:#5b6a60;--rv-accent:#245d45;--rv-deep:#193f30;--rv-border:#d7ded3;--rv-warning:#8a542b;--rv-warning-bg:#fff0df;--rv-error:#a03832;--rv-error-bg:#fcebe6;--rv-on-accent:#fffefa;--rv-tone-1:#176499;--rv-tone-2:#216d4e;--rv-tone-3:#8a5400;--rv-tone-4:#a33434;--sidebar-width:228px;--sidebar-width-open:228px;--radius-lg:14px;--radius-xl:16px;--text-page-title:32px;--mobile-nav-height:68px}:root[data-theme=dark]{--rv-bg:#151e1a;--rv-surface:#202d25;--rv-soft:#2b3b31;--rv-text:#edf2e9;--rv-muted:#b2c1b6;--rv-accent:#b6d6a8;--rv-deep:#203c2b;--rv-border:#415447;--rv-warning:#f0c08d;--rv-warning-bg:#3b3024;--rv-error:#ffb4a6;--rv-error-bg:#3b2724;--rv-on-accent:#193f30;--rv-tone-1:#8ac7ff;--rv-tone-2:#8ee0b4;--rv-tone-3:#ffd37a;--rv-tone-4:#ffb3a6}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--rv-bg:#151e1a;--rv-surface:#202d25;--rv-soft:#2b3b31;--rv-text:#edf2e9;--rv-muted:#b2c1b6;--rv-accent:#b6d6a8;--rv-deep:#203c2b;--rv-border:#415447;--rv-warning:#f0c08d;--rv-warning-bg:#3b3024;--rv-error:#ffb4a6;--rv-error-bg:#3b2724;--rv-on-accent:#193f30;--rv-tone-1:#8ac7ff;--rv-tone-2:#8ee0b4;--rv-tone-3:#ffd37a;--rv-tone-4:#ffb3a6}}:root:root{--theme-bg:var(--rv-bg);--theme-surface:var(--rv-surface);--theme-surface-soft:var(--rv-soft);--theme-text:var(--rv-text);--theme-heading:var(--rv-text);--theme-muted:var(--rv-muted);--theme-surface-text:var(--rv-text);--theme-surface-heading:var(--rv-text);--theme-surface-muted:var(--rv-muted);--theme-header-text:var(--rv-text);--theme-header:var(--rv-surface);--theme-accent:var(--rv-accent);--theme-border:var(--rv-border);--theme-input:var(--rv-surface);--theme-danger:var(--rv-error);--theme-shadow:#00000014;--theme-new-card:var(--rv-soft);--theme-review-card:var(--rv-soft);--theme-new-heading:var(--rv-text);--theme-review-heading:var(--rv-text);--green:var(--rv-accent);--mint:var(--rv-soft);--paper:var(--rv-surface);--line:var(--rv-border);--color-bg:var(--rv-bg);--color-surface:var(--rv-surface);--color-surface-subtle:var(--rv-soft);--color-text:var(--rv-text);--color-heading:var(--rv-text);--color-muted:var(--rv-muted);--color-accent:var(--rv-accent);--color-border:var(--rv-border);--color-input:var(--rv-surface);--color-danger:var(--rv-error);--color-warning:var(--rv-warning);--dashboard-page:var(--rv-bg);--dashboard-page-glow:var(--rv-bg);--dashboard-ink:var(--rv-text);--dashboard-muted:var(--rv-muted);--dashboard-surface:var(--rv-surface);--dashboard-surface-soft:var(--rv-soft);--dashboard-border:var(--rv-border);--dashboard-feature:var(--rv-deep);--dashboard-feature-text:#fffefa;--dashboard-word:var(--rv-surface);--dashboard-shadow:transparent;--app-sidebar-bg:var(--rv-surface);--app-sidebar-icon:var(--rv-muted);--app-sidebar-shadow:transparent;--app-sidebar-shadow-open:transparent}body{font-family:var(--font-sans);font-size:14px;line-height:1.5}.app-shell--content .new-deck-form{max-width:none}::selection{background:var(--rv-soft);color:var(--rv-text)}*{scrollbar-color:var(--rv-border) var(--rv-bg);scrollbar-width:thin}input,textarea{caret-color:var(--rv-accent)}:focus-visible{outline:2px solid var(--rv-accent);outline-offset:3px}.app-shell .app-main-with-sidebar{width:auto;max-width:1428px;margin:0 0 0 228px;padding:32px 36px 48px}.app-shell--learning .app-main-with-sidebar{max-width:1040px;margin:0 auto;padding:24px 32px}@media (width>=721px){.app-shell--learning:has(.app-sidebar) .app-main-with-sidebar{margin-left:228px;margin-right:0}}@media (width<=720px){.app-shell--learning:has(.app-sidebar) .app-main-with-sidebar{padding-bottom:calc(90px + env(safe-area-inset-bottom))}}.app-shell--marketing .app-main-with-sidebar{max-width:none;margin:0;padding:0}.app-shell .app-skip-link{z-index:150;background:var(--rv-surface);padding:12px;position:fixed;top:8px;left:16px;transform:translateY(-160%)}.app-shell .app-skip-link:focus{transform:none}.app-shell :is(h1,h2,h3,.page-title){color:var(--rv-text);font-family:var(--font-sans);letter-spacing:-.025em}.app-shell h1,.app-shell--content :is(.library-hero,.dictionary-hero,.writing-page-title,.classroom-heading,.lesson-texts-heading) :is(h1,.page-title){font-family:var(--font-sans);font-size:32px;font-weight:600;line-height:1.2}.app-shell h2{font-size:21px;font-weight:600;line-height:1.3}.app-shell h3{font-size:16px;font-weight:600}.app-shell :is(.eyebrow,.landing-kicker){display:none}.app-shell :is(.button,button,input,select,textarea){border-radius:8px}.app-shell :is(.button,button:not(.route-letter-answer)){min-height:44px}.app-shell :is(.button,button){font-weight:600}.app-shell :is(input[type=checkbox],input[type=radio]){accent-color:var(--rv-accent)}.app-shell .image-prompt-button{background:var(--rv-accent);color:var(--rv-on-accent);box-shadow:none}.app-shell :is(input,select,textarea){background:var(--rv-surface);color:var(--rv-text);border-color:var(--rv-border)}.app-shell :is(input,textarea)::placeholder{color:var(--rv-muted);opacity:1}.app-shell :is(.button.primary,button.primary,.landing-button-primary){background:var(--rv-accent);color:var(--rv-on-accent);border-color:var(--rv-accent);box-shadow:none}.app-shell .button:not(.primary){background:var(--rv-surface);color:var(--rv-text);border:1px solid var(--rv-border);box-shadow:none}.app-shell :is(.ui-card,.form-card,.settings,.assignment-card,.student-card,.lesson-text-card,.library-deck-card){background:var(--rv-surface);color:var(--rv-text);border-color:var(--rv-border);box-shadow:none;border-radius:14px}.app-shell .settings{width:100%;min-width:0;max-width:none}.app-shell :is(.ui-tabs,.library-tabs){border:0;border-bottom:1px solid var(--rv-border);background:0 0;border-radius:0;gap:18px;padding:0}.app-shell :is(.ui-tabs,.library-tabs) button{color:var(--rv-muted);box-shadow:none;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0}.app-shell :is(.ui-tabs,.library-tabs) button[aria-selected=true]{color:var(--rv-accent);border-bottom-color:var(--rv-accent);background:0 0}.app-shell :is(.error,.warning,.success,.info,.ui-status){border-left-width:1px;border-radius:8px}.app-shell .error{color:var(--rv-error);background:var(--rv-error-bg)}.app-shell .app-sidebar{background:var(--rv-surface);width:228px;color:var(--rv-text);border-right:1px solid var(--rv-border);box-shadow:none;padding:22px 16px 86px;display:flex}.app-shell .app-sidebar:hover,.app-shell .app-sidebar:focus-within{width:228px;box-shadow:none}.repetivo-brand{color:var(--rv-text);white-space:nowrap;align-items:center;gap:10px;font:24px/1.2 Georgia,serif;text-decoration:none;display:flex}.repetivo-brand .brand-logo--compact{flex:none;width:38px;height:38px}:root .repetivo-brand .brand-logo--compact .brand-logo-light.brand-logo-icon{width:38px;display:block!important}:root .repetivo-brand .brand-logo--compact .brand-logo-dark.brand-logo-icon{display:none}:root .app-shell .tone-pinyin .tone-1{color:var(--rv-tone-1)}:root .app-shell .tone-pinyin .tone-2{color:var(--rv-tone-2)}:root .app-shell .tone-pinyin .tone-3{color:var(--rv-tone-3)}:root .app-shell .tone-pinyin .tone-4{color:var(--rv-tone-4)}:root .app-shell .tone-pinyin :is(.tone-0,.tone-5){color:var(--rv-muted)}.app-shell .new-word-meaning{background:var(--rv-surface);color:var(--rv-text)}.app-shell .focused-writing-context{color:var(--rv-text);background:0 0}.app-shell .focused-writing-context p{background:0 0;padding:0}.app-shell .app-sidebar-nav{gap:3px;margin-top:24px}.app-shell .app-sidebar-nav :is(a,button){min-height:44px;color:var(--rv-muted);white-space:normal;border-radius:8px;font-size:13px;font-weight:400}.app-shell .app-sidebar-nav :is(a,button) svg{color:currentColor;flex:none;width:19px;height:19px}.app-shell .app-sidebar-nav a.active{background:var(--rv-soft);color:var(--rv-accent);box-shadow:none;font-weight:600}.nav-group-label{color:var(--rv-muted);padding:20px 11px 6px;font-size:11px}.app-account-control>.header-auth{z-index:31;background:var(--rv-soft);width:196px;color:var(--rv-text);text-align:left;box-shadow:none;border:0;padding:12px;position:fixed;bottom:20px;left:16px}.app-account-control.is-standalone>.header-auth,.app-mobile-heading,.app-shell .app-mobile-navigation{display:none}.repetivo-menu{border:1px solid var(--rv-border);background:var(--rv-surface);width:calc(100% - 32px);max-width:440px;max-height:calc(100dvh - 40px);color:var(--rv-text);border-radius:16px;padding:20px;box-shadow:0 16px 48px #0003}.repetivo-menu::backdrop{background:#111b1666}.repetivo-menu[open]{animation:.2s cubic-bezier(.22,1,.36,1) repetivo-menu-in}.repetivo-menu header{justify-content:space-between;align-items:center;gap:16px;display:flex}.repetivo-menu h2{margin:0}.repetivo-menu .app-sidebar-nav{margin-top:12px}.app-shell .nav-update-badge{background:var(--rv-warning-bg);color:var(--rv-warning);box-shadow:none;font-style:normal}@keyframes repetivo-menu-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.app-shell--dashboard .dashboard-shell{min-height:0;color:var(--rv-text);background:0 0;display:block}.app-shell--dashboard .dashboard-content{max-width:none;padding:0;display:block}.app-shell--dashboard .dashboard-personal-grid{grid-template-columns:minmax(0,1fr) 270px;gap:24px;display:grid}.app-shell--dashboard .dashboard-personal-grid[hidden]{display:none}.app-shell--dashboard :is(.dashboard-main-column,.dashboard-side-column){gap:20px}.app-shell--dashboard .dashboard-greeting{height:auto;min-height:104px;overflow:visible}.app-shell--dashboard .dashboard-greeting h1{font:600 32px/1.2 var(--font-sans);margin:0 0 8px}.app-shell--dashboard .dashboard-greeting p{color:var(--rv-muted)}.app-shell--dashboard .dashboard-greeting .dashboard-greeting-cat{object-fit:contain;filter:none;flex:none;width:140px;height:100px;display:block}.app-shell--dashboard .dashboard-review-card{background:var(--rv-deep);color:#fffefa;min-height:192px;box-shadow:none;border:0;border-radius:14px;padding:24px}.app-shell--dashboard .dashboard-review-card h2{color:#fffefa}.app-shell--dashboard .dashboard-review-card p{color:#d4e4d7}.app-shell--dashboard .dashboard-review-count{box-shadow:none;color:#fffefa;background:0 0;border:0}.app-shell--dashboard .dashboard-review-count strong{font:600 56px/1 var(--font-sans)}.app-shell--dashboard .dashboard-review-count:before{display:none}.app-shell--dashboard .dashboard-review-count :is(strong,span){grid-area:auto;transform:none}.app-shell--dashboard .dashboard-review-count :is(span,small){color:#d4e4d7}.app-shell--dashboard .dashboard-cta{border:1px solid var(--rv-border);min-height:44px;color:var(--rv-text);background:var(--rv-surface);box-shadow:none;border-radius:8px;font-weight:600}.app-shell--dashboard .dashboard-review-card .dashboard-cta{color:#193f30;background:#fffefa;border:0}.app-shell--dashboard .dashboard-lesson-card{background:var(--rv-surface);border:1px solid var(--rv-border);box-shadow:none;border-radius:14px;padding:20px}.app-shell--dashboard .dashboard-lesson-card img{object-fit:contain;width:150px;height:130px}.app-shell--dashboard .dashboard-lesson-card :is(p,small),.app-shell--dashboard .dashboard-lesson-card>div>p:not(.eyebrow){color:var(--rv-muted)}.app-shell--dashboard .dashboard-lesson-card{grid-template-columns:minmax(0,1fr);min-height:0}.app-shell--dashboard .dashboard-lesson-card>div{grid-template-columns:minmax(0,1fr) auto;column-gap:24px;display:grid}.app-shell--dashboard .dashboard-lesson-card>div>:not(.dashboard-cta){grid-column:1}.app-shell--dashboard .dashboard-lesson-card .dashboard-cta{grid-area:1/2/span 4;align-self:center;gap:24px;width:auto;margin:0}.app-shell--dashboard .dashboard-lesson-card .dashboard-lesson-progress{max-width:100%;margin:12px 0 8px}.app-shell--dashboard .dashboard-lesson-card>img{display:none}.dashboard-deck-links{flex-wrap:wrap;gap:16px;display:flex}.dashboard-deck-links a{align-items:center;gap:8px;min-height:44px;display:inline-flex}.app-shell--dashboard .dashboard-lesson-card img{filter:none;transform:none}.app-shell--dashboard .dashboard-widget-title>div{gap:4px;display:flex}.app-shell--dashboard .dashboard-level-summary{color:var(--rv-muted);margin:0 0 14px;font-size:12px}.app-shell--dashboard :is(.dashboard-lesson-progress,.dashboard-level,.dashboard-days .active){background:var(--rv-soft)}.app-shell--dashboard .dashboard-lesson-progress i{background:var(--rv-accent)}.app-shell--dashboard :is(.dashboard-decks,.dashboard-route-card,.dashboard-calendar-card,.dashboard-stats-card,.dashboard-word-card){background:var(--rv-surface);color:var(--rv-text);border:1px solid var(--rv-border);box-shadow:none;border-radius:14px}.app-shell--dashboard .dashboard-decks{background:0 0;border:0;border-radius:0;padding:0}.app-shell--dashboard .dashboard-decks .dashboard-section-title{flex-wrap:wrap;margin:0 0 12px}.app-shell--dashboard .dashboard-deck-list{border:1px solid var(--rv-border);background:var(--rv-surface);border-radius:14px;gap:0;overflow:hidden}.app-shell--dashboard .dashboard-deck-row{min-height:76px;color:var(--rv-text);background:0 0;border:0;border-radius:0;grid-template-columns:48px minmax(0,1fr) auto 20px;padding:12px 16px}.app-shell--dashboard .dashboard-deck-row+.dashboard-deck-row{border-top:1px solid var(--rv-border)}.app-shell--dashboard .dashboard-deck-row:hover{background:var(--rv-soft);transform:none}.app-shell--dashboard .dashboard-deck-row:focus-visible{outline-offset:-3px}.app-shell--dashboard .dashboard-deck-thumb{background:var(--rv-soft);width:48px;height:48px}.app-shell--dashboard .dashboard-deck-row b{white-space:normal;overflow-wrap:anywhere;font-size:14px}.app-shell--dashboard .dashboard-deck-row small{display:none}.app-shell--dashboard .dashboard-deck-row em{color:var(--rv-accent);background:var(--rv-soft);font-style:normal}.app-shell--dashboard .dashboard-deck-row :is(span,small){color:var(--rv-muted)}.app-shell--dashboard .dashboard-route-card{overflow:hidden}.app-shell--dashboard .dashboard-route-card figure{height:156px}.app-shell--dashboard .dashboard-route-card :is(span,button){color:var(--rv-accent);background:0 0}.app-shell--dashboard .dashboard-calendar-card :is(h3,button,.dashboard-days span,.dashboard-stats-card){color:var(--rv-text)}.app-shell--dashboard .dashboard-days span.active{background:var(--rv-soft);color:var(--rv-accent)}.app-shell--dashboard .dashboard-days span.today{outline-color:var(--rv-accent)}.app-shell--dashboard :is(.dashboard-widget-title small,.dashboard-stats-card span){color:var(--rv-muted)}.app-shell--dashboard .dashboard-stats-card :is(svg,b){color:var(--rv-accent)}.app-shell--dashboard .dashboard-motivation{display:none}.app-shell--dashboard .dashboard-word-card{border-left-width:1px}.app-shell--dashboard .dashboard-word-card strong{color:var(--rv-accent)}.app-shell--dashboard .dashboard-word-card .dashboard-word-title{font:600 16px/1.4 var(--font-sans);grid-column:1/-1;margin:0}.app-shell--dashboard .dashboard-word-card>div:first-of-type{border:0;padding-left:0}.app-shell--dashboard .dashboard-stats-card .dashboard-widget-title p{flex-wrap:wrap;gap:4px 12px}.app-shell--dashboard .dashboard-section-title{align-items:center}.dashboard-assignments{min-width:0}.dashboard-assignments .dashboard-section-title{gap:16px;margin-bottom:12px}.dashboard-assignments-count{color:var(--rv-muted);margin-left:12px;font-size:14px;font-weight:400}.dashboard-assignments .dashboard-section-title a{align-items:center;gap:8px;min-height:44px;display:inline-flex}.dashboard-assignment-list{border:1px solid var(--rv-border);background:var(--rv-surface);border-radius:14px;overflow:hidden}.dashboard-assignment-row{justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.dashboard-assignment-row+.dashboard-assignment-row{border-top:1px solid var(--rv-border)}.dashboard-assignment-copy{overflow-wrap:anywhere;flex:1;min-width:0}.dashboard-assignment-copy h3{margin:0 0 4px;font-size:14px;line-height:1.5}.dashboard-assignment-copy p{color:var(--rv-muted);margin:0 0 4px}.dashboard-assignment-copy small{color:var(--rv-muted)}.dashboard-assignment-dates{color:var(--rv-muted);flex-wrap:wrap;gap:4px 16px;margin:0;font-size:12px;display:flex}.dashboard-assignment-dates>div{flex-wrap:wrap;gap:4px;display:flex}.dashboard-assignment-dates :is(dt,dd){margin:0}.dashboard-assignment-dates dd{color:var(--rv-text);font-variant-numeric:tabular-nums}.dashboard-assignment-meta{flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:8px;display:flex}.dashboard-assignment-urgency{color:var(--rv-accent);align-items:center;gap:8px;display:flex}.dashboard-assignment-urgency.is-orange{color:var(--rv-warning)}.dashboard-assignment-urgency.is-orange .dashboard-urgency-scale .is-current{background:#c56b16}.dashboard-assignment-urgency.is-red{color:var(--rv-error)}.dashboard-assignment-urgency:is(.is-none,.is-done){color:var(--rv-muted)}.dashboard-assignment-urgency small{color:inherit}.dashboard-urgency-scale{flex:none;gap:3px;width:48px;display:flex}.dashboard-urgency-scale i{background:var(--rv-border);border-radius:2px;flex:1;height:6px}.dashboard-urgency-scale .is-current{background:currentColor}.dashboard-assignment-completion{min-width:0}.dashboard-assignment-progress{background:var(--rv-soft);border-radius:8px;width:120px;max-width:100%;height:4px;margin-top:4px;overflow:hidden}.dashboard-assignment-progress i{background:var(--rv-accent);height:100%;display:block}.app-shell--content .assignment-grid{grid-auto-rows:1fr;align-items:stretch}.app-shell--content .assignment-card{gap:4px;min-width:0;padding:12px}.app-shell--content .assignment-card h2{overflow-wrap:anywhere;min-height:2.6em;margin:0;font-size:16px;line-height:1.3}.app-shell--content .assignment-card-count{color:var(--rv-muted);margin:0;font-size:12px}.assignment-card-dates{gap:4px;width:100%;margin:0;font-size:12px;display:grid}.assignment-card-dates>div{flex-wrap:wrap;justify-content:space-between;gap:4px 12px;display:flex}.assignment-card-dates dt{color:var(--rv-muted)}.assignment-card-dates dd{color:var(--rv-text);font-variant-numeric:tabular-nums;margin:0}.assignment-card-progress-slot{width:100%;min-height:64px}.app-shell--content .assignment-card-progress-slot .assignment-progress{margin:4px 0}.assignment-progress-missing{color:var(--rv-muted);margin:4px 0;font-size:12px}.assignment-comment-disclosure{width:100%}.assignment-comment-disclosure summary{cursor:pointer;min-height:44px;color:var(--rv-accent);align-items:center;gap:8px;font-size:13px;display:flex}.assignment-comment-disclosure summary:after{content:"+";margin-left:auto;font-size:21px}.assignment-comment-disclosure[open] summary:after{content:"−"}.assignment-comment-disclosure summary svg{flex:none;width:16px;height:16px}.app-shell--content .assignment-comment-disclosure .assignment-comment{overflow-wrap:anywhere;margin:0 0 8px;padding:12px;display:block}.app-shell--content .assignment-no-comment{min-height:44px;color:var(--rv-muted);align-items:center;margin:0;font-size:12px;display:flex}.app-shell--content .assignment-card>.button{margin-top:auto}.app-shell--content .assignment-grid:has(.assignment-comment-disclosure[open]){grid-auto-rows:auto;align-items:start}.dashboard-assignment-row .dashboard-cta{flex:none;gap:16px;width:auto;margin:0}.dashboard-assignments-message{color:var(--rv-muted);margin:0;padding:16px 0}.dashboard-assignments-message p{margin:0 0 8px}@media (width<=720px){.app-shell--dashboard .dashboard-lesson-card>div{grid-template-columns:minmax(0,1fr)}.app-shell--dashboard .dashboard-lesson-card .dashboard-cta{grid-area:auto/1;width:100%;margin-top:16px}.dashboard-assignment-row{align-items:flex-start;gap:8px;padding:12px}.dashboard-assignment-row .dashboard-cta{justify-content:center;width:44px;min-width:44px;padding:10px}.dashboard-assignment-action-label{display:none}}.app-shell--dashboard .dashboard-section-title h2{margin:0}.app-shell--dashboard .dashboard-section-title a{color:var(--rv-accent)}.app-shell--dashboard .teacher-home-greeting h1{font:600 32px/1.2 var(--font-sans)}.app-shell--dashboard .teacher-home-greeting time{color:var(--rv-muted)}.teacher-home-heading-actions{flex:none;align-items:center;gap:16px;display:flex}.teacher-home-mascot{object-fit:contain;width:160px;height:128px}.app-shell--dashboard .teacher-home-theme{border:1px solid var(--rv-border);background:var(--rv-surface);width:44px;height:44px;color:var(--rv-accent);box-shadow:none;justify-content:center;align-items:center;padding:10px;display:inline-flex}.teacher-home-theme svg{width:20px;height:20px}.teacher-home-mode-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin:20px 0 24px;display:flex}.teacher-home-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.app-shell--dashboard .teacher-home-actions :is(a,button){white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-height:44px;margin:0;padding:10px 14px;font-size:13px;display:inline-flex}.teacher-home-actions svg{flex:none;width:17px;height:17px}.app-shell--dashboard .teacher-home-create-lesson:disabled{opacity:1;background:var(--rv-soft);color:var(--rv-muted);border:1px solid var(--rv-border);box-shadow:none;cursor:not-allowed}.teacher-home-create-lesson span{font-size:11px;font-weight:400}.app-shell--dashboard .teacher-home-tabs{border:1px solid var(--rv-border);background:var(--rv-soft);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;max-width:100%;margin:0;padding:4px;display:inline-grid}.app-shell--dashboard .teacher-home-tabs button{min-width:0;min-height:44px;color:var(--rv-muted);box-shadow:none;background:0 0;border:1px solid #0000;border-radius:6px;margin:0;padding:8px 20px;font-weight:500}.app-shell--dashboard .teacher-home-tabs button[aria-selected=true]{color:var(--rv-accent);border-color:var(--rv-border);background:var(--rv-surface);box-shadow:none}.teacher-home-summary{border-top:1px solid var(--rv-border);border-bottom:1px solid var(--rv-border);grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 24px;margin:0 0 24px;padding:16px 0;display:grid}.teacher-home-summary>div{flex-direction:column-reverse;gap:4px;min-width:0;display:flex}.teacher-home-summary dt{color:var(--rv-muted);font-size:13px}.teacher-home-summary dd{color:var(--rv-text);font-variant-numeric:tabular-nums;margin:0;font-size:24px;font-weight:600}@media (width<=720px){.teacher-home-heading-actions{gap:0}.teacher-home-heading-actions>:is(time,button){display:none}.teacher-home-mascot{width:96px;height:96px}.app-shell--dashboard .dashboard-greeting .dashboard-greeting-cat{width:80px;height:80px}.teacher-home-mode-bar{align-items:stretch}.teacher-home-actions{width:100%}.teacher-home-actions>:is(a,button){flex:1}.app-shell--dashboard .teacher-home-tabs{width:100%;display:grid}.app-shell--dashboard .teacher-home-tabs button{padding:8px;font-size:13px}.teacher-home-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-shell--dashboard .teacher-deadlines{border:1px solid var(--rv-border);background:var(--rv-surface);box-shadow:none;border-radius:14px;padding:24px}.app-shell--dashboard .teacher-deadline-row{border:0;border-bottom:1px solid var(--rv-border);color:var(--rv-text);box-shadow:none;background:0 0;border-radius:0}.app-shell--dashboard :is(.teacher-deadline-label h3,.teacher-deadline-row strong){color:var(--rv-text)}.app-shell--dashboard .teacher-deadline-row small{color:var(--rv-muted)}.app-shell--dashboard .teacher-deadline-avatar{background:var(--rv-soft);color:var(--rv-accent)}.app-shell--dashboard .teacher-deadline-track{background:var(--rv-soft)}.app-shell--dashboard .teacher-deadline-track i{background:var(--rv-accent)}.app-shell--dashboard .teacher-deadline-list{background:0 0;border:0;border-radius:0}.app-shell .library-hero{gap:0}.app-shell .library-hero-icon{display:none}.app-shell .library-page--public{gap:14px}.app-shell .library-page--public .library-hero{margin:0;padding-bottom:14px}.app-shell .library-page--public .library-filter-bar{margin:0}.app-shell .library-page--public .library-deck-level{border:0;margin:0;padding:0}.library-filter-bar{flex-wrap:wrap;align-items:end;gap:12px;margin:24px 0;display:flex}.library-filter-bar label{color:var(--rv-muted);gap:6px;min-width:130px;font-size:12px;display:grid}.library-filter-bar .library-search{flex:1;min-width:200px}.library-filter-bar :is(input,select){border:1px solid var(--rv-border);width:100%;min-height:44px;padding:10px 12px}.app-shell :is(.personal-deck-grid,.public-deck-grid){grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:20px}.app-shell .library-deck-card{padding:20px}.app-shell .library-deck-card h2{font-size:18px}.app-shell .library-deck-card .public-deck-head h2{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;-webkit-line-clamp:unset;display:block;overflow:visible}.app-shell .library-deck-preview{background:var(--rv-soft);box-shadow:none;border:0;border-radius:8px}.app-shell .library-deck-preview :is(b,span){color:var(--rv-text)}.app-shell .public-deck-head>span{background:var(--rv-soft);color:var(--rv-accent);box-shadow:none}.app-shell .library-deck-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.app-shell .library-deck-actions button{flex:initial;min-width:0}.app-shell--marketing .landing-page{--landing-ink:var(--rv-text);--landing-muted:var(--rv-muted);--landing-cream:var(--rv-bg);--landing-paper:var(--rv-surface);--landing-green:var(--rv-accent);--landing-mint:var(--rv-accent);--landing-mint-soft:var(--rv-soft);--landing-line:var(--rv-border);--landing-shadow:none;max-width:1200px;color:var(--rv-text);background:0 0;gap:0;margin:0 auto;padding:0 36px 40px}.app-shell .repetivo-public-header{border-bottom:1px solid var(--rv-border);background:0 0;justify-content:space-between;align-items:center;gap:20px;height:auto;min-height:0;padding:22px 0;display:flex;position:static}.repetivo-public-header nav{align-items:center;gap:28px;display:flex}.repetivo-public-header nav :is(a,button){color:var(--rv-text);background:0 0;border:0;font-size:14px}.app-shell--marketing .landing-hero{box-shadow:none;background:0 0;border:0;border-radius:0;min-height:580px;padding:60px 0 48px}.app-shell--marketing .landing-hero h1{letter-spacing:-.035em;max-width:9em;font:400 clamp(42px,5.1vw,66px)/1.06 Georgia,serif}.app-shell--marketing .landing-hero h1 em{color:var(--rv-accent);background:0 0;font-style:normal}.app-shell--marketing .landing-lead{color:var(--rv-muted);max-width:46ch;font-size:16px}.app-shell--marketing .landing-hero-scene{background:var(--rv-soft);border-radius:16px;min-height:380px}.app-shell--marketing .landing-hero-notes{color:var(--rv-muted)}.app-shell--marketing .landing-card-english{width:170px;top:24px;right:18px}.app-shell--marketing .landing-card-chinese{top:48px;left:18px}.app-shell--marketing .landing-progress-pill{max-width:calc(100% - 36px);bottom:18px;left:18px}.app-shell--marketing :is(.landing-orbit,.landing-scroll){display:none}.app-shell--marketing .landing-floating-card{background:var(--rv-surface);color:var(--rv-text);border:1px solid var(--rv-border);box-shadow:none;border-radius:14px;animation:none;transform:none}.app-shell--marketing .landing-floating-card :is(strong,span){color:var(--rv-text)}.app-shell--marketing .landing-progress-pill{background:var(--rv-surface);color:var(--rv-text);border:1px solid var(--rv-border);box-shadow:none;animation:none}.app-shell--marketing :is(.landing-value-strip,.landing-guide-card,.landing-feature-card,.landing-final){background:var(--rv-surface);color:var(--rv-text);border:1px solid var(--rv-border);box-shadow:none;border-radius:14px}.app-shell--marketing :is(.landing-value-strip small,.landing-section-heading p,.landing-feature-copy p,.landing-guide-card p){color:var(--rv-muted)}.app-shell--marketing .landing-section-heading h2{font:400 32px/1.2 Georgia,serif}.app-shell--marketing .landing-section{margin-top:64px}.app-shell--marketing .landing-button{min-height:44px;box-shadow:none;border-radius:8px}.app-shell--marketing .landing-button-secondary{background:var(--rv-surface);color:var(--rv-text);border-color:var(--rv-border)}.app-shell--marketing .landing-final-cta{--landing-green:var(--rv-deep);--landing-cta-ink:#fffaf0;color:var(--landing-cta-ink)}.app-shell--marketing .landing-final-cta h2{color:var(--landing-cta-ink)}.app-shell--marketing .landing-final-cta>div>p{color:#d4e4d9}.app-shell--marketing .landing-final-cta .landing-button-primary{background:var(--landing-cta-ink);color:var(--rv-deep);border-color:var(--landing-cta-ink)}.app-shell--marketing .landing-final-cta .landing-button-secondary{color:var(--landing-cta-ink);background:0 0;border-color:#d4e4d9}.app-shell--marketing .landing-footer{grid-template-columns:minmax(0,1fr) auto}.app-shell--marketing .landing-footer p{display:block}.app-shell--marketing .landing-guide-top>span{display:none}.app-shell--learning :is(.study,.new-words,.english-learning-route-player){max-width:900px;margin:auto}.app-shell--learning .learning-session-bar{color:var(--rv-muted);border-bottom:1px solid var(--rv-border);box-shadow:none;background:0 0;margin-bottom:24px;padding:0 0 16px}.app-shell--learning :is(.study-card,.matching-review-card,.route-exercise-card,.route-introduction-card){background:var(--rv-surface);color:var(--rv-text);border:1px solid var(--rv-border);box-shadow:none;border-radius:16px}.app-shell--learning :is(.study-card h2,.matching-review-hanzi,.route-exercise-card h2){color:var(--rv-text)}.app-shell--learning :is(.correct,.wrong,.route-choice-grid button){transition:none}.app-shell--learning .matching-review-options button.correct{background:var(--rv-soft);color:var(--rv-accent);border-color:var(--rv-accent)}.app-shell--learning .matching-review-options button.wrong{background:var(--rv-error-bg);color:var(--rv-error);border-color:var(--rv-error)}.app-shell--learning .daily-exercise-heading{border:0;border-bottom:1px solid var(--rv-border);background:0 0;border-radius:0;padding:0 0 16px}.app-shell--learning .daily-exercise-heading>span{display:none}.app-shell--learning .daily-exercise-heading small{color:var(--rv-muted)}.app-shell--learning .learning-session-bar>span{white-space:normal;background:0 0;flex:0 auto;max-width:100%;padding:0;font-weight:400}.app-shell--dashboard .homework-notification{background:var(--rv-surface);color:var(--rv-text);border-color:var(--rv-border);border-radius:16px}.app-shell--dashboard .homework-notification>p:not(.eyebrow){color:var(--rv-muted)}.app-shell--dashboard .homework-notification-comment{border:1px solid var(--rv-border);background:var(--rv-soft);border-radius:8px}.app-shell--dashboard .dashboard-shell .dashboard-content{background:0 0;min-height:0;padding:0}.app-shell--dashboard .teacher-home-title-row{justify-content:space-between;align-items:center;gap:20px;display:flex}.app-shell--dashboard .teacher-home-title-row h2{font:600 21px/1.3 var(--font-sans)}.app-shell--dashboard .teacher-home-title-row p{color:var(--rv-muted)}@media (hover:hover){.app-shell .app-sidebar-nav :is(a,button):hover{background:var(--rv-soft);color:var(--rv-accent)}.app-shell :is(.button,button):hover:not(:disabled){filter:brightness(.98)}}.app-shell :is(.button,button):active:not(:disabled){transform:scale(.98)}.app-shell :is(.button,button):focus-visible:active{transform:none}.app-shell :is(button,.button){transition:background-color .14s,color .14s,transform .14s cubic-bezier(.22,1,.36,1)}.app-shell :is(button,.button):disabled{opacity:.55;cursor:not-allowed}@media (width<=1100px){.app-shell .app-main-with-sidebar{padding:28px 24px 48px}.app-shell--dashboard .dashboard-personal-grid{grid-template-columns:minmax(0,1fr) 235px;gap:18px}.app-shell--dashboard .dashboard-review-card{padding:20px}.app-shell--dashboard .dashboard-lesson-card img{width:100px}}@media (width<=900px){.app-shell--dashboard .dashboard-personal-grid{grid-template-columns:minmax(0,1fr)}.app-shell--dashboard .dashboard-side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell--dashboard .dashboard-stats-card{grid-column:1/-1}}@media (width<=720px){.app-shell .app-sidebar{display:none}.app-shell .app-main-with-sidebar{padding:24px 20px calc(90px + env(safe-area-inset-bottom));width:auto;margin:0}.app-shell--marketing .app-main-with-sidebar{padding:0}.app-shell--learning .app-main-with-sidebar{padding:20px}.app-shell .app-mobile-heading{border-bottom:1px solid var(--rv-border);background:var(--rv-surface);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.app-shell .app-mobile-navigation{z-index:40;height:auto;min-height:68px;padding:4px 8px env(safe-area-inset-bottom);border-top:1px solid var(--rv-border);background:var(--rv-surface);color:var(--rv-muted);box-shadow:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid;position:fixed;inset:auto 0 0;overflow:visible}.app-shell .app-mobile-navigation :is(a,button){min-height:60px;color:var(--rv-muted);white-space:normal;text-align:center;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 4px;font-size:11px;display:flex;position:relative}.app-shell .app-mobile-navigation a.active{color:var(--rv-accent);background:var(--rv-soft);box-shadow:none;border-radius:8px}.app-shell .app-mobile-navigation svg{color:currentColor;width:20px;height:20px}.app-shell .app-mobile-navigation .nav-update-badge{position:absolute;top:3px;right:15%}.app-account-control>.header-auth{display:none}.app-shell h1,.app-shell--content :is(.library-hero,.dictionary-hero,.writing-page-title,.classroom-heading,.lesson-texts-heading) :is(h1,.page-title),.app-shell--dashboard .dashboard-greeting h1,.app-shell--dashboard .teacher-home-greeting h1{font-size:27px}.app-shell--dashboard .dashboard-greeting{min-height:92px}.app-shell--dashboard .dashboard-personal-grid{gap:24px}.app-shell--dashboard .dashboard-review-card{min-height:185px;padding:20px}.app-shell--dashboard .dashboard-review-count strong{font-size:44px}.app-shell--dashboard .dashboard-lesson-card img{display:none}.app-shell--dashboard .dashboard-lesson-card{grid-template-columns:minmax(0,1fr)}.app-shell--dashboard .dashboard-lesson-card>div{max-width:100%}.app-shell--dashboard .dashboard-deck-row{grid-template-columns:40px minmax(0,1fr) 18px;gap:10px;padding:12px}.app-shell--dashboard .dashboard-deck-thumb{width:40px;height:40px}.app-shell--dashboard .dashboard-deck-row em{display:none}.app-shell--dashboard .dashboard-side-column{grid-template-columns:minmax(0,1fr)}.app-shell--dashboard .dashboard-route-card figure{height:190px}.app-shell--dashboard .teacher-deadlines{padding:18px}.app-shell--dashboard .teacher-home-title-row{flex-direction:column;align-items:start;gap:12px}.app-shell--dashboard .teacher-deadline-row{grid-template-columns:36px minmax(0,1fr) 18px;gap:10px}.app-shell--dashboard .teacher-deadline-person{grid-column:2}.app-shell--dashboard .teacher-deadline-date{grid-area:2/2}.app-shell--dashboard .teacher-deadline-progress{grid-area:3/2;width:100%}.app-shell--dashboard .teacher-deadline-row>svg{grid-area:1/3}.library-filter-bar{gap:12px}.library-filter-bar label{flex:1;min-width:120px}.library-filter-bar .library-search{flex-basis:100%;min-width:0}.library-filter-bar>.button{width:100%}.app-shell .library-deck-card{padding:18px}.app-shell .library-deck-actions{grid-template-columns:minmax(0,1fr)}.app-shell--marketing .landing-page{padding:0 20px 32px}.app-shell .repetivo-public-header{flex-wrap:wrap;padding:18px 0}.repetivo-public-header nav{justify-content:space-between;gap:18px;width:100%}.app-shell--marketing .landing-hero{flex-direction:column;gap:32px;padding:40px 0;display:flex}.app-shell--marketing .landing-hero h1{font-size:44px}.app-shell--marketing .landing-hero-scene{width:100%;min-height:350px}.app-shell--marketing .landing-companion{width:78%;max-width:290px}.app-shell--marketing .landing-value-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell--marketing .landing-section{margin-top:48px}}@media (width<=480px){.teacher-home-actions{flex-direction:column;align-items:stretch}.app-shell .dictionary-filter-selects{flex-direction:column;align-items:stretch;gap:8px}.app-shell .dictionary-filter-selects>svg{display:none}.app-shell .dictionary-filter-selects select{flex:none;width:100%;min-width:0;max-width:none}.app-shell .dictionary-list{overflow-x:hidden}.app-shell .dictionary-row{grid-template-columns:36px minmax(0,1fr);gap:4px 10px}.app-shell .dictionary-row-mark{grid-row:1/3;align-self:center}.app-shell .dictionary-row-word{grid-column:2;min-width:0}.app-shell .dictionary-row-translation{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;grid-area:2/2;overflow:visible}}@media (width<=360px){.app-shell .app-main-with-sidebar{padding:20px 14px 90px}.app-shell--learning .app-main-with-sidebar{padding:16px 14px}.app-shell--marketing .app-main-with-sidebar{padding:0}.app-shell--dashboard .dashboard-review-count{display:none}.app-shell--dashboard .dashboard-review-card{min-height:0}.app-shell--dashboard .dashboard-section-title{flex-wrap:wrap;gap:12px}.app-shell--marketing .landing-page{padding-inline:14px}.app-shell--marketing .landing-hero h1{font-size:39px}.app-shell--marketing .landing-value-strip{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.app-shell *,.app-shell :before,.app-shell :after{scroll-behavior:auto!important;transition-property:opacity,color,background-color!important;transition-duration:.1s!important;animation:none!important}.app-shell :is(button,.button):active{transform:none!important}}@media print{.app-shell :is(.app-sidebar,.app-mobile-heading,.app-mobile-navigation,.app-account-control,.app-skip-link,.repetivo-menu){display:none!important}.app-shell .app-main-with-sidebar{width:auto!important;margin:0!important}}.assignment-deck-dropdown{width:100%;min-width:0;max-width:520px;position:relative}.app-shell .assignment-form .assignment-deck-trigger{border:1px solid var(--rv-border);background:var(--rv-surface);width:100%;min-height:44px;color:var(--rv-text);text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-weight:400;display:flex}.assignment-deck-trigger svg{flex:none;width:18px;height:18px}.assignment-deck-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.app-shell .assignment-deck-dropdown .assignment-deck-catalog{z-index:5;box-sizing:border-box;border:1px solid var(--rv-border);background:var(--rv-surface);border-radius:12px;width:100%;max-height:min(460px,60dvh);padding:12px;position:absolute;top:calc(100% + 6px);left:0;overflow:auto}.assignment-deck-dropdown .assignment-deck-toolbar{flex-direction:column;align-items:stretch;gap:8px}.app-shell .assignment-deck-dropdown .assignment-deck-toolbar>label{width:100%;min-width:0}.assignment-deck-dropdown .assignment-deck-toolbar>div{align-self:flex-start}.assignment-deck-dropdown .assignment-deck-results{flex-wrap:wrap}.app-shell .assignment-deck-dropdown .assignment-deck-picker{grid-template-columns:minmax(0,1fr);gap:0;display:grid}.app-shell .assignment-deck-dropdown .assignment-deck-choice{border:0;border-bottom:1px solid var(--rv-border);box-shadow:none;background:0 0;border-radius:0;padding:9px 6px}.app-shell .assignment-deck-dropdown .assignment-deck-choice.selected{background:var(--rv-soft)}.assignment-deck-dropdown .assignment-deck-choice:last-child{border-bottom:0}.assignment-deck-dropdown-footer{justify-content:flex-end;margin-top:10px;display:flex}.app-shell .assignment-form .assignment-deck-dropdown-footer>button{width:auto;min-height:40px;padding:8px 16px}.app-shell .library-page :is(.personal-deck-grid,.public-deck-grid){grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:12px}.app-shell .library-compact-card{flex-direction:column;gap:0;min-height:0;padding:14px;display:flex;position:relative}.app-shell .library-compact-card h2{letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-family:inherit;font-size:16px;font-weight:600;line-height:1.35}.library-card-heading{align-items:center;gap:10px;min-width:0;display:flex}.library-card-heading>div{min-width:0}.app-shell .library-card-image{object-fit:contain;border-radius:8px;flex:none;width:52px;height:52px}.app-shell .library-card-heading .library-card-author{margin-top:4px}.library-card-hitarea{z-index:1;border-radius:inherit;position:absolute;inset:0}.library-card-hitarea:focus-visible{outline:3px solid var(--rv-accent);outline-offset:-3px}.app-shell .library-compact-card:has(.library-card-hitarea:hover){border-color:var(--rv-accent)}.library-card-dates{grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 0;display:grid}.library-card-dates dt{color:var(--rv-muted);margin-bottom:1px;font-size:11px}.library-card-dates dd{color:var(--rv-text);margin:0;font-size:13px;line-height:1.5}.library-card-dates dd.is-orange{color:var(--color-warning)}.library-card-dates dd.is-red{color:var(--rv-error)}.library-card-dates dd.is-done{color:var(--rv-accent)}.library-card-urgency{margin-top:1px;font-size:11px;line-height:1.4;display:block}.library-card-completion{margin:10px 0 8px}.library-card-completion>div:first-child{color:var(--rv-muted);justify-content:space-between;align-items:center;margin-bottom:4px;font-size:12px;display:flex}.library-card-completion strong{color:var(--rv-text);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.library-card-progress{background:var(--rv-soft);border-radius:2px;height:5px;overflow:hidden}.library-card-progress i{background:var(--rv-accent);height:100%;display:block}.app-shell .library-card-meta{color:var(--rv-muted);margin:0;font-size:11px;line-height:1.5}.app-shell .library-card-author,.app-shell .library-card-independent{color:var(--rv-muted);margin:10px 0 0;font-size:12px;line-height:1.5}.app-shell .library-compact-card.is-public .library-card-meta{margin-top:8px}.library-card-actions{z-index:2;align-items:center;gap:12px;margin-top:8px;display:flex;position:relative}.app-shell .library-compact-card .library-card-open{white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:6px;width:auto;min-height:30px;padding:4px 10px;font-size:12px;font-weight:500;line-height:20px;display:inline-flex}.library-card-open svg{flex:none;width:15px;height:15px}.app-shell .library-compact-card .library-card-add{min-height:30px;color:var(--rv-accent);background:0 0;border:0;margin-left:auto;padding:4px 0;font-size:11px;font-weight:400}.app-shell .library-compact-card .library-card-add:disabled{color:var(--rv-muted)}@media (width<=700px){.app-shell .library-page :is(.personal-deck-grid,.public-deck-grid){grid-template-columns:minmax(0,1fr);gap:10px}.app-shell .library-compact-card{padding:12px}.app-shell .library-compact-card h2{font-size:15px}.app-shell .library-card-image{width:44px;height:44px}.library-card-dates{margin-top:8px}.library-card-completion{margin:7px 0 6px}.app-shell .library-compact-card .library-card-open,.library-compact-card.is-personal .library-card-actions{display:none}.app-shell .library-compact-card .library-card-add{min-height:40px;font-size:12px}}
