:root{--ink:#193c39;--muted:#657873;--primary:#167565;--deep:#105b50;--mint:#eaf4ee;--paper:#fff;--bg:#f5f7f3;--line:#e3eae4;--orange:#a35425;--peach:#fcf0e4;--radius:20px;--shadow:0 8px 30px #254e3c06}*{box-sizing:border-box}body{margin:0;font:15px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:#edf1eb}button,input,select,textarea{font:inherit;color:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer;transition:background .18s,opacity .18s;min-height:44px;border:0;background:none}button:active{opacity:.7}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{border:1px solid var(--line);border-radius:12px;background:white;padding:11px 12px;min-height:46px;max-width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #16756555;border-color:var(--primary)}button:focus-visible,a:focus-visible{outline:3px solid #b16a35;outline-offset:3px}a{color:var(--primary)}h1,h2,h3,p{margin:0}h1{font-size:27px;letter-spacing:-1px;line-height:1.35}h2{font-size:19px}h3{font-size:16px}small,.small{font-size:12px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.layout{max-width:1420px;margin:auto;display:grid;grid-template-columns:230px minmax(340px,510px) 280px;gap:40px;padding:34px 30px;justify-content:center;align-items:start}.rail{position:sticky;top:34px;padding:12px 0}.brand{display:flex;gap:11px;align-items:center}.brandmark{width:43px;height:43px;border-radius:14px;background:var(--primary);color:white;display:grid;place-items:center}.brandmark svg{width:28px;height:28px}.brand strong{display:block;font-size:20px;letter-spacing:2px}.muted{color:var(--muted)}.overline{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--primary)}.rail-title{margin:50px 0 12px;font-size:12px;color:var(--muted)}.rail-nav button{display:flex;align-items:center;gap:12px;padding:13px 16px;width:100%;text-align:left;border-radius:12px;margin:6px 0;color:var(--muted)}.rail-nav .active{background:white;color:var(--primary);box-shadow:var(--shadow);font-weight:650}.rail-note{margin-top:48px;border-top:1px solid #d6e0d7;padding-top:22px;font-size:12px;color:var(--muted)}.phone{background:var(--bg);border:7px solid white;border-radius:38px;box-shadow:0 24px 80px #23493613;min-height:880px;overflow:hidden;position:relative}.statusbar{display:flex;justify-content:space-between;align-items:center;padding:12px 24px 7px;font-size:12px;font-weight:700;background:var(--bg)}.signal{letter-spacing:2px}.appbar{padding:13px 22px;display:flex;justify-content:space-between;align-items:center;font-weight:650}.capsule{display:flex;border:1px solid #cfdad3;border-radius:20px;height:30px;align-items:center;padding:0 12px;gap:12px;font-size:14px}.capsule span+span{border-left:1px solid #cfdad3;padding-left:12px}.content{padding:16px 20px 24px;min-height:720px}.topline{display:flex;align-items:center;justify-content:space-between;gap:8px}.school{font-size:13px;margin:6px 0 23px;display:flex;gap:6px;align-items:center;color:var(--muted)}.school svg{width:15px;height:15px}.round-icon{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:white;display:grid;place-items:center}.hero{padding:21px 22px;background:var(--primary);color:white;border-radius:var(--radius);position:relative;overflow:hidden;margin:0 0 22px}.hero:after{content:"";position:absolute;width:150px;height:150px;border:28px solid #ffffff0a;border-radius:50%;right:-50px;top:-40px;pointer-events:none}.hero .muted{color:#d4ece2}.hero-top{display:flex;justify-content:space-between;align-items:center;font-size:13px}.hero strong{font-size:34px;line-height:1.3;font-weight:600;letter-spacing:-1px}.hero .counts{display:flex;align-items:baseline;gap:7px;margin:14px 0}.hero .progress{height:5px;background:#ffffff25;border-radius:9px;margin:15px 0 10px}.hero .progress i{display:block;height:100%;background:#c0e4a7;border-radius:9px}.hero-bottom{display:flex;justify-content:space-between;font-size:12px}.search{position:relative;margin-bottom:12px}.search svg{position:absolute;left:14px;top:13px;color:var(--muted);width:19px}.search input{width:100%;padding-left:43px;border:0;box-shadow:var(--shadow)}.filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}.filter-row select{padding:9px;font-size:13px;background:#edf1eb;border:0}.filter-btn{background:#edf1eb;border-radius:12px;display:grid;place-items:center}.section-title{display:flex;align-items:center;justify-content:space-between;margin:21px 0 12px}.section-title h2{font-size:17px}.section-title span{font-size:12px;color:var(--muted)}.card{padding:17px;background:white;border-radius:var(--radius);margin-bottom:12px;box-shadow:var(--shadow);border:1px solid #e7ece580}.student-top{display:flex;align-items:center;gap:12px}.avatar{height:45px;width:45px;display:grid;place-items:center;border-radius:16px;background:#eef1e0;color:#67733e;font-size:17px;font-weight:600;flex-shrink:0}.avatar.peach{background:#faeadd;color:#a46b48}.avatar.blue{background:#e7eff2;color:#4b7283}.student-info{flex:1}.student-info h3{font-size:16px}.student-info p{font-size:12px;color:var(--muted);margin-top:2px}.badge{font-size:11px;padding:4px 8px;background:var(--mint);color:var(--primary);border-radius:7px;white-space:nowrap}.badge.partial{background:var(--peach);color:var(--orange)}.badge.empty{background:#eff1ef;color:#687770}.student-detail{margin:15px 0 12px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.dots{display:flex;gap:4px}.dots i{width:6px;height:6px;border-radius:50%;background:#e4eae5}.dots i.done{background:#72a58a}.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid #edf0eb;padding-top:12px}.btn{padding:10px 15px;border-radius:11px;font-weight:550;display:inline-flex;justify-content:center;align-items:center;gap:8px;font-size:14px;min-height:46px}.btn svg{width:18px}.btn-primary{background:var(--primary);color:white}.btn-primary:hover{background:var(--deep)}.btn-soft{background:var(--mint);color:var(--primary)}.btn-outline{background:white;border:1px solid var(--line)}.full{width:100%}.tabs{position:sticky;bottom:0;background:#fffffff5;display:flex;justify-content:space-around;border-top:1px solid var(--line);padding:8px 4px max(12px,env(safe-area-inset-bottom));z-index:3}.tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:1;color:var(--muted);font-size:11px;min-height:48px}.tabs button.active{color:var(--primary);font-weight:700}.tabs button.active svg{stroke-width:2.3}.aside{padding-top:66px}.aside .overline{margin-bottom:12px}.aside h2{font-size:25px;font-weight:550;line-height:1.5;margin-bottom:18px;letter-spacing:-.5px}.aside p{color:var(--muted);font-size:13px;line-height:1.9}.aside-section{margin-top:28px;padding-top:24px;border-top:1px solid #d6e0d7}.step{display:flex;gap:12px;margin:18px 0}.step b{width:24px;height:24px;border:1px solid #c4d1c5;border-radius:50%;display:grid;place-items:center;font-size:11px;flex-shrink:0}.step span{font-size:13px}.step small{display:block;color:var(--muted);margin-top:3px}.prototype-tag{display:inline-block;padding:6px 10px;background:#e3e9df;border-radius:8px;font-size:11px;color:#52644e;margin-top:22px}.back{display:flex;align-items:center;gap:3px;color:var(--muted);padding:0;margin-bottom:16px;font-size:13px}.back svg{width:17px}.profile{display:flex;gap:14px;align-items:center;margin-bottom:20px}.profile .avatar{width:56px;height:56px;font-size:23px}.profile h1{font-size:24px}.field{display:flex;flex-direction:column;gap:7px;font-size:13px;margin:14px 0}.period{width:100%;background:white;font-size:14px}.hint{background:var(--peach);padding:12px 14px;border-radius:12px;font-size:12px;color:#865529;margin:14px 0}.score-row{display:grid;grid-template-columns:1fr 95px 24px;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.score-row:last-child{border:0}.score-row input{width:95px;text-align:center;padding:8px;font-size:16px}.score-row small{color:var(--muted)}.save-area{padding:16px 0 4px}.demo-note{font-size:11px;color:var(--muted);line-height:1.7;text-align:center;margin-top:12px}.report-cover{padding:24px;background:#e7efe0;border-radius:20px;position:relative;overflow:hidden}.report-cover .overline{font-size:11px}.report-cover h1{margin:12px 0 8px;font-size:28px}.report-cover p{font-size:12px;color:#50644e}.report-cover .seal{position:absolute;right:20px;top:25px;width:61px;height:61px;border:1px solid #a9bca0;border-radius:50%;display:grid;place-items:center;transform:rotate(12deg);font-size:11px;text-align:center;color:#526a4b}.report-overview{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.report-overview div{border-top:1px solid #b9cbb0;padding-top:12px}.report-overview strong{display:block;font-size:24px}.report-overview small{font-size:11px;color:#526a4b}.result-line{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:17px 0;font-size:13px}.result-line .bar{height:5px;width:85px;background:#edf1e9;border-radius:10px;margin-top:6px}.bar i{display:block;height:5px;background:#8eae79;border-radius:10px}.result-value{text-align:right;font-size:15px;font-variant-numeric:tabular-nums}.result-value small{display:block;font-size:11px;color:var(--muted)}.tip-card{background:#f9f0e5;border-color:#f0e5d7}.tip-card p{font-size:13px;color:#765c40;line-height:1.9;margin-top:9px}.timeline-row{display:grid;grid-template-columns:1fr 70px 70px;gap:8px;font-size:12px;padding:11px 0;border-bottom:1px solid var(--line)}.timeline-row span:not(:first-child){text-align:right}.empty-state{text-align:center;padding:35px 15px;color:var(--muted);font-size:13px}.empty-state svg{width:36px;height:36px;margin-bottom:10px}.batch-row{display:grid;grid-template-columns:1fr 95px;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:14px 0}.batch-row input{width:95px;text-align:center}.batch-row p{font-size:12px;color:var(--muted)}.task-card .topline{margin-bottom:15px}.task-card h3{font-size:17px}.progress-track{height:6px;background:#e9efe5;border-radius:10px;margin:15px 0}.progress-track i{display:block;height:100%;background:#7da179;border-radius:10px}.account-item{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}.account-item:last-child{border:0}.account-item svg{width:17px}#overlay:empty{display:none}.scrim{position:fixed;inset:0;background:#122d2780;z-index:20;display:flex;align-items:center;justify-content:center;padding:20px}.modal{width:440px;max-width:100%;max-height:90dvh;overflow:auto;background:var(--bg);border-radius:24px;padding:24px;box-shadow:0 30px 80px #0002}.modal h2{font-size:21px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.close{width:44px;border-radius:50%;background:#e9eee7;font-size:24px}.modal textarea{width:100%;min-height:200px;line-height:1.9;font-size:14px}.modal .btn{margin-top:14px}.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.filter-grid select{width:100%}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(20px);background:#193c39;color:white;padding:13px 21px;border-radius:14px;z-index:40;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:90%;font-size:13px}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.admin-layout{max-width:1440px;margin:auto;padding:30px;display:grid;grid-template-columns:220px 1fr;gap:36px}.admin-main{min-width:0}.admin-head{display:flex;justify-content:space-between;align-items:center;margin:20px 0 26px}.admin-head h1{font-size:29px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat-grid .card strong{display:block;font-size:32px;margin-top:8px}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th{text-align:left;color:var(--muted);font-weight:500;font-size:12px;background:#f3f6f0}.admin-table th,.admin-table td{padding:17px 14px;border-bottom:1px solid var(--line)}.table-wrap{overflow:auto}.admin-nav-mobile{display:none}.rule-card{display:flex;gap:20px;align-items:center;justify-content:space-between}.rule-card p{margin-top:7px;font-size:13px;color:var(--muted)}.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.inline-options{display:flex;gap:8px;margin-top:18px}.qr{width:150px;height:150px;margin:22px auto;display:grid;place-items:center;border:8px solid white;background:#eef1e8;border-radius:12px}.qr svg{width:110px;height:110px}.success-icon{margin:20px auto;width:60px;height:60px;background:var(--mint);border-radius:50%;display:grid;place-items:center;color:var(--primary)}.success-icon svg{width:30px;height:30px}.hidden{display:none!important}.skip{position:fixed;top:-60px;left:20px;z-index:99;background:white;padding:12px}.skip:focus{top:10px}.screen-footer{text-align:center;color:var(--muted);font-size:11px;margin:22px 0 4px}.guest .phone{max-width:500px;margin:24px auto}.guest .content{padding-bottom:32px}.guest .appbar{border-bottom:1px solid var(--line)}.text-link{color:var(--primary);text-decoration:underline}.intro-row{display:flex;gap:12px;align-items:center;padding:15px 0}.intro-row svg{color:var(--primary)}@media(min-width:1200px){.phone{min-height:960px}.content{min-height:800px}}@media(max-width:1100px){.layout{grid-template-columns:190px minmax(340px,510px);gap:28px}.aside{display:none}}@media(max-width:760px){body{background:var(--bg)}.layout{display:block;padding:0}.rail,.aside{display:none}.phone{border:0;border-radius:0;box-shadow:none;min-height:100dvh;overflow:visible}.statusbar{display:none}.appbar{position:sticky;top:0;background:var(--bg);z-index:4;padding-top:max(15px,env(safe-area-inset-top))}.content{min-height:calc(100dvh - 140px)}.tabs{position:fixed;bottom:0;width:100%;max-width:none}.phone{padding-bottom:76px}.admin-layout{display:block;padding:18px}.admin-nav-mobile{display:flex;gap:5px;overflow:auto;margin-bottom:20px}.admin-nav-mobile button{white-space:nowrap;padding:8px 12px;border-radius:10px;background:white}.admin-nav-mobile .active{background:var(--primary);color:white}.stat-grid{gap:8px}.stat-grid .card{padding:12px;font-size:12px}.stat-grid .card strong{font-size:25px}.admin-head{gap:12px}.admin-head h1{font-size:24px}.admin-head .btn{font-size:12px}.rule-card{align-items:flex-start;gap:8px}.rule-card .btn{padding:8px;white-space:nowrap}.guest .phone{margin:0}.scrim{padding:12px}.modal{padding:20px}.hero strong{font-size:32px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:760px){.admin-desktop-nav{display:none}.admin-nav-mobile button{min-height:44px}}
.hero-period{display:block;width:100%;min-width:0;position:relative;z-index:1}.hero-label{display:block;color:#d4ece2;font-size:11px;margin-bottom:3px}.hero-select-wrap{display:flex;align-items:center;position:relative}.hero-select-wrap select{appearance:none;-webkit-appearance:none;width:100%;padding:7px 33px 7px 0;min-height:44px;background:transparent;color:white;border:0;border-radius:6px;font-size:17px;font-weight:600;cursor:pointer}.hero-select-wrap select:focus{outline:2px solid #d4ece2}.hero-select-wrap select option{background:white;color:var(--ink)}.hero-select-wrap svg{position:absolute;right:0;top:11px;pointer-events:none;transform:rotate(90deg);width:20px}.hero-dates{color:#d4ece2;font-size:11px;margin-top:2px}.hero .counts{margin-top:17px}
select[hidden]{display:none!important}.select-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;border:1px solid var(--line);border-radius:12px;background:white;padding:11px 12px;min-height:46px;font-size:14px}.select-trigger span{min-width:0;overflow-wrap:anywhere}.select-trigger svg{width:16px;height:16px;transform:rotate(90deg);color:var(--muted)}.filter-row .select-trigger{background:#edf1eb;border:0;font-size:13px;padding:9px}.hero-select-wrap .select-trigger{position:relative;z-index:1;padding:7px 0;min-height:44px;background:transparent;border:0;color:white;font-size:17px;font-weight:600;border-radius:6px}.hero-select-wrap .select-trigger svg{position:static;color:#d4ece2;width:20px;height:20px}.hero-select-wrap>svg{display:none}.picker-sheet{background:var(--bg);padding:12px 22px 22px;border-radius:26px;width:440px}.picker-sheet:before{content:'';display:block;width:36px;height:4px;background:#cbd7ce;border-radius:9px;margin:0 auto 16px}.picker-sheet .modal-head{margin-bottom:4px}.picker-sheet .modal-head h2{font-size:21px}.picker-sheet .close{background:#eaf0e8;color:var(--muted);font-size:23px}.picker-intro{font-size:12px;color:var(--muted);margin:0 0 22px}.picker-options{display:grid;gap:10px}.picker-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 16px;border:1px solid var(--line);border-radius:16px;background:white;text-align:left;min-height:64px}.picker-option strong{display:block;font-size:15px;font-weight:550}.picker-option small{display:block;margin-top:5px;font-size:11px;color:var(--muted)}.picker-option.selected{background:var(--mint);border-color:#6fa18e;color:var(--deep)}.picker-option:hover{border-color:#6fa18e}.picker-check{width:23px;height:23px;display:grid;place-items:center;border:1px solid #cfd9d0;border-radius:50%;flex-shrink:0}.selected .picker-check{background:var(--primary);border-color:var(--primary);color:white}.picker-check svg{width:15px;height:15px;stroke-width:2.4}.picker-cancel{margin-top:18px!important;background:#e9eee6;color:var(--ink)}@media(max-width:760px){.picker-scrim{align-items:flex-end;padding:0}.picker-sheet{width:100%;max-width:520px;border-radius:26px 26px 0 0;padding:12px 22px max(24px,env(safe-area-inset-bottom))}} 
/* 统一所有页面的选择面板，长列表只滚动选项区域。 */
.picker-sheet{display:flex;flex-direction:column;max-height:90dvh;overflow:hidden}.picker-sheet:before,.picker-sheet .modal-head,.picker-intro,.picker-cancel{flex-shrink:0}.picker-options{overflow-y:auto;min-height:0;overscroll-behavior:contain;padding:1px 2px 3px}.picker-option{width:100%}.picker-cancel{margin-bottom:0}@media(max-width:760px){.picker-sheet{max-height:88dvh}}
#dropdown-root{position:fixed;inset:0;pointer-events:none;z-index:30}.dropdown-menu{position:fixed;pointer-events:auto;background:var(--paper);padding:6px;border:1px solid #d8e3da;border-radius:14px;box-shadow:0 12px 32px #193c3926;overflow-y:auto;overscroll-behavior:contain}.dropdown-option{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:12px;min-height:45px;padding:10px 12px;border-radius:9px;font-size:14px;font-weight:500;color:var(--ink)}.dropdown-option.selected{color:var(--deep);background:var(--mint)}.dropdown-option:hover{background:#f1f5ee}.dropdown-option:focus-visible{outline:2px solid #89b29e;outline-offset:-2px}.dropdown-tick{display:flex;width:18px;flex-shrink:0;color:var(--primary)}.dropdown-tick svg{width:18px;height:18px}.select-trigger[aria-expanded=true]{outline:2px solid #89b29e;outline-offset:1px}.select-trigger[aria-expanded=true] svg{transform:rotate(-90deg)}
.field-note{font-size:12px;color:var(--muted);margin:12px 0}.result-line{padding:12px 0;margin:0;border-bottom:1px solid var(--line)}.result-line:last-child{border:0}.account-verified{margin-left:auto}.rail-preview-tools{display:flex;flex-wrap:wrap;gap:4px;margin-top:24px}.rail-preview-tools button{font-size:12px;color:var(--muted);text-decoration:underline;padding:4px 8px}.score-row span{font-size:15px}
.admin-school-filter{max-width:320px;margin-bottom:24px}#roster-file{width:100%;padding:12px;background:white}#import-form textarea{min-height:130px}
.period-editor{width:680px}.age-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 18px}.age-tabs button{padding:8px 13px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--muted);min-height:44px}.age-tabs button.active{background:var(--primary);border-color:var(--primary);color:white}.project-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px}.project-checks label{display:flex;align-items:center;gap:10px;min-height:60px;padding:10px 13px;background:white;border:1px solid var(--line);border-radius:13px;cursor:pointer}.project-checks label:has(input:checked){border-color:#7ba48e;background:var(--mint)}.project-checks input{width:18px;height:18px;min-height:18px;accent-color:var(--primary);padding:0;flex-shrink:0}.project-checks small{display:block;font-size:11px;color:var(--muted)}.add-project{margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:12px}.add-project summary{cursor:pointer;color:var(--primary);min-height:30px}.period-editor #period-error{color:#a35425}
.period-editor{display:flex;flex-direction:column;overflow:hidden;height:min(820px,90dvh);max-height:90dvh}.period-editor>.modal-head{flex-shrink:0}.period-editor #period-form{display:flex;flex-direction:column;min-height:0;flex:1}.period-fields{flex:1;overflow-y:auto;scrollbar-gutter:stable;min-height:0;padding:0 3px;overscroll-behavior:contain}.period-actions{flex-shrink:0;padding-top:12px;border-top:1px solid var(--line)}.period-actions #period-error:empty{display:none}.period-actions .btn{margin-top:0}
.staff-filters{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px;margin-bottom:12px}.staff-filters input{width:100%}.staff-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.staff-actions button{white-space:nowrap;font-size:13px}.binding-log{padding:12px 0;border-top:1px solid var(--line);font-size:13px}.binding-log p{font-size:11px;color:var(--muted);margin-top:4px}#staff-binding-error{color:var(--orange)}@media(max-width:760px){.staff-filters{grid-template-columns:1fr 1fr;gap:8px}.staff-filters .field:first-child{grid-column:1/-1}.staff-actions{min-width:160px}}
.school-context .select-trigger{background:transparent;border:0;padding:0;min-height:44px;width:auto;font-size:13px;color:var(--muted);gap:10px}.school-context .select-trigger>span{max-width:200px}.staff-school-tags,.account-schools{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.account-schools{padding-bottom:15px;border-bottom:1px solid var(--line)}.staff-school-checks{display:grid;gap:10px;margin-bottom:18px}.staff-school-checks label{display:flex;gap:12px;align-items:center;min-height:52px;padding:12px;background:white;border:1px solid var(--line);border-radius:12px;cursor:pointer}.staff-school-checks label:has(input:checked){background:var(--mint);border-color:#7ba48e}.staff-school-checks input{width:18px;height:18px;min-height:18px;accent-color:var(--primary)}
.roster-import-modal{width:660px}.import-errors{font-size:12px;color:var(--orange);white-space:pre-line;line-height:1.8;margin:12px 0}.import-preview-table th,.import-preview-table td{padding:10px 8px;font-size:12px}.roster-import-modal input[type=file]{width:100%;font-size:13px}.roster-import-modal .topline{align-items:center}.roster-import-modal .topline .text-link{margin-left:16px;white-space:nowrap}

.admin-score-context{display:flex;gap:32px;align-items:center}.admin-score-context .field{width:340px;max-width:100%;margin:0}.admin-score-table input{width:160px;max-width:100%;font-variant-numeric:tabular-nums}.admin-score-footer{display:flex;justify-content:space-between;align-items:center;gap:16px}.admin-score-footer .inline-options{margin:0}@media(max-width:760px){.admin-score-context{flex-direction:column;align-items:stretch;gap:12px}.admin-score-context .field{width:100%}.admin-score-table{min-width:520px}.admin-score-footer{flex-wrap:wrap}}

.project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0}.project-toolbar .btn{margin:0}.configured-project{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);gap:12px}.configured-project strong{font-size:14px}.configured-project small{margin-left:12px}.project-delete{display:flex;align-items:center;gap:5px;color:#a35425;font-size:12px;white-space:nowrap}.project-delete svg{width:16px;height:16px}.add-project-panel{padding:16px;background:var(--mint);border-radius:14px;margin-top:16px}.existing-project{display:flex;gap:12px;align-items:flex-end;margin-bottom:18px}.existing-project .field{flex:1;margin:12px 0 0}.existing-project .btn{margin:0}

.range-field{grid-column:1/-1;position:relative}.range-trigger{display:flex;align-items:center;justify-content:space-between;background:white;border:1px solid var(--line);border-radius:12px;padding:11px 14px;text-align:left;width:100%;min-height:48px}.range-trigger[aria-expanded=true]{border-color:var(--primary);box-shadow:0 0 0 3px #16756512}.range-trigger svg{color:var(--primary);width:20px;height:20px}.range-separator{color:var(--muted);padding:0 20px}.range-calendar{position:absolute;top:calc(100% + 8px);left:0;width:356px;max-width:100%;padding:16px;background:white;box-shadow:0 16px 50px #193c3926;border:1px solid var(--line);border-radius:18px;z-index:8}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.calendar-heading strong{font-size:16px}.calendar-nav{width:44px;border-radius:12px;background:var(--bg);font-size:27px}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.calendar-week{font-size:12px;color:var(--muted);margin-bottom:8px}.calendar-day{min-height:44px;min-width:0;padding:0;font-size:14px;border-radius:0;position:relative}.calendar-day:hover{background:#d9eee3;border-radius:10px}.calendar-day.range-inside{background:var(--mint);color:var(--deep)}.calendar-day.range-edge{background:var(--primary);color:white;border-radius:11px;font-weight:700}.calendar-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);margin-top:12px;padding-top:8px;font-size:12px;color:var(--muted)}.calendar-footer button{color:var(--primary);font-size:12px;padding:0 8px}@media(max-width:400px){.range-calendar{padding:10px}.range-separator{padding:0 10px}}

.import-template-card{padding:16px;border:1px solid #cddfd3;border-radius:16px;background:var(--mint);margin:18px 0 8px}.import-template-card .topline{gap:14px;align-items:center}.import-template-card h3{font-size:15px}.import-template-card .btn{margin:0;white-space:nowrap;font-size:12px}.template-columns{display:grid;grid-template-columns:1fr 1.5fr 1fr .65fr 1.2fr;background:white;border-radius:9px;padding:10px 8px;gap:8px;margin:14px 0 10px;text-align:center;font-size:12px;font-weight:600}

/* 微信小程序设计检查：导航层级、可读性、触控区与安全区域。 */
.phone{--muted:#586b63}.mini-navbar{position:sticky;top:0;z-index:5;min-height:56px;background:var(--bg);display:flex;align-items:center;gap:8px;padding:6px 16px;line-height:1.3}.nav-title{font-size:17px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.native-menu-space{width:96px;min-width:96px;margin-left:auto;height:32px;pointer-events:none}.nav-back{display:grid;place-items:center;min-width:44px;width:44px;height:44px;margin-left:-10px;border-radius:10px}.nav-back svg{width:23px;height:23px}.phone .badge{font-size:12px;line-height:1.5}.phone .tabs button{font-size:12px;min-height:48px}.phone .field,.phone .result-line,.phone .timeline-row{font-size:14px}.phone .small,.phone .demo-note,.phone .report-cover p,.phone .report-overview small{font-size:12px}.phone .report-cover .overline,.phone .report-cover .seal{font-size:12px}.phone .score-row input,.phone .batch-row input{min-height:48px}.phone input[type=number]{appearance:textfield;-moz-appearance:textfield}.phone input[type=number]::-webkit-inner-spin-button,.phone input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-error{color:#9d382a;background:#fff0eb;border:1px solid #f0c6bc;border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.7;margin:12px 0}.form-error:empty{display:none}input[aria-invalid=true]{border:2px solid #b54535;background:#fff8f5}.phone .student-detail{flex-wrap:wrap;gap:8px}.phone .student-info{min-width:0}.phone .student-info h3{overflow-wrap:anywhere}.phone .report-cover h1{max-width:calc(100% - 62px);overflow-wrap:anywhere}.phone .account-item{gap:12px;flex-wrap:wrap}.phone .tabs button[aria-current=page]{color:var(--primary)}.phone .save-area{padding-bottom:16px}.modal:has(#share-text) textarea{font-size:16px;min-height:180px}.modal:has(#share-text) .btn{min-height:48px}.modal .form-error{margin-bottom:14px}@media(max-width:760px){.mini-navbar{padding-top:6px}.phone.primary-page{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}.phone.detail-page,.guest .phone{padding-bottom:env(safe-area-inset-bottom,0px)}.phone.detail-page .content{min-height:calc(100dvh - 56px);padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.phone .tabs{padding:6px 4px calc(8px + env(safe-area-inset-bottom,0px))}.scrim{padding-top:max(16px,env(safe-area-inset-top,0px));padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}}

body:has(.phone.primary-page) #toast{bottom:calc(96px + env(safe-area-inset-bottom,0px))}

/* 人员端和管理后台的独立业务入口。 */
.standalone-mobile .layout{display:block;max-width:520px;margin:0 auto;padding:0}.standalone-mobile .phone{border:0;border-radius:0;box-shadow:none;min-height:100dvh;padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}.standalone-mobile .phone.detail-page{padding-bottom:0}.standalone-mobile .phone .content{min-height:calc(100dvh - 140px)}.standalone-mobile .tabs{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:520px}.standalone-mobile .guest .phone{margin:0 auto}.standalone-admin .admin-layout{max-width:1600px;grid-template-columns:220px minmax(0,1fr);gap:40px;min-height:100dvh}.standalone-admin .admin-desktop-nav{display:none}.admin-sidebar{display:flex;flex-direction:column;position:sticky;top:30px;align-self:start;min-height:calc(100dvh - 60px)}.admin-sidebar .rail-nav{margin-top:36px}.admin-sidebar .rail-nav button{font-size:14px;gap:12px}.admin-identity{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:auto;font-size:14px}.admin-identity small{display:block;font-size:12px;color:var(--muted)}#sync-notice:empty{display:none}#sync-notice{position:fixed;top:8px;left:50%;transform:translateX(-50%);z-index:50;max-width:calc(100% - 24px);width:480px;padding:12px 16px;border:1px solid #d5dfcf;border-radius:14px;background:#f5f7ed;box-shadow:var(--shadow);font-size:13px;display:flex;gap:12px;align-items:center;justify-content:space-between}#sync-notice button{color:var(--primary);white-space:nowrap;font-weight:600}@media(max-width:760px){.standalone-admin .admin-layout{display:block}.standalone-admin .admin-sidebar{display:none}}

.staff-binding-popover{position:fixed;z-index:18;background:white;border:1px solid #dce7df;box-shadow:0 12px 36px #193c3926;border-radius:16px;padding:14px;max-height:calc(100dvh - 24px);overflow:auto}.staff-binding-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px 10px;font-size:14px;border-bottom:1px solid var(--line)}.staff-binding-title span{font-size:12px;color:var(--muted)}.staff-binding-options{display:grid;gap:4px;margin:8px 0;max-height:240px;overflow:auto}.staff-binding-options label{display:flex;gap:10px;align-items:center;border-radius:9px;padding:10px;min-height:44px;font-size:14px;cursor:pointer}.staff-binding-options label:has(input:checked){background:var(--mint);color:var(--primary)}.staff-binding-options input{width:18px;height:18px;min-height:18px;padding:0;accent-color:var(--primary)}.staff-binding-footer{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:12px}.staff-binding-footer .btn{padding:8px 18px;min-height:40px;font-size:13px}.staff-binding-popover #staff-binding-error:empty{display:none}.staff-binding-popover #staff-binding-error{font-size:12px;color:#a35425;margin:8px 0}[data-action=staffbinding][aria-expanded=true]{background:var(--mint);border-radius:8px;padding:0 10px}

.scores-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 16px;padding:20px}.scores-filters .field{margin:0}.scores-filters input{width:100%}.scores-filter-actions{display:flex;gap:8px;align-items:flex-end}.scores-filter-actions .btn{flex:1}.score-data-summary{display:flex;flex-wrap:wrap;gap:16px 28px;margin:20px 0;color:var(--muted);font-size:13px}.score-data-summary strong{font-size:23px;color:var(--ink);margin-right:5px}.score-data-card{padding:0;overflow:hidden}.score-data-scroll{overflow:auto;max-height:600px}.score-data-table{white-space:nowrap}.score-data-table th{position:sticky;top:0;z-index:1}.score-data-table th:first-child,.score-data-table td:first-child{position:sticky;left:0;background:white;z-index:1;min-width:150px;border-right:1px solid var(--line)}.score-data-table th:first-child{z-index:2;background:#f3f6f0}.score-data-table td small,.score-data-table th small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.score-data-table td,.score-data-table th{padding:14px 16px}.score-data-number{font-variant-numeric:tabular-nums;text-align:right}.score-data-pagination{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}.score-data-pagination>div{display:flex;align-items:center;gap:12px}.score-data-pagination .btn{font-size:12px;min-height:38px;padding:6px 12px}@media(max-width:1000px){.scores-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.score-data-pagination{flex-wrap:wrap}}
.admin-head:has([data-action=export-scores]){justify-content:flex-start;gap:24px;flex-wrap:wrap}

.admin-roster-filters{display:grid;grid-template-columns:minmax(200px,1.2fr) minmax(180px,1fr) minmax(140px,.7fr) auto;align-items:end;gap:16px;margin-bottom:16px}.admin-roster-filters .field{margin:0}.admin-roster-filters input{width:100%}.roster-result-count{margin-bottom:12px}@media(max-width:900px){.admin-roster-filters{grid-template-columns:1fr 1fr}}@media(max-width:480px){.admin-roster-filters{grid-template-columns:1fr}}

.staff-table .staff-school-count{white-space:nowrap;min-width:110px}.staff-school-count strong{font-size:18px;font-variant-numeric:tabular-nums;margin-right:6px}.staff-school-count>span{font-size:12px;color:var(--muted)}.staff-table .staff-school-tags{margin-top:0;max-width:360px;gap:8px}.staff-table th:nth-child(1){width:14%}.staff-table th:nth-child(2){width:12%}.staff-table th:nth-child(3){width:34%}.staff-table th:nth-child(4){width:14%}.staff-table th:nth-child(5){width:26%}

.school-invite-title{display:flex;align-items:center;gap:12px}.school-invite-title>svg{width:36px;height:36px;color:var(--primary)}.school-code-status{padding:22px 18px;background:var(--mint);border:1px dashed #9dbfae;border-radius:14px;text-align:center;margin:20px 0}.school-code-status p{font-size:13px;color:var(--muted);margin-top:8px}.school-invite-steps{padding-left:22px;font-size:14px;color:var(--muted);line-height:2}.school-join-page{padding-top:32px}.school-join-page h1{margin:12px 0 24px}.school-join-garden{display:flex;gap:14px;align-items:center}.school-join-garden>svg{width:32px;height:32px;color:var(--primary)}.school-join-result{margin-top:24px}.school-join-result h1{font-size:25px;margin:18px 0}.school-join-result p{margin-top:14px}

.scoring-tabs{margin:0 0 22px}.scoring-version-bar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:18px 0 8px}.scoring-version-bar .field{min-width:340px;flex:1;margin:0}.scoring-version-bar .btn{margin:0}.scoring-band-filters{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px;margin:18px 0}.scoring-band-filters .field{margin:0}.metric-note{display:block;color:var(--muted);font-size:12px}.scoring-composite-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.weight-row{display:grid;grid-template-columns:minmax(0,1fr) 100px 20px;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.weight-row input{width:100px;text-align:right}.grade-row{display:grid;grid-template-columns:1.4fr .8fr;gap:0 14px;padding:12px 0;border-bottom:1px solid var(--line)}.grade-row input{width:100%}.grade-row>span{grid-column:1/-1;font-size:12px;color:var(--muted)}.scoring-report-grid{display:grid;gap:12px}.scoring-report-value{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:20px 0 10px;flex-wrap:wrap}.scoring-report-value strong{font-size:27px;line-height:1.2}.scoring-report-value span{font-size:14px;color:var(--primary);font-weight:600}.scoring-report-detail{margin-top:14px;border-top:1px solid var(--line)}.scoring-report-detail>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.scoring-report-detail small{display:block;font-size:12px;color:var(--muted)}.scoring-log{margin-top:20px}.scoring-log p{margin-top:10px}@media(max-width:900px){.scoring-composite-grid{grid-template-columns:1fr}.scoring-band-filters{grid-template-columns:1fr 1fr}.scoring-band-filters .field:first-child{grid-column:1/-1}.scoring-version-bar .field{min-width:0;width:100%;flex-basis:100%}}

/* 幼儿园管理：横向卡片，按内容区宽度自动换行 */
.school-management-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px;align-items:stretch}.school-management-card{margin:0;display:flex;flex-direction:column;min-width:0;padding:24px}.school-management-card .topline{align-items:flex-start;gap:12px;margin-bottom:24px}.school-management-card h2{font-size:21px;line-height:1.4;overflow-wrap:anywhere}.school-management-card .topline .small{margin-top:8px}.school-management-card .badge{flex-shrink:0;font-size:12px;padding:6px 9px}.school-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto}.school-card-actions .btn{min-width:0;padding:12px 10px;font-size:14px;justify-content:center;white-space:nowrap}.school-card-actions [data-action="schoolqr"]{grid-column:1/-1}.school-card-actions .icon{width:18px;height:18px}

.project-library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.project-remove-link{color:#ad563e}

.scoring-source-issues{background:#fff5eb;border:1px solid #ecd7bd;border-radius:16px;padding:14px 18px;margin:12px 0 20px;color:#78532d;font-size:13px}.scoring-source-issues summary{cursor:pointer;font-weight:600}.scoring-source-issues>div{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:10px 0;border-top:1px solid #ecd7bd;margin-top:8px}.weight-row input[type=checkbox]{width:20px;height:20px;justify-self:end;accent-color:var(--primary)}

.period-project-trigger svg{width:17px;height:17px;transform:rotate(90deg);transition:transform .15s}.period-project-trigger[aria-expanded=true] svg{transform:rotate(-90deg)}.period-project-option{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;cursor:pointer;min-height:52px}.period-project-option:has(input:checked){background:var(--mint);color:var(--primary)}.period-project-option:hover{background:#f1f5ee}.period-project-option input{width:18px;height:18px;min-height:18px;margin:0;padding:0;flex-shrink:0;accent-color:var(--primary)}.period-project-option span{font-size:14px;font-weight:600}.period-project-option small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:3px}

.comparison-period{margin:-4px 0 14px;line-height:1.8}.comparison-card{padding:18px}.comparison-card h3{font-size:16px}.comparison-values{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:10px;margin:18px 0 14px}.comparison-values>div{min-width:0}.comparison-values>div+div{border-left:1px solid var(--line);padding-left:12px}.comparison-values span{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.comparison-values strong{font-size:20px;line-height:1.4;font-variant-numeric:tabular-nums}.comparison-values .comparison-current strong{color:var(--primary)}.comparison-values .comparison-score{font-size:16px}.comparison-score small{font-size:11px;font-weight:400;color:var(--muted)}.comparison-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--ink)}.comparison-dots{display:flex;gap:4px}.comparison-dots i{width:13px;height:5px;border-radius:4px;background:#e5ece6}.comparison-dots i.filled{background:var(--primary)}.comparison-reference{font-size:11px;color:var(--muted);margin-top:10px;line-height:1.7}

.birth-calendar{position:fixed;z-index:70;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto}.birth-heading{font-size:16px;font-weight:700;border-radius:10px;padding:0 10px}.birth-heading:hover{background:var(--mint)}.birth-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.birth-option-grid .calendar-day{border-radius:10px;min-height:48px}.birth-calendar .calendar-day:disabled{opacity:.3}.birth-field{position:relative}
.advice-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0}.advice-toolbar .field{min-width:170px;margin:0}.advice-toolbar .btn{font-size:12px;padding:10px 14px}.advice-edit-row td{padding-top:0!important}.advice-edit-row summary{cursor:pointer;color:var(--primary);padding:10px 0;font-size:13px}.advice-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.advice-editor-grid textarea{width:100%;resize:vertical;font-size:13px}.advice-edit-row .field{font-size:13px}.project-advice{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.project-advice h4{margin:10px 0 3px;font-size:12px}.project-advice p{font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted)}.missing-advice-list{max-height:60dvh;overflow:auto}.missing-advice-item{display:block;text-align:left;padding:14px 0;border-bottom:1px solid var(--line);width:100%}.missing-advice-item span{display:block;font-size:12px;color:var(--muted)}tr[hidden]{display:none}@media(max-width:760px){.advice-editor-grid{grid-template-columns:1fr}}

.scoring-advice-table{table-layout:fixed;min-width:1080px;width:100%}.scoring-advice-table .advice-score-col{width:90px}.scoring-advice-table .advice-range-col{width:150px}.scoring-advice-table .advice-action-col{width:140px}.scoring-advice-table th,.scoring-advice-table td{padding:16px 10px;vertical-align:top}.scoring-advice-table th{font-size:12px;white-space:normal}.scoring-advice-table input{width:100%;min-width:0;padding:10px 8px}.scoring-advice-table textarea{width:100%;height:142px;min-height:142px;max-height:142px;resize:none;overflow-y:auto;line-height:1.7;padding:10px;font-size:13px}.advice-row-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.advice-row-actions .btn{font-size:12px;padding:8px 10px}.advice-row-actions .badge{font-size:11px;white-space:nowrap}

.badge.advice-unsaved{background:#fff0db;color:#995117}.advice-is-dirty td{background:#fffcf5}.advice-is-dirty textarea{border-color:#cba46b}.advice-row-actions .btn:disabled{background:#f0f3ef;color:#84938b;opacity:1}

.cover-composite{margin-top:22px;padding-top:18px;border-top:1px solid #b8cdb0}.cover-composite h2{font-size:13px;font-weight:500;color:#50684c}.cover-composite-value{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:7px 0 8px}.cover-composite-value strong{font-size:35px;line-height:1.4;font-variant-numeric:tabular-nums}.cover-composite-value strong small{font-size:15px;font-weight:500;color:#50684c}.cover-grade{font-size:17px;font-weight:650;color:var(--deep);text-align:right}.report-cover .cover-completion{font-size:12px;margin:0;color:#50684c}.cover-composite .scoring-report-detail{border-color:#b8cdb0;margin-top:14px;font-size:12px}.cover-composite summary{padding-top:10px;cursor:pointer;color:var(--deep);min-height:36px}.cover-composite .scoring-report-detail>div{border-color:#c4d4bd}.report-cover .cover-composite .field-note{font-size:11px;margin-top:10px;color:#50684c}@media(max-width:360px){.cover-composite-value strong{font-size:30px}.cover-grade{font-size:14px}}

.report-cover-compact{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;align-items:center;padding:24px 22px}.cover-identity{min-width:0}.phone .report-cover-compact h1{max-width:none;font-size:28px;line-height:1.35;margin:14px 0 12px}.report-cover-compact .cover-composite{margin:0;padding:0;border:0;min-width:0;text-align:right}.report-cover-compact .cover-composite-value{flex-direction:column;align-items:flex-end;gap:5px;margin:8px 0}.report-cover-compact .cover-composite-value strong{font-size:34px;white-space:nowrap}.report-cover-compact .cover-composite-value strong small{font-size:12px}.report-cover-compact .cover-grade{font-size:16px}.phone .report-cover-compact .cover-completion{font-size:11px}.report-cover-compact .cover-composite h2{font-size:12px}@media(max-width:360px){.report-cover-compact{padding:20px 16px;gap:12px}.phone .report-cover-compact h1{font-size:24px}.report-cover-compact .cover-composite-value strong{font-size:29px}.phone .report-cover-compact .cover-identity p{font-size:11px}}

/* 手绘运动成长册：装饰不参与评分含义 */
.report-cover-playful{position:relative;overflow:hidden;border-radius:27px 23px 29px 22px;border:1px solid #dbe7d4}.report-cover-playful .cover-identity,.report-cover-playful .cover-composite{position:relative;z-index:1}.report-cover-playful .cover-grade{padding:3px 10px;background:#fff8dc;border:1px solid #e7d9a3;border-radius:8px 11px 8px 12px;transform:none}.cover-sun{position:absolute;top:5px;right:9px;width:28px;height:28px;color:#b5933c;transform:rotate(12deg);pointer-events:none}.cover-sun svg,.cover-sprout svg{width:100%;height:100%;stroke-width:1.6}.cover-sprout{position:absolute;bottom:3px;left:20px;width:50px;height:18px;color:#87a67a;pointer-events:none}.report-project-title{display:flex;align-items:center;gap:11px;min-width:0}.report-sketch{width:43px;height:43px;display:grid;place-items:center;flex-shrink:0;border-radius:15px 12px 16px 11px;background:#edf4e8;color:#4d7d62;transform:rotate(-4deg)}.report-sketch svg{width:36px;height:36px;stroke-width:1.65;overflow:visible}.sketch-throw,.sketch-grip,.sketch-weightHeight{background:#fcf0de;color:#a07839;transform:rotate(4deg)}.sketch-shuttle,.sketch-flex,.sketch-balance{background:#eaf1f4;color:#557f8b}.comparison-playful{border:1px solid #e4ebe0;border-radius:23px 19px 25px 20px;margin-bottom:0}.comparison-playful .topline{padding-bottom:3px}.growth-trail{height:24px;margin:1px 16px;pointer-events:none;display:flex;align-items:center;justify-content:center}.growth-trail svg{width:100%;height:22px;stroke:#a6baa0;stroke-width:1.4;fill:#a6baa0}.growth-trail .trail-line{stroke-dasharray:3 6;fill:none;opacity:.65}.report-comparisons .comparison-values{margin-top:15px}.report-comparisons{padding-bottom:12px}
