/* B · 柔和工具条. Other skin worlds retain their own layout and tokens. */
:root[data-skin=soft]{--skin-bg:#fff8e9;--skin-paper:#fffef9;--skin-ink:#292745;--skin-muted:#665569;--skin-line:#bfb39e;--skin-accent:#3549d6;--skin-soft:#f0eadc;--skin-primary:#ffdc65;--skin-primary-ink:#292745;--skin-shadow:#f1d3ac;--shell-ink:#292745;--shell-muted:#665569;--skin-secondary:#ffdf79;--skin-rail:#fff8e9;--shadow:4px 5px 0 #f1d3ac}
[data-skin=soft] body{background-image:none;overflow:hidden}
[data-skin=soft] .app{height:100dvh;min-height:0;padding:max(18px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}
[data-skin=soft] .shell{height:100%;max-width:1080px;display:flex;flex-direction:column;gap:14px}
[data-skin=soft] .app-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"brand subjects more";gap:18px!important;margin:0;padding:0;flex-shrink:0;align-items:center;border:0;background:none}
[data-skin=soft] .app-header>.brand{grid-area:brand!important;min-width:0;gap:9px}
[data-skin=soft] .brand h1{font-size:18px;font-weight:700;letter-spacing:0;margin:0}
[data-skin=soft] .brand p,[data-skin=soft] .side-intro,[data-skin=soft] .skin-companion,[data-skin=soft] .skin-art,[data-skin=soft] .card-note,[data-skin=soft] .footnote,[data-skin=soft] .math-footnote{display:none}
[data-skin=soft] .app-header .logo{width:36px;height:36px;border:0;border-radius:10px;background:none;transform:none}
[data-skin=soft] .app-header>.subject-tabs{grid-area:subjects!important;width:auto!important;min-height:44px;height:44px!important;border:0;border-radius:0;background:none;padding:0;gap:4px}
[data-skin=soft] .app-header .subject-tabs button{min-height:44px;padding:0 14px;font-size:13px;color:#625a70;border-radius:0;font-weight:500;background:none!important}
[data-skin=soft] .app-header .subject-tabs button[aria-selected=true]{color:#3549d6!important;font-weight:750}
[data-skin=soft] .subject-tabs button:after{display:none!important}
[data-skin=soft] .app-header>.parent-menu{grid-area:more;position:relative;z-index:50;color:var(--ink)}
[data-skin=soft] .parent-menu>summary{height:44px;width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border:0;background:none;border-radius:10px;list-style:none;cursor:pointer;padding:0;box-shadow:none}
[data-skin=soft] .parent-menu>summary::-webkit-details-marker{display:none}
[data-skin=soft] .parent-menu>summary svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;fill:none}
[data-skin=soft] .parent-menu[open]>summary{background:#f0eadc}
[data-skin=soft] .parent-tools{position:absolute;right:0;top:50px;width:230px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 80px);overflow:auto;padding:12px;border:1px solid #d7cebc;background:var(--card);border-radius:16px;box-shadow:0 12px 30px #29274520;z-index:50}
[data-skin=soft] .app-header .parent-tools .top-actions{display:grid!important;width:100%;grid-template-columns:1fr;gap:4px}
[data-skin=soft] .app-header .parent-tools .btn{display:flex;width:100%;height:44px;min-height:44px;align-items:center;justify-content:flex-start;background:none;border:0;box-shadow:none;font-size:14px;padding:0 12px;color:var(--ink);border-radius:8px}
[data-skin=soft] .parent-tools p{margin:8px 0 0;padding-top:10px;border-top:1px solid #e6ddcc;font-size:11px;line-height:1.6;color:var(--muted)}
[data-skin=soft] .skin-menu{position:fixed;top:80px;right:24px;max-height:calc(100dvh - 108px);overflow:auto;border:1px solid #d7cebc}
[data-skin=soft] .account-bar{display:block;font-size:13px;line-height:1.7;margin:0 0 16px;background:#f0eadc;border-radius:12px;padding:14px 16px}
[data-skin=soft] .soft-account-title{display:block;color:var(--ink);margin-bottom:4px}
[data-skin=soft] main.grid{display:flex;flex:1;min-height:0}
[data-skin=soft] #hanziStudy{display:flex;flex:1;flex-direction:column;gap:8px;min-height:0;max-width:none;margin:0;padding:0;background:none;border:0}
[data-skin=soft] #hanziStudy[hidden],[data-skin=soft] #mathPanel[hidden]{display:none!important}
[data-skin=soft] .learning-aside{display:block;border:0!important;border-radius:0;background:none;padding:0!important;box-shadow:none!important;transform:none!important;flex-shrink:0}
[data-skin=soft] .library-switch{margin:0;padding:0 0 7px;border-bottom:1px solid #e6ddcb;display:flex;flex-direction:row;align-items:center}
[data-skin=soft] .library-switch label{display:none}
[data-skin=soft] .learning-aside .library-switch select{flex:0 1 420px;width:100%;max-width:100%;height:44px;min-height:44px;font-size:14px;font-weight:600;background-color:transparent;border:0;border-radius:8px;padding:0 34px 0 2px;box-shadow:none;color:var(--ink)}
[data-skin=soft] .learning-content{display:flex!important;flex-direction:column;flex:1;min-height:0;gap:10px!important;min-width:0}
[data-skin=soft] .toolbar{margin:0;gap:8px;flex-wrap:nowrap;flex-shrink:0}
[data-skin=soft] .toolbar>.segment{flex:0 0 auto!important;min-width:0;gap:0;padding:3px;border:0;background:#f0eadc;border-radius:12px}
[data-skin=soft] .segment button{min-height:38px!important;padding:0 20px!important;font-size:14px!important;color:#665569;font-weight:500;border-radius:9px}
[data-skin=soft] .segment button.active{color:#3549d6;background:var(--card);font-weight:750;box-shadow:none}
[data-skin=soft] .study-filter{margin-left:auto;gap:0}
[data-skin=soft] .filter-btn{border:0;background:none;font-size:13px;font-weight:500;color:#665569}
[data-skin=soft] .filter-btn.active{background:#f0eadc;color:var(--ink);font-weight:650}
[data-skin=soft] .study-scope-select{margin-left:auto;flex:none;min-height:44px;height:44px;border:0;background-color:transparent;box-shadow:none;width:106px;font-size:13px;font-weight:500;color:var(--muted);padding-left:8px;padding-right:26px}
[data-skin=soft] .progress{font-size:11px;margin:0!important;flex-shrink:0;color:#756652;gap:12px;min-height:16px}
[data-skin=soft] .progress-track{height:3px;border:0;background:#e9dfcd}
[data-skin=soft] .progress-fill{background:#dba084}
[data-skin=soft] .card-wrap{flex:1;min-height:0;padding:0;container-type:size}
[data-skin=soft] .card-wrap:before,[data-skin=soft] .flashcard:before{display:none}
[data-skin=soft] .flashcard,[data-skin=soft] .flashcard:has(.word){display:flex;align-items:center;justify-content:center;height:100%;min-height:0!important;border:1px solid #bfb39e;box-shadow:4px 5px 0 #f1d3ac;border-radius:28px;padding:38px 26px 70px!important;background:var(--card)}
[data-skin=soft] .watermark{top:18px;left:22px;font-size:12px;letter-spacing:0;color:#756652}
[data-skin=soft] .flashcard #contentState{width:100%;min-width:0}
[data-skin=soft] .flashcard .glyph{width:min(48cqh,260px);height:min(48cqh,260px);min-height:0;max-width:100%}
[data-skin=soft] .flashcard .char{font-size:clamp(60px,42cqh,230px);color:var(--ink)}
[data-skin=soft] .flashcard .pinyin{font-size:clamp(22px,5cqh,34px);margin-top:10px;color:var(--accent)}
[data-skin=soft] .flashcard .example{font-size:15px;margin-top:8px;line-height:1.6}
[data-skin=soft] .flashcard .glyph:has(.word){width:100%;height:auto;min-height:0;display:block;container-type:inline-size}
[data-skin=soft] .flashcard .word{--word-gap:8px;--word-cell:min(27cqh,calc((100cqw - (var(--word-columns) - 1) * var(--word-gap) - 4px)/var(--word-columns)),120px);display:grid;grid-template-columns:repeat(var(--word-columns),var(--word-cell));justify-content:safe center;gap:var(--word-gap);letter-spacing:0;line-height:1;width:100%;min-width:0;max-width:100%;max-height:52cqh;overflow:auto;padding:2px}
[data-skin=soft] .word-cell{display:grid;place-items:center;position:relative;width:var(--word-cell);height:var(--word-cell);border:1px solid #d8ccb7;font-size:calc(var(--word-cell)*.78);line-height:1;font-family:"Kaiti SC","STKaiti","KaiTi",serif;isolation:isolate}
[data-skin=soft] .word-cell:before,[data-skin=soft] .word-cell:after{content:"";position:absolute;z-index:-1;pointer-events:none}
[data-skin=soft] .word-cell:before{left:0;right:0;top:50%;border-top:1px dashed #e1d6c3}
[data-skin=soft] .word-cell:after{top:0;bottom:0;left:50%;border-left:1px dashed #e1d6c3}
[data-skin=soft] .flashcard .word-pinyin{font-size:clamp(16px,4cqh,26px);line-height:1.5;margin-top:10px}
[data-skin=soft] .flashcard .idiom-meaning{font-size:14px;line-height:1.6;margin-top:8px}
[data-skin=soft] .soft-study-tools{position:absolute;bottom:12px;left:12px;right:12px;display:flex;align-items:center;justify-content:center;gap:20px}
[data-skin=soft] .soft-study-tools #speakBtn,[data-skin=soft] .soft-study-tools #favoriteBtn{position:static;inset:auto;display:inline-flex;align-items:center;justify-content:center;gap:7px;width:auto;height:44px;min-height:44px;border:0;border-radius:10px;background:none;box-shadow:none;font-size:13px;font-weight:500;padding:0 10px;color:#665569}
[data-skin=soft] .soft-study-tools #speakBtn{color:#665420}
[data-skin=soft] .soft-study-tools svg{width:20px;height:20px}
[data-skin=soft] .soft-study-tools #favoriteBtn.active{color:var(--accent);background:#f0eadc}
[data-skin=soft] .action-dock{display:grid;grid-template-columns:1fr 1.7fr!important;gap:14px;margin:8px 0 0!important;flex-shrink:0}
[data-skin=soft] .action-dock .card-actions button{height:54px;min-height:54px;font-size:16px;font-weight:600;border:0;box-shadow:none;border-radius:15px}
[data-skin=soft] #againBtn{background:none;color:#665569}
[data-skin=soft] #randomBtn,[data-skin=soft] #mathNextBtn{background:#ffdc65;color:#292745;border:1px solid #b8a36d;box-shadow:0 3px 0 #e4c88b}
[data-skin=soft] .empty .big{width:120px;height:95px;margin-bottom:10px}
[data-skin=soft] .empty h2{font-size:21px}
[data-skin=soft] .empty p{font-size:14px}
[data-skin=soft] .math-panel{flex:1;min-height:0;max-width:none;display:flex;flex-direction:column;gap:10px;margin:0}
[data-skin=soft] .math-heading,[data-skin=soft] .math-scope{display:none}
[data-skin=soft] .math-mode-tabs{border:0;background:#f0eadc;align-self:flex-start;border-radius:12px;padding:3px;margin:0}
[data-skin=soft] .math-mode-tabs button{border:0;border-radius:9px;min-height:38px;font-size:14px;padding:0 18px}
[data-skin=soft] .math-mode-tabs button[aria-selected=true]{background:var(--card);color:var(--accent)}
[data-skin=soft] .math-options{gap:14px;flex-shrink:0}
[data-skin=soft] .math-options select{border:1px solid #d7cebc;box-shadow:none;font-size:14px;min-height:44px;height:44px}
[data-skin=soft] .math-round{margin:0;font-size:12px}
[data-skin=soft] .math-learning{flex:1;min-height:0;border:1px solid #bfb39e;box-shadow:4px 5px 0 #f1d3ac;border-radius:28px;overflow:auto}
[data-skin=soft] .math-card-top button{border:0;background:none;color:#665420}
[data-skin=soft] .math-keypad button{border:1px solid #c6bba6;box-shadow:0 2px 0 #ead8b8;color:var(--ink)}
[data-skin=soft] .math-answer-form input[readonly]{border:1px solid #bfb39e}
[data-skin=soft] .math-answer-form button[type=submit]{border:1px solid #b8a36d}
[data-skin=soft] .math-bottom-actions{flex-shrink:0;margin-top:8px}
[data-skin=soft] .math-bottom-actions button{border:0;box-shadow:none;font-size:15px}
[data-skin=soft] .math-bottom-actions #mathNextBtn{border:1px solid #b8a36d;box-shadow:0 3px 0 #e4c88b}
[data-skin=soft] .library-panel,[data-skin=soft] #emailDialog,[data-skin=soft] .study-sheet{border-width:1px}
[data-skin=soft] .skin-option{border-width:1px}
[data-skin=soft] .soft-study-tools[hidden]{display:none}
@media(max-width:600px){
 [data-skin=soft] .app{padding:max(10px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}
 [data-skin=soft] .shell{gap:8px}
 [data-skin=soft] .app-header{gap:5px!important}
 [data-skin=soft] .brand h1{font-size:14px}
 [data-skin=soft] .app-header .logo{width:30px;height:30px}
 [data-skin=soft] .app-header>.brand{gap:6px}
 [data-skin=soft] .app-header .subject-tabs{gap:0}
 [data-skin=soft] .app-header .subject-tabs button{font-size:0!important;padding:0 10px!important;flex:none}
 [data-skin=soft] #subjectHanzi:before{content:'识字';font-size:13px}
 [data-skin=soft] #subjectMath:before{content:'数学';font-size:13px}
 [data-skin=soft] .app-header>.parent-menu{grid-column:auto;grid-row:auto}
 [data-skin=soft] .learning-aside .library-switch select{height:40px;min-height:40px;font-size:13px}
 [data-skin=soft] .toolbar>.segment button{min-height:38px!important;padding:0 16px!important;font-size:13px!important}
 [data-skin=soft] .study-scope-select{width:96px;font-size:12px;padding-right:23px}
 [data-skin=soft] .learning-content{gap:8px!important}
 [data-skin=soft] .flashcard,[data-skin=soft] .flashcard:has(.word){padding:32px 16px 64px!important;border-radius:24px}
 [data-skin=soft] .watermark{top:14px;left:16px;font-size:11px}
 [data-skin=soft] .soft-study-tools{gap:14px;bottom:8px}
 [data-skin=soft] .soft-study-tools #speakBtn,[data-skin=soft] .soft-study-tools #favoriteBtn{font-size:12px}
 [data-skin=soft] .flashcard .glyph{width:min(44cqh,205px);height:min(44cqh,205px)}
 [data-skin=soft] .flashcard .glyph:has(.word){width:100%;height:auto}
 [data-skin=soft] .flashcard .char{font-size:clamp(60px,38cqh,180px)}
 [data-skin=soft] .flashcard .pinyin{font-size:27px;margin-top:8px}
 [data-skin=soft] .flashcard .word-pinyin{font-size:17px}
 [data-skin=soft] .flashcard .example{font-size:14px}
 [data-skin=soft] .action-dock{gap:8px}
 [data-skin=soft] .action-dock .card-actions button{height:50px;min-height:50px;font-size:15px}
 [data-skin=soft] .skin-menu{right:14px;top:68px;max-height:calc(100dvh - 92px)}
 [data-skin=soft] .empty h2{font-size:18px}
}
@media(max-width:350px){[data-skin=soft] .app{padding-left:12px;padding-right:12px}[data-skin=soft] .app-header .logo{display:none}[data-skin=soft] .app-header>.brand{min-width:0}[data-skin=soft] .brand h1{font-size:14px}[data-skin=soft] .toolbar>.segment button{padding:0 13px!important}}
@media(orientation:landscape) and (max-height:500px) and (max-width:1000px){
 [data-skin=soft] .app{padding:8px 18px 12px}
 [data-skin=soft] .shell{gap:5px}
 [data-skin=soft] .app-header{height:38px;gap:16px!important}
 [data-skin=soft] .app-header .logo{width:30px;height:30px}
 [data-skin=soft] .brand h1{font-size:15px}
 [data-skin=soft] .app-header .subject-tabs{height:38px!important;min-height:38px}
 [data-skin=soft] .app-header .subject-tabs button{min-height:38px;font-size:13px}
 [data-skin=soft] #hanziStudy{display:grid;grid-template-columns:136px minmax(0,1fr) 126px;grid-template-rows:42px minmax(0,1fr);gap:8px 12px}
 [data-skin=soft] .learning-aside{grid-column:1;grid-row:1;overflow:hidden;align-self:start}
 [data-skin=soft] .learning-aside .library-switch select{font-size:12px;flex:1;padding-left:0;padding-right:25px}
 [data-skin=soft] .learning-content{display:contents!important}
 [data-skin=soft] .toolbar{grid-column:1;grid-row:2;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px}
 [data-skin=soft] .toolbar>.segment{display:flex;flex-direction:column;width:100%}
 [data-skin=soft] .toolbar>.segment button{min-height:38px!important;padding:0 10px!important;font-size:13px!important}
 [data-skin=soft] .study-scope-select{margin:0;width:100%;font-size:11px}
 [data-skin=soft] .progress{grid-column:2;grid-row:1;align-self:center;font-size:10px}
 [data-skin=soft] .card-wrap{grid-column:2;grid-row:2}
 [data-skin=soft] .flashcard,[data-skin=soft] .flashcard:has(.word){padding:8px 12px 42px!important;border-radius:18px}
 [data-skin=soft] .watermark{display:none}
 [data-skin=soft] .flashcard .glyph{width:min(48cqh,120px);height:min(48cqh,120px)}
 [data-skin=soft] .flashcard .glyph:has(.word){width:100%;height:auto}
 [data-skin=soft] .flashcard .char{font-size:clamp(44px,43cqh,110px)}
 [data-skin=soft] .flashcard .word{--word-gap:6px;--word-cell:min(35cqh,calc((100cqw - (var(--word-columns) - 1) * var(--word-gap) - 4px)/var(--word-columns)),80px)}
 [data-skin=soft] .flashcard .pinyin{font-size:19px;margin-top:3px}
 [data-skin=soft] .flashcard .example{font-size:12px;margin-top:3px}
 [data-skin=soft] .flashcard .word-pinyin{font-size:15px;margin-top:4px}
 [data-skin=soft] .soft-study-tools{bottom:2px;gap:12px}
 [data-skin=soft] .soft-study-tools #speakBtn,[data-skin=soft] .soft-study-tools #favoriteBtn{height:36px;min-height:36px;font-size:11px;padding:0 5px}
 [data-skin=soft] .soft-study-tools svg{width:17px;height:17px}
 [data-skin=soft] .action-dock{grid-column:3;grid-row:1/3;display:flex;flex-direction:column;justify-content:flex-end;margin:0!important;gap:10px}
 [data-skin=soft] .action-dock .card-actions button{height:46px;min-height:46px;font-size:13px;padding:0 6px}
 [data-skin=soft] .skin-menu{top:56px;max-height:calc(100dvh - 72px)}
 [data-skin=soft] .empty .big{height:50px;width:65px;margin-bottom:4px}
 [data-skin=soft] .empty h2{font-size:15px}
 [data-skin=soft] .empty p{font-size:11px}
 [data-skin=soft] .math-panel{display:grid;grid-template-columns:150px minmax(0,1fr);grid-template-rows:40px 88px minmax(0,1fr) 44px;gap:6px 12px}
 [data-skin=soft] .math-mode-tabs{grid-column:1;grid-row:1;align-self:start;width:100%;gap:0}
 [data-skin=soft] .math-mode-tabs button{padding:0 3px;font-size:11px;min-height:34px}
}
@media(hover:hover){[data-skin=soft] .parent-tools .btn:hover,[data-skin=soft] .soft-study-tools button:hover{background:#f0eadc}}
/* Keep the arithmetic canvas complete on tablets and desktop too. */
[data-skin=soft] .math-learning{container-type:size;position:relative;display:flex;flex-direction:column;justify-content:center;padding:56px 24px 20px}
[data-skin=soft] .math-card-top{position:absolute;top:12px;left:20px;right:20px;z-index:1}
@media(min-width:601px) and (min-height:501px){
 [data-skin=soft] .math-learning:has(.math-answer-form:not([hidden])){display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,43%);grid-template-rows:minmax(0,1fr) 60px;align-items:center;gap:10px 24px;padding:62px 24px 18px!important}
 [data-skin=soft] .math-learning:has(.math-answer-form:not([hidden])) .math-equation{grid-column:1;grid-row:1;margin:0;font-size:clamp(42px,6vw,76px)}
 [data-skin=soft] .math-learning:has(.math-answer-form:not([hidden])) .math-caption{display:none}
 [data-skin=soft] .math-answer-form{grid-column:2;grid-row:1/3;width:100%;margin:0}
 [data-skin=soft] .math-answer-form label{font-size:12px}
 [data-skin=soft] .math-answer-form .math-keypad{gap:7px;margin-top:8px}
 [data-skin=soft] .math-answer-form .math-keypad button{height:clamp(46px,10cqh,70px);min-height:44px}
 [data-skin=soft] .math-answer-form input,[data-skin=soft] .math-answer-form button[type=submit]{height:48px;min-height:48px}
 [data-skin=soft] .math-answer-form button[type=submit]{font-size:14px;padding:0 10px;min-width:94px;white-space:nowrap}
 [data-skin=soft] .math-learning:has(.math-answer-form:not([hidden])) .math-helper{position:absolute;bottom:45px;left:24px;width:calc(53% - 48px);margin:0;border:0;padding:0;max-height:calc(100% - 115px);overflow:auto;z-index:2;background:var(--card)}
 [data-skin=soft] .math-learning:has(.math-answer-form:not([hidden])) .math-helper[open]{padding:12px;border:1px solid #d7cebc;border-radius:12px}
 [data-skin=soft] .math-learning:has(.math-answer-form:not([hidden])) .math-text-button{position:absolute;left:24px;bottom:8px;min-height:32px;padding:0;margin:0;font-size:13px}
 [data-skin=soft] .math-learning:has(.math-answer-form:not([hidden])) .math-feedback{position:absolute;left:24px;bottom:88px;width:calc(53% - 48px);font-size:14px;line-height:1.6;margin:0;background:var(--card);padding:8px;z-index:2}
}
@media(orientation:landscape) and (max-height:500px) and (max-width:1000px){
 [data-skin=soft] .math-panel{grid-template-rows:40px 98px minmax(0,1fr) 44px}
 [data-skin=soft] .math-options{gap:6px}
 [data-skin=soft] .math-options label{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;font-size:0}
 [data-skin=soft] .math-options select{font-size:12px;width:100%;min-height:44px;height:44px;flex:none;padding:0 26px 0 8px}
 [data-skin=soft] .math-learning:has(.math-answer-form:not([hidden])){display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,60%);grid-template-rows:1fr 26px;padding:40px 12px 8px!important;gap:5px 12px}
 [data-skin=soft] .math-card-top{top:4px;left:10px;right:10px}
}
