:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f7fa;font-family:Inter,PingFang SC,Microsoft YaHei,Arial,sans-serif}*{box-sizing:border-box}body{background:#f5f7fa;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.shell{background:linear-gradient(#1e56a014,#0000 220px),#f5f7fa;width:min(100%,520px);min-height:100vh;margin:0 auto;padding:18px 14px 92px}.admin-shell{width:min(100%,1040px);padding-bottom:28px}.loading-panel,.empty-card,.question-card,.section-block,.list-card,.admin-panel{background:#fff;border:1px solid #1e56a014;border-radius:12px;box-shadow:0 10px 30px #0a1f440a}.loading-panel{text-align:center;color:#526173;margin-top:35vh;padding:28px}.view-stack{gap:14px;display:grid}.topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.top-actions{align-items:center;gap:8px;display:flex}.topbar h1,.section-title h2,.practice-head h2{letter-spacing:0;margin:0}.topbar h1{color:#1e56a0;font-size:28px}.eyebrow{color:#526173;margin:0 0 4px;font-size:12px;font-weight:700}.orange{color:#a96a00}.version-select{color:#1e56a0;background:#fff;border:1px solid #1e56a033;border-radius:8px;padding:9px}.daily-card{color:#172033;background:linear-gradient(135deg,#fff8e7,#fff),radial-gradient(circle at 92% 10%,#f2a10447,#0000 30%);border:1px solid #f2a10447;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:18px;display:flex;box-shadow:0 12px 30px #f2a1041f}.daily-card h2{margin:0;font-size:18px;line-height:1.35}.section-block{padding:16px}.section-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-title h2{font-size:18px}.section-title span{color:#6b7788;text-align:right;font-size:12px}.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.subject-card{text-align:left;background:#fff;border:1.5px solid #e3e8ef;border-radius:12px;align-content:start;gap:8px;min-height:134px;padding:12px;display:grid}.subject-card.active{border-color:#1e56a0;box-shadow:inset 0 0 0 1px #1e56a0}.subject-card.vip{color:#fff;background:linear-gradient(145deg,#1a1b20,#2e2a1f);border-color:#f2a1048c}.subject-card strong{font-size:16px}.subject-card small,.chapter-row small,.list-card small{color:#6b7788;line-height:1.45}.subject-card.vip small{color:#ffffffb8}.badge{color:#1e56a0;background:#eef5ff;border-radius:999px;width:fit-content;padding:3px 7px;font-size:11px;font-weight:800}.subject-card.vip .badge{color:#3a2600;background:#f2a104}.chapter-list{gap:9px;display:grid}.chapter-row{text-align:left;background:#fff;border:1px solid #e8edf3;border-radius:10px;gap:10px;padding:13px;display:grid}.chapter-row div:first-child{gap:4px;display:grid}.mini-progress{background:#edf1f6;border-radius:999px;height:5px;overflow:hidden}.mini-progress span{background:#1e56a0;height:100%;display:block}.primary-btn,.ghost-btn,.icon-btn,.star-btn,.round-remove{border:0;justify-content:center;align-items:center;gap:6px;display:inline-flex}.primary-btn{color:#fff;background:#1e56a0;border-radius:10px;min-height:42px;padding:0 15px;font-weight:800}.ghost-btn{color:#1e56a0;background:#eef5ff;border-radius:10px;min-height:38px;padding:0 12px;font-weight:800}.icon-btn,.star-btn,.round-remove{color:#1e56a0;background:#eef2f7;border-radius:999px;width:38px;height:38px}.star-btn{color:#9aa6b5;background:0 0}.star-btn.on{color:#f2a104;fill:#f2a104}.practice-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.practice-head>div:nth-child(2){flex:1}.timer-chip{color:#1e56a0;background:#fff;border:1px solid #1e56a033;border-radius:999px;align-items:center;gap:5px;padding:8px 10px;font-weight:800;display:inline-flex}.question-card{gap:16px;padding:17px;display:grid}.question-card h2{margin:0;font-size:20px;line-height:1.55}.question-meta{color:#6b7788;align-items:center;gap:10px;font-size:12px;display:flex}.question-meta .star-btn{margin-left:auto}.options{gap:10px;display:grid}.option{text-align:left;background:#fff;border:1.5px solid #e1e7ef;border-radius:10px;grid-template-columns:30px 1fr 22px;align-items:center;gap:9px;min-height:54px;padding:11px;display:grid}.option span{color:#1e56a0;background:#eef2f7;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-weight:900;display:inline-flex}.option strong{font-weight:700;line-height:1.4}.option.selected{background:#f5f9ff;border-color:#1e56a0}.option.correct{color:#176b49;background:#f1fbf6;border-color:#2ba471}.option.wrong{color:#a72b35;background:#fff5f6;border-color:#e34d59}.analysis{border-radius:10px;padding:13px;line-height:1.55}.analysis p{margin:6px 0}.analysis small{color:#526173}.analysis.right{background:#f1fbf6;border:1px solid #2ba47133}.analysis.wrong{background:#fff5f6;border:1px solid #e34d5933}.practice-actions{justify-content:space-between;gap:10px;display:flex}.list-card{justify-content:space-between;align-items:start;gap:12px;padding:14px;display:flex}.list-card div{gap:6px;display:grid}.danger-line{border-left:4px solid #e34d59}.round-remove{color:#e34d59;background:#fff1f2;flex:none}.empty-card{text-align:center;color:#6b7788;padding:18px}.vip-card{color:#fff;background:linear-gradient(135deg,#111827,#3b331e 70%,#5c420b);border-radius:12px;padding:18px;box-shadow:0 16px 36px #18181a2e}.vip-card p{color:#f2a104;margin:0 0 6px;font-weight:900}.vip-card h2{margin:0 0 16px}.activate-line{grid-template-columns:1fr 74px;gap:8px;display:grid}.activate-line input,.activate-line button{border:0;border-radius:10px;min-height:40px}.activate-line input{padding:0 12px}.activate-line button{color:#2a1b00;background:#f2a104;font-weight:900}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.ring{aspect-ratio:1;background:conic-gradient(#1e56a0 var(--value), #e8edf3 0);border-radius:12px;place-items:center;display:grid;position:relative}.ring:after{content:"";background:#fff;border-radius:8px;position:absolute;inset:14px}.ring span,.ring small{z-index:1;position:relative}.ring span{color:#1e56a0;align-self:end;font-size:24px;font-weight:900}.ring small{color:#6b7788;align-self:start}.ring.green{background:conic-gradient(#2ba471 var(--value), #e8edf3 0)}.ring.green span{color:#2ba471}.admin-panel{padding:16px}.admin-view{grid-template-columns:1fr}.admin-panel-large{padding:18px}.admin-span{grid-column:1/-1}.admin-sidebar{align-content:start;gap:8px;display:grid}.admin-menu-button{color:#526173;text-align:left;background:#fff;border:1px solid #dbe3ee;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:22px 1fr;align-items:center;gap:2px 8px;width:100%;min-height:62px;padding:10px;display:grid}.admin-menu-button svg{color:#1e56a0;grid-row:1/span 2}.admin-menu-button span{color:#172033;font-weight:900}.admin-menu-button small{color:#6b7788;line-height:1.35}.admin-menu-button.active{background:#eef5ff;border-color:#1e56a0;box-shadow:inset 3px 0 #1e56a0}.admin-form-panel{gap:12px;display:grid}.admin-stats{text-align:center;background:#f7f9fc;border-radius:10px;grid-template-columns:repeat(4,1fr);gap:8px;padding:10px;display:grid}.admin-stats-large{gap:12px;padding:16px}.admin-stats b{color:#1e56a0;font-size:20px;display:block}.admin-stats-large b{font-size:28px}.admin-stats small{color:#6b7788}.bar-list{gap:10px;margin-top:14px;display:grid}.bar-row{color:#526173;grid-template-columns:92px 1fr 42px;align-items:center;gap:8px;font-size:12px;display:grid}.bar-row div{background:#e8edf3;border-radius:999px;height:6px;overflow:hidden}.bar-row i{background:#1e56a0;height:100%;display:block}.bar-row em{text-align:right;color:#2ba471;font-style:normal;font-weight:800}.admin-wrong-row{border-top:1px solid #edf1f6;grid-template-columns:1fr 72px;align-items:center;gap:12px;padding:12px 0;display:grid}.admin-wrong-row strong{line-height:1.45}.admin-wrong-row span{color:#e34d59;text-align:right;font-weight:900}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.form-grid label,.wide-field{color:#526173;gap:6px;font-size:12px;font-weight:800;display:grid}.form-grid input,.form-grid select,.wide-field input,.wide-field textarea,.code-generator input{color:#172033;background:#fff;border:1px solid #dbe3ee;border-radius:8px;width:100%;padding:10px}.admin-login-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.admin-login-form label{color:#526173;gap:6px;font-size:12px;font-weight:800;display:grid}.admin-login-form input,.admin-filter-grid input,.admin-filter-grid select,.compact-select{color:#172033;background:#fff;border:1px solid #dbe3ee;border-radius:8px;width:100%;padding:10px}.wide-field textarea{resize:vertical;line-height:1.5}.option-editor{gap:8px;display:grid}.option-edit-row{grid-template-columns:52px 1fr 34px;align-items:center;gap:8px;display:grid}.option-code{text-align:center;color:#1e56a0;font-weight:900}.mini-danger{color:#e34d59;background:#fff1f2;border:0;border-radius:8px;justify-content:center;align-items:center;min-height:34px;font-weight:900;display:inline-flex}.check-line,.form-actions,.row-actions,.code-generator{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.inline-actions{flex-wrap:wrap;gap:8px;display:flex}.check-line label{color:#526173;align-items:center;gap:6px;font-size:13px;font-weight:800;display:inline-flex}.form-actions{justify-content:flex-end}.question-admin-row{border-top:1px solid #edf1f6;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:13px 0;display:grid}.user-admin-row{border-top:1px solid #edf1f6;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 0;display:grid}.user-admin-row>div:first-child{gap:5px;display:grid}.user-admin-row strong{line-height:1.35}.user-admin-row small{color:#6b7788;line-height:1.4}.user-tags{text-align:right;justify-items:end;gap:5px;display:grid}.vip-tag,.plain-tag{border-radius:999px;justify-content:center;align-items:center;min-width:46px;min-height:26px;font-size:12px;font-weight:900;display:inline-flex}.vip-tag{color:#3a2600;background:#f2a104}.plain-tag{color:#526173;background:#eef2f7}.admin-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:8px;max-width:100%;margin-bottom:10px;display:grid;overflow:hidden}.admin-filter-grid input:first-child{grid-column:1/-1}.admin-filter-grid .ghost-btn{width:100%}.pager-line{border-top:1px solid #edf1f6;justify-content:center;align-items:center;gap:12px;padding-top:12px;display:flex}.pager-line span{color:#526173;font-weight:800}.question-admin-row div:first-child{gap:5px;display:grid}.question-admin-row strong{line-height:1.45}.question-admin-row small{color:#6b7788;line-height:1.4}.code-generator{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:10px;display:grid}.code-row{border-top:1px solid #edf1f6;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 70px;align-items:center;gap:8px;padding:10px 0;display:grid}.code-row strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.code-row small{color:#6b7788;line-height:1.35}.code-row span{text-align:right;font-size:12px;font-weight:900}.code-row .used{color:#6b7788}.code-row .unused{color:#2ba471}.import-panel{gap:10px;display:grid}.import-line{grid-template-columns:minmax(0,1fr) 150px auto;align-items:center;gap:10px;display:grid}.import-line input[type=file]{background:#f8fbff;border:1px dashed #b8c5d6;border-radius:8px;width:100%;padding:10px}.template-note{color:#526173;margin:0;font-size:13px;line-height:1.6}.import-result{background:#f7f9fc;border-radius:8px;gap:5px;padding:10px;display:grid}.import-result strong{color:#2ba471}.import-result p{color:#e34d59;margin:0;font-size:12px;line-height:1.45}.import-history-head{justify-content:space-between;align-items:center;gap:10px;padding-top:4px;display:flex}.import-history-head strong{color:#172033}.import-record-row{border-top:1px solid #edf1f6;grid-template-columns:minmax(0,1fr) 160px;align-items:start;gap:12px;padding:12px 0;display:grid}.import-record-row>div:first-child{gap:5px;min-width:0;display:grid}.import-record-row strong{overflow-wrap:anywhere;line-height:1.35}.import-record-row small{color:#6b7788;line-height:1.4}.import-record-row p{color:#a72b35;white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0;font-size:12px;line-height:1.5}.import-record-meta{text-align:right;justify-items:end;gap:6px;display:grid}.import-status{border-radius:999px;justify-content:center;align-items:center;min-width:64px;min-height:26px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.import-status.success{color:#176b49;background:#eaf8f1}.import-status.partial{color:#8a5a00;background:#fff4d8}.import-status.failed{color:#a72b35;background:#fff1f2}.import-status.pending{color:#1e56a0;background:#eef5ff}.audit-row{border-top:1px solid #edf1f6;grid-template-columns:minmax(0,1fr) 74px;align-items:start;gap:12px;padding:12px 0;display:grid}.audit-row>div{gap:5px;min-width:0;display:grid}.audit-row strong{overflow-wrap:anywhere}.audit-row small{color:#6b7788;overflow-wrap:anywhere;line-height:1.4}.tabbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border-top:1px solid #e5eaf1;grid-template-columns:repeat(3,1fr);width:min(100%,520px);height:70px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tabbar button{color:#6b7788;background:0 0;border:0;align-content:center;place-items:center;gap:4px;font-size:12px;font-weight:800;display:grid}.tabbar button.active{color:#1e56a0}.toast{color:#fff;background:#172033eb;border-radius:999px;padding:10px 14px;font-weight:800;position:fixed;bottom:86px;left:50%;transform:translate(-50%)}@media (width<=390px){.form-grid,.question-admin-row,.user-admin-row,.code-generator,.code-row,.audit-row,.admin-login-form,.admin-filter-grid,.import-record-row,.import-line{grid-template-columns:1fr}.row-actions{justify-content:flex-start}.user-tags,.import-record-meta{text-align:left;justify-items:start}.topbar{flex-wrap:wrap}.top-actions{justify-content:space-between;width:100%}.subject-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.daily-card{flex-direction:column;align-items:flex-start}.admin-menu-button{min-height:54px}}@media (width>=760px){.admin-view{grid-template-columns:220px minmax(0,1fr);align-items:start}.admin-view .practice-head{grid-column:1/-1}.admin-view .bar-row{grid-template-columns:150px 1fr 52px}.admin-view .admin-panel{min-width:0}.admin-sidebar{position:sticky;top:14px}}@media (width<=900px){.admin-login-form,.import-line,.admin-filter-grid{grid-template-columns:1fr}.admin-filter-grid input:first-child{grid-column:auto}}
