@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&display=swap');
:root{--bg:#f7f8f4;--paper:#fff;--ink:#273c34;--muted:#839087;--green:#315c4c;--border:#e2e7df;--pale:#edf2e9;--serif:'Noto Serif SC','Songti SC',serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #aebfa6;outline-offset:4px}h1,h2,h3,p{margin:0}p{line-height:1.8}small{display:block;color:var(--muted)}.layout{display:flex;min-height:100vh}.sidebar{width:210px;flex-shrink:0;background:#f1f3ed;border-right:1px solid var(--border);padding:36px 22px 22px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.brand{font-size:27px;font-family:var(--serif);font-weight:600;display:flex;align-items:center;gap:10px}.brand-mark{font-family:Arial;font-size:25px;border-radius:10px;background:var(--green);color:#fff;width:36px;height:38px;display:grid;place-items:center}.beta{font-family:Arial;font-size:10px;color:#81917f;align-self:start;letter-spacing:1px}.brand-sub{font-size:10px;letter-spacing:2px;margin:14px 0 42px;color:#7b887c}nav{display:grid;gap:10px}nav a{display:flex;gap:14px;padding:14px 16px;border-radius:8px;color:#6e7d72}nav a span{width:18px;font-size:21px;line-height:20px}nav a.active{background:#e1e9dd;color:#31523f;font-weight:600}.sidebar-note{margin-top:auto;padding:60px 12px 30px}.tiny-label{font-size:8px;letter-spacing:1px;color:#8b9688}.sidebar-note p{font-family:var(--serif);font-size:16px;line-height:2;margin-top:16px;color:#849181}.small-leaf{font-size:60px;color:#b3c1ab;transform:rotate(-25deg);padding:6px 20px}.profile{border-top:1px solid var(--border);padding-top:22px;display:flex;gap:12px;align-items:center}.avatar{display:grid;place-items:center;border-radius:50%;width:35px;height:35px;background:#dfd8c7;color:#776c54}.profile small{font-size:10px;margin-top:4px}main{margin-left:210px;width:calc(100% - 210px);padding:42px 48px 20px;max-width:1700px}.page-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 32px;gap:20px}.eyebrow{font-size:10px;letter-spacing:2px;color:#84927e;margin-bottom:13px}h1{font-size:29px;font-family:var(--serif);font-weight:500;letter-spacing:.5px}.page-head p{margin-top:13px;color:var(--muted);font-size:13px}.date-pill,.soft-tag{border:1px solid var(--border);background:#f6f8f2;border-radius:30px;padding:8px 12px;white-space:nowrap;font-size:11px;color:#74836c}.hero{border:1px solid #dfe5d7;background:#eaf0e2;min-height:318px;border-radius:14px;display:flex;overflow:hidden}.hero-copy{padding:34px 42px;flex:1;z-index:1}.tag{font-size:11px;color:#778969;display:inline-block;letter-spacing:.5px}.hero h2{font:500 33px/1.55 var(--serif);margin-top:16px}.hero p{color:#73836d;font-size:12px;margin:14px 0 24px}.primary{display:inline-flex;justify-content:center;align-items:center;gap:26px;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:7px;padding:13px 22px;min-height:45px;font-size:12px}.primary:hover{background:#244837}.hero small{font-size:10px;margin-top:13px}.hero-art{width:34%;position:relative;display:flex;align-items:center;justify-content:center;background:linear-gradient(115deg,#eaf0e2,#d9e2cf)}.window{width:165px;height:215px;border:7px solid #adbaa0;border-radius:90px 90px 4px 4px;position:relative;background:linear-gradient(#c4d1b9,#e8eddf);box-shadow:inset 0 0 0 3px #dae1cd}.window:after{content:'';position:absolute;left:-16px;bottom:-12px;width:185px;height:10px;background:#a6b69a;border-radius:2px}.light-halo{position:absolute;bottom:18px;left:25px;width:106px;height:106px;border-radius:50%;background:#eedea4;filter:blur(20px);opacity:.85}.lamp{position:absolute;bottom:16px;left:56px;width:42px;height:59px;border:4px solid #5c7054;border-radius:6px;background:#eddd9d;box-shadow:0 0 25px #eddea3}.lamp:before{content:'';position:absolute;width:18px;height:19px;border:4px solid #5c7054;border-bottom:0;border-radius:20px 20px 0 0;top:-22px;left:5px}.lamp:after{content:'';position:absolute;left:-9px;bottom:-7px;width:52px;height:7px;background:#5c7054;border-radius:5px}.lamp i{position:absolute;left:15px;top:0;height:51px;width:2px;background:#a89765}.art-caption{position:absolute;bottom:20px;font:11px var(--serif);letter-spacing:3px;color:#84917a}.rain{position:absolute;transform:rotate(14deg);height:18px;width:1px;background:#afbea0;box-shadow:25px 26px #afbea0,55px 6px #afbea0,70px 50px #afbea0,100px 30px #afbea0}.r1{top:55px;left:20px}.r2{top:95px;right:55px}.r3{bottom:85px;left:15px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:32px 0 18px;gap:14px}.section-head h2,.library-heading h2{font:500 18px var(--serif)}.section-head>span{font-size:11px;color:var(--muted)}.entrances{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.entry{background:#fff;border:1px solid var(--border);border-radius:11px;padding:24px;transition:transform .2s,border-color .2s}.entry:hover{transform:translateY(-3px);border-color:#9bad8f}.entry-top{display:flex;justify-content:space-between;align-items:center}.entry-icon{width:39px;height:40px;border-radius:10px;background:#eef1e9;display:grid;place-items:center;font-size:25px;color:#637a55}.entry:nth-child(2) .entry-icon{background:#f3eee2;color:#9a895c}.entry:nth-child(3) .entry-icon{background:#edf0f1;color:#748895}.entry-number{font-family:var(--serif);font-size:13px;color:#b7c1b0}.entry h3{font:500 21px var(--serif);margin:20px 0 12px}.entry p{font-size:12px;color:#849087}.entry small{font-size:10px;margin:15px 0 22px}.entry-link{border-top:1px solid #eef0e9;padding-top:15px;display:flex;justify-content:space-between;font-size:12px}.growth{display:flex;justify-content:space-between;align-items:center;padding:26px 30px;border:1px solid var(--border);border-radius:10px;margin-top:25px;background:#f1f4ec;gap:20px}.growth h3{font-size:13px;margin-bottom:8px}.growth p{color:#82907a;font-size:12px}.growth-icon{float:left;font-size:40px;margin-right:20px;color:#a0b18f}footer{font-size:10px;color:#9ba595;text-align:center;margin:28px 0 2px}.progress-setting{display:flex;align-items:center;gap:26px;border:1px solid var(--border);background:#fff;padding:26px;border-radius:10px}.progress-setting>div{flex:1}.progress-setting h3{font:18px var(--serif);margin-bottom:10px}.progress-setting p,.muted{color:var(--muted);font-size:12px}.progress-setting label{font-size:11px;color:#7c8875;display:grid;gap:8px}select,input{background:#f9faf6;border:1px solid var(--border);border-radius:6px;padding:11px 13px;color:var(--ink)}.lesson-panel{background:#fff;padding:26px 30px;border-radius:12px;border:1px solid var(--border);margin-top:25px}.lesson-panel .section-head{margin:0 0 14px}.lesson-panel h2{margin-top:10px}.resources{margin:24px 0}.resource{display:flex;align-items:center;padding:18px 4px;gap:20px;border-top:1px solid var(--border)}.resource>span:first-child{color:#a4b098;font:16px var(--serif)}.resource>div{flex:1}.resource h3{font-size:13px;font-weight:500}.resource small{font-size:10px;margin-top:5px}.status{font-size:11px;color:#9a9984}.lesson-bottom{display:flex;align-items:center;justify-content:space-between;background:var(--pale);border-radius:8px;padding:25px;gap:20px}.lesson-bottom h3{font:18px var(--serif);margin-bottom:10px}.lesson-bottom p{font-size:12px;color:#7b8b73}.info-note{font-size:12px;color:var(--muted);padding:22px 4px;line-height:1.9}.library-heading{display:flex;justify-content:space-between;margin-bottom:24px}.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.book-card{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}.book-cover{height:280px;margin:24px 24px 0;border-radius:2px 7px 7px 2px;padding:28px 24px;position:relative;box-shadow:inset 7px 0 0 #0000000a;background:#ccd9bd}.book-cover.sand{background:#e5d9ba;color:#7d6949}.book-cover.blue{background:#ccd9dc;color:#536f77}.cover-series{font-size:9px;letter-spacing:2px}.book-cover h2{font:26px var(--serif);margin:25px 0 15px}.book-cover>span:not(.cover-series){font-size:10px}.cover-line{width:30px;height:1px;background:currentColor;margin-top:25px;opacity:.5}.cover-symbol{position:absolute;bottom:13px;right:23px;font:70px var(--serif);opacity:.45}.book-details{padding:24px}.book-details h3{font:18px var(--serif)}.book-details p{font-size:11px;color:var(--muted);margin:10px 0 18px}.secondary{background:#fafbf7;border:1px solid var(--border);color:#72806a;border-radius:6px;padding:11px 16px;min-height:40px;font-size:12px}.secondary:hover{border-color:#9cac90}.upload-panel{border:1px dashed #afbea0;border-radius:12px;background:#f1f5ec;text-align:center;padding:32px}.upload-icon{font-size:36px;color:#91a482;margin-bottom:18px}.upload-panel h2{font:24px var(--serif)}.upload-panel p{font-size:12px;color:var(--muted);margin:16px}.upload-panel small{margin-top:16px;font-size:10px}.upload-label{cursor:pointer}.empty{text-align:center;background:#fff;border:1px solid var(--border);border-radius:10px;padding:35px}.empty>span{font-size:30px;color:#b8c3ae}.empty h3{font-size:14px;font-weight:500;margin:16px 0 10px}.empty p{color:var(--muted);font-size:12px}.count{font-family:Arial;font-size:12px;color:#98a08e;margin-left:6px}.paper-row{display:flex;align-items:center;gap:20px;border:1px solid var(--border);border-radius:9px;padding:20px;margin-bottom:12px;background:#fff}.paper-row>div{flex:1;min-width:0}.paper-row h3{font-size:13px;word-break:break-all}.paper-row p{font-size:11px;color:var(--muted);margin-top:5px}.paper-symbol{font-size:26px;color:#9eac93}.text-button{border:0;background:none;color:#7b8971;padding:10px 7px;font-size:11px}.discovery{padding:28px;border-radius:12px;border:1px solid var(--border);margin-top:25px;background:#fff}.discovery h2{font:22px var(--serif);margin:10px 0}.discovery>div>p{color:var(--muted);font-size:12px}.profile-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:22px 0;gap:15px}.profile-grid>div{padding:16px;background:#f6f7f2;border-radius:7px;font-size:12px}.profile-grid strong{display:block;font-size:11px;color:#9da78f;font-weight:400;margin-top:14px}.workspace-layout .sidebar{width:170px;padding:28px 16px}.workspace-layout .brand-sub{font-size:9px;letter-spacing:1px}.workspace-layout main{margin-left:170px;width:calc(100% - 170px);padding:24px}.workspace-layout nav a{padding:13px 10px;font-size:12px;gap:12px}.work-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.back{font-size:12px;color:#84917c}.work-head .soft-tag{margin-left:auto}.work-title{display:flex;justify-content:space-between;align-items:center;margin:24px 0}.work-title h1{font-size:24px}.work-title .eyebrow{font-size:9px}.steps{display:flex;list-style:none;padding:0;gap:0;border:1px solid var(--border);background:#fff;border-radius:8px;margin:0 0 20px}.steps li{flex:1;padding:14px 10px;text-align:center;font-size:11px;color:#9ba691}.steps li span{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid #d7decd;margin-right:7px;font-size:10px}.steps li.current{background:#eaf0e2;color:#49613a}.steps li.current span{background:#5c7750;color:#fff;border-color:#5c7750}.steps li.done{color:#7c9471}.reading-grid{display:grid;grid-template-columns:minmax(300px,1.2fr) minmax(290px,1fr) minmax(205px,.75fr);gap:16px;align-items:start}.reading-grid>section{border:1px solid var(--border);border-radius:10px;background:#fff;min-height:620px;overflow:hidden}.panel-label{padding:18px;border-bottom:1px solid var(--border);font-size:10px;letter-spacing:1px;color:#7e8c75;display:flex;justify-content:space-between;gap:7px}.panel-label span{font-size:9px;letter-spacing:0;color:#9aa690}.article-heading{text-align:center;margin:27px 0 22px}.article-heading h2{font:25px var(--serif);margin-bottom:10px}.article-heading small{font-size:9px}.reading-tools{display:flex;justify-content:center;gap:6px;align-items:center;padding:0 14px 18px}.reading-tools .secondary{padding:8px 12px;min-height:32px;font-size:10px}.article-text{padding:0 16px 22px}.paragraph{display:flex;gap:11px;border:1px solid transparent;width:100%;padding:11px 10px;background:none;border-radius:5px;text-align:left;color:#52604c;font:14px/2.1 var(--serif);margin-bottom:5px}.paragraph:hover,.paragraph.selected{background:#f0f4e9;border-color:#e3eadb}.paragraph-num{font-family:Arial;font-size:10px;flex-shrink:0;color:#a4b195;margin-top:7px}.large-text .paragraph{font-size:18px}.task-body{padding:26px 22px}.task-body h2{font:22px/1.6 var(--serif);margin:16px 0}.task-body>p{font-size:12px;color:#829076;line-height:1.9}.task-body .question{font:14px/1.9 var(--serif);color:#455640;background:#f3f6ee;border-left:2px solid #95aa80;padding:15px;margin:18px 0 22px}.task-symbol{font-size:60px;color:#acbc99;margin:12px 0 24px}.companion-avatar{width:38px;height:38px;border:1px solid #d5e0c7;border-radius:50%;display:grid;place-items:center;font-size:27px;color:#789166;margin-bottom:19px}.gentle-note{font-size:11px;line-height:2;color:#95a08a;margin:25px 0;padding:18px 0;border-top:1px solid var(--border)}.full{width:100%;margin-top:16px;gap:7px}.field-label{display:block;font-size:11px;color:#8a977e;margin:16px 0 10px}textarea{width:100%;border:1px solid #dfe5d6;border-radius:7px;background:#fafbf7;padding:14px;resize:vertical;color:#4b5c41;font-size:12px;line-height:1.9;min-height:110px}textarea:focus,input:focus{outline:2px solid #bccbad;outline-offset:1px}textarea::placeholder,input::placeholder{color:#a9b19f}.evidence-pill{color:#96a287;font-size:10px;margin:14px 0}.voice-row{display:flex;gap:10px;margin-top:12px}.voice-note{font-size:9px;line-height:1.8;margin-top:12px}.feedback-note{font-size:11px;line-height:1.9;color:#80916e;border:1px solid #e2e9db;border-radius:6px;padding:12px}.map-panel{background:#f5f7f0!important}.map-intro{padding:18px;font-size:10px;color:#99a48c;line-height:1.9}.map-empty{text-align:center;margin-top:70px;padding:20px}.seed{font-size:65px;color:#c0cbb1}.map-empty h3{font:13px var(--serif);margin:15px 0}.map-empty p{font-size:11px;color:#9da88f}.map-nodes{padding:0 16px}.map-node{position:relative;border-left:2px solid #a9bc92;padding:13px 14px;background:#fff;border-radius:0 6px 6px 0;margin-bottom:17px;box-shadow:0 2px 10px #425a3005}.map-node:not(:last-child):after{content:'';position:absolute;height:17px;width:1px;background:#c6d4b5;bottom:-17px;left:10px}.node-type{font-size:9px;color:#91a57c;letter-spacing:1px}.map-node p{font-size:11px;color:#67745c;margin:9px 0;word-break:break-word}.map-node small{font-size:8px}.map-footer{font-size:9px;color:#9daa8e;padding:14px 18px}.hidden-map{text-align:center;padding:115px 20px}.hidden-map>div{font-size:45px;color:#b6c0a8}.hidden-map h3{font:14px var(--serif);margin:20px 0}.hidden-map p{font-size:11px;color:#9aa48e}.answer-foot{font-size:9px;color:#a0ab93;display:flex;justify-content:space-between;margin-top:10px}#layer-fields label{display:grid;gap:7px;color:#8b967e;font-size:11px;margin:14px 0}#layer-fields input{width:100%;font-size:12px}.submitted-answer{background:#f8f9f4;border:1px solid var(--border);padding:14px;border-radius:7px;margin:15px 0}.submitted-answer small{font-size:9px}.submitted-answer p{font-size:12px;margin-top:9px;white-space:pre-wrap}.review-layer{border-bottom:1px solid var(--border);padding:16px 0}.review-layer>div{display:flex;align-items:center;gap:8px}.review-layer span{font-size:10px;color:#80936b}.review-layer strong{font-size:12px;font-weight:500;flex:1}.review-layer small{font-size:9px}.review-layer p{font-size:11px;color:#87977a;margin-top:10px}details{font-size:11px;color:#809071;margin-top:20px;line-height:1.9}details p{margin-top:12px}.paper-dialog{border:1px solid var(--border);border-radius:14px;max-width:850px;width:90%;max-height:90vh;padding:25px;color:var(--ink)}.paper-dialog::backdrop{background:#25352b88}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-head h2{font-size:17px}.paper-dialog img{max-width:100%;display:block;margin:20px auto}.paper-dialog section{margin-top:25px}.paper-dialog h3{font-size:12px;word-break:break-all}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(20px);background:#2d493b;color:#fff;border-radius:9px;padding:14px 22px;box-shadow:0 7px 25px #0002;opacity:0;pointer-events:none;transition:.2s;font-size:12px;z-index:1000;max-width:90vw;line-height:1.7}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@media(min-width:1500px){.reading-grid>section{min-height:720px}.paragraph{font-size:16px}.task-body{padding:30px}.hero{min-height:355px}.hero-copy{padding:40px 50px}}@media(max-width:1150px){.sidebar{width:170px;padding:30px 16px}main{margin-left:170px;width:calc(100% - 170px);padding:32px 28px}.brand-sub{font-size:9px;letter-spacing:1px}.page-head h1{font-size:25px}.date-pill{display:none}.hero-copy{padding:28px}.hero h2{font-size:29px}.entry{padding:20px}.entry p{font-size:11px}.workspace-layout .sidebar{width:140px;padding:28px 10px}.workspace-layout main{margin-left:140px;width:calc(100% - 140px);padding:20px 16px}.workspace-layout .brand{font-size:24px;gap:7px}.workspace-layout .brand-sub{font-size:8px}.reading-grid{grid-template-columns:minmax(250px,1.15fr) minmax(240px,1fr) minmax(180px,.75fr);gap:12px}.map-nodes{display:block}.map-node:after{display:none}.map-empty{margin:0;padding:22px}.map-empty .seed{font-size:35px}.hidden-map{padding:30px}.work-title .muted{display:none}.task-body{padding:22px 18px}.progress-setting{gap:16px}.book-cover{margin:18px 18px 0;padding:22px 17px}.book-cover h2{font-size:22px}}@media(max-width:760px){.sidebar,.workspace-layout .sidebar{position:static;width:100%;padding:18px 20px;display:block}.brand-sub,.sidebar-note,.profile{display:none}nav{display:flex;gap:3px;margin-top:17px}nav a,.workspace-layout nav a{padding:10px 8px;font-size:11px;gap:6px;flex:1;justify-content:center}nav a span{font-size:15px;width:12px}.layout{display:block}main,.workspace-layout main{margin:0;width:100%;padding:25px 20px}.hero-art{width:29%}.window{transform:scale(.7)}.hero h2{font-size:23px}.hero-copy{padding:23px}.hero-art .art-caption{display:none}.entrances{grid-template-columns:1fr}.entry{padding:20px}.entry-top{float:right;gap:20px}.entry h3{margin-top:5px}.entry-link{margin-top:10px}.page-head h1{font-size:23px}.section-head>span{display:none}.growth{padding:20px}.growth .soft-tag{display:none}.progress-setting{flex-wrap:wrap}.progress-setting>div{flex-basis:100%}.lesson-panel{padding:20px}.lesson-bottom{flex-direction:column;align-items:start;padding:20px}.book-grid{grid-template-columns:1fr}.book-cover{max-width:240px;margin:24px auto 0}.profile-grid{grid-template-columns:1fr 1fr}.paper-row{flex-wrap:wrap;gap:12px}.paper-row>div{min-width:60%}.reading-grid{display:block}.reading-grid>section{min-height:auto;margin-bottom:16px}.steps li{font-size:9px;padding:13px 3px}.steps li span{display:block;margin:0 auto 6px}.map-nodes{grid-template-columns:1fr}.work-title h1{font-size:21px}.work-head{gap:10px}.work-head .soft-tag{font-size:9px}.hero p{font-size:11px}.upload-panel{padding:25px 15px}}

.memory-book{width:165px;height:215px;transform:rotate(-8deg);background:#b7c5a9;color:#506247;border-radius:3px 9px 9px 3px;box-shadow:inset 9px 0 #0000000d,12px 14px 0 #cad5bc;padding:30px 23px;display:flex;flex-direction:column;justify-content:space-between;font-family:var(--serif);border:1px solid #9ead90}.memory-book span{font-size:10px;letter-spacing:2px;line-height:2}.memory-book strong{font-size:30px;letter-spacing:5px;font-weight:400}.memory-book i{font-size:9px;font-style:normal;letter-spacing:1px}@media(max-width:760px){.memory-book{transform:rotate(-8deg) scale(.7);flex-shrink:0}}

@media(min-width:761px){.reading-grid{height:clamp(520px,calc(100dvh - 225px),850px);align-items:stretch}.reading-grid>section{height:100%;min-height:0!important}.article-panel{display:flex;flex-direction:column}.article-panel .panel-label,.article-heading,.reading-tools{flex-shrink:0}.article-text{overflow-y:auto;flex:1;min-height:0;overscroll-behavior:contain}.companion-panel,.map-panel{overflow-y:auto!important;overscroll-behavior:contain}.map-panel .panel-label,.companion-panel .panel-label{position:sticky;top:0;background:#fff;z-index:2}.map-panel .panel-label{background:#f5f7f0}.paragraph:focus-visible{outline-offset:-3px}}

.upload-panel.drag-active{outline:2px dashed #346b56;outline-offset:-6px;background:#eaf3ed}
/* Reading workspace: give the text the majority of the screen and viewport. */
@media(min-width:761px){
 .workspace-layout{height:100dvh;min-height:0;overflow:hidden}
 .workspace-layout .sidebar{display:none}
 .workspace-layout main{margin:0;width:100%;max-width:none;padding:14px 20px 16px;display:flex;flex-direction:column;min-height:0}
 .work-head{flex-shrink:0;min-height:30px}
 .work-title{margin:8px 0 12px;flex-shrink:0}
 .work-title .eyebrow{display:none}
 .work-title h1{font-size:22px}
 .steps{margin-bottom:12px;flex-shrink:0}
 .steps li{padding:10px}
 .reading-grid{flex:1;min-height:0;height:auto;grid-template-columns:minmax(360px,1.8fr) minmax(260px,1fr) minmax(165px,.65fr);gap:14px}
 .reading-grid>section{min-width:0}
 .panel-label{padding:12px 16px}
 .article-heading{margin:14px 18px 10px}
 .article-heading h2{font-size:23px;margin-bottom:5px}
 .article-heading small{font-size:11px}
 .reading-tools{padding:0 16px 12px;gap:8px;flex-wrap:wrap}
 .article-text{padding:4px 24px 26px;scrollbar-gutter:stable}
 .paragraph{font-size:18px;line-height:2;gap:12px;padding:12px 6px;margin-bottom:12px}
 .large-text .paragraph{font-size:22px}
 .reading-grid.reading-focus{grid-template-columns:1fr}
 .reading-focus .companion-panel,.reading-focus .map-panel{display:none}
 .reading-focus .article-text{width:100%;max-width:960px;align-self:center;padding:10px 48px 36px}
 .reading-focus .paragraph{font-size:20px;line-height:2.1}
 .reading-focus .large-text .paragraph{font-size:24px}
}
@media(min-width:1500px){.reading-grid{grid-template-columns:minmax(500px,1.9fr) minmax(320px,1fr) minmax(220px,.65fr)}.article-heading{margin:14px 18px 8px}.paragraph{font-size:20px}}
@media(max-width:760px){.reading-focus .companion-panel,.reading-focus .map-panel{display:none}.reading-focus .article-text{padding:0 20px 24px}}
/* Compact article header: keep reading controls available without a tall masthead. */
.article-panel .panel-label{padding:9px 14px}
.article-panel .article-heading{margin:10px 16px 6px;text-align:left}
.article-panel .article-heading h2{font-size:19px;line-height:1.35;margin-bottom:3px}
.article-panel .article-heading small{font-size:10px;line-height:1.4}
.article-panel .reading-tools{justify-content:flex-start;padding:0 14px 8px;gap:4px}
.article-panel .reading-tools .secondary,.article-panel .reading-tools .text-button{min-height:28px;padding:5px 9px;font-size:11px}
@media(min-width:1100px){
 .article-panel{position:relative}
 .article-panel .article-heading{padding-right:0;margin-bottom:5px}
 .article-panel .article-heading h2{font-size:20px}
 .article-panel .reading-tools{padding-bottom:6px}
}
/* The reading workspace has one exit, with all remaining space for learning. */
.workspace-layout .work-head{min-height:26px;margin:0 0 6px;flex-shrink:0}
.workspace-layout .work-head .back{padding:4px 0;font-size:12px}
@media(min-width:761px){
 .workspace-layout main{padding:8px 14px 12px}
 .workspace-layout .reading-grid{min-height:0;overflow:hidden}
 .workspace-layout .article-text{min-height:0}
 .workspace-layout .task-body .task-symbol{margin:0 0 12px;font-size:30px}
}
.book-upload-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.book-upload-pair label{display:flex;flex-direction:column;gap:12px;border:1px dashed #adbaa0;border-radius:10px;padding:20px;background:#f7f9f3}.book-upload-pair strong{font-size:15px}.book-upload-pair span{color:var(--muted);font-size:12px}.book-upload-pair input{max-width:100%;width:100%}.material-entry-links{display:flex;gap:12px;flex-wrap:wrap}@media(max-width:760px){.book-upload-pair{grid-template-columns:1fr}}
.book-upload-pair.drag-active{outline:3px solid #8fa780;outline-offset:5px;border-radius:10px}.book-upload-pair.drag-active label{background:#eaf2e3;border-color:#668858}.book-upload-pair small{word-break:break-word;line-height:1.6}

/* Shared action spacing and paper selection toolbar */
button.primary,button.secondary{padding:12px 20px;min-height:44px;line-height:1.4;border-radius:9px;white-space:nowrap;transition:background .15s,border-color .15s,box-shadow .15s}
button.primary+button,button.secondary+button{margin-left:10px}
button:disabled{cursor:default}
button.danger{color:#a44940;border-color:#e5cbc7;background:#fff9f8}
button.danger:hover:not(:disabled){background:#fbece9;border-color:#c8948c}
.paper-batch-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}
.paper-select-label{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;cursor:pointer}
.paper-batch-toolbar input[type=checkbox],.paper-row>input[type=checkbox]{width:18px;height:18px;accent-color:var(--green);flex-shrink:0;padding:0}
.paper-batch-actions{display:flex;gap:12px;flex-wrap:wrap;margin-left:auto}
.paper-batch-actions button+button,.paper-row-actions button+button{margin-left:0}
#paper-selected-count{color:var(--muted);font-size:12px}
#paper-batch-progress:not(:empty){margin-top:16px}
.paper-row{align-items:flex-start;padding:24px;gap:18px}
.paper-row>input[type=checkbox]{margin-top:5px}
.paper-row-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;flex:0 1 390px!important;min-width:0!important}
.paper-row details{margin-top:14px}
.paper-row summary{cursor:pointer;padding:8px 0;color:#73816b}
.paper-row details label{display:block;line-height:1.8;margin:8px 0 12px;font-size:12px}
[data-paper-notes-state]{display:inline-block;margin-left:12px;color:var(--muted);font-size:12px}
.section-head{flex-wrap:wrap}
.paper-dialog button{margin-top:16px}
@media(max-width:1100px){.paper-row{flex-wrap:wrap}.paper-row>div:not(.paper-row-actions){flex-basis:calc(100% - 40px)}.paper-row-actions{flex-basis:100%!important;margin-left:36px;justify-content:flex-start}.paper-batch-actions{margin-left:0}}

.paper-review{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.review-counts{font-weight:600;color:var(--green)!important}.question-edit{padding:12px;border:1px solid var(--border);border-radius:9px;background:#f9faf6}.question-edit p{white-space:pre-wrap}.question-edit label{display:grid;gap:8px}.question-edit select{width:150px}

.original-window[open]{position:fixed;inset:70px auto auto 35px;margin:0;width:min(58vw,900px);height:78vh;min-width:320px;min-height:260px;max-width:95vw;max-height:90vh;padding:0;resize:both;overflow:hidden;z-index:2000;box-shadow:0 18px 60px #1b302a40;border:1px solid #bdcbb9;border-radius:12px;display:flex;flex-direction:column}
.original-drag{cursor:move;touch-action:none;user-select:none;background:#edf2e9;padding:14px 18px;gap:12px;flex-shrink:0}.original-drag h2{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.original-drag>div{display:flex;gap:8px;flex-shrink:0}.original-drag button.secondary{margin:0;padding:8px 12px;min-height:34px}.original-help{padding:7px 18px;font-size:11px;color:var(--muted);flex-shrink:0}.original-content{flex:1;min-height:0;overflow:auto;padding:14px 18px 30px}.original-content section{margin-bottom:24px}.original-content img{width:100%;height:auto;display:block;margin-top:12px}.original-content h3{font-size:12px;color:var(--muted)}
@media(max-width:760px){.original-window[open]{left:10px;top:30px;width:calc(100vw - 20px)}.original-drag{flex-wrap:wrap}}

.verdict-badge{display:inline-block;padding:5px 10px;border-radius:7px;font-size:12px;font-weight:600}.verdict-badge.pending{background:#fff0cf;color:#925500;border:1px solid #e9ba60}.verdict-badge.correct{background:#e8f2e6;color:#356336}.verdict-badge.wrong{background:#fbe7e5;color:#a43e35}.question-quick{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.question-quick select{min-height:40px}.question-quick [data-save-state]{color:#6d7f65;font-size:12px}.review-sticky{position:sticky;top:0;z-index:3;background:#f7f8f4;border-bottom:1px solid var(--border);padding:12px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.review-sticky span{font-size:12px;color:var(--muted)}

/* Compact parent proofreading list */
.paper-review .question-edit{margin:7px 0;padding:9px 12px;border-radius:7px}
.paper-review .question-quick{gap:8px;min-height:36px}
.paper-review .question-quick strong{font-size:12px}
.paper-review .question-quick select{padding:6px 9px;min-height:32px;width:100px;font-size:12px}
.paper-review .verdict-badge{padding:3px 8px}
.paper-row .paper-review summary{padding:5px 0;font-size:12px;line-height:1.5}
.paper-row .paper-review p{line-height:1.65;margin:7px 0;font-size:12px}
.paper-row .paper-review label{margin:7px 0;gap:5px;line-height:1.5}
.paper-review textarea{min-height:64px;padding:8px 10px;line-height:1.6}
.paper-review .review-sticky{padding:9px 10px;gap:8px;border-radius:7px}
.paper-review .review-sticky button,.paper-review .review-bottom button,.paper-review [data-collapse-question]{min-height:34px;padding:7px 12px;font-size:12px}
.review-bottom{display:flex;justify-content:flex-end;padding:10px 0}
.paper-review .review-counts{display:flex;gap:7px;flex-wrap:wrap}

.verdict-badge.partial{background:#e9edf9;color:#4a5594;border:1px solid #c4cceb}.verdict-badge.incomplete{background:#fff0e0;color:#996024;border:1px solid #e6c39b}.paper-review .question-quick select{width:130px}

.review-counts button{min-height:34px;cursor:pointer;margin:0!important}.review-counts button.correct,.review-counts button.wrong{border:1px solid transparent}.review-counts button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--green);outline-offset:3px}.review-counts button:disabled{cursor:default;opacity:.5}.review-counts button.secondary{padding:5px 11px;font-size:12px}.question-edit[hidden]{display:none!important}

.paper-row h3 [data-paper-review-badge]{margin-left:10px;font-size:11px;vertical-align:middle;white-space:nowrap}.review-bottom{gap:10px}.review-bottom button+button{margin-left:0}
/* Compact paper management and question rows. */
.paper-row{padding:14px 18px;gap:14px;margin-bottom:8px}
.paper-row h3{line-height:1.45}.paper-row h3 .text-button{padding:3px 7px;min-height:24px;margin:0 4px;font-size:11px}
.paper-row details{margin-top:5px}.paper-row summary{padding:4px 0;line-height:1.5}
.paper-row .paper-review{margin-top:8px;padding-top:7px}
.paper-row .paper-review .review-counts{margin:3px 0 5px;gap:6px}
.paper-review .review-counts button{min-height:29px;padding:3px 8px}
.paper-row .paper-review>details{margin-top:3px}
.paper-review .question-edit{margin:4px 0;padding:5px 9px}
.paper-review .question-quick{min-height:29px;gap:7px}
.paper-review .question-quick select{min-height:28px;padding:3px 7px}
.paper-row .question-edit>details{margin-top:2px}
.paper-row .paper-review summary{padding:3px 0}
.paper-row-actions button{min-height:36px;padding:7px 12px}
.paper-review-filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.paper-review-filters button{min-height:34px;padding:6px 12px;margin:0!important;cursor:pointer}
.paper-review-filters button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--green)}
.paper-row[hidden]{display:none!important}
.process-progress{margin:12px 0 6px;padding:12px 14px;border:1px solid var(--border);background:#f4f7ef;border-radius:8px}
.process-progress[hidden]{display:none}.process-progress>div{display:flex;gap:12px;align-items:center;font-size:12px;margin-bottom:7px}.process-progress strong{color:var(--green);font-size:17px}.process-progress progress{display:block;width:100%;height:12px;accent-color:var(--green);border:0;border-radius:8px;overflow:hidden}.process-progress progress::-webkit-progress-bar{background:#dfe7d8}.process-progress progress::-webkit-progress-value{background:var(--green);transition:width .3s}
.learner-portrait{border:1px solid var(--border);border-radius:12px;background:#fff;padding:22px;margin:0 0 24px}
.portrait-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.portrait-heading h2{font:24px var(--serif);margin:7px 0}.portrait-heading>span,.portrait-note{font-size:12px;color:var(--muted);line-height:1.7}.portrait-note{margin:10px 0 16px}
.portrait-summary{display:grid;grid-template-columns:1.3fr 1fr .8fr;gap:12px}.portrait-summary section{background:#f6f8f2;border-radius:8px;padding:14px}.portrait-summary h3{font-size:14px;margin:0 0 10px}.portrait-summary p{margin:9px 0 4px;font-size:12px}.portrait-summary p span{display:block;color:var(--muted);margin-top:3px}.portrait-summary small{font-size:11px;line-height:1.7;color:#6f7f69}
.portrait-legend{display:flex;align-items:center;gap:7px;font-size:11px;margin:18px 0 8px;color:var(--muted)}.portrait-gap-dot,.portrait-strength-dot{width:9px;height:9px;border-radius:50%;background:#c5894b}.portrait-strength-dot{background:#65927a;margin-left:12px}
.portrait-map{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.portrait-skill{margin:0;padding:10px 0;border-bottom:1px solid var(--border);color:var(--ink)}.portrait-skill summary{cursor:pointer;list-style:none}.portrait-skill summary>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:12px}.portrait-skill summary span{font-size:10px;color:var(--muted)}.portrait-bars{display:grid;grid-template-columns:1fr 18px 1fr 18px;gap:5px;align-items:center;margin-top:6px}.portrait-bars>div{height:7px;background:#edf0e9;border-radius:5px;overflow:hidden}.portrait-bars i{display:block;height:100%;border-radius:5px}.portrait-bars .gap{background:#c5894b}.portrait-bars .strength{background:#65927a}.portrait-bars b{font-size:10px;color:var(--muted);font-weight:400}.portrait-skill p{font-size:11px;line-height:1.7;margin:7px 0}
@media(max-width:850px){.portrait-summary{grid-template-columns:1fr}.portrait-heading{display:block}.portrait-map{grid-template-columns:1fr}}
.radar-layout{display:grid;grid-template-columns:minmax(320px,1fr) 1fr;gap:28px;align-items:center}.ability-radar{width:100%;max-height:430px}.ability-radar text{font-size:12px;fill:#52684a}.ability-radar g{cursor:pointer}.ability-radar g:hover text{fill:#254d37;font-weight:700}.radar-status-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.radar-skill-button{display:flex;justify-content:space-between;gap:8px;padding:11px;background:#f6f8f2;border:1px solid var(--border);border-radius:7px;text-align:left;font-size:12px}.radar-skill-button span{color:#739064;font-size:11px}.radar-skill-button .needs-practice{color:#aa692f}.radar-status-list small{grid-column:1/-1;font-size:11px;line-height:1.8;color:var(--muted);margin-top:8px}.profile-drilldown{padding:16px;margin-top:12px;background:#f7f9f3;border-radius:8px;font-size:12px;line-height:1.8}.profile-drilldown[hidden]{display:none}@media(max-width:900px){.radar-layout{grid-template-columns:1fr;gap:12px}}
.page-switch{display:inline-flex;align-items:center;gap:8px;margin-top:12px;text-decoration:none}.portrait-next{display:flex;justify-content:flex-end;margin-top:16px}.portrait-next a{text-decoration:none}
.papers-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:16px}.papers-head h1{margin:0}.papers-head p{margin:5px 0 0;font-size:12px}.portrait-entry{display:inline-flex;align-items:center;text-decoration:none;gap:8px;min-height:44px;padding:12px 22px;font-size:14px;box-shadow:0 3px 10px #315a3820;white-space:nowrap}.papers-total{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;margin:8px 0}.papers-total details{margin:0}.papers-total summary{cursor:pointer}.papers-total details[open]{padding:8px;border:1px solid var(--border);border-radius:8px}.papers-total button{margin-top:6px}
#paper-drop{padding:16px 20px;text-align:left;margin-bottom:14px}.paper-upload-inline{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:space-between}.paper-upload-inline>label:first-child{display:flex;align-items:center;gap:8px;font-size:12px}.paper-upload-inline select{min-height:36px;padding:6px 10px}.paper-upload-inline>span{flex:1;font-size:14px;color:var(--ink)}.paper-upload-inline .upload-label{min-height:36px;padding:8px 16px;font-size:12px}#paper-drop small{display:block;margin:7px 0 0;font-size:11px;color:var(--muted)}#paper-upload-feedback{font-size:11px;margin:6px 0 0}#paper-upload-bar{width:100%;height:8px;margin-top:10px;accent-color:var(--green)}.paper-processing{padding:16px 20px;margin-bottom:12px}.paper-processing h2{font-size:16px;margin:0}.paper-processing .paper-review-filters{margin:10px 0}.paper-processing #paper-batch-progress:empty{display:none}.paper-empty{font-size:12px;color:var(--muted);line-height:1.8;padding:12px 0;margin:0}.paper-empty[hidden]{display:none}
.profile-recalculate{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 16px}.profile-recalculate>span{font-size:11px;color:var(--muted)}#profile-recalculate-progress{width:100%;padding:12px;background:#f1f5eb;border-radius:8px}#profile-recalculate-progress[hidden]{display:none}#profile-recalculate-progress progress{width:100%;height:10px;accent-color:var(--green)}#profile-recalculate-progress p{font-size:12px;line-height:1.7;margin-top:7px}
.material-batch{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0 16px;padding:12px;background:#f1f5eb;border-radius:8px;font-size:12px}.material-batch input[type=checkbox]{width:18px;height:18px;accent-color:var(--green);vertical-align:middle}.material-batch>label{display:flex;align-items:center;gap:6px}#material-progress{width:100%}#material-progress[hidden]{display:none}#material-progress progress{width:100%;height:10px;accent-color:var(--green)}#material-progress p{margin:7px 0 0;font-size:12px;line-height:1.7}
#method-selected{overflow-wrap:anywhere;line-height:1.7}#method-selected.upload-error{color:#a3392d;background:#fff0ec;border:1px solid #eac3ba;border-radius:7px;padding:10px 12px;font-weight:500}
.material-check-window[open]{position:fixed;inset:auto;left:3vw;top:8vh;margin:0;width:58vw;height:80vh;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);min-width:min(360px,calc(100vw - 24px));min-height:260px;padding:14px;resize:both;overflow:auto;z-index:1900;display:flex;flex-direction:column;gap:10px;box-shadow:0 12px 50px #182e3233}.material-check-handle{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:move;touch-action:none;user-select:none;flex-shrink:0}.material-check-handle h2{font-size:17px;margin:0}.material-check-handle>div{display:flex;gap:6px;flex-wrap:wrap}.material-check-handle button{min-height:32px;padding:6px 10px;font-size:11px;margin:0!important}.material-check-help{font-size:11px;color:var(--muted);margin:0;flex-shrink:0}.material-check-window #recognized-text{flex:1;min-height:80px;resize:none;width:100%;line-height:1.7;padding:12px}.material-check-footer{display:flex;gap:10px;flex-shrink:0}.material-check-footer button{margin:0!important;min-height:38px;padding:8px 14px}

/* Compact homepage: prioritize lesson and three routes over decoration. */
.home-dashboard{display:grid;gap:18px;max-width:1280px;margin:0 auto}.home-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.home-heading h1{font-size:24px}.home-dashboard .hero{min-height:0}.home-dashboard .hero-copy{padding:22px 26px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;align-items:center}.home-dashboard .hero-copy .tag,.home-dashboard .hero-copy h2,.home-dashboard .hero-copy p,.home-dashboard .hero-copy small{grid-column:1}.home-dashboard .hero h2{font-size:26px;line-height:1.4;margin:8px 0}.home-dashboard .hero p{margin:0;font-size:13px}.home-dashboard .hero small{margin-top:10px}.home-dashboard .hero .primary{grid-column:2;grid-row:1/5;align-self:center}.home-dashboard .section-head{margin:0}.home-dashboard .entry{padding:18px 20px}.home-dashboard .entry h3{margin:12px 0 8px;font-size:22px}.home-dashboard .entry small{margin:10px 0 12px}.home-dashboard .entry-link{padding-top:12px}.home-dashboard .growth{margin:0;padding:15px 20px}.home-dashboard .growth-icon{display:none}.home-dashboard .growth h3{margin-bottom:4px}.home-dashboard footer{margin:0;font-size:10px}.layout:has(.home-dashboard) main{padding:24px 32px 18px}.layout:has(.home-dashboard) .sidebar-note{padding-top:20px;padding-bottom:16px}.layout:has(.home-dashboard) .brand-sub{margin-bottom:24px}.layout:has(.home-dashboard) nav{gap:5px}.layout:has(.home-dashboard) nav a{padding-top:11px;padding-bottom:11px}@media(min-width:761px) and (max-height:740px){.home-dashboard{gap:12px}.home-dashboard .hero-copy{padding:16px 22px}.home-dashboard .hero h2{font-size:23px}.home-dashboard .entry{padding:14px 18px}.home-dashboard .entry-icon{width:30px;height:30px;font-size:20px}.home-dashboard .entry h3{margin:8px 0 6px}.layout:has(.home-dashboard) .sidebar-note{display:none}}@media(max-width:760px){.layout:has(.home-dashboard) main{padding:20px}.home-heading{align-items:start}.home-heading .muted{font-size:11px}.home-dashboard .hero-copy{display:block;padding:20px}.home-dashboard .hero .primary{margin-top:14px}.home-dashboard .hero h2{font-size:23px}.home-dashboard .growth{flex-wrap:wrap}.home-dashboard .entry h3{margin-top:4px}}

.home-heading h1{font-size:25px;line-height:1.4;font-weight:500}.home-heading p{font-size:12px;color:var(--muted);margin-top:5px}.home-dashboard .hero h2{font-family:var(--serif)}@media(max-width:760px){.home-heading h1{font-size:21px}.home-heading>span{display:none}}

.home-dashboard .hero{height:250px}.home-dashboard .hero-copy{display:block;padding:20px 26px}.home-dashboard .hero h2{font-size:27px;line-height:1.4;margin:7px 0}.home-dashboard .hero p{font-size:12px}.home-dashboard .hero .primary{margin-top:12px;padding:10px 18px;min-height:40px}.home-dashboard .hero small{margin-top:8px}.home-dashboard .hero-art{width:31%;min-width:180px}.home-dashboard .memory-book{width:126px;height:164px;padding:18px 16px;transform:rotate(-8deg);box-shadow:inset 7px 0 #0000000d,9px 10px 0 #cad5bc}.home-dashboard .memory-book span{font-size:8px;letter-spacing:1px}.home-dashboard .memory-book strong{font-size:25px;letter-spacing:3px}.home-dashboard .memory-book i{font-size:8px}.home-dashboard .art-caption{font-size:10px;letter-spacing:1px;bottom:14px}.home-dashboard .entry{padding:15px 18px}.home-dashboard .entry h3{margin:9px 0 6px}.home-dashboard .entry small{margin:8px 0 10px}.home-dashboard .entry-link{padding-top:10px}.home-dashboard .growth{padding:12px 18px}@media(min-width:761px) and (max-height:740px){.home-dashboard .hero{height:225px}.home-dashboard .hero-copy{padding:16px 22px}.home-dashboard .hero h2{font-size:24px}.home-dashboard .hero small{margin-top:6px}.home-dashboard .hero .primary{margin-top:8px}}@media(max-width:760px){.home-dashboard .hero{height:auto;min-height:245px}.home-dashboard .hero-copy{padding:20px}.home-dashboard .hero h2{font-size:23px}.home-dashboard .hero-art{min-width:95px;width:25%}.home-dashboard .memory-book{transform:rotate(-8deg) scale(.7)}.home-dashboard .art-caption{display:none}}
/* Airier type hierarchy without enlarging the homepage footprint. */
.home-heading h1{font-size:23px;line-height:1.5}.home-heading p{margin-top:8px;font-size:12px}.home-dashboard{gap:20px}.home-dashboard .hero-copy{padding:23px 28px}.home-dashboard .hero h2{font-size:24px;line-height:1.5;margin:10px 0 13px}.home-dashboard .hero p{font-size:11px;line-height:1.7}.home-dashboard .hero .primary{margin-top:16px;font-size:12px;padding:9px 17px;min-height:38px}.home-dashboard .hero small{font-size:9px;margin-top:10px}.home-dashboard .hero-art{padding-bottom:30px}.home-dashboard .memory-book{width:115px;height:150px;padding:16px 14px;box-shadow:inset 6px 0 #0000000d,8px 9px 0 #cad5bc}.home-dashboard .memory-book strong{font-size:23px}.home-dashboard .art-caption{bottom:17px;font-size:9px}.home-dashboard .section-head h2{font-size:17px}.home-dashboard .entry h3{font-size:20px}.home-dashboard .entry p{font-size:11px;line-height:1.8}.home-dashboard .growth{padding:11px 18px}@media(min-width:761px) and (max-height:740px){.home-dashboard{gap:14px}.home-dashboard .hero-copy{padding:17px 24px}.home-dashboard .hero h2{font-size:22px;margin:7px 0 9px}.home-dashboard .hero .primary{margin-top:11px}.home-dashboard .hero small{margin-top:8px}}@media(max-width:760px){.home-heading h1{font-size:20px}.home-dashboard .hero-copy{padding:20px}.home-dashboard .hero h2{font-size:22px}.home-dashboard .hero-art{padding-bottom:0}}

.discovery-feedback-dialog{width:min(520px,calc(100vw - 36px));max-height:85dvh;overflow:auto;padding:28px;border:1px solid var(--border);border-radius:16px;color:var(--ink);background:var(--paper);box-shadow:0 20px 60px #20372a26}.discovery-feedback-dialog::backdrop{background:#20372a66}.discovery-feedback-dialog h2{font:500 23px/1.5 var(--serif);margin:12px 0 18px}.discovery-feedback-message{white-space:pre-wrap;font-size:16px;line-height:1.9;padding:18px;background:var(--pale);border-radius:10px;margin-bottom:16px}.discovery-feedback-dialog .primary{width:100%;margin-top:22px;font-size:14px}

/* Keep discussion chrome compact so the question and response stay prominent. */
.companion-panel .panel-label{padding:12px 18px;font-size:11px}.companion-panel .task-body{padding:18px 20px}.companion-panel .task-body>h2{margin-top:0;margin-bottom:14px;font-size:23px;line-height:1.4}.companion-panel .question{margin-top:0;margin-bottom:16px;padding:14px 16px;font-size:15px;line-height:1.8}.companion-panel .feedback-note{padding:13px 15px;margin:12px 0;font-size:12px;line-height:1.8}.companion-panel .evidence-pill{margin:12px 0}.companion-panel .field-label{margin-top:12px}.companion-panel .voice-row{margin-top:12px}.companion-panel .voice-note{margin-top:10px}@media(max-width:1150px){.companion-panel .task-body{padding:16px}.companion-panel .task-body>h2{font-size:21px}}
/* One compact article toolbar, leaving height for the reading text. */
.article-panel{position:relative}.article-panel .panel-label{padding:9px 16px;font-size:10px;min-height:32px}.article-panel .article-heading{padding:12px 16px 8px;margin:0;min-height:58px;padding-right:330px}.article-panel .article-heading h2{font-size:20px;line-height:1.35;margin:0}.article-panel .article-heading small{font-size:9px;margin-top:3px;line-height:1.4}.article-panel .reading-tools{position:absolute;right:14px;top:43px;margin:0;padding:0;display:flex;align-items:center;gap:8px}.article-panel .reading-tools .secondary{padding:6px 10px;min-height:30px;font-size:11px}.article-panel .reading-tools .text-button{padding:6px 4px;font-size:11px}.article-panel .article-text{padding-top:10px}@media(max-width:1150px){.article-panel .article-heading{padding-right:16px;padding-bottom:5px;min-height:0}.article-panel .reading-tools{position:static;margin:0;padding:0 16px 8px;gap:6px}.article-panel .article-heading h2{font-size:19px}}.reading-focus .article-panel .article-heading{padding-right:330px;min-height:58px}.reading-focus .article-panel .reading-tools{position:absolute;right:14px;top:43px;padding:0}@media(max-width:760px){.reading-focus .article-panel .article-heading{padding-right:16px;min-height:0}.reading-focus .article-panel .reading-tools{position:static;padding:0 16px 8px}}

.article-panel .panel-label{display:flex;align-items:center;gap:16px}.article-panel .panel-label .back{font-size:11px;letter-spacing:0;white-space:nowrap}.article-panel .reading-label{font-weight:400}.article-panel .panel-label>span{margin-left:auto}.workspace-layout main>.reading-grid{flex:1;min-height:0}

.article-panel .panel-label .reading-home-button{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:6px;padding:6px 11px;font-size:12px;font-weight:600;line-height:1.3;letter-spacing:0}.article-panel .panel-label .reading-home-button:hover{background:#244837}.article-panel .panel-label{padding-top:6px;padding-bottom:6px}

/* Align reading tools within the title row, clear of the panel divider. */
.article-panel .reading-tools,.reading-focus .article-panel .reading-tools{top:62px;right:22px;gap:10px}.article-panel .article-heading{padding-top:18px;padding-bottom:14px;min-height:82px}.reading-focus .article-panel .article-heading{min-height:82px}.article-panel .panel-label>span{font-size:10px;letter-spacing:0;padding-left:12px}@media(max-width:1150px){.article-panel .reading-tools{position:static;padding:4px 16px 14px}.article-panel .article-heading{min-height:0;padding-top:14px;padding-bottom:8px}.reading-focus .article-panel .reading-tools{position:absolute;top:62px;right:22px;padding:0}.reading-focus .article-panel .article-heading{min-height:82px}}@media(max-width:760px){.reading-focus .article-panel .reading-tools{position:static;padding:4px 16px 14px}.reading-focus .article-panel .article-heading{min-height:0}.article-panel .panel-label>span{display:none}}
#methods-drop.method-upload{text-align:left;padding:22px 26px;background:#fff;border:1px solid var(--border)}.method-upload-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.method-upload-head h2{font-size:20px;margin:0}.method-drop-target{display:flex;align-items:center;gap:18px;padding:20px;border:1px dashed #aebea4;border-radius:10px;background:#f3f6ef}.method-drop-target strong{font-size:16px;font-weight:500}.method-drop-target>span{color:var(--muted);font-size:12px;flex:1}.method-upload-status{margin-top:16px;padding:12px 16px;border-radius:8px;background:#f5f6f3;color:#788578;font-size:13px}.method-upload-status.ready{background:#e9f2e7;color:#35643d;font-weight:600}.method-upload-status.upload-error{background:#fbecec;color:#a53e35}.method-file-list{list-style:none;padding:0;margin:8px 0 18px;max-height:180px;overflow:auto}.method-file-list li{display:flex;justify-content:space-between;gap:14px;padding:9px 14px;border-bottom:1px solid var(--border);font-size:12px}.method-file-list li span{overflow-wrap:anywhere}.method-file-list small{white-space:nowrap}.method-upload-settings{display:grid;grid-template-columns:minmax(200px,1fr) minmax(150px,.6fr) auto;align-items:end;gap:20px;margin-top:18px}.method-upload-settings label{display:grid;gap:8px;font-size:12px;color:#72816f}.method-upload-settings input,.method-upload-settings select{width:100%}.method-upload-settings .primary{font-size:13px;min-height:42px}#methods-drop .method-help{font-size:11px;color:var(--muted);margin:14px 0 0;line-height:1.7}@media(max-width:760px){.method-upload-head,.method-drop-target{flex-wrap:wrap}.method-upload-head .soft-tag{white-space:normal}.method-upload-settings{grid-template-columns:1fr}.method-drop-target>span{flex-basis:100%}}

/* Consistent, meaningful sidebar icons and book identity. */
.sidebar .brand{gap:11px;font-size:28px}.sidebar .brand-mark{width:40px;height:40px;border-radius:12px}.sidebar .brand-mark svg{width:27px;height:27px}.sidebar nav a{gap:12px;padding:12px 14px;font-size:13px;line-height:1.4}.sidebar nav .nav-icon{width:21px;height:21px;flex:none;display:inline-flex;align-items:center;justify-content:center}.sidebar nav .nav-icon svg{width:21px;height:21px}.sidebar nav .nav-title{font-size:inherit;width:auto;line-height:inherit}.sidebar nav a.active{box-shadow:inset 3px 0 var(--green)}.sidebar .brand-sub{letter-spacing:1.5px;line-height:1.8}.sidebar nav a:hover{background:#e8eee3;color:var(--green)}@media(max-width:760px){.sidebar nav{flex-wrap:wrap}.sidebar nav a{flex:0 0 auto;padding:8px 10px;font-size:11px}.sidebar nav .nav-icon,.sidebar nav .nav-icon svg{width:17px;height:17px}.sidebar .brand-mark{width:34px;height:34px}}

.entry-icon svg{width:23px;height:23px}

.parent-back{display:inline-flex;align-items:center;gap:14px;color:var(--green);font-size:12px;margin-bottom:20px;padding:7px 0}.parent-back span{font-size:10px;background:#e7eee2;border-radius:12px;padding:3px 9px}.parent-entrances .entry p{min-height:64px}.parent-entrances .entry-link{margin-top:20px}.parent-entrances .entry-icon svg{width:25px;height:25px}
/* 教辅归集与同步巩固 */
.training-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:16px 0}.training-toolbar label{display:flex;align-items:center;gap:9px;margin:0}.training-toolbar select,.training-toolbar input:not([type=checkbox]){min-height:40px;padding:9px 12px}.training-toolbar .check-label{font-size:13px}.training-toolbar input[type=checkbox]{width:17px;height:17px;margin:0;accent-color:#305d4f}.training-counts{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0}.training-count{display:inline-flex;align-items:center;gap:8px;border:1px solid #dce5d7;background:#f4f7f0;color:#55704e;border-radius:10px;padding:9px 13px;font-size:13px}.training-count strong{font-size:17px}.training-count.selected{border-color:#305d4f;background:#e4eddf;color:#305d4f}.training-tag{display:block;color:#567052;font-size:12px;line-height:1.6;margin:5px 0}.organization-row,.training-question{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:15px 0;border-top:1px solid #e3e8df}.organization-row>div,.training-question>div:first-child{min-width:0;flex:1}.organization-row strong,.training-question h3{font-size:16px;margin:0 0 5px}.organization-row p,.training-question p{font-size:14px;line-height:1.65;margin:5px 0}.organization-row small,.training-question small{display:block;color:#8b968b;font-size:11px;line-height:1.7}.organization-row button{flex-shrink:0}.training-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.training-question .training-actions{flex-direction:column;align-items:stretch;min-width:115px}.training-reason{color:#567052;background:#f4f7f0;padding:8px 12px;border-radius:8px}.training-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:15px;font-size:12px}.training-manual{margin-top:20px}.training-manual summary{cursor:pointer;color:#55704e;padding:10px 0}.training-supplement{font-size:13px}.training-supplement input{margin-top:8px}.organization-error{color:#b8523e;font-size:12px}.organization-dialog{max-width:700px}.organization-dialog>label{display:grid;gap:7px;margin:14px 0}.organization-dialog fieldset{border:1px solid #dce5d7;border-radius:10px;padding:12px;margin:14px 0}.organization-skills{display:grid;grid-template-columns:1fr 1fr;gap:10px}.organization-skills label{display:flex;align-items:center;gap:7px;font-size:13px}.organization-skills input{width:16px;height:16px}.organization-dialog #edit-org-error{color:#b8523e}.practice-heading{display:flex;align-items:center;gap:18px;margin-bottom:20px}.practice-heading h1{font-size:25px;margin:0 0 5px}.practice-heading p{font-size:12px;color:#8b968b;margin:0}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.practice-grid:has(>.practice-answer:only-child){grid-template-columns:minmax(0,780px);justify-content:center}.practice-grid .lesson-panel{margin:0;min-width:0}.practice-article>div{font-size:16px;line-height:1.95;max-height:65vh;overflow:auto;padding-right:10px}.practice-answer h2{font-size:23px}.practice-stem{white-space:pre-wrap;line-height:1.8;font-size:16px}.practice-answer textarea{width:100%;font-size:15px;line-height:1.7;margin:8px 0 16px}.practice-feedback{border-left:4px solid #305d4f;padding:13px 17px;background:#f0f5ec;margin:18px 0}.practice-feedback>strong{font-size:18px}.practice-feedback p{line-height:1.7;margin:7px 0}.practice-feedback small{color:#6e8168}.practice-answer details summary{padding:10px 0;cursor:pointer}.practice-answer .field-label{margin-top:16px}.lesson-panel>summary{cursor:pointer;font-size:17px;color:#305d4f;font-weight:600}
@media(max-width:1100px){.training-question{flex-direction:column;gap:12px}.training-question .training-actions{flex-direction:row;width:100%}.practice-grid{grid-template-columns:1fr}.practice-article>div{max-height:45vh}}
@media(max-width:600px){.organization-row{gap:10px}.organization-row button{padding:8px 10px;font-size:12px}.training-toolbar{align-items:flex-start;flex-direction:column}.organization-skills{grid-template-columns:1fr}.practice-heading{align-items:flex-start;flex-direction:column}.practice-heading h1{font-size:22px}}

/* Compact library retains the book covers and readable actions. */
.library-page{display:grid;gap:20px}
.library-head{display:flex;align-items:center;justify-content:space-between;gap:20px}
.library-head h1{font-size:25px;line-height:1.4}
.library-head p{font-size:12px;color:var(--muted);margin-top:6px}
.library-head>span{font:16px var(--serif);color:#75856e;white-space:nowrap}
.library-page .book-grid{gap:20px}
.library-page .book-cover{height:clamp(170px,29vh,250px);margin:18px 18px 0;padding:22px 20px}
.library-page .book-cover h2{font-size:24px;margin:22px 0 12px}
.library-page .cover-line{margin-top:18px}
.library-page .cover-symbol{font-size:48px;bottom:8px}
.library-page .book-details{padding:18px 20px 20px}
.library-page .book-details h3{font-size:18px}
.library-page .book-details p{margin:7px 0 14px}
.library-page .book-details button{min-height:38px;padding:9px 17px}
.library-footnote{font-size:11px;line-height:1.7;color:var(--muted)}
@media(max-width:760px){.library-head>span{display:none}.library-page .book-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.library-page .book-cover{height:150px;margin:10px 10px 0;padding:14px 12px}.library-page .cover-series{font-size:8px;letter-spacing:0}.library-page .book-cover h2{font-size:19px;margin:15px 0 10px}.library-page .cover-line,.library-page .cover-symbol{display:none}.library-page .book-details{padding:12px 10px}.library-page .book-details h3{font-size:16px}.library-page .book-details button{padding:8px 10px}.library-page .book-details p{min-height:38px}}
@media(max-width:420px){.library-page .book-grid{grid-template-columns:1fr}.library-page .book-card{display:grid;grid-template-columns:105px 1fr}.library-page .book-cover{height:135px;margin:10px}.library-page .book-details{align-self:center}.library-page .book-details p{min-height:0}}

.standards-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.standards-heading>span{font-size:12px;color:var(--muted)}.teaching-standards .standards-note{font-size:12px;margin:8px 0 16px}.standards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.standard-group{border:1px solid var(--border);border-radius:9px;background:#fafbf8;margin:0!important}.standard-group>summary{padding:13px 15px;cursor:pointer;color:var(--ink);font-size:14px}.standard-group>summary>span{float:right;font-size:11px;color:var(--muted)}.standard-group-body{padding:0 15px 13px}.standard-definition{padding:10px 12px;background:#eef3e9;border-radius:6px;margin-bottom:10px;font-size:12px}.standard-item{margin:0!important;border-top:1px solid var(--border);padding:8px 0}.standard-item summary{font-size:13px;cursor:pointer}.standard-item p{font-size:12px;margin:8px 0}.standard-group small{font-size:10px;line-height:1.7}.standards-version{font-size:11px;margin-top:14px!important;color:var(--muted)}.standards-version small{margin-top:5px}@media(max-width:600px){.standards-grid{grid-template-columns:1fr}.standards-heading{align-items:start;flex-direction:column}}

.teaching-standards .standard-definition{background:#f7f9f4;padding:12px 14px;color:var(--ink)}.standard-definition>summary{font-weight:600;cursor:pointer;color:#526b48}.rubric-sections{display:grid;gap:18px;margin-top:18px}.rubric-sections section{padding:0 2px}.rubric-sections h4{font-size:12px;margin:0 0 10px;color:#526b48;letter-spacing:.3px}.standard-text-list{padding-left:19px;margin:0;display:grid;gap:10px}.standard-text-list li{font-size:13px;line-height:1.8;color:#425449;padding-left:3px;overflow-wrap:anywhere}.standard-text-list li::marker{color:#9bae91}.standard-definition .rubric-source{border-top:1px solid #e1e7dc;margin-top:17px;padding-top:10px;font-size:11px;color:#7a8778}.standard-group:has(.standard-definition[open]){grid-column:1/-1}.standard-definition[open] .rubric-sections{max-width:840px}@media(min-width:900px){.rubric-sections{grid-template-columns:1fr 1fr;gap:28px}.rubric-sections section+section{border-left:1px solid #e1e7dc;padding-left:22px}}

.framework-calibration{display:flex;align-items:center;gap:14px;margin:14px 0;flex-wrap:wrap}.framework-calibration span{font-size:12px;color:var(--muted)}.framework-warning{font-size:12px;color:#8e5d1b;background:#fff6e5;padding:10px 12px;border-radius:7px}.framework-dialog{max-height:90vh;overflow:auto}.framework-proposals>details{border:1px solid var(--border);border-radius:8px;padding:12px;margin:10px 0}.framework-proposals summary{cursor:pointer}.framework-proposals blockquote{padding:12px;border-left:3px solid #9db38c;background:#f7f9f3;line-height:1.8;margin:12px 0}.framework-actions{position:sticky;bottom:0;background:white;padding:12px 0;display:flex;gap:12px;border-top:1px solid var(--border)}

.ability-summary{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.ability-count{display:inline-flex;align-items:center;gap:10px;font-size:12px;padding:8px 12px;border-radius:8px;background:#f2f5ee;color:#55764d}.ability-count b{font-size:17px;font-weight:600}.ability-count.attention{background:#fff2e5;color:#966123}.ability-count.unknown{background:#f0f2ef;color:#778174}.ability-legend{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 14px}.ability-legend>i{width:8px;height:8px;border-radius:2px;display:inline-block}.gap-key{background:#c58a4c}.strength-key{background:#759b79}.ability-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ability-row{padding:13px 15px;background:#fafbf8;border:1px solid var(--border);border-radius:9px;text-align:left;min-width:0;color:var(--ink)}.ability-row:hover{background:#eff4e9;border-color:#b5c8ad}.ability-row-title{display:flex;align-items:start;justify-content:space-between;gap:12px;font-size:13px}.ability-row-title strong{font-weight:600;line-height:1.5;overflow-wrap:anywhere}.ability-state{font-size:11px;white-space:nowrap;line-height:1.8;color:#628260}.ability-state.attention{color:#a56c2c}.ability-state.unknown{color:#879180}.ability-evidence{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}.ability-evidence>div{display:flex;align-items:center;gap:8px}.ability-evidence span{font-size:10px;color:#7b8877;white-space:nowrap}.evidence-track{height:5px;background:#e9eee5;border-radius:5px;flex:1;overflow:hidden}.evidence-track>i{height:100%;display:block;border-radius:5px}.gap-fill{background:#c58a4c}.strength-fill{background:#759b79}.ability-no-evidence{font-size:10px;margin-top:9px;color:#8a9585}.ability-overview-help{font-size:11px;line-height:1.8;margin-top:14px}.ability-detail-dialog{max-height:85vh;overflow:auto}.ability-detail-dialog .profile-drilldown{margin:0}.ability-detail-dialog .portrait-heading{position:sticky;top:0;background:#f7f9f3;padding-bottom:10px;z-index:1}@media(max-width:620px){.ability-overview{grid-template-columns:1fr}.ability-row-title{font-size:13px}}

.bi-portrait{padding:24px!important}.bi-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0 22px}.bi-kpi{display:flex;flex-direction:column;align-items:start;gap:8px;border:1px solid transparent;border-radius:10px;padding:12px 16px;text-align:left}.bi-kpi>span{font-size:12px}.bi-kpi strong{font-size:28px;line-height:1.1;font-weight:600}.bi-kpi strong small{display:inline;margin-left:5px;font-size:11px;color:inherit;font-weight:400}.bi-kpi[aria-pressed=true]{outline:2px solid #557451;outline-offset:2px}.bi-kpi.attention,.bi-tile.attention{background:#fae8d9;color:#9a592c}.bi-kpi.improving,.bi-tile.improving{background:#e7f1eb;color:#427665}.bi-kpi.positive,.bi-tile.positive{background:#ddebd8;color:#3e6737}.bi-kpi.unknown,.bi-tile.unknown{background:#eef0ed;color:#798375}.bi-main{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(220px,1fr);gap:24px}.bi-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.bi-section-title h3{font-size:16px}.bi-section-title span{font-size:11px;color:var(--muted)}.bi-caption{font-size:11px;color:var(--muted);line-height:1.8;margin:6px 0 12px}.bi-capability-group{margin:14px 0}.bi-capability-group h4{font-size:12px;color:#62725c;font-weight:500;margin:0 0 8px}.bi-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.bi-tile{border:1px solid transparent;border-radius:8px;padding:11px 12px;display:flex;flex-direction:column;gap:6px;text-align:left;min-width:0}.bi-tile:hover{border-color:#93a988;filter:brightness(.98)}.bi-tile strong{font-size:12px;line-height:1.5;font-weight:600}.bi-tile span{font-size:11px}.bi-tile small{font-size:9px;color:inherit;opacity:.8;line-height:1.5}.bi-priorities{padding:15px;background:#fafbf7;border:1px solid var(--border);border-radius:10px;align-self:start}.bi-priority{width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--border);padding:16px 0}.priority-number{display:inline-block;color:#b38559;font-size:12px;margin-right:8px}.bi-priority strong{font-size:13px}.bi-priority p{font-size:11px;color:#95653e;margin:7px 0}.bi-priority small{font-size:11px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.bi-priorities>a{font-size:11px;padding:9px 12px;margin-top:16px}.bi-empty{padding:24px 0 18px}.bi-empty>span{font-size:34px;color:#bcc8b2}.bi-empty h4{font-size:13px;line-height:1.6;margin:10px 0}.bi-empty p{font-size:12px;color:var(--muted);line-height:1.9}.bi-trend{border-top:1px solid var(--border);padding-top:12px;margin-top:14px}.bi-trend summary{font-size:13px;cursor:pointer}.bi-trend summary span{font-size:11px;color:var(--muted);margin-left:10px}.bi-trend-columns{display:flex;gap:12px;margin:20px 0 10px}.bi-trend-column{flex:1;min-width:0;text-align:center}.bi-trend-bars{height:108px;display:flex;justify-content:center;gap:5px;align-items:end;border-bottom:1px solid var(--border);padding-bottom:2px}.bi-trend-bars>i{width:18px;position:relative;min-height:2px;border-radius:3px 3px 0 0;font-style:normal}.bi-trend-bars span{position:absolute;top:-17px;left:0;right:0;font-size:10px;color:#71816a}.gap-bar{background:#c58a4c}.strength-bar{background:#759b79}.bi-trend-column small{font-size:10px;margin-top:6px}.bi-trend-column p{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.bi-footnote{margin:14px 0 0}.bi-tile[hidden],.bi-capability-group[hidden]{display:none}@media(max-width:1050px){.bi-main{grid-template-columns:minmax(0,1fr) 220px;gap:14px}.bi-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.bi-main{grid-template-columns:1fr}.bi-kpis{gap:6px}.bi-kpi{padding:10px 8px}.bi-kpi strong{font-size:23px}.bi-portrait{padding:18px!important}.bi-priorities{margin-top:4px}}

.portrait-view-tabs{display:flex;gap:10px;align-items:center;margin:14px 0}.portrait-view-tabs [aria-pressed=true]{background:#315c4c;color:white}.portrait-view-tabs>a{margin-left:auto}.portrait-visual{background:white;border:1px solid var(--border);border-radius:12px;display:grid;grid-template-columns:minmax(300px,1.5fr) 1fr;gap:26px;padding:22px}.portrait-visual h2{font-size:19px}.portrait-visual .ability-radar{max-height:410px}.portrait-visual .ability-radar text{font-size:9px}.portrait-visual-summary{align-self:center}.portrait-visual-summary>span{font-size:12px;color:var(--muted)}.portrait-visual-summary h3{font-size:25px;margin:12px 0}.portrait-visual-summary p{font-size:13px;color:#75846c}.portrait-visual-summary small{font-size:11px;line-height:1.9;margin:15px 0}.portrait-retry>div{padding:14px;border:1px solid #e7cbb0;background:#fff8ef;border-radius:8px;display:flex;align-items:center;gap:12px;margin:12px 0}.portrait-retry span{font-size:11px;color:#976b43;flex:1}.portrait-retry strong{font-size:12px}.portrait-retry button{white-space:nowrap}#portrait-bi[hidden],#portrait-overview[hidden]{display:none}@media(max-width:760px){.portrait-visual{grid-template-columns:1fr}.portrait-retry>div{flex-wrap:wrap}}

/* Keep the portrait overview close to the top of the viewport. */
main:has(.profile-page){padding-top:24px}
.profile-topbar{display:flex;align-items:center;gap:20px;margin-bottom:16px}
.profile-topbar h1{font-size:25px;line-height:1.3;margin:0;white-space:nowrap}
.profile-topbar .portrait-view-tabs{margin:0;gap:6px}
.profile-topbar .secondary,.profile-management summary{padding:8px 13px;min-height:36px;font-size:13px}
.profile-management{margin-left:auto;position:relative}
.profile-management summary{cursor:pointer;border:1px solid var(--border);border-radius:9px;white-space:nowrap;color:var(--green)}
.profile-management>div{position:absolute;right:0;top:calc(100% + 8px);width:255px;padding:12px;background:white;border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #233e2920;z-index:10;display:grid;gap:8px}
.profile-management small{font-size:11px;line-height:1.6;color:var(--muted)}
.profile-page .portrait-visual{padding:16px 20px;gap:20px}
.profile-page .portrait-visual h2{font-size:17px;margin:0 0 8px}
.profile-page .ability-radar{max-height:min(390px,calc(100vh - 190px));min-height:275px}
.profile-page .portrait-visual-summary h3{font-size:23px;margin:10px 0}
.profile-page .portrait-next{margin-top:12px}
.profile-page .portrait-next .primary{padding:9px 16px;min-height:38px}
@media(max-width:600px){.profile-topbar{gap:10px;flex-wrap:wrap}.profile-topbar h1{font-size:21px}.profile-topbar .secondary{padding:7px 10px}.profile-management{margin-left:0}.profile-page .portrait-visual{padding:15px}.profile-page .ability-radar{min-height:270px}.profile-page .portrait-visual-summary small{margin:8px 0}}

/* Restore the portrait's welcome and give the radar visual priority. */
main:has(.profile-page){padding-top:28px}
.profile-topbar{justify-content:space-between;margin-bottom:18px}
.profile-topbar h1{font-size:28px}
.profile-intro p{font-size:13px;color:var(--muted);margin:8px 0 0;line-height:1.6}
.profile-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.profile-toolbar .portrait-view-tabs{margin:0;gap:8px}
.profile-actions{display:flex;align-items:center;gap:14px}
.profile-toolbar .secondary{padding:9px 14px;font-size:13px}
.profile-actions .text-button{font-size:12px}
.profile-page .portrait-visual{grid-template-columns:minmax(340px,1.8fr) 1fr;padding:20px 24px;gap:24px}
.profile-page .portrait-visual h2{font-size:18px;margin-bottom:6px}
.profile-page .ability-radar{max-height:min(480px,calc(100vh - 245px));min-height:330px;width:100%}
.profile-page .portrait-visual .ability-radar text{font-size:10px}
.profile-page .portrait-visual-summary h3{font-size:25px}
@media(max-width:1000px){.profile-toolbar{flex-wrap:wrap}.profile-page .portrait-visual{grid-template-columns:minmax(300px,1.6fr) 1fr;padding:18px;gap:18px}}
@media(max-width:760px){.profile-page .portrait-visual{grid-template-columns:1fr}.profile-page .ability-radar{max-height:440px;min-height:330px}.profile-actions{flex-wrap:wrap}.profile-topbar h1{font-size:25px}.profile-topbar{align-items:flex-start}}

.profile-page .ability-radar{max-height:min(480px,calc(100vh - 280px))}.portrait-reading-link{display:block;margin-top:14px;font-size:13px;color:var(--green)}

.hero-reading-line{font-size:.76em}.memory-book strong{overflow-wrap:anywhere;line-height:1.35}.hero-copy>a.primary{display:inline-flex;align-items:center;gap:24px}

.material-upload-card{padding:18px}.material-upload-card .progress-setting{padding:0;margin-bottom:12px;gap:20px}.material-upload-card .upload-panel{padding:16px 20px;display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;text-align:left}.material-upload-card .upload-panel h2{font-size:18px;margin:0}.material-upload-card .upload-panel p{font-size:12px;margin:0;flex:1}.material-upload-card .upload-panel small{width:100%;margin:0;font-size:11px}.material-upload-card .upload-label{padding:9px 14px}.material-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}.material-filters [aria-pressed=true]{background:var(--green);color:white}.material-filters .secondary{padding:8px 12px}.material-filters>p,.material-filters>div{width:100%}#material-generated-items{display:flex;gap:8px;flex-wrap:wrap}.soft-tag:has(+[data-material-recognize]){white-space:nowrap} .material-batch{gap:10px}

/* Horizontal portrait heading, with view navigation attached to the card. */
.profile-page .profile-topbar{gap:20px;align-items:center;margin-bottom:18px}
.profile-page .profile-intro{display:flex;align-items:baseline;gap:18px;min-width:0}
.profile-page .profile-intro p{margin:0;font-size:12px;white-space:nowrap}
.profile-page .profile-actions{gap:16px;flex-shrink:0}
.profile-page .profile-actions .secondary{padding:8px 12px;font-size:12px;min-height:34px}
.profile-page .profile-actions .text-button{font-size:12px;white-space:nowrap}
.profile-page .profile-toolbar{margin:0;padding:12px 20px;background:white;border:1px solid var(--border);border-bottom:0;border-radius:12px 12px 0 0}
.profile-page .profile-toolbar .secondary{padding:7px 14px;min-height:32px}
.profile-page .portrait-visual{border-radius:0 0 12px 12px;padding-top:10px}
.profile-page .portrait-visual h2{display:none}
.profile-page .ability-radar{max-height:min(500px,calc(100vh - 195px))}
@media(max-width:1150px){.profile-page .profile-intro{gap:10px}.profile-page .profile-intro p{white-space:normal;max-width:170px}.profile-page .profile-actions{gap:10px}.profile-page .profile-topbar h1{font-size:25px}}
@media(max-width:900px){.profile-page .profile-topbar{flex-wrap:wrap;gap:10px}.profile-page .profile-intro p{max-width:none}.profile-page .profile-actions{flex-wrap:wrap}.profile-page .profile-toolbar{padding:10px 15px}}

/* Keep the materials heading and parent navigation on one shared row. */
main:has(.materials-heading){padding-top:24px;position:relative}
main:has(.materials-heading)>.parent-back{position:absolute;right:48px;top:27px;margin:0;font-size:12px}
.materials-heading{display:flex;align-items:baseline;gap:18px;margin-bottom:20px;padding-right:180px;flex-wrap:wrap}
.materials-heading h1{font-size:28px;line-height:1.4;font-family:var(--serif)}
.materials-heading p{font-size:12px;color:var(--muted)}
.materials-heading>.text-button{font-size:12px;color:var(--green)}
@media(max-width:1000px){.materials-heading{gap:8px 15px}.materials-heading h1{font-size:25px}.materials-heading p{max-width:230px}}
@media(max-width:760px){main:has(.materials-heading)>.parent-back{right:20px;top:24px}.materials-heading{padding-right:155px;gap:6px;margin-bottom:15px}.materials-heading p,.materials-heading>.text-button{flex-basis:100%}.materials-heading h1{font-size:23px}}

/* A calm, compact drop area with distinct text and action columns. */
.material-upload-card .upload-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:28px;row-gap:8px;padding:22px 24px;align-items:center}
.material-upload-card .upload-panel h2{grid-column:1;grid-row:1;font-size:18px;line-height:1.5}
.material-upload-card .upload-panel p{grid-column:1;grid-row:2;line-height:1.7;margin:0}
.material-upload-card .upload-panel .upload-label{grid-column:2;grid-row:1 / span 2;margin:0;padding:11px 18px;white-space:nowrap;justify-self:end}
.material-upload-card .upload-panel small{grid-column:1 / -1;grid-row:3;margin:6px 0 0;padding-top:12px;border-top:1px solid #dfe6d8;line-height:1.6;width:auto}
@media(max-width:600px){.material-upload-card .upload-panel{grid-template-columns:1fr;padding:18px;gap:9px}.material-upload-card .upload-panel .upload-label{grid-column:1;grid-row:3;justify-self:start;margin-top:3px}.material-upload-card .upload-panel small{grid-row:4}}

.sync-heading{display:flex;align-items:baseline;gap:20px;margin-bottom:18px}.sync-heading h1{font-size:28px;font-family:var(--serif)}.sync-heading p{color:var(--muted);font-size:13px}main:has(.sync-heading){padding-top:26px}.sync-heading+.progress-setting{padding:15px 20px;margin-bottom:18px}.daily-training-head{display:flex;justify-content:space-between;align-items:center;gap:24px}.daily-training-head h2{font-size:23px;margin:8px 0}.daily-training-head p{font-size:13px;color:var(--muted)}.daily-training-head button{white-space:nowrap}.daily-sources{margin:18px 0 10px;padding:10px 14px;background:#f3f6ef;border-radius:8px;font-size:12px;color:var(--muted)}.daily-sources small{margin-top:5px}.daily-options,.training-manual{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.daily-plan-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:22px 0 8px}.daily-plan-heading span{font-size:12px;color:var(--muted)}.daily-focus{font-size:13px;color:var(--green);margin-bottom:12px}.daily-question{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:15px;padding:18px 0;border-top:1px solid var(--border);align-items:start}.daily-question-number{background:var(--pale);border-radius:50%;width:28px;height:28px;display:grid;place-items:center;color:var(--green)}.daily-question h3{font-size:16px;margin-bottom:8px}.daily-question p{font-size:13px}.daily-question details{font-size:11px;color:var(--muted);margin-top:10px}.daily-question button{padding:10px 15px;min-height:38px}#practice-coach{margin-top:20px;background:#f2f6ee;border-radius:12px;padding:18px}#practice-coach h3{font-size:17px;line-height:1.8;margin:10px 0}#practice-coach textarea{width:100%;margin:10px 0}#practice-coach button{margin:8px 8px 0 0}@media(max-width:760px){.daily-training-head{flex-wrap:wrap}.daily-question{grid-template-columns:28px 1fr}.daily-question>button{grid-column:2;justify-self:start}.daily-plan-heading{flex-wrap:wrap}.sync-heading{gap:10px;flex-wrap:wrap}}

/* Clear typography for short practice, with editable voice transcription. */
main:has(.practice-heading){padding-top:26px}
.practice-heading{gap:16px;margin-bottom:20px}.practice-heading h1{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:22px;font-weight:600;line-height:1.5}.practice-heading p{margin-top:6px;font-size:12px;line-height:1.6}
.practice-grid{gap:24px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.practice-grid .lesson-panel{padding:24px 26px}.practice-article h2,.practice-answer h2{font-size:17px;font-weight:600;margin:0 0 16px;line-height:1.5}.practice-answer>.tag{font-size:11px;margin-bottom:8px;display:block}.practice-article>div{font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:2;letter-spacing:.02em;color:#35473d}.practice-stem{font-size:16px;line-height:1.85;margin-bottom:10px}.practice-answer .field-label{font-size:12px;margin-top:20px;margin-bottom:8px}.practice-answer textarea{padding:14px 16px;font-size:16px;line-height:1.8;min-height:180px;margin:8px 0 16px}.answer-voice-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0}.answer-voice-controls button{padding:8px 14px;font-size:13px;min-height:36px}.answer-voice-controls button[aria-pressed=true]{background:#315c4c;color:white}.answer-voice-controls span{font-size:11px;color:var(--muted);line-height:1.6}
@media(max-width:1000px){.practice-grid{grid-template-columns:1fr}.practice-article>div{max-height:40vh}.practice-grid .lesson-panel{padding:20px}.practice-heading h1{font-size:20px}}

/* Keep the question and its source on one balanced header row. */
.practice-heading-copy{display:flex;align-items:center;justify-content:space-between;gap:24px;flex:1;min-width:0}
.practice-heading-copy h1{margin:0;font-size:21px;font-weight:600;line-height:1.5}
.practice-question-number{display:inline-block;font-size:13px;font-weight:500;color:#305d4f;background:#e7eee3;border-radius:6px;padding:3px 8px;margin-right:12px;vertical-align:middle;white-space:nowrap}
.practice-heading-copy p{margin:0;font-size:11px;line-height:1.6;white-space:nowrap;flex-shrink:0}
@media(max-width:1100px){.practice-heading-copy{flex-wrap:wrap;gap:5px 20px}.practice-heading-copy p{white-space:normal}}
@media(max-width:600px){.practice-heading-copy{align-items:flex-start;flex-direction:column}.practice-heading-copy h1{font-size:19px}}
/* Personal books: compact navigation, spacious reading and clear parent controls. */
.library-head .training-actions{flex-shrink:0}.library-owned .book-cover{min-height:180px;height:220px;padding:24px}.library-owned .book-cover h2{font-size:27px;margin:20px 0 12px}.library-owned .book-details small{display:block;margin-top:12px;color:#859284}.library-demo{margin-top:24px}.library-demo>summary{cursor:pointer;color:#71816b;margin-bottom:16px}.library-empty{grid-column:1/-1;padding:42px;border:1px dashed #b9c8b0;border-radius:16px;background:#f0f4eb}.library-empty h2{font-size:24px;font-weight:500;margin:0 0 12px}.library-empty p{font-size:15px}.library-empty small{color:#788675}.library-dialog{width:min(760px,90vw);max-height:88vh;overflow:auto;padding:24px;border:1px solid #cfd9c9;border-radius:15px;color:#283d35;background:#fff}.library-dialog::backdrop{background:#20392c55}.library-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.library-dialog-head h2{font-size:22px;margin:0}.library-dialog>label{display:grid;gap:7px;font-size:13px;margin:14px 0;color:#697d64}.library-dialog input:not([type=checkbox]),.library-dialog textarea,.library-dialog select{width:100%;font:inherit;color:#2e4238;padding:10px 12px;border:1px solid #dce4d6;border-radius:8px;background:#fafbf7}.library-dialog textarea{line-height:1.7;resize:vertical}.library-dialog p{line-height:1.7;font-size:13px}.library-drop{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:24px;border:1px dashed #afbea3;border-radius:12px;background:#f3f6ed;margin:18px 0}.library-drop strong{font-size:16px}.library-drop span{font-size:12px;color:#829078}.library-drop input{width:100%}.library-drop.drag-over{border-color:#305d4f;background:#e5eeda}.library-error{color:#a64232;white-space:pre-wrap}.library-detail-head{display:flex;align-items:center;gap:20px;margin-bottom:20px}.library-detail-head>div{flex:1;min-width:0}.library-detail-head h1{font-size:26px;margin:0 0 4px}.library-detail-head span{font-size:12px;color:#84917f}.library-course-bar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:18px 20px;border:1px solid #dde5d7;border-radius:12px;background:#fff}.library-course-bar label{display:flex;align-items:center;gap:12px;font-size:13px}.library-course-bar select{min-width:200px;max-width:400px}.library-exercises{margin-top:24px;padding:24px;border-radius:15px;background:#fff;border:1px solid #dde5d7}.library-exercises .section-head{margin:0 0 20px}.library-exercises h2{font-size:23px;margin:0 0 8px}.library-exercises .section-head p{font-size:13px;margin:0;color:#82917b}.library-practice-tools,.library-selection{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.library-practice-tools label{display:flex;align-items:center;gap:9px;font-size:13px}.library-practice-tools select{padding:8px 12px;min-height:38px}.library-practice-tools>span{font-size:12px;color:#778970}.library-selection{padding:12px 0;border-bottom:1px solid #e4e9de;margin-bottom:8px;font-size:12px}.library-selection label{display:flex;align-items:center;gap:8px}.library-selection input,.library-question-row>input{width:17px;height:17px;accent-color:#305d4f;margin:0}.library-question-management>summary{cursor:pointer;padding:12px 0;color:#62765b}.library-question-row{display:flex;align-items:flex-start;gap:14px;padding:17px 0;border-bottom:1px solid #e5eade}.library-question-row>input{flex-shrink:0;margin-top:4px}.library-question-row>div:first-of-type{flex:1;min-width:0}.library-question-row strong{font-size:15px}.library-question-row p{font-size:14px;line-height:1.7;margin:7px 0}.library-question-row small{font-size:11px;color:#7d8d75}.library-question-row small b{color:#305d4f;font-weight:500}.library-question-row .training-actions{flex-direction:column;align-items:stretch}.library-form-row{display:flex;align-items:end;gap:12px}.library-form-row label{display:grid;gap:6px;font-size:13px}.library-trash-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid #e0e8da;font-size:14px}.library-reader{max-width:1060px;margin:0 auto}.library-reader-tools{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:18px 0}.library-reader-tools label{display:flex;align-items:center;gap:8px;font-size:13px}.library-reader-tools input{width:70px;padding:8px}.library-reader-text{white-space:pre-wrap;font-size:18px;line-height:2;padding:30px 36px;border-radius:14px;border:1px solid #dee6d8;background:white;min-height:300px}.library-reader-text mark{background:#e2edcd;color:inherit;padding:2px}.library-reader>details{margin-top:18px}.library-reader>details summary{cursor:pointer;color:#7b8c70}.library-reader textarea{width:100%;font-size:16px;line-height:1.8}.library-evidence-links{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 18px}.library-evidence-links .secondary{font-size:12px;padding:8px 10px}.library-question-row .secondary,.library-selection .secondary{padding:8px 12px;font-size:12px}.library-empty-small{font-size:14px;color:#82917b;padding:20px 0}.library-detail .primary,.library-detail .secondary{white-space:nowrap}
@media(max-width:900px){.library-head,.library-detail-head{flex-wrap:wrap}.library-exercises{padding:18px}.library-question-row{flex-wrap:wrap}.library-reader-text{padding:22px;font-size:17px}.library-course-bar select{max-width:70vw}.library-exercises .section-head{gap:12px;flex-wrap:wrap}}

/* Reading pages keep preparation controls in the parent area. */
.library-student #book-manage,.library-student #book-chapters,.library-student #book-import,.library-student #book-generate,.library-student .library-selection,.library-student [data-edit]{display:none}
.library-student .library-question-row{grid-template-columns:1fr auto}
.library-student .library-question-row>[data-q]{display:none}

.bank-management{font-size:14px;max-width:1180px;margin:0 auto}.bank-library-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px}.bank-library-head h1{font-size:26px;line-height:1.2;margin:5px 0}.bank-library-head p{margin:0;color:var(--muted);font-size:13px}.bank-library-head .primary{padding:10px 16px;font-size:13px}.bank-overview{display:flex;gap:18px;align-items:center;padding:11px 16px;background:#edf2e8;border-radius:12px;margin-bottom:16px;font-size:13px}.bank-overview strong{font-size:18px;margin-right:4px}.bank-overview a{margin-left:auto;font-size:13px}.bank-book-card{display:flex;align-items:center;gap:15px;padding:16px;background:white;border:1px solid #dfe5db;border-radius:13px;margin-bottom:10px}.bank-book-symbol{display:grid;place-items:center;background:#edf2e8;color:#315d4e;border-radius:10px;width:46px;height:52px;font-size:24px;flex-shrink:0}.bank-book-copy{flex:1;min-width:0}.bank-book-copy h3{font-size:17px;margin:0 0 5px;overflow-wrap:anywhere}.bank-book-copy p{font-size:13px;margin:0 0 4px;line-height:1.45}.bank-book-copy small{font-size:12px;color:#7e8d83}.bank-book-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.bank-book-actions button,.bank-book-card>button{padding:9px 13px;font-size:12px}.bank-book-actions .text-button{padding:2px 5px}.bank-books{margin:18px 0}.bank-books .section-head{margin-bottom:10px}.bank-books .section-head h2{font-size:18px;margin:0}.bank-books .section-head .muted{font-size:12px}.bank-book-dialog{width:min(1120px,94vw);max-height:90vh;padding:24px}.bank-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.bank-dialog-head h2{font-size:23px;margin:0;overflow-wrap:anywhere}.bank-dialog-head p{color:#7e8d83;margin:8px 0 18px}.bank-detail-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0 18px;border-bottom:1px solid #e4e9df}.bank-source-text{margin-top:20px}.bank-source-text pre{white-space:pre-wrap;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.bank-book-dialog .organization-row{padding:16px 0}.bank-book-dialog .organization-row strong{font-size:17px}.bank-book-dialog .question-preview{font-size:15px;line-height:1.6}.bank-book-dialog .training-tag{font-size:13px}.bank-book-dialog .training-count{font-size:14px}.bank-management>details{margin:12px 0}.bank-management .book-upload-pair{margin:18px 0}.bank-management #bank-convert-status{color:#315d4e}
@media(max-width:760px){.bank-library-head,.bank-overview{flex-wrap:wrap}.bank-overview{gap:12px}.bank-overview a{margin-left:0}.bank-book-card{flex-wrap:wrap}.bank-book-actions{flex-direction:row;width:100%;align-items:center}.bank-book-dialog{padding:16px}}
.bank-directory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:20px 0}.bank-directory-card{display:flex;align-items:center;gap:14px;padding:22px;text-align:left;white-space:normal}.bank-directory-card strong{flex:1;font-size:18px}.bank-directory-card small{color:#7e8d83}.bank-folder{font-size:30px;color:#315d4e}.bank-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:18px 0}.bank-ai-card{background:#f2f5ed}

.bank-practice-group{border:1px solid #dfe5db;border-radius:14px;margin:18px 0;padding:18px}.bank-practice-group>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;color:#315d4e}.bank-saved-question{display:flex;align-items:center;gap:16px;padding:18px 0;border-top:1px solid #e5eadf}.bank-saved-question>div{flex:1;min-width:0}.bank-saved-question h3{font-size:17px;margin:0 0 8px}.bank-saved-question p{font-size:14px;line-height:1.6;margin:6px 0;color:#6b7d71}.bank-saved-question details{font-size:13px;color:#7e8d83;margin-top:10px}.bank-question-number{align-self:flex-start;margin-top:3px;border-radius:50%;background:#edf2e8;color:#315d4e;width:28px;height:28px;display:grid;place-items:center;flex-shrink:0}@media(max-width:650px){.bank-saved-question{flex-wrap:wrap}.bank-saved-question>a{margin-left:44px}}

/* Book import: progress and next action */
.bank-import-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:#f0f4ec;padding:18px;border-radius:12px}.bank-import-stages span{font-size:14px;color:#768574}.bank-import-stages strong{display:block;color:#29483e;font-size:20px;margin-top:6px}.bank-import-next{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0}.bank-import-next h3{font-size:21px;margin:0 0 8px}.bank-import-next p{margin:0;color:#7b887f;font-size:14px}.bank-import-options{font-size:14px;margin:0 0 12px}.bank-detail-tools{gap:12px;margin-bottom:16px}.bank-detail-tools button,.bank-detail-tools a,.bank-detail-tools label{font-size:14px;padding:12px 16px}.bank-import-empty{padding:22px;border:1px dashed #dbe3d6;border-radius:12px;color:#859080;text-align:center}.bank-book-dialog #book-quality .lesson-panel{padding:20px;margin:16px 0}.bank-book-dialog #book-quality h3{margin-top:0}.bank-book-dialog #book-quality article{padding:14px 0;border-top:1px solid #e3e8df}.bank-book-dialog #book-quality details{margin-top:14px}.bank-book-dialog [hidden]{display:none!important}@media(max-width:650px){.bank-import-stages{gap:8px;padding:12px}.bank-import-stages strong{font-size:17px}.bank-import-next{align-items:flex-start;flex-direction:column;gap:12px}}

.bank-import-stages{grid-template-columns:repeat(4,1fr)}.bank-import-stages .is-complete{color:#315c4d}.bank-import-stages .is-current{border-bottom:3px solid #315c4d;padding-bottom:8px}.bank-import-stages strong{font-size:16px}.bank-book-dialog #book-quality[hidden]{display:none!important}@media(max-width:650px){.bank-import-stages{grid-template-columns:repeat(2,1fr)}}

.bank-live-progress{margin:18px 0;padding:16px 18px;background:#f1f5ee;border-radius:12px}.bank-progress-label{display:flex;justify-content:space-between;gap:16px;font-size:15px}.bank-live-progress progress{display:block;width:100%;height:10px;margin:12px 0;accent-color:#315c4d;border:0;border-radius:6px;overflow:hidden}.bank-live-progress progress::-webkit-progress-bar{background:#dce5d7}.bank-live-progress progress::-webkit-progress-value{background:#315c4d;transition:width .3s}.bank-live-progress small{color:#738172;font-size:13px}

.bank-reading-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid #e1e8dd}.bank-reading-row>div{flex:1}.bank-reading-row h3{font-size:18px;margin:0 0 6px}.bank-reading-row p{font-size:14px;margin:6px 0}.bank-reading-text{max-width:760px;margin:auto;font-size:20px;line-height:1.9}.bank-reading-text p{margin:0 0 18px}@media(max-width:650px){.bank-reading-row{flex-wrap:wrap}.bank-reading-row>div{flex-basis:100%}}

/* 教辅资料库：完成态强调主书，弱化工具与历史信息。 */
.bank-management{max-width:1120px}.bank-library-head{margin:2px 0 20px;padding-bottom:18px;border-bottom:1px solid #e7ece5}.bank-library-head h1{font-size:28px;margin-bottom:8px}.bank-library-head .primary{box-shadow:0 7px 18px rgba(38,83,66,.12)}
.bank-overview{gap:8px;padding:8px;background:transparent;border-radius:0;margin:0 0 28px}.bank-overview span{display:flex;align-items:baseline;gap:5px;padding:10px 13px;border:1px solid #e2e9df;background:#f7f9f5;border-radius:10px;color:#6e7d73}.bank-overview strong{font-size:20px;color:#29483e}.bank-overview a{padding:10px 14px;border-radius:10px;background:#edf3e9;font-weight:600}
.bank-books{margin:0 0 18px}.bank-books .section-head{align-items:end;margin-bottom:12px;padding:0 2px}.bank-books .section-head>div small{display:block;color:#849187;font-size:10px;letter-spacing:.12em;margin-bottom:3px}.bank-books .section-head h2{font-size:20px}.bank-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}.bank-card-grid .bank-book-card{margin:0;min-height:142px}.bank-source-card,.bank-ai-card{position:relative;padding:22px 20px;border-color:#d6e1d5;background:linear-gradient(135deg,#fff 0%,#fbfdf9 66%,#f0f5ec 100%);box-shadow:0 7px 22px rgba(43,68,54,.055)}.bank-source-card:before,.bank-ai-card:before{content:'';position:absolute;left:-1px;top:23px;bottom:23px;width:3px;border-radius:4px;background:#376551}.bank-source-card .bank-book-symbol,.bank-ai-card .bank-book-symbol{width:52px;height:60px;background:#e6efe3}.bank-source-card .bank-book-copy h3,.bank-ai-card .bank-book-copy h3{font-size:19px}.bank-source-card .bank-book-actions{min-width:112px}.bank-source-card .bank-book-actions .primary{width:100%}.bank-ai-card>button{min-width:112px}
.bank-management>.bank-saved-practice{margin:10px 0 0;padding:12px 16px;background:#fafbf8;border-color:#e5eae2}.bank-management>.bank-saved-practice>summary{font-size:14px}.bank-management>.bank-saved-practice:not([open]){opacity:.82}
@media(max-width:900px){.bank-card-grid{grid-template-columns:1fr}.bank-ai-card{min-height:auto!important}.bank-overview{flex-wrap:wrap}.bank-overview a{margin-left:0}}
@media(max-width:650px){.bank-library-head{align-items:flex-start}.bank-overview span{flex:1 1 30%}.bank-overview a{flex-basis:100%;text-align:center}.bank-source-card{padding:18px 16px}.bank-source-card .bank-book-actions{width:100%;min-width:0}.bank-books .section-head .muted{display:none}}

/* Reading portrait: one graphical six-dimension overview, with genre and task detail below. */
.reading-profile-visual{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(230px,.8fr);gap:28px;align-items:center;padding:24px 28px}
.reading-profile-chart h2{font-size:20px;margin:0 0 5px}.reading-profile-chart>.muted{font-size:12px;line-height:1.7;margin:0}
.reading-profile-radar{display:block;width:100%;max-height:445px;margin:2px auto 0;overflow:visible}.reading-profile-radar .radar-axis-label{fill:#34483b;font-size:14px;font-weight:600}.reading-profile-radar .radar-axis-state{fill:#788575;font-size:11px;font-weight:400}
.reading-profile-legend{display:flex;gap:9px 16px;align-items:center;flex-wrap:wrap;margin:-2px 0 0;font-size:11px;color:#69776c}.reading-profile-legend>span{display:inline-flex;align-items:center;gap:6px}.reading-profile-legend i,.reading-profile-status-list i{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--reading-status,#9aa49a)}.reading-profile-legend .unknown-dot{background:transparent;border:1.5px dashed #a4ada2}
.reading-profile-summary{padding:20px;background:#f5f7f2;border-radius:12px}.reading-profile-summary .eyebrow{font-size:10px;letter-spacing:1.3px;color:#768773}.reading-profile-summary h3{font-size:22px;line-height:1.5;margin:9px 0 14px;color:#31493b}.reading-profile-status-list{display:grid;gap:8px}.reading-profile-status-list>div{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:9px;padding:8px 10px;background:#fff;border-radius:8px;font-size:12px;color:#58685b}.reading-profile-status-list strong{font-size:15px;color:#32483b}.reading-profile-summary>p{font-size:12px;line-height:1.8;color:#758175;margin:14px 0 0}
.reading-dimension-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.reading-genre-list{display:grid;gap:10px}.reading-specialty-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:10px;align-items:start}.reading-dimension-grid>.standard-group,.reading-genre-list>.standard-group{margin:0}.reading-evidence{margin:12px 0}.reading-hint-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:16px 0}.reading-hint-grid>div{padding:12px;background:#f4f6f1;border-radius:8px;display:grid;gap:7px}.reading-hint-grid span{font-size:11px;color:#718071;line-height:1.5}.reading-hint-grid strong{font-size:12px;color:#385443}
@media(max-width:900px){.reading-profile-visual{grid-template-columns:1fr;gap:14px;padding:20px}.reading-profile-summary{display:grid;grid-template-columns:1fr 1.5fr;column-gap:16px;align-items:center}.reading-profile-summary .eyebrow,.reading-profile-summary h3,.reading-profile-summary>p{grid-column:1}.reading-profile-status-list{grid-column:2;grid-row:1 / span 3}.reading-profile-summary>p{margin-top:0}}
@media(max-width:620px){.reading-profile-visual{padding:16px}.reading-profile-radar{min-height:265px}.reading-profile-radar .radar-axis-label{font-size:12px}.reading-profile-radar .radar-axis-state{font-size:10px}.reading-profile-summary{display:block;padding:16px}.reading-profile-summary h3{font-size:20px}.reading-dimension-grid,.reading-specialty-grid{grid-template-columns:1fr}.reading-hint-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reading-hint-grid>div:last-child{grid-column:1/-1}}



/* Compact, independently expanding reading-detail columns. */
.reading-dimension-column{display:grid;gap:12px;align-content:start;min-width:0}
.reading-dimension-column>.standard-group{margin:0;padding:16px 18px;background:#fff;border-radius:12px;min-height:0}
.reading-dimension-column>.standard-group>summary{padding:0;margin:0;min-height:30px;font-size:20px;line-height:1.5;color:#283f35}
.reading-dimension-column .reading-definition{margin:12px 0 8px;font-size:16px;line-height:1.6;color:#526558}
.reading-dimension-column .reading-counts{margin:0 0 12px;padding:8px 10px;background:#f2f5ef;border-radius:6px;font-size:14px;line-height:1.6;color:#647367}
.reading-dimension-column>.standard-group>details{margin:0;padding:0;border:0;border-top:1px solid #e5ebe2}
.reading-dimension-column>.standard-group>details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:12px 0;cursor:pointer;font-size:17px;line-height:1.5;color:#344c3e}
.reading-dimension-column>.standard-group>details>summary>strong:before{content:'›';display:inline-block;margin-right:9px;color:#819581}
.reading-dimension-column>.standard-group>details[open]>summary>strong:before{transform:rotate(90deg)}
.reading-state{display:inline-block!important;flex-shrink:0;background:color-mix(in srgb,var(--state-color) 13%,white);color:var(--state-color)!important;padding:3px 9px;border-radius:6px;font-size:14px!important;font-weight:600;line-height:1.5}
.reading-dimension-column details p{font-size:15px;line-height:1.75;margin:8px 0;color:#526558}
.reading-dimension-column .reading-evidence{padding:10px 12px!important;margin:8px 0!important;background:#f5f7f3;border-radius:8px}
.reading-dimension-column .reading-evidence>summary{font-size:15px;padding:0;margin:0;color:#315d4b}
.reading-dimension-column .reading-evidence small{font-size:14px;line-height:1.7;color:#657469}
@media(max-width:620px){.reading-dimension-column>.standard-group{padding:14px}.reading-dimension-column>.standard-group>details>summary{font-size:16px}.reading-state{font-size:13px!important}}

/* Distinguish the ability heading from its subordinate reading tasks. */
.reading-dimension-column>.standard-group{padding:0;overflow:hidden}
.reading-dimension-column>.standard-group>summary{padding:15px 18px;background:#edf3ec;font-size:22px;border-left:4px solid #557a60}
.reading-dimension-column>.standard-group>summary>strong{font-weight:750;color:#254331}
.reading-dimension-column .reading-definition{margin:14px 18px 9px}
.reading-dimension-column .reading-counts{margin:0 18px 12px;font-size:13px;background:#f6f8f4}
.reading-task-label{margin:14px 18px 4px;color:#829082;font-size:12px;letter-spacing:1px}
.reading-dimension-column>.standard-group>details{margin:0 18px 0 30px;padding:0 0 0 12px;border-left:2px solid #e2e9df;border-top:0}
.reading-dimension-column>.standard-group>details:last-child{margin-bottom:16px}
.reading-dimension-column>.standard-group>details>summary{padding:10px 0;border-bottom:1px solid #edf0e9;font-size:16px}
.reading-dimension-column>.standard-group>details>summary>strong{font-weight:500;color:#526658}
.reading-dimension-column>.standard-group>details>summary>.reading-state{font-size:12px!important;font-weight:500;background:transparent;padding:2px 0 2px 8px}
.reading-dimension-column>.standard-group>details[open]>summary>strong{font-weight:600;color:#315542}
@media(max-width:620px){.reading-dimension-column>.standard-group{padding:0}.reading-dimension-column>.standard-group>summary{font-size:21px}.reading-dimension-column>.standard-group>details{margin-left:24px}}

/* Shared typography and hierarchy across both portrait views. */
.profile-page .reading-detail-section{padding:24px 28px;margin-top:20px}
.profile-page .reading-detail-section>h2{font-size:24px;margin:0 0 8px;color:#294333}
.profile-page .reading-detail-section>p{font-size:16px;line-height:1.75;margin:8px 0 16px;color:#617266}
.reading-genre-list>.standard-group{padding:0;overflow:hidden;border-radius:12px;background:white}
.reading-genre-list>.standard-group>summary{padding:15px 18px;background:#edf3ec;border-left:4px solid #557a60;font-size:21px;font-weight:650}
.reading-genre-list>.standard-group>summary>span{font-size:14px;color:#667b69}
.reading-specialty-grid{padding:16px 20px;gap:10px 20px}
.reading-specialty-grid>details{align-self:start;border-left:2px solid #e2e9df;padding:0 0 0 12px;margin:0}
.reading-specialty-grid>details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:17px;padding:10px 0;color:#526658;cursor:pointer;border-bottom:1px solid #edf0e9}
.reading-specialty-grid>details>summary>strong{font-weight:500}
.reading-specialty-grid .reading-state{font-size:12px!important;background:transparent;padding:0}
.reading-detail-section details p{font-size:15px;line-height:1.8;color:#526558;overflow-wrap:anywhere}
.reading-detail-section .reading-evidence{padding:12px 14px;background:#f5f7f3;border-radius:8px}
.reading-detail-section .reading-evidence>summary{font-size:15px;color:#315d4b;cursor:pointer}
.reading-detail-section .reading-evidence p{border-top:1px solid #dde5d8;padding-top:12px;margin:12px 0}
.reading-detail-section .reading-evidence small{font-size:14px;line-height:1.8;color:#69786b}
.reading-detail-section>details{padding:12px 16px;margin:10px 0;border:1px solid #e0e7dc;border-radius:9px;background:#fafbf8}
.reading-detail-section>details>summary{font-size:17px;font-weight:600;color:#385442;cursor:pointer}
.reading-hint-grid>div{padding:16px;border:1px solid #e4eadd}
.reading-hint-grid span{font-size:14px;line-height:1.65}.reading-hint-grid strong{font-size:18px}
.profile-page .bi-portrait{padding:24px 28px}.profile-page .portrait-heading h2{font-size:25px}.profile-page .portrait-heading>span{font-size:14px}
.profile-page .bi-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.profile-page .bi-kpi{padding:16px;text-align:left;border-radius:12px}.profile-page .bi-kpi>span{font-size:16px}.profile-page .bi-kpi strong{font-size:30px}.profile-page .bi-kpi small{font-size:14px}
.profile-page .bi-section-title h3{font-size:22px}.profile-page .bi-caption{font-size:15px;line-height:1.75}.profile-page .bi-capability-group h4{font-size:14px;color:#7b8b7c;margin:16px 0 10px}
.profile-page .bi-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-page .bi-tile{padding:18px;text-align:left;border-radius:10px}.profile-page .bi-tile strong{font-size:21px;margin-bottom:10px}.profile-page .bi-tile span{font-size:15px}.profile-page .bi-tile small{font-size:14px;line-height:1.7;margin-top:8px}
.profile-page .bi-priority{padding:18px;margin-bottom:12px}.profile-page .bi-priority strong{font-size:20px}.profile-page .bi-priority p,.profile-page .bi-priority small{font-size:15px;line-height:1.8}.profile-page .bi-section-title>span{font-size:14px}
.profile-page .bi-trend>summary{font-size:18px;padding:14px 0}.profile-page .bi-trend>summary span{font-size:14px}.profile-page .bi-trend-column p{font-size:13px;line-height:1.6}
.ability-detail-dialog{width:min(820px,92vw);padding:26px}.ability-detail-dialog h3{font-size:24px}.ability-detail-dialog p{font-size:16px;line-height:1.85;margin:12px 0}.ability-detail-dialog small{font-size:14px;line-height:1.7}.ability-detail-dialog details{padding:14px 16px;background:#f5f7f2;border-radius:10px;margin-top:18px}.ability-detail-dialog summary{font-size:17px;font-weight:600;cursor:pointer}
@media(max-width:760px){.profile-page .reading-detail-section,.profile-page .bi-portrait{padding:18px}.profile-page .bi-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-page .bi-tiles{grid-template-columns:1fr}.reading-specialty-grid{grid-template-columns:1fr}.reading-hint-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.profile-page .bi-priority small{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:#6a7b6c}.profile-page .bi-priority p{margin:8px 0}.profile-page .bi-main{align-items:start}

.reading-detail-section[hidden]{display:none!important}

.profile-page .bi-trend{padding:18px 20px;background:#fafbf8;border:1px solid #e0e7dc;border-radius:12px;margin-top:20px}
.profile-page .bi-trend>summary{font-size:21px;font-weight:650;color:#2c4938;padding:0;cursor:pointer}.profile-page .bi-trend>summary span{display:inline-block;margin-left:14px;font-size:15px;font-weight:400;color:#6c7d70}
.reading-paper-table{overflow-x:auto;margin:16px 0}.reading-paper-table table{width:100%;border-collapse:collapse;text-align:left;font-size:17px}.reading-paper-table th{padding:14px 16px;background:#edf3ec;color:#35523e;font-weight:600}.reading-paper-table td{padding:14px 16px;border-bottom:1px solid #e3e9df;line-height:1.6;color:#425c49}.reading-paper-table td:first-child{width:50%}.reading-paper-table td small{display:block;font-size:14px;color:#7a887c;overflow-wrap:anywhere;margin-top:4px}.reading-paper-table td:nth-child(2){color:#9b632f}.reading-paper-table td:nth-child(3){color:#50765b}.profile-page .bi-footnote{font-size:16px;color:#6b7c6e;margin-top:18px}
@media(max-width:620px){.reading-paper-table table{font-size:15px;min-width:540px}.profile-page .bi-trend>summary span{display:block;margin:6px 0 0}}

.reading-dimension-column .reading-conclusion{margin:12px 18px;padding:12px 14px;border-left:3px solid #a2b690;background:#f5f8f1;font-size:16px;line-height:1.8}.reading-conclusion>strong{display:block;color:#35523e;margin-bottom:4px}.reading-evidence-note{color:#7b887b}

.reading-training{margin:12px 18px;padding:12px 14px;background:#faf7ef;border-radius:8px}.reading-training>strong{font-size:16px;color:#80663b}.reading-training p{font-size:15px!important}.reading-training small{font-size:14px!important;line-height:1.7;display:block;color:#7a806f}.reading-genre-conclusion{padding:0 20px;margin:14px 0!important;font-size:16px!important;line-height:1.8}

.reading-conclusion>span{display:block;margin-top:8px}.reading-conclusion>span:first-of-type{color:#806039;font-weight:600}

.paper-report-dialog{width:min(1000px,94vw);max-height:90vh;overflow:auto;padding:24px 28px}.paper-report-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:1px solid #e1e8dd;padding-bottom:16px}.paper-report-head h2{font-size:23px;margin:0;overflow-wrap:anywhere}.paper-report-head p{font-size:15px;color:#758374;margin:8px 0 0}.paper-report-dialog h3{font-size:21px;margin:22px 0 12px;color:#2d4937}.paper-report-dialog p,.paper-report-dialog li{font-size:16px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}.paper-report-summary{padding:16px 18px;background:#edf3e9;border-radius:10px}.paper-report-observations>article{padding:16px 0;border-bottom:1px solid #e3e9df}.paper-report-dialog article>header{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:18px}.paper-report-observations p{margin:10px 0}.paper-report-page{margin:12px 0;border:1px solid #dfe6d9;border-radius:10px;padding:14px 18px}.paper-report-page>summary{font-size:18px;font-weight:600;cursor:pointer;color:#3e5944}.paper-report-question{padding:18px 0;border-top:1px solid #e4eadd;margin-top:14px}.paper-report-question p{margin:10px 0}.paper-report-question p>b{display:block;font-size:14px;color:#788776;margin-bottom:3px}.paper-annotation-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.paper-annotation-grid p{padding:12px 14px;border-radius:8px}.paper-red-note{background:#fbf1ed;color:#925344}.paper-blue-note{background:#edf4f8;color:#436b83}.paper-report-dialog .muted{color:#73816f}.paper-report-dialog .verdict-badge{font-size:14px;white-space:nowrap}@media(max-width:620px){.paper-report-dialog{padding:18px}.paper-annotation-grid{grid-template-columns:1fr}.paper-report-head h2{font-size:20px}}

/* Always reachable close control for every popup, including scrolled reports. */
.dialog-close-anchor{position:sticky;top:0;height:0;z-index:100;display:block;overflow:visible}
.dialog-close-x{position:absolute;right:-10px;top:-10px;width:40px;height:40px;min-height:40px;display:grid;place-items:center;padding:0;border:1px solid #dbe4d7;border-radius:50%;background:#fff;color:#365241;font-family:Arial,sans-serif;font-size:28px;line-height:1;box-shadow:0 2px 8px #263f2a18;cursor:pointer}
.dialog-close-x:hover{background:#edf3e9}.dialog-close-x:focus-visible{outline:3px solid #8ea57e;outline-offset:2px}
.has-dialog-close>h2,.has-dialog-close>header,.has-dialog-close>.dialog-head,.has-dialog-close>.library-dialog-head,.has-dialog-close>.portrait-heading{padding-right:44px}
@media(max-width:620px){.dialog-close-x{right:-6px;top:-6px}}

/* Slightly smaller portrait detail typography, retaining the heading hierarchy. */
.profile-page .reading-detail-section>h2{font-size:22px}
.profile-page .reading-detail-section>p{font-size:15px}
.profile-page .reading-dimension-column>.standard-group>summary,.profile-page .reading-genre-list>.standard-group>summary{font-size:20px;padding:13px 18px}
.profile-page .reading-dimension-column>.standard-group>summary>.reading-state{font-size:13px}
.profile-page .reading-dimension-column>.standard-group>details>summary{font-size:15px}
.profile-page .reading-specialty-grid>details>summary{font-size:16px}
.profile-page .reading-detail-section details p,.profile-page .reading-training p{font-size:14px!important}
.profile-page .reading-conclusion,.profile-page .reading-genre-conclusion{font-size:15px!important}

.profile-page .reading-training ol{padding-left:22px;margin:8px 0 12px}.profile-page .reading-training li{font-size:14px;line-height:1.8;color:#526558;margin:6px 0}

/* Keep the large radar and consolidate the overview into its side summary. */
#portrait-overview .reading-profile-visual{margin-top:14px;padding:18px 24px;gap:24px;grid-template-columns:minmax(0,1.78fr) minmax(270px,.72fr);align-items:stretch}
#portrait-overview .reading-profile-chart{display:flex;min-width:0;flex-direction:column}
#portrait-overview .reading-profile-radar{width:min(100%,760px);max-height:500px;min-height:430px;margin:0 auto}
#portrait-overview .reading-profile-summary{display:flex;flex-direction:column;padding:22px}
#portrait-overview .reading-profile-summary h3{font-size:20px;margin:7px 0 12px}
#portrait-overview .reading-profile-status-list{gap:6px}
#portrait-overview .reading-profile-status-list>div{padding:6px 10px}
.reading-overview-focus{margin:18px 0 14px;padding:16px 16px 15px;border:1px solid #dce5d7;border-radius:10px;background:#fbfcf9}
.reading-overview-focus>strong{display:block;font-size:12px;letter-spacing:.08em;color:#788578}
.reading-overview-focus p{font-size:18px;line-height:1.45;font-weight:700;color:#285c48;margin:8px 0 9px}
.reading-overview-focus small{display:block;font-size:12px;color:#728074;line-height:1.75}
#portrait-overview .reading-profile-summary>button{align-self:flex-start;font-size:13px;font-weight:600;padding:10px 14px;margin-top:auto}
@media(max-width:900px){#portrait-overview .reading-profile-visual{grid-template-columns:1fr}#portrait-overview .reading-profile-radar{min-height:360px}.reading-overview-focus{grid-column:1/-1}#portrait-overview .reading-profile-summary>button{grid-column:1/-1;justify-self:start}}
@media(max-width:620px){#portrait-overview .reading-profile-radar{min-height:300px}#portrait-overview .reading-profile-summary{padding:18px}.reading-overview-focus{padding:14px}.reading-overview-focus p{font-size:17px}}

/* Desktop overview fits one viewport while preserving the radar's current size. */
@media(min-width:901px){
 main:has(#portrait-overview:not([hidden])){padding-top:16px;padding-bottom:12px}
 .profile-page:has(#portrait-overview:not([hidden])) .profile-topbar{margin-bottom:10px}
 .profile-page:has(#portrait-overview:not([hidden])) .profile-toolbar{padding:6px 20px}
 #portrait-overview .reading-profile-visual{margin-top:0;padding:12px 24px;gap:20px;border-radius:0 0 12px 12px}
 #portrait-overview .reading-profile-summary{padding:16px;align-self:center}
 #portrait-overview .reading-profile-summary h3{font-size:19px;line-height:1.4;margin:5px 0 10px}
 #portrait-overview .reading-profile-status-list{gap:4px}
 #portrait-overview .reading-profile-status-list>div{padding:5px 9px;line-height:1.5}
 #portrait-overview .reading-profile-summary>p{margin:10px 0;font-size:12px;line-height:1.6}
 #portrait-overview .reading-profile-chart h2{margin:0 0 4px}
}
#portrait-overview .reading-overview-focus{background:#e4eddd;border-left:4px solid #557a60;border-radius:8px;padding:12px 14px;margin:12px 0}
#portrait-overview .reading-overview-focus>strong{display:block;font-size:13px;font-weight:600;letter-spacing:.5px;color:#5a715a}
#portrait-overview .reading-overview-focus>p{font-size:22px;font-weight:750;line-height:1.35;color:#254b35;margin:6px 0 8px}
#portrait-overview .reading-overview-focus>small{font-size:12px;line-height:1.6;color:#617361}
@media(min-width:901px){
 #portrait-overview .reading-profile-chart>h2,#portrait-overview .reading-profile-chart>.muted{display:none}
 #portrait-overview .reading-profile-visual{align-items:center}
}

/* Compact typography throughout the detailed portrait view. */
#portrait-bi .reading-detail-section{padding:20px 24px;margin-top:14px}
#portrait-bi .reading-detail-section>h2{font-size:20px}
#portrait-bi .reading-detail-section>p{font-size:14px;line-height:1.65;margin:6px 0 12px}
#portrait-bi .reading-dimension-column>.standard-group>summary,#portrait-bi .reading-genre-list>.standard-group>summary{font-size:18px;padding:11px 16px}
#portrait-bi .reading-dimension-column>.standard-group>summary>.reading-state{font-size:12px;padding:4px 8px}
#portrait-bi .reading-genre-list>.standard-group>summary>span{font-size:12px}
#portrait-bi .reading-dimension-column>.standard-group>details>summary,#portrait-bi .reading-specialty-grid>details>summary{font-size:14px;padding:8px 0}
#portrait-bi .reading-detail-section details p,#portrait-bi .reading-training p{font-size:13px!important;line-height:1.7}
#portrait-bi .reading-conclusion,#portrait-bi .reading-genre-conclusion{font-size:14px!important;line-height:1.7}
#portrait-bi .reading-conclusion{margin:10px 16px;padding:10px 12px}
#portrait-bi .reading-definition{margin:10px 16px 8px}
#portrait-bi .reading-counts{font-size:12px!important;margin:0 16px 10px}
#portrait-bi .reading-training{margin:10px 16px;padding:10px 12px}
#portrait-bi .reading-training>strong{font-size:14px}
#portrait-bi .reading-training li{font-size:13px;line-height:1.7;margin:4px 0}
#portrait-bi .reading-training small,#portrait-bi .reading-evidence small{font-size:12px!important;line-height:1.7}
#portrait-bi .reading-detail-section>details>summary,#portrait-bi .reading-evidence>summary{font-size:14px}
#portrait-bi .reading-hint-grid span{font-size:12px}
#portrait-bi .reading-hint-grid strong{font-size:16px}
#portrait-bi .reading-specialty-grid{padding:12px 16px;gap:8px 16px}
@media(max-width:620px){#portrait-bi .reading-detail-section{padding:16px}}

/* Daily training: one clear primary entry, compact secondary controls. */
main:has(.sync-heading) .progress-setting{justify-content:flex-start;gap:24px;padding:16px 20px}main:has(.sync-heading) .progress-setting>div{margin-right:auto}#sync-training{padding:24px}#sync-training .daily-training-head h2{font-size:25px}#sync-training .daily-sources{background:transparent;padding:0;margin:16px 0 4px}#sync-training #training-status:empty{display:none}#sync-training .daily-options,#sync-training .training-manual{display:inline-block;margin:18px 24px 0 0;padding:0;border:0;vertical-align:top}#sync-training .daily-options[open],#sync-training .training-manual[open]{display:block;padding-top:16px;border-top:1px solid var(--border)}.sync-sample{padding:16px 22px;margin-top:16px}.sync-sample summary{font-size:13px;font-weight:400;color:var(--muted)}@media(max-width:760px){main:has(.sync-heading) .progress-setting{gap:12px;flex-wrap:wrap}#sync-training{padding:20px}#sync-training .daily-training-head>.primary{width:100%}}

.sync-library-link{margin-left:auto;color:var(--green);font-size:13px;white-space:nowrap}

.short-reading-card .book-details small{font-size:11px;margin-top:12px;line-height:1.6}.short-reading-card .book-cover h2{line-height:1.5}.short-reading-card .book-cover{background:#d7e2ca;color:#355441}#sync-training .daily-training-head h2{font-family:var(--serif);font-weight:500;font-size:27px;line-height:1.6;margin:10px 0}#sync-training .daily-training-head{padding:4px 0 10px}#sync-training .daily-training-head p{font-size:14px;line-height:1.8}

.reading-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}.reading-path{padding:30px 32px;border:1px solid #dce4d5;border-radius:16px;display:flex;flex-direction:column;min-height:350px}.reading-path-short{background:#eaf0e2}.reading-path-book{background:#f2eddd;border-color:#e5ddc7}.reading-path h2{font:500 23px var(--serif);margin-top:14px}.reading-path-message{font:500 30px/1.65 var(--serif);margin:24px 0 14px}.reading-path-description{font-size:14px;color:#748173;line-height:1.8;max-width:34em}.reading-path-footer{margin-top:auto;padding-top:26px}.reading-path-footer small{margin-bottom:14px;font-size:12px}.reading-path-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.reading-path .primary{font-size:14px}.reading-path .text-button{background:transparent;border:0;color:var(--green);font-size:14px;cursor:pointer}#reading-all-books{scroll-margin-top:24px}#reading-all-books[hidden]{display:none}@media(max-width:760px){.reading-paths{grid-template-columns:1fr;gap:16px}.reading-path{min-height:0;padding:24px}.reading-path-message{font-size:26px;margin:18px 0 12px}}

/* A quieter reading entrance with clear editorial hierarchy. */
.reading-paths{gap:28px;margin-top:28px}.reading-path{padding:32px 36px 30px;min-height:390px;border-radius:14px;position:relative;overflow:hidden}.reading-path-short{background:linear-gradient(135deg,#edf2e8,#e6eddd)}.reading-path-book{background:linear-gradient(135deg,#f6f2e8,#efe7d5)}.reading-path>.tag{font-size:10px;letter-spacing:2px;color:#7b8975}.reading-path h2{font:500 32px/1.35 var(--serif);letter-spacing:2px;margin:16px 0 9px}.reading-path-kind{font-size:12px;letter-spacing:.5px;color:#82907d;line-height:1.6}.reading-path-message{font:400 22px/1.85 var(--serif);letter-spacing:.6px;margin:26px 0 12px;color:#405747}.reading-path-description{font-size:13px;line-height:1.9;color:#7d887c;max-width:30em}.reading-path-footer{padding-top:28px}.reading-path-footer small{font-size:11px;line-height:1.8;margin-bottom:15px}.reading-path .primary{font-size:13px;padding:12px 20px;min-height:43px;border-radius:6px}.reading-path .text-button{font-size:12px}.reading-path-actions{gap:22px}@media(min-width:1500px){.reading-path{padding:38px 44px;min-height:420px}.reading-path h2{font-size:36px}.reading-path-message{font-size:25px}}@media(max-width:760px){.reading-paths{gap:16px;margin-top:20px}.reading-path{padding:25px 26px;min-height:0}.reading-path h2{font-size:28px}.reading-path-message{font-size:21px;margin-top:20px}.reading-path-footer{padding-top:22px}}

.reading-path-art{position:absolute;right:22px;top:27px;width:clamp(120px,15vw,195px);height:auto;pointer-events:none;opacity:.86}.reading-path>.tag,.reading-path>h2,.reading-path-kind{position:relative;max-width:calc(100% - 155px)}.reading-path-message,.reading-path-description,.reading-path-footer{position:relative}.reading-path-message{max-width:calc(100% - 120px)}@media(max-width:1100px){.reading-path-art{width:120px;right:14px;top:38px}.reading-path>.tag,.reading-path>h2,.reading-path-kind{max-width:calc(100% - 105px)}.reading-path-message{max-width:none;margin-top:42px}}@media(max-width:760px){.reading-path-art{width:130px;right:20px;top:22px}.reading-path>.tag,.reading-path>h2,.reading-path-kind{max-width:calc(100% - 130px)}.reading-path-message{margin-top:28px}}@media(max-width:380px){.reading-path-art{width:95px;right:12px}.reading-path>.tag,.reading-path>h2,.reading-path-kind{max-width:calc(100% - 95px)}}

/* Shared visual language for short-reading collection and its reading pages. */
.short-collection-heading,.short-article-heading{align-items:center;margin-bottom:24px}.short-eyebrow{display:block;font-size:10px;letter-spacing:2px;color:#99a18f;margin:18px 0 10px}.short-collection-heading h1,.short-article-heading h1{font:500 32px/1.5 var(--serif);margin:0;letter-spacing:1px}.short-collection-heading p,.short-article-heading p{font-size:13px;line-height:1.8;color:#84907e;margin-top:10px}.short-filters{background:#eef2e8;border:1px solid #e0e6d9;border-radius:10px;padding:14px 18px;margin-bottom:22px;gap:22px}.short-filters label{font-size:12px;color:#7c8975;gap:10px}.short-filters select{max-width:330px;min-height:40px;padding:8px 12px;font-size:13px;background:#fafbf7}#short-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.short-story-card{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;padding:24px;min-height:220px;background:linear-gradient(155deg,#fff,#fafbf7);border-radius:12px;gap:20px}.short-card-kicker{display:block;font-size:10px;letter-spacing:2px;color:#a1ad97;margin-bottom:13px}.short-story-card h3{font:500 20px/1.65 var(--serif);color:#344a3d;overflow-wrap:anywhere;letter-spacing:.3px}.short-story-card p{font-size:12px;color:#7e8c76;line-height:1.8;margin:12px 0 5px}.short-story-card small{font-size:11px;line-height:1.7;color:#9ba594}.short-story-card>.primary{align-self:flex-start;padding:9px 16px;min-height:37px;font-size:12px;white-space:nowrap}.short-story-card:hover{border-color:#aebfa2}.short-article-paper{padding:32px 40px;max-width:980px;margin:0 auto 24px}.short-article-paper .bank-reading-text{font-size:18px;line-height:2.05;color:#394b40;max-width:42em;margin:auto}.short-article-paper .bank-reading-text p{margin-bottom:18px;line-height:2.05}.short-exercises{max-width:980px;margin:0 auto;padding:28px 32px}.short-exercises>h2{font:500 23px var(--serif);margin-bottom:10px}.short-exercises>.muted{font-size:12px}.short-exercises .bank-reading-row{align-items:start;gap:24px;padding:22px 0}.short-exercises .bank-reading-row>div{flex:1;min-width:0}.short-exercises .bank-reading-row h3{font-size:16px;font-weight:500;line-height:1.7;margin-bottom:8px}.short-exercises .bank-reading-row p{font-size:15px;line-height:1.9}.short-exercises .bank-reading-row button{white-space:nowrap;flex-shrink:0;font-size:12px;padding:10px 16px}#short-pages .training-pagination{margin:24px 0;gap:18px;font-size:12px}#short-pages button{font-size:12px;padding:8px 14px;min-height:36px}@media(min-width:1600px){#short-list{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1000px){#short-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){#short-list{grid-template-columns:1fr}.short-filters{gap:12px}.short-filters label,.short-filters select{width:100%;max-width:none}.short-article-heading{flex-wrap:wrap}.short-article-heading h1{font-size:26px}.short-article-paper{padding:24px}.short-article-paper .bank-reading-text{font-size:17px}.short-exercises{padding:24px}.short-exercises .bank-reading-row{flex-direction:column;gap:12px}}

.classical-entry{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 30px;margin-top:22px;border:1px solid #e1decd;border-radius:14px;background:#f2efe5}.classical-entry h2{font:500 24px var(--serif);margin:8px 0}.classical-entry p{font-size:13px;color:#85907e}.classical-entry>span{white-space:nowrap;font-size:13px;color:var(--green)}.short-exercises>summary{font:500 19px var(--serif);cursor:pointer;color:#52694f}.short-exercises[open]>h2{display:none}.short-exercises[open]>.muted{margin-top:16px}.short-article-heading .short-eyebrow{display:none}.short-article-heading h1{font-size:28px}.short-article-paper{border:0;background:#fffdf8;padding:32px 48px}.short-article-paper .bank-reading-text{max-width:36em}.short-story-card{min-height:175px;padding:20px 24px;gap:14px}.short-card-kicker{display:none}.short-story-card h3{font-size:19px}.short-story-card p{margin-top:10px}.short-story-card>.primary{background:transparent;border:0;color:var(--green);padding:0;min-height:28px}.short-filters{background:transparent;border:0;padding:0 0 18px;border-bottom:1px solid var(--border)}@media(max-width:600px){.classical-entry{padding:22px;flex-wrap:wrap}.short-article-paper{padding:24px}}

.classical-entry{position:relative;overflow:hidden;min-height:235px;padding:32px 38px;align-items:flex-end;background:linear-gradient(120deg,#f5f1e5,#eee9d8)}.classical-entry>div{position:relative;max-width:calc(100% - 220px);align-self:center}.classical-entry h2{font:500 30px/1.5 var(--serif);letter-spacing:2px;margin:14px 0 12px}.classical-entry .tag{font-size:10px;letter-spacing:2px}.classical-entry p{font-size:14px;line-height:1.9}.classical-entry>span{position:relative;padding:10px 0;font-size:14px}.classical-art{position:absolute;right:34px;top:10px;width:190px;height:155px;pointer-events:none;opacity:.85}@media(max-width:600px){.classical-entry{min-height:260px;padding:26px;display:block}.classical-entry>div{max-width:calc(100% - 95px)}.classical-entry h2{font-size:26px}.classical-art{width:130px;height:120px;right:8px;top:15px}.classical-entry>span{display:block;margin-top:22px}.classical-entry p{font-size:13px}}

/* Keep the three reading entrances together on the first desktop screen. */
main:has(.reading-paths){padding-top:28px}.library-head:has(+.reading-paths){margin-bottom:0}.library-head:has(+.reading-paths) h1{font-size:28px}.library-head:has(+.reading-paths) p{margin-top:8px}.reading-paths{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px;align-items:stretch}.reading-paths .reading-path,.reading-paths .classical-entry{min-height:390px;margin:0;padding:28px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}.reading-paths .reading-path h2,.reading-paths .classical-entry h2{font-size:29px;letter-spacing:1px}.reading-paths .reading-path-art{width:110px;right:12px;top:25px}.reading-paths .reading-path>.tag,.reading-paths .reading-path>h2,.reading-paths .reading-path-kind{max-width:calc(100% - 85px)}.reading-paths .reading-path-message{font-size:21px;margin-top:30px;max-width:none}.reading-paths .reading-path-description{font-size:12px}.reading-paths .classical-entry>div{max-width:none;align-self:stretch;margin-top:0}.reading-paths .classical-entry>div>.tag,.reading-paths .classical-entry h2{max-width:calc(100% - 90px)}.reading-paths .classical-entry p{margin-top:35px;max-width:24em;font:400 21px/1.85 var(--serif);color:#405747}.reading-paths .classical-art{width:120px;height:110px;right:9px;top:24px}.reading-paths .classical-entry>span{margin-top:auto;align-self:flex-start;padding:12px 20px;background:var(--green);color:white;border-radius:6px;font-size:13px}.reading-paths .reading-path-actions{gap:14px}.reading-paths .reading-path-footer{padding-top:22px}@media(min-width:1500px){.reading-paths .reading-path,.reading-paths .classical-entry{min-height:415px;padding:32px}.reading-paths .reading-path-message,.reading-paths .classical-entry p{font-size:23px}}@media(max-width:1050px){.reading-paths{grid-template-columns:repeat(2,minmax(0,1fr))}.reading-paths .classical-entry{grid-column:1/-1;min-height:190px}.reading-paths .classical-entry p{margin-top:12px;font-size:18px}.reading-paths .classical-entry>span{align-self:flex-end;margin-top:12px}}@media(max-width:600px){.reading-paths{grid-template-columns:1fr}.reading-paths .reading-path,.reading-paths .classical-entry{min-height:0;padding:24px}.reading-paths .classical-entry{grid-column:auto}.reading-paths .classical-entry>span{align-self:flex-start}.reading-paths .reading-path-message{margin-top:22px}}

@media(min-width:761px){.reading-grid:not(.reading-focus){grid-template-columns:var(--reading-columns);gap:0}.reading-grid>section{min-width:0}.reading-divider{cursor:col-resize;touch-action:none;position:relative;align-self:stretch;min-height:100px}.reading-divider:after{content:'';position:absolute;top:35%;bottom:35%;left:4px;width:2px;border-radius:2px;background:#b7c6ad;opacity:.55}.reading-divider:hover:after,.reading-divider:focus-visible:after,.resizing .reading-divider:after{background:#315c4c;opacity:1;width:3px}.resizing{user-select:none;cursor:col-resize}.reading-focus .reading-divider{display:none}.reading-grid.reading-focus{grid-template-columns:1fr}}@media(max-width:760px){.reading-divider{display:none}}

/* Give the reading entrances a little more breathing room within the viewport. */
@media(min-width:1051px){
 .reading-paths .reading-path,.reading-paths .classical-entry{min-height:clamp(430px,calc(100dvh - 190px),540px);padding:34px 32px}
 .reading-paths .reading-path h2,.reading-paths .classical-entry h2{margin-top:20px;margin-bottom:14px}
 .reading-paths .reading-path-message{margin-top:38px;margin-bottom:20px;line-height:1.95}
 .reading-paths .reading-path-description{line-height:1.95;font-size:13px}
 .reading-paths .reading-path-footer{padding-top:28px}
 .reading-paths .reading-path-footer small{margin-bottom:18px;line-height:1.9}
 .reading-paths .classical-entry p{margin-top:42px;line-height:1.95}
}
@media(min-width:1500px){.reading-paths .reading-path,.reading-paths .classical-entry{padding:38px 36px}}
@media(min-width:1051px) and (max-height:720px){
 .reading-paths .reading-path,.reading-paths .classical-entry{min-height:390px;padding:26px 28px}
 .reading-paths .reading-path-message{margin-top:24px;margin-bottom:14px}
 .reading-paths .reading-path-footer{padding-top:18px}
 .reading-paths .classical-entry p{margin-top:28px}
}

.short-work-head{display:flex;align-items:center;gap:20px;margin-bottom:16px;flex-shrink:0}.short-work-head h1{font:500 25px/1.5 var(--serif)}.short-work-head small{margin-top:5px;font-size:11px}.short-work-grid{display:grid;grid-template-columns:minmax(0,var(--short-left,.55fr)) 12px minmax(0,var(--short-right,.45fr));flex:1;min-height:0}.short-work-grid>section{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-height:0;min-width:0}.short-work-scroll{overflow:auto;min-height:0;flex:1;padding:26px 30px}.short-work-text p{font:400 18px/2 var(--serif);margin-bottom:22px;position:relative}.short-paragraph-number{font:11px sans-serif;color:#a0ae96;display:inline-block;margin-right:12px}.short-work-divider{cursor:col-resize;touch-action:none;background:linear-gradient(90deg,transparent 45%,#cbd5c1 45%,#cbd5c1 55%,transparent 55%)}.short-question-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12px;color:#83917b;margin:0 0 20px}.short-question-nav select{padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:#fafbf7}.short-question-stem{font-size:17px;line-height:1.9;white-space:pre-wrap;margin-bottom:20px}.short-work-answer textarea{width:100%;padding:16px;font-size:16px;line-height:1.8;border:1px solid var(--border);border-radius:8px;background:#fafbf7;margin:10px 0 16px}.short-choice-list{border:0;padding:0;margin:0 0 20px;display:grid;gap:12px}.short-choice-list legend{font-size:12px;color:#85917c;margin-bottom:12px}.short-choice-list label{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--border);border-radius:9px;line-height:1.8;cursor:pointer}.short-choice-list label:has(input:checked){background:#edf3e6;border-color:#8da87b}.short-choice-list input{margin-top:7px;accent-color:var(--green)}.short-work-answer #short-status{margin:12px 0}.short-work-answer .practice-reference p{white-space:pre-wrap}.short-work-answer .practice-reference h4{margin:18px 0 8px}.short-work-answer #short-coach{margin:20px 0}.short-work-answer #short-coach h3{font-size:16px;line-height:1.8}@media(max-width:760px){.short-work-grid{display:block}.short-work-divider{display:none}.short-work-head{flex-wrap:wrap}.short-work-grid>section{margin-bottom:16px}.short-work-text .short-work-scroll{max-height:45vh}.short-work-scroll{padding:22px}}

/* Compact short-reading header without shrinking the reading text. */
.short-work-head{gap:18px;margin-bottom:12px;min-height:44px;align-items:center}
.short-work-head>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 20px;min-width:0}
.short-work-head h1{font:500 21px/1.5 var(--serif);letter-spacing:.3px;margin:0}
.short-work-head small{font-size:11px;line-height:1.6;margin:0;color:#8b9686}
.short-work-head>.secondary{padding:8px 13px;min-height:36px;font-size:12px;white-space:nowrap}
.short-work-grid .panel-label{padding-top:11px;padding-bottom:11px;min-height:38px;font-size:11px}
@media(max-width:760px){.short-work-head{gap:10px;flex-wrap:nowrap;align-items:flex-start}.short-work-head>div{display:block}.short-work-head h1{font-size:19px}.short-work-head small{margin-top:4px;font-size:10px}}

.short-question-stem{font-size:16px;line-height:2.05;letter-spacing:.2px;margin:18px 0 24px;color:#33483c}
.short-blank{display:inline-block;vertical-align:baseline;width:clamp(100px,35%,220px);max-width:100%;padding:7px 10px;margin:4px 6px;border:0;border-bottom:1px solid #9daf91;border-radius:5px 5px 0 0;background:#f2f6ec;font:inherit;color:#315c4c;min-height:38px}
.short-blank:focus{outline:2px solid #c2d2b4;outline-offset:2px}.short-blank::placeholder{font-size:12px;color:#9aa88f}.short-input-hint{font-size:12px;color:#8b9684;margin:0 0 20px}.short-work-answer .field-label{font-size:12px;letter-spacing:.5px}.short-choice-list label{font-size:15px;line-height:1.9}.short-question-nav{padding-bottom:12px;border-bottom:1px solid #eef1e9;margin-bottom:16px}.short-work-answer .practice-feedback{font-size:14px;line-height:1.9}.short-work-answer .practice-reference{font-size:14px;line-height:1.9}

.source-underline{text-decoration-line:underline;text-decoration-thickness:1.5px;text-underline-offset:5px;text-decoration-skip-ink:none}.source-emphasis{text-emphasis-style:dot;text-emphasis-position:under;text-emphasis-color:#405747}

.short-work-answer textarea.short-blank{display:block;width:100%;max-width:none;min-height:80px;margin:10px 0 16px;padding:13px 16px;border:1px solid #cfdbc5;border-radius:8px;background:#f6f9f1;font-size:16px;line-height:1.8;resize:vertical;overflow:hidden}.short-work-answer textarea.short-blank::placeholder{font-size:12px;color:#95a38b}

/* Compact reading collection heading and cards. */
main:has(.short-collection-heading){padding-top:24px}
.short-collection-heading{margin-bottom:16px}
.short-collection-heading>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 20px;width:100%}
.short-collection-heading .short-eyebrow{display:none}
.short-collection-heading .text-button{font-size:12px;align-self:center}
.short-collection-heading h1{font-size:26px;line-height:1.5;letter-spacing:.5px}
.short-collection-heading p{margin:0;font-size:12px;line-height:1.7}
.short-filters{gap:18px;margin:0 0 16px;padding-bottom:12px}
.short-filters select{min-height:36px;padding:7px 11px}
#short-list{gap:14px}
#short-list .short-story-card{min-height:150px;padding:18px 22px;gap:12px}
#short-list .short-story-card h3{font-size:18px;line-height:1.6}
#short-list .short-story-card p{font-size:11px;line-height:1.7;margin:9px 0 4px}
#short-list .short-story-card small{font-size:10px;line-height:1.7}
#short-list .short-story-card>.primary{min-height:24px;font-size:12px}
#short-pages .training-pagination{margin:16px 0}
@media(max-width:600px){.short-collection-heading>div{gap:8px 14px}.short-collection-heading p{flex-basis:100%}.short-collection-heading h1{font-size:23px}#short-list .short-story-card{min-height:140px;padding:18px}}

.short-collection-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px}.short-collection-heading>div{display:block;width:auto;min-width:0}.short-collection-heading h1{font:500 28px/1.45 var(--serif);letter-spacing:1px}.short-collection-heading p{margin-top:8px;font-size:12px;line-height:1.8;color:#889480}.short-collection-heading .collection-back{flex-shrink:0;font-size:12px;padding:9px 14px;min-height:36px;background:#f9faf6;color:#77886d;border-color:#dfe5d8}.short-filters{padding:12px 0 14px;margin-bottom:18px}.short-story-card{box-shadow:0 2px 8px #34472d03}#short-list{width:100%;min-width:0}#short-list .short-story-card{min-width:0}#short-list .short-story-card h3{overflow-wrap:anywhere}@media(max-width:600px){.short-collection-heading{align-items:flex-start;gap:12px}.short-collection-heading h1{font-size:24px}.short-collection-heading .collection-back{font-size:11px;padding:8px 10px}.short-collection-heading p{font-size:11px}}

.short-filters{justify-content:flex-end;align-items:center;width:100%}
.short-filters label{flex:0 1 auto}
@media(max-width:600px){.short-filters{justify-content:flex-start}.short-filters label{flex:1 1 100%}}

/* Tighten the collection header after moving filters to the right. */
.short-collection-heading{margin-bottom:4px}
.short-collection-heading p{margin-top:5px;line-height:1.6}
.short-filters{padding:4px 0 10px;margin-bottom:12px;gap:16px}
.short-filters label{line-height:1.4}
.short-filters select{min-height:34px;padding:6px 10px}
@media(max-width:600px){.short-collection-heading{margin-bottom:10px}.short-filters{padding-top:2px;gap:10px}}

.short-collection-heading{position:relative;align-items:flex-start;margin-bottom:0}
.short-collection-heading .collection-back{align-self:flex-start;transform:translateY(-8px)}
main:has(.short-collection-heading){padding-top:18px}
.short-filters{margin-top:-6px;padding-top:0;padding-bottom:8px;margin-bottom:10px}
@media(max-width:600px){.short-collection-heading .collection-back{transform:translateY(-4px)}.short-filters{margin-top:6px}}

/* Balance the left heading without moving the right-side return and filters. */
.short-collection-heading>div{position:relative;top:10px}
@media(max-width:600px){.short-collection-heading>div{top:5px}}

/* Fit one collection page comfortably in a desktop viewport. */
@media(min-width:1051px){
 main:has(.short-collection-heading){padding-bottom:12px}
 #short-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
 #short-list .short-story-card{min-height:clamp(150px,calc((100dvh - 210px)/2),205px);padding:16px 20px;gap:10px}
 #short-list .short-story-card h3{font-size:18px;line-height:1.5}
 #short-list .short-story-card p{margin:7px 0 3px}
 #short-pages .training-pagination{margin:12px 0 0}
}
@media(min-width:761px) and (max-width:1050px){#short-list{gap:12px}#short-list .short-story-card{min-height:145px;padding:16px 18px}}

/* Today’s practice, in the same quiet reading palette. */
.sync-heading{align-items:center;justify-content:space-between;margin-bottom:20px}.sync-heading>div h1{font:500 28px/1.5 var(--serif)}.sync-heading>div p{font-size:13px;color:#899581;margin-top:6px}.sync-library-link{font-size:12px}.sync-heading+.progress-setting{background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:0 0 16px;margin-bottom:20px;gap:20px}.sync-heading+.progress-setting>div h3{font:500 19px var(--serif);margin-top:6px}.sync-heading+.progress-setting label{font-size:11px;color:#84917c}.sync-heading+.progress-setting select{font-size:13px;min-height:39px;padding:8px 12px}.sync-heading+.progress-setting #lesson{min-width:230px}#sync-training{padding:0;border:0;background:transparent}.daily-training-head{position:relative;overflow:hidden;padding:30px 34px!important;background:linear-gradient(120deg,#edf2e7,#e5edda);border:1px solid #dce6d1;border-radius:14px;min-height:205px;align-items:flex-end}.daily-training-head>div{position:relative;max-width:70%}#sync-training .daily-training-head h2{font:500 28px/1.6 var(--serif);margin:14px 0 10px}#sync-training .daily-training-head p{font-size:13px;line-height:1.9;color:#7c8c72}.daily-time{display:block;font-size:11px;color:#94a088;margin-top:18px}.daily-training-head>.primary{position:relative;white-space:nowrap;font-size:13px;min-height:42px}.daily-training-art{position:absolute;width:135px;height:115px;right:25px;top:12px;opacity:.7;pointer-events:none}.daily-source-details{margin:14px 0 0;color:#87957d;font-size:11px}.daily-source-details summary{cursor:pointer}.daily-source-details .daily-sources{padding:12px 0!important;font-size:11px}#sync-training #training-status{font-size:12px;color:#7f8e76;margin-top:10px}#sync-training .daily-options,#sync-training .training-manual{font-size:12px;margin-top:14px;margin-bottom:8px}#sync-training .daily-plan-heading{margin-top:18px}.sync-sample{border:0;border-top:1px solid var(--border);border-radius:0;background:transparent;padding:12px 0;margin-top:14px}.sync-sample summary{font-size:11px}@media(max-width:760px){.daily-training-head{padding:24px!important;min-height:0;gap:20px}.daily-training-head>div{max-width:100%}#sync-training .daily-training-head h2{font-size:24px;max-width:80%}.daily-training-art{width:100px;right:10px;top:10px}.sync-heading+.progress-setting #lesson{min-width:0}.sync-heading+.progress-setting>div{flex-basis:100%}}

.daily-settings{margin-top:16px;border:1px solid #e2e8da;border-radius:10px;background:#f5f7f0;padding:13px 18px}.daily-settings>summary{cursor:pointer;font-size:12px;color:#77876e}.daily-settings[open]>summary{padding-bottom:12px;border-bottom:1px solid #e3e9db}.daily-settings .daily-source-details{margin-top:14px}#sync-training .daily-settings .daily-options,#sync-training .daily-settings .training-manual{display:block;margin:14px 0 0;padding:0;border:0}#sync-training .daily-settings .daily-options[open],#sync-training .daily-settings .training-manual[open]{padding-top:0}.daily-settings .training-toolbar{margin-top:12px}

.practice-article{background:#fffdf8;padding:24px 30px}.practice-article>h2{font:500 18px/1.5 var(--serif);margin-bottom:18px}.practice-article .practice-reading-paragraph{font:400 18px/1.95 var(--serif);letter-spacing:.3px;margin:0 0 20px;color:#3a4e3f}.practice-answer{padding:24px 28px}.practice-answer>.tag{font-size:11px}.practice-answer>h2{font-size:20px;margin:10px 0 14px}.practice-answer .practice-stem{font-size:16px;line-height:1.65;margin:12px 0 18px}.practice-answer .short-choice-list{gap:9px;margin-bottom:18px}.practice-answer .short-choice-list label{font-size:15px;line-height:1.65;padding:10px 14px;gap:10px}.practice-answer .short-choice-list legend{margin-bottom:8px}.practice-answer .short-choice-list input{margin-top:5px}.practice-answer .field-label{font-size:12px;margin:10px 0}.practice-answer .training-actions{margin-top:12px}.practice-answer .short-choice-list+textarea[hidden]{display:none}@media(max-width:760px){.practice-article,.practice-answer{padding:22px}.practice-article .practice-reading-paragraph{font-size:17px}}

.practice-feedback h4{font-size:12px;font-weight:500;color:#829477;margin:14px 0 6px}.practice-feedback p{font-size:14px;line-height:1.8}.practice-answer #practice-result>a.primary{margin:14px 0}.short-work-answer .short-question-nav:last-child{position:sticky;bottom:-26px;background:#fff;padding:12px 0;margin:18px 0 0;border-top:1px solid var(--border);z-index:2}
/* Family account entry: calm typography, editable child profiles. */
.account-screen{min-height:100dvh;display:grid;place-items:center;padding:32px;background:#f6f8f3}.account-card{width:min(100%,600px);padding:40px;border:1px solid #dce4d6;border-radius:24px;background:#fffdf8}.account-card h1{font-size:30px;line-height:1.45;margin:18px 0 10px}.account-card p{color:#7c897a;line-height:1.65}.account-card form{display:grid;gap:18px;margin:26px 0}.account-card label{display:grid;gap:9px;font-size:15px;color:#586957}.account-card input{width:100%;min-width:0;padding:13px 16px;border:1px solid #dce4d6;border-radius:10px;background:#f9faf6;font:inherit;box-sizing:border-box}.account-children{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.account-note{border-top:1px solid #e5eadf;padding-top:18px;margin-top:25px;font-family:serif}.account-card #account-error{color:#94594d}.account-card button{min-height:44px}.account-card .eyebrow{font-size:13px;letter-spacing:2px}.profile a{color:inherit;font-size:12px}
/* Original-book preparation: compact editorial header and one clear collection. */
.library-management{max-width:1420px;margin:auto}.library-management .library-head{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:24px}.library-management .library-head h1{font-size:32px;line-height:1.3;margin:10px 0}.library-management .library-head p{font-size:14px;line-height:1.6;margin:0;color:#82907e}.library-management .eyebrow{font-size:11px;letter-spacing:2px}.library-manage-actions{display:grid;justify-items:end;gap:16px}.library-manage-actions>a{font-size:13px}.library-manage-actions .primary,.library-manage-actions .secondary{padding:11px 19px;min-height:42px;font-size:14px}.library-prepare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:19px 24px;background:#edf2e7;border:1px solid #e0e7d8;border-radius:16px;gap:24px}.library-prepare>div{display:grid;grid-template-columns:30px 1fr;column-gap:10px;row-gap:6px}.library-prepare span{grid-row:1/3;color:#99a78e;font:18px Georgia,serif}.library-prepare strong{font-size:14px;font-weight:500;color:#425c4c}.library-prepare small{font-size:12px;color:#86927e}.library-management #library-status:empty{display:none}.library-shelf-head{display:flex;justify-content:space-between;align-items:center;margin:28px 0 15px}.library-shelf-head h2{font-size:19px;margin:0;font-weight:500}.library-shelf-head>span{font-size:12px;color:#899581}.library-managed-books{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.library-management .library-managed-empty{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:36px;padding:35px 40px;border:1px solid #e0e6d7;border-radius:20px;background:linear-gradient(110deg,#eff4e9,#f8f9f2);min-height:230px;box-sizing:border-box}.library-management .library-managed-empty h2{font-family:'Songti SC','STSong',serif;font-size:29px;font-weight:400;line-height:1.65;margin:12px 0 15px}.library-management .library-managed-empty p{font-size:14px;line-height:1.6;margin:0 0 10px}.library-management .library-managed-empty small{font-size:12px;color:#8a9781}.library-managed-empty svg{width:230px;max-width:30%;flex-shrink:0}.library-management .library-footnote{margin:18px 0 0;font-size:12px;color:#919c8b;line-height:1.6}.library-managed-book{display:flex;align-items:center;gap:20px;padding:22px;border:1px solid #e0e6d9;border-radius:16px;background:#fffefb;min-width:0}.library-book-spine{width:72px;min-height:108px;padding:12px;box-sizing:border-box;border-radius:3px 8px 8px 3px;background:#dce7cf;border-left:5px solid #c6d3b7;flex-shrink:0}.library-book-spine.sand{background:#ebe1c9;border-color:#d9cdae}.library-book-spine.blue{background:#dae6e7;border-color:#c4d4d6}.library-book-spine>span{display:block;font-size:9px;margin-bottom:13px;color:#85937b}.library-book-spine>strong{font-family:serif;font-size:14px;font-weight:400;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.library-managed-copy{flex:1;min-width:0}.library-managed-copy h3{font-family:serif;font-weight:400;font-size:20px;margin:0 0 8px;line-height:1.5;overflow-wrap:anywhere}.library-managed-copy>p{font-size:12px;color:#8a9781;margin:0 0 16px}.library-book-meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:#86927e;font-size:11px}.library-managed-book>a{font-size:12px;white-space:nowrap;padding:9px 12px}.library-management .library-demo{margin-top:20px}
@media(max-width:900px){.library-managed-books{grid-template-columns:1fr}.library-management .library-head h1{font-size:27px}.library-prepare{gap:15px;padding:16px}.library-management .library-managed-empty{padding:28px}.library-managed-empty svg{width:180px}}@media(max-width:600px){.library-management .library-head{align-items:flex-start;gap:16px;flex-direction:column}.library-manage-actions{width:100%;display:flex;align-items:center;justify-content:space-between}.library-prepare{grid-template-columns:1fr;gap:16px}.library-managed-empty svg{display:none}.library-management .library-managed-empty h2{font-size:25px}.library-managed-book{flex-wrap:wrap;gap:14px}.library-managed-book>a{margin-left:86px}.library-shelf-head>span{font-size:11px}}
.children-page{max-width:1240px;margin:auto}.children-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.children-head h1{font-size:32px;margin:10px 0}.children-head p{font-size:14px;color:#82907e;margin:0;line-height:1.65}.children-head .eyebrow{font-size:11px;letter-spacing:2px}.children-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}.child-card{padding:26px;border:1px solid #dfe6d8;border-radius:18px;background:#fffdf8}.child-card-top{display:flex;gap:16px;align-items:center}.child-initial{display:grid;place-items:center;flex-shrink:0;width:52px;height:52px;border-radius:50%;background:#e5eddb;color:#547453;font-family:serif;font-size:24px}.child-card h2{font-size:23px;margin:0 0 7px;font-weight:400;font-family:serif}.child-card-top>div{flex:1;min-width:0}.child-card-top p{font-size:13px;color:#8a9781;margin:0}.child-card dl{display:grid;gap:14px;margin:25px 0}.child-card dl>div{display:flex;gap:18px;font-size:14px;line-height:1.6}.child-card dt{color:#929d88;flex-shrink:0}.child-card dd{margin:0;color:#566c59;overflow-wrap:anywhere}.child-card footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e7ebdf;padding-top:18px}.children-trash{margin:26px 0 20px;padding:20px;border:1px solid #e0e6d9;border-radius:15px}.children-trash summary{cursor:pointer;color:#7e8e73;font-size:14px}.child-trash-row{display:flex;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid #e7ebdf;flex-wrap:wrap;font-size:14px}.child-trash-row>strong,.child-trash-row>span:first-child{flex:1}.children-privacy{font-size:12px;color:#95a08e;line-height:1.7}.children-standalone{max-width:1040px;padding:36px;margin:auto}.child-edit form>label,.child-form-pair label{display:grid;gap:9px;margin:16px 0;font-size:14px;color:#7c8b72}.child-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.child-edit select{width:100%;font:inherit;padding:10px;border:1px solid #dce4d6;border-radius:8px;background:#fafbf7}.danger{color:#a96958!important}.invitation-create{padding:26px;border:1px solid #dfe6d8;background:#f0f4e9;border-radius:18px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.invitation-create label{display:flex;align-items:center;gap:12px;font-size:14px}.invitation-create p{width:100%;font-size:13px;color:#8b9780;margin:0}.invitation-heading{font-size:20px;margin:28px 0 12px}.invitation-list{font-size:14px;color:#819076}#new-invite-link{width:100%;display:flex;gap:12px;flex-wrap:wrap}#new-invite-link label{flex:1}#new-invite-link input{width:100%;min-width:180px;font-size:13px;padding:12px;border:1px solid #dfe6d8;border-radius:9px}#new-invite-link small{width:100%;color:#8b9780;font-size:12px;line-height:1.6}#children-status,#invite-status{color:#a46655}.child-empty{font-size:14px;color:#8b9780}@media(max-width:700px){.children-grid{grid-template-columns:1fr}.children-head{align-items:flex-start}.children-head h1{font-size:27px}.children-standalone{padding:24px}.child-form-pair{grid-template-columns:1fr}.child-card{padding:22px}}

/* Family settings are secondary to teaching-material management. */
.parent-family-settings{margin-top:26px;padding-top:20px;border-top:1px solid var(--border,#dce3d8)}
.parent-family-heading{display:flex;align-items:baseline;gap:16px;margin-bottom:12px}
.parent-family-heading h2{font-size:19px;margin:0;font-family:inherit;font-weight:600}
.parent-family-heading p{font-size:13px;margin:0;color:#879182}
.parent-family-modules{display:flex;gap:16px;flex-wrap:wrap}
.parent-family-module{display:flex;align-items:center;gap:14px;flex:0 1 380px;padding:17px 20px;border:1px solid #dce3d8;border-radius:14px;background:#f0f3eb;color:inherit;text-decoration:none}
.parent-family-module h3{font-family:inherit;font-size:17px;margin:0 0 5px;font-weight:600}
.parent-family-module p{font-size:13px;margin:0;color:#7d887a;line-height:1.5}
.parent-family-module>span:last-child{margin-left:auto;color:#315f50}
.family-module-symbol{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e1e8da;color:#315f50;font-size:23px}
.parent-family-module:hover{background:#e9efe3;border-color:#b5c3ac}
@media(max-width:600px){.parent-family-module{flex:1 1 100%}.parent-family-heading{gap:10px}}

/* Keep the desktop rail within the viewport, including family controls. */
@media(min-width:761px){
.sidebar{padding-top:24px;padding-bottom:16px;overflow-y:auto;overflow-x:hidden}
.sidebar .brand-sub{margin-top:10px;margin-bottom:24px}
.sidebar nav{gap:6px;flex-shrink:0}
.sidebar nav a{padding:10px 12px;white-space:nowrap}
.sidebar .sidebar-note{padding:24px 8px 18px}
.sidebar .sidebar-note p{font-size:14px;line-height:1.8;margin-top:12px}
.sidebar .small-leaf{font-size:40px;padding:0 14px}
.sidebar .profile{margin-top:auto;padding-top:14px;gap:9px;flex-shrink:0}
.sidebar .profile>div{min-width:0;font-size:13px;overflow-wrap:anywhere}
.sidebar .avatar{flex-shrink:0;width:30px;height:30px}
.sidebar .profile small{display:flex;flex-wrap:wrap;gap:4px;line-height:1.6;font-size:10px}
.sidebar .profile small a{white-space:nowrap}
}
@media(min-width:761px) and (max-height:760px){
.sidebar .sidebar-note{padding:16px 8px 14px}
.sidebar .sidebar-note .tiny-label,.sidebar .sidebar-note .small-leaf{display:none}
.sidebar .sidebar-note p{font-size:13px;margin-top:0}
.sidebar .brand-sub{margin-bottom:18px}
.sidebar nav{gap:4px}
}
/* The home rail has the same content at every desktop window height. */
.layout:has(.home-dashboard) .sidebar-note{display:none}
/* Place the account controls near navigation rather than the viewport floor. */
@media(min-width:761px){
.sidebar .profile{margin-top:28px}
.sidebar .sidebar-note{margin-top:24px}
}

/* Give larger desktop screens room to breathe while keeping the landing in one view. */
@media(min-width:1000px) and (min-height:800px){
.layout:has(.home-dashboard) main{max-width:none;padding:32px 40px 24px}
.home-dashboard{max-width:1600px;min-height:calc(100dvh - 56px);grid-template-rows:auto minmax(280px,1.3fr) auto minmax(200px,1fr) auto auto;gap:clamp(16px,2vh,28px)}
.home-heading h1{font-size:clamp(26px,2vw,34px)}
.home-heading p{font-size:14px;margin-top:8px}
.home-dashboard .hero{height:auto;min-height:280px}
.home-dashboard .hero-copy{padding:clamp(26px,3vh,42px) 36px;align-self:center}
.home-dashboard .hero h2{font-size:clamp(28px,2.2vw,38px);line-height:1.5;margin:12px 0}
.home-dashboard .hero p{font-size:14px;margin-top:10px}
.home-dashboard .hero .primary{margin-top:20px}
.home-dashboard .hero small{margin-top:12px;font-size:11px}
.home-dashboard .memory-book{width:150px;height:195px;padding:22px 20px}
.home-dashboard .entry{padding:clamp(20px,2.5vh,32px) 26px;display:flex;flex-direction:column}
.home-dashboard .entry h3{font-size:25px;margin:16px 0 10px}
.home-dashboard .entry p{font-size:14px}
.home-dashboard .entry small{font-size:12px;margin:12px 0 16px}
.home-dashboard .entry-link{margin-top:auto;padding-top:16px}
.home-dashboard .growth{padding:18px 24px}
.home-dashboard footer{padding-bottom:0}
}

/* Compact parent landing: teaching collections above secondary family settings. */
@media(min-width:761px){
.layout:has(.parent-entrances) main{padding:24px 32px 18px}
.layout:has(.parent-entrances) .page-head{margin-bottom:20px}
.layout:has(.parent-entrances) .page-head p{margin-top:8px}
.parent-entrances{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.parent-entrances .entry{padding:18px 22px;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:18px;row-gap:10px}
.parent-entrances .entry-top{grid-column:1/-1;margin:0}
.parent-entrances .entry-icon{width:32px;height:32px}
.parent-entrances .entry-top .soft-tag{font-size:10px;padding:5px 10px}
.parent-entrances .entry h3{grid-column:1/-1;font-size:21px;margin:0}
.parent-entrances .entry p{grid-column:1;font-size:12px;line-height:1.65;margin:0;min-height:0}
.parent-entrances .entry-link{grid-column:2;align-self:end;border:0;padding:0;margin:0;font-size:12px;gap:10px;white-space:nowrap}
.layout:has(.parent-entrances) .parent-family-settings{margin-top:20px;padding-top:16px}
.layout:has(.parent-entrances) .parent-family-module{padding:13px 18px}
.layout:has(.parent-entrances) .growth{margin-top:18px;padding:13px 20px}
.layout:has(.parent-entrances) .growth h3{font-size:16px}
.layout:has(.parent-entrances) .growth p{font-size:12px}
}
@media(min-width:761px) and (max-width:1150px){.parent-entrances .entry p{grid-column:1/-1}.parent-entrances .entry-link{grid-column:1/-1;justify-content:space-between}}
.account-card #add-child[hidden]{display:none}
.account-child-choice{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px 24px;min-width:200px}
.account-child-choice strong{font-size:21px;font-weight:600}
.account-child-choice span{font-size:12px;opacity:.85}
.account-children{align-items:center;gap:14px}
@media(min-width:1000px) and (min-height:800px){
.home-dashboard{height:calc(100dvh - 64px);min-height:0;grid-template-rows:auto minmax(0,1.25fr) auto minmax(0,1fr) auto auto;gap:clamp(12px,1.6vh,22px)}
.home-dashboard .hero{min-height:0;height:auto}
.home-dashboard .hero-copy{padding:18px 30px}
.home-dashboard .hero h2{font-size:clamp(27px,2vw,34px);margin:8px 0;line-height:1.4}
.home-dashboard .hero .primary{margin-top:12px}
.home-dashboard .hero p{margin-top:6px}
.home-dashboard .entrances{min-height:0}
.home-dashboard .entry{min-height:0;padding:18px 24px}
.home-dashboard .entry h3{margin:10px 0 7px;font-size:23px}
.home-dashboard .entry small{margin:8px 0 10px}
.home-dashboard .entry-link{padding-top:10px}
.home-dashboard .growth{padding:12px 20px}
}
.formal-library-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#eaf0e3;border:1px solid #d8e2cf;border-radius:12px;padding:16px 20px;margin-bottom:14px}
.formal-library-entry strong{font-size:17px;font-weight:600}
.formal-library-entry p{font-size:12px;color:#75816f;margin-top:5px}
.development-label{font-size:11px;color:#859080;margin-bottom:12px}
@media(max-width:760px){.formal-library-entry{flex-direction:column;align-items:flex-start}}

/* Keep preparation feedback separate from source and bulk controls. */
.library-management .library-exercises{margin-top:18px;padding:22px 24px}
.library-management .library-exercises .section-head{margin-bottom:16px}
.library-management .library-practice-tools{gap:10px 16px;padding-bottom:14px;border-bottom:1px solid #e8ece3}
.library-preparation{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin:14px 0}
.library-preparation #book-status{margin:0;line-height:1.6;font-size:13px;color:#5c7565;min-height:0}
.library-preparation #book-status:empty,.library-preparation #book-plan:empty{display:none}
.library-preparation #book-plan{min-width:0;max-width:100%}
.library-preparation #book-plan .secondary{display:inline-flex;align-items:center;line-height:1.4;padding:9px 14px;font-size:13px}
.library-preparation:has(#book-status:empty):has(#book-plan:empty){display:none}
.library-selection[hidden]{display:none!important}
.library-management .library-question-management>summary{padding:10px 0;font-size:13px}
.library-management .library-empty-small{padding:12px 0;margin:0}
