:root{--color-primary:#3b49df;--color-primary-hover:#2f3abf;--color-primary-light:#eef0ff;--color-accent:#f59e0b;--color-accent-light:#fffbeb;--color-bg:#f5f4f1;--color-bg-warm:#faf9f7;--color-surface:#fff;--color-sidebar:#141729;--color-sidebar-hover:#1e2240;--color-sidebar-active:#252a4a;--color-text:#1e293b;--color-text-secondary:#64748b;--color-text-muted:#94a3b8;--color-border:#e8e5df;--color-border-light:#f0ede7;--color-success:#10b981;--color-error:#ef4444;--color-warning:#f59e0b;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--shadow-sm:0 1px 2px #0000000a;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #0000000f, 0 2px 4px -2px #0000000a;--shadow-lg:0 10px 15px -3px #0000000f, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 40px -5px #00000014;--font-display:"Playfair Display", "Noto Serif SC", "SimSun", serif;--font-body:"DM Sans", "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", system-ui, -apple-system, sans-serif;--transition-fast:.15s ease;--transition:.2s ease;--transition-slow:.35s ease}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}#root{min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}::selection{background:var(--color-primary);color:#fff}.ant-card{transition:box-shadow var(--transition);border-radius:var(--radius-lg)!important;border:1px solid var(--color-border-light)!important;box-shadow:var(--shadow-sm)!important}.ant-card:hover{box-shadow:var(--shadow-md)!important}.ant-card-bordered{border:1px solid var(--color-border)!important}.ant-table{border-radius:var(--radius)!important}.ant-table-thead>tr>th{text-transform:uppercase;letter-spacing:.05em;background:var(--color-bg-warm)!important;color:var(--color-text-secondary)!important;border-bottom:2px solid var(--color-border)!important;font-size:13px!important;font-weight:600!important}.ant-btn-primary{box-shadow:0 2px 6px #3b49df40!important}.ant-btn-primary:hover{box-shadow:0 4px 12px #3b49df59!important}.ant-input,.ant-input-number,.ant-picker,.ant-select-selector{border-radius:var(--radius-sm)!important;border-color:var(--color-border)!important}.ant-input:focus,.ant-input-focused,.ant-input-number-focused,.ant-picker-focused,.ant-select-focused .ant-select-selector{border-color:var(--color-primary)!important;box-shadow:0 0 0 2px #3b49df1a!important}.ant-modal-content{overflow:hidden;border-radius:var(--radius-xl)!important}.ant-tag{font-weight:500;border-radius:var(--radius-sm)!important}.ant-progress-bg{border-radius:100px!important}.ant-menu-item-selected{border-radius:var(--radius)!important;width:calc(100% - 16px)!important;margin:0 8px!important}.ant-statistic-title{color:var(--color-text-secondary)!important;font-size:13px!important;font-weight:500!important}.ant-statistic-content{font-family:var(--font-display)}.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--color-primary)!important}.ant-tabs-ink-bar{background:var(--color-primary)!important}.quick-action-item{background:var(--color-bg-warm);transition:background var(--transition-fast), border-color var(--transition-fast);border:1px solid #0000}.quick-action-item:hover{background:var(--color-primary-light);border-color:#d4d8f7}.subject-checkup-report table{border-collapse:collapse;width:100%;min-width:720px;margin:12px 0 20px;font-size:14px}.subject-checkup-report th,.subject-checkup-report td{border:1px solid var(--color-border);text-align:left;vertical-align:top;padding:10px 12px}.subject-checkup-report th{background:var(--color-bg-warm);color:var(--color-text-secondary);white-space:nowrap;font-weight:600}.subject-checkup-report tr:nth-child(2n) td{background:#fafafa}.subject-checkup-report td:first-child,.subject-checkup-report td:nth-child(2),.subject-checkup-report td:nth-child(3),.subject-checkup-report td:nth-child(5){white-space:nowrap}.hero-gradient{background:radial-gradient(80% 60% at 50% -10%,#3b49df1f,#0000),radial-gradient(60% 50% at 90% 80%,#f59e0b14,#0000),linear-gradient(160deg,#faf9f7 0%,#f0ede7 100%)}.learning-map-content{grid-template-columns:minmax(0,3fr) minmax(320px,2fr);align-items:stretch;gap:16px;margin-top:24px;display:grid}.learning-map-galaxy-card,.learning-map-side-column{height:960px}.learning-map-galaxy-card{flex-direction:column;display:flex}.learning-map-galaxy-card .ant-card-body{flex-direction:column;flex:1;min-height:0;display:flex}.learning-map-graph-container{height:100%;min-height:0}.learning-map-side-column{grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:16px;min-height:0;display:grid}.learning-map-trend-card,.learning-map-analysis-card{min-height:0;overflow:hidden}.learning-map-analysis-card{flex-direction:column;display:flex}.learning-map-analysis-card .ant-card-head{flex:none}.learning-map-trend-card .ant-card-body{box-sizing:border-box;height:calc(100% - 57px);min-height:0}.learning-map-analysis-card .ant-card-body{box-sizing:border-box;flex-direction:column;flex:auto;height:auto;min-height:0;display:flex}.learning-map-trend-chart{flex:none;min-height:280px}.learning-map-analysis-body{flex:1;min-height:0;padding-right:4px;overflow-y:auto}.learning-map-analysis-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.learning-map-analysis-title-meta{align-items:center;gap:12px;margin-left:auto;display:flex}.learning-map-analysis-meta{flex:none;padding-top:8px}@media (width<=991px){.learning-map-content{grid-template-columns:minmax(0,1fr)}.learning-map-galaxy-card,.learning-map-side-column{height:auto}.learning-map-galaxy-card .ant-card-body{display:block}.learning-map-graph-container{height:clamp(420px,72vw,600px)}.learning-map-side-column{flex-direction:column;display:flex}.learning-map-trend-card,.learning-map-analysis-card{height:auto;overflow:visible}.learning-map-trend-card .ant-card-body,.learning-map-analysis-card .ant-card-body{height:auto}.learning-map-trend-chart{flex:none;height:280px}.learning-map-analysis-title-meta{width:100%;margin-left:0}.learning-map-analysis-body{max-height:none;overflow-y:visible}}
