/* Readable system sans type. Keep UI text at native pixel scale. */
:root{font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Noto Sans CJK SC",Arial,sans-serif;font-size:17px;font-synthesis:weight;--text:#1a2435;--muted:#566277;-webkit-font-smoothing:auto;text-rendering:auto}
:root[data-theme=night]{--text:#f1f4fc;--muted:#bbc4d6}
body{font-size:17px;line-height:1.65}button,input,select,textarea{font-family:inherit;font-synthesis:weight;line-height:1.5}input,select,textarea{font-size:17px}h1,h2,h3{letter-spacing:0;line-height:1.45}h1,h2,h3,b,strong{font-weight:600}h1{font-size:34px}h2{font-size:24px}h3{font-size:20px}.muted{font-size:15px;line-height:1.75}.text-btn{font-size:16px;font-weight:500}.btn{font-size:17px}.btn.small{font-size:15px}.pill{font-size:14px}.overline{font-size:13px}.date,.crumb,.coin{font-size:16px}.brand small{font-size:10px}.brand{letter-spacing:0;font-family:Arial,"Microsoft YaHei",sans-serif}
.sidebar{width:260px;padding:28px 20px 20px}.shell{grid-template-columns:260px 1fr}.nav{margin-top:30px;gap:5px;overflow-y:auto;min-height:0;flex:1;padding:2px}.nav button{font-size:18px;min-height:47px;padding:11px 16px;font-weight:500}.nav .nav-subitem{padding-left:31px}.sidebar-bottom{padding-top:16px;flex-shrink:0}.theme-control{font-size:14px;padding-bottom:16px}.profile-mini{padding-top:14px}.profile-mini small{font-size:14px}.content{padding-left:42px;padding-right:42px}.topbar{margin-bottom:30px}.page-title h1{font-size:34px}.section-head h2{font-size:24px}.panel{padding:28px}.panel p{font-size:16px}.panel label{font-size:17px}table{font-size:16px}th{font-size:16px;font-weight:500;color:var(--text);padding:17px 14px}td{font-size:16px;padding:18px 14px}td .muted{font-size:14px}.grade-btn{font-size:16px;min-width:37px;min-height:38px}.card-body p,.card-bottom,.project-status,.project-detail-meta,.stage-meta{font-size:15px}.project-detail-header h1{font-size:33px}.project-detail-header>p,.stage-content p{font-size:17px}.stage-content h3{font-size:22px}.project-tabs button{font-size:18px}.student-management-bar .btn{font-size:15px}.stage-select label,.grade-batch>span{font-size:16px}.project-overview span{font-size:16px}.setting-line b{font-size:18px}.care-card h3{font-size:19px}.care-card p{font-size:15px}.care-card .btn{font-size:16px}.wardrobe-item b{font-size:16px}.wardrobe-item .item-selected{font-size:14px}.item-info h3{font-size:20px}.item-info .btn{font-size:15px}.item-price{font-size:18px}.modal h2{font-size:26px}.error{font-size:16px}.profile-card .xp-panel .row{flex-wrap:wrap;gap:8px}.xp-panel p{font-size:15px}.hero-summary span{font-size:15px}.hero-kicker{font-size:16px}.task-line h3,.shortcut b{font-size:18px}.task-line p,.shortcut small,.journey-line p{font-size:15px}.journey-line b{font-size:16px}.profile-layout{grid-template-columns:340px minmax(0,1fr)}
.login{min-height:760px}.login-top{left:40px;right:40px;top:30px}.login-identity{display:flex;align-items:center;gap:24px;pointer-events:none;padding:17px 23px;background:#ffffffb8;border:1px solid #ffffffb8;border-radius:18px;backdrop-filter:blur(10px)}.login-top .brand{padding:0;border:0;background:transparent;backdrop-filter:none;border-radius:0}.login-top .brand small{font-size:10px}.login-brand-note{display:flex;flex-direction:column;gap:3px;padding-left:24px;border-left:1px solid #74849b3b}.login-brand-note strong{font-size:23px;color:#1c3556;line-height:1.5}.login-brand-note span{font-size:14px;color:#415b7b}.login-card{max-width:420px;width:390px;top:52%;transform:translateY(-43%)}.login-card h2{font-size:30px;font-weight:600}.login-card label{font-size:18px;font-weight:500}.login-card input{font-size:17px;min-height:52px}.login-links{font-size:16px}.login-foot{font-size:13px}.login-copy{display:none}
.decoration-panel .wardrobe-layout{grid-template-columns:330px minmax(0,1fr);gap:32px}.decoration-panel .wardrobe-items{max-height:510px}.decoration-panel .avatar-stage{height:400px}.rotation-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin:16px 0}.rotation-controls span{font-size:14px;color:var(--muted)}.rotation-controls .btn{font-size:23px;line-height:1;padding:8px 12px;min-height:36px}.try-on-stage{height:340px}.outfit-presets{flex-wrap:wrap}.garden-panel .garden-stage{height:350px}.garden-panel .care-actions{margin-top:25px}.garden-panel .care-card{padding:22px}.follow-toggle{font-size:16px}
.student-filters{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 25px}.student-filters select{width:190px}.student-filters .search{max-width:320px;flex:1;min-width:200px}.student-filters>span{margin-left:auto}.student-detail-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.student-detail-title b{font-size:25px}.student-detail-title p{font-size:16px;color:var(--muted);margin:9px 0 0}.level-badge{padding:8px 13px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font:600 21px Arial,sans-serif}.history-summary{display:flex;gap:15px 24px;flex-wrap:wrap;font-size:15px;color:var(--muted);margin:15px 0}.student-ledger>div{padding:17px 0;border-bottom:1px solid var(--line);gap:20px}.student-ledger small{color:var(--muted);margin-left:auto;font-size:14px}.student-ledger strong{color:var(--accent)}
.growth-ways{margin:0 0 28px}.growth-ways .section-head{margin:0 0 20px}.growth-ways-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.growth-ways-grid>button{border:1px solid var(--line);border-radius:13px;padding:19px 16px;display:flex;align-items:center;text-align:left;gap:12px;background:var(--surface)}.growth-ways-grid>button:hover{background:var(--accent-soft);border-color:var(--accent)}.way-icon{width:35px;height:35px;display:grid;place-items:center;color:var(--accent)}.growth-ways-grid b{display:block;font-size:16px}.growth-ways-grid small{display:block;font-size:14px;color:var(--muted);margin-top:4px}.growth-ways-grid strong{margin-left:auto;white-space:nowrap;font-size:17px;color:var(--accent)}.reward-rules{margin-bottom:25px}.reward-rules>div{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line);gap:25px}.reward-rules span{color:var(--accent);text-align:right}
.import-file-zone{padding:40px 28px;border:1px dashed var(--accent);border-radius:16px;background:var(--accent-soft);text-align:center}.import-file-zone>label{font-size:23px;margin-bottom:20px}.import-file-zone p{margin:17px 0 0;color:var(--muted);font-size:16px}.import-file-zone input{background:var(--surface)}.import-mapping{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.import-mapping .field{margin:0}.import-mapping label{font-size:15px}.import-defaults{display:flex;align-items:flex-end;flex-wrap:wrap;gap:15px;padding:20px;background:var(--surface-2);border-radius:12px;margin:22px 0}.import-defaults .field{flex:1;min-width:170px;margin:0}.import-defaults label{font-size:15px}.import-warning{color:#8a530e;background:#fff5de;padding:16px 19px;border:1px solid #ecd39d;border-radius:11px;font-size:15px;line-height:1.8;margin:20px 0}.import-summary{font-size:16px;font-weight:600;margin:23px 0 15px}.import-table-wrap{max-height:400px;border:1px solid var(--line);border-radius:12px}.import-table-wrap table{min-width:790px}.import-table-wrap th{position:sticky;top:0;z-index:1}.import-table-wrap td{padding:10px 7px}.import-table-wrap input{min-height:40px;padding:9px;font-size:15px;min-width:110px}.import-table-wrap td:nth-child(2) input{min-width:155px}.import-table-wrap td:last-child{font-size:14px;max-width:220px;white-space:normal}.import-error-row{background:#fff1ef;color:#ab3c2b}.import-pagination{display:flex;gap:20px;align-items:center;justify-content:center;margin-top:18px}.import-pagination span{font-size:15px;color:var(--muted)}.import-consequence{font-size:15px;line-height:1.8;margin-top:23px;color:var(--muted)}.ocr-source{font-size:15px;margin:18px 0}.ocr-source summary{cursor:pointer;color:var(--accent)}.ocr-source pre{font-family:inherit;font-size:14px;white-space:pre-wrap;padding:15px;background:var(--surface-2);max-height:180px;overflow:auto}
.log-filters{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:22px 0}.log-filters label{margin:0;font-size:15px;width:200px}.log-filters input{margin-top:8px}.log-filters .text-btn{min-height:48px}.project-log{display:grid;grid-template-columns:185px 1fr;gap:25px;border-top:1px solid var(--line);padding:20px 0}.log-time{font-size:14px;color:var(--muted);padding-top:2px}.project-log b{font-size:17px;margin-right:16px}.project-log span{font-size:15px;color:var(--muted)}.project-log p{font-size:15px;line-height:1.9;margin:8px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.project-log-list{max-height:750px;overflow:auto;padding-right:7px}
@media(max-width:1250px){.shell{grid-template-columns:225px 1fr}.sidebar{width:225px;padding-left:14px;padding-right:14px}.content{padding-left:28px;padding-right:28px}.growth-ways-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.decoration-panel .wardrobe-layout{grid-template-columns:280px minmax(0,1fr)}.nav button{font-size:17px}.profile-layout{grid-template-columns:300px minmax(0,1fr)}}
@media(max-width:800px){body{font-size:16px}.shell{display:block}.sidebar{width:100%;height:78px;padding:0}.sidebar>.brand,.sidebar-bottom{display:none}.nav{margin:0;padding:0;overflow-x:auto;overflow-y:hidden;height:78px;gap:0;flex-direction:row}.nav button,.nav .nav-subitem{min-width:78px;padding:9px 8px;font-size:13px;min-height:78px;flex:0 0 auto}.content{padding:0 19px 112px}.topbar{height:80px}.crumb,.coin{font-size:14px}.page-title h1{font-size:29px}.page-title .btn{font-size:15px}.panel{padding:22px}.section-head h2{font-size:22px}.project-detail-header h1{font-size:28px}.project-detail-header>p{font-size:16px}.project-detail-meta{font-size:14px}.project-overview span{font-size:14px}.project-tabs{gap:21px;overflow:auto}.project-tabs button{font-size:16px;white-space:nowrap}.hero-summary span{font-size:13px}.item-info h3{font-size:17px}.item-info .btn{font-size:14px}.wardrobe-item b{font-size:15px}.profile-layout{grid-template-columns:1fr}.decoration-panel .wardrobe-layout{grid-template-columns:1fr}.decoration-panel .avatar-stage{height:300px}.decoration-panel .wardrobe-items{max-height:none;grid-template-columns:repeat(3,minmax(0,1fr))}.garden-panel .garden-stage{height:300px}.student-filters{gap:11px}.student-filters select{width:calc(50% - 6px);min-width:0;font-size:16px}.student-filters .search{min-width:0;max-width:none;flex:auto;width:100%}.student-detail-title p{font-size:14px}.student-ledger>div{flex-wrap:wrap;gap:8px}.student-ledger small{font-size:13px}.growth-ways .section-head{align-items:flex-start;gap:10px}.growth-ways .section-head h2{font-size:20px}.growth-ways .text-btn{font-size:14px;padding:0}.growth-ways-grid{gap:11px}.growth-ways-grid>button{padding:15px 12px;gap:8px;flex-wrap:wrap}.growth-ways-grid b{font-size:15px}.growth-ways-grid small{font-size:13px}.way-icon{width:24px}.growth-ways-grid strong{font-size:15px}.import-mapping{grid-template-columns:repeat(2,minmax(0,1fr))}.import-defaults{padding:17px;gap:14px}.import-defaults .field{min-width:130px}.import-consequence{font-size:14px}.import-pagination{gap:13px}.log-filters label{flex:1;min-width:125px}.log-filters{gap:13px}.project-log{grid-template-columns:1fr;gap:6px}.log-time{font-size:13px}.project-log p{font-size:14px}.login{min-height:830px}.login-top{left:20px;right:20px;top:20px}.login-identity{padding:15px 18px;width:100%;gap:15px;align-items:flex-start}.login-brand-note{padding-left:15px;gap:4px}.login-brand-note strong{font-size:18px}.login-brand-note span{font-size:13px}.login-top .brand small{display:none}.login-top .brand{font-size:27px}.login-card{top:auto;bottom:65px;right:20px;max-width:390px;width:calc(100% - 40px);transform:none}.login-card h2{font-size:27px}.login-foot{bottom:24px;font-size:12px}.modal h2{font-size:24px}}

button:disabled{opacity:.64}
