:root{color-scheme:light;font-family:Segoe UI Variable,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.5;font-weight:400;color:#17211b;background:radial-gradient(circle at top left,rgba(242,205,120,.28),transparent 28%),radial-gradient(circle at bottom right,rgba(102,166,173,.16),transparent 32%),linear-gradient(145deg,#f4f1e7,#ecf3ea 42%,#eef2f4);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--surface: rgba(255, 255, 255, .78);--surface-strong: rgba(255, 255, 255, .94);--surface-soft: rgba(244, 248, 241, .88);--border: rgba(23, 33, 27, .12);--border-strong: rgba(23, 33, 27, .22);--ink-soft: #526158;--ink-faint: #718177;--accent: #214e44;--accent-strong: #102d28;--accent-soft: #d7ebe4;--warning: #b76f18;--warning-soft: #fff0d8;--success: #22744a;--success-soft: #d9f3e4;--shadow: 0 18px 50px rgba(26, 33, 24, .12)}*{box-sizing:border-box}html,body,#root{min-height:100%}html{background:#eef2ef}body{margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button,.primary-button,.secondary-button,.danger-button,.option-button,.chip-button,.nav-item,.mobile-bottom-link,.mobile-menu-button,input,select,textarea{min-height:44px}textarea{min-height:120px}.app-shell{min-height:100vh;display:grid;grid-template-columns:320px minmax(0,1fr)}.app-shell.mobile-shell{display:block}.sidebar{display:flex;flex-direction:column;gap:24px;padding:28px 22px;border-right:1px solid var(--border);background:linear-gradient(180deg,#122c27f0,#1f3d35f5),#18362f;color:#f7f5ec}.brand-card,.sidebar-note,.mobile-header,.mobile-drawer-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand-card,.sidebar-note,.sidebar-search-card{padding:22px;border-radius:22px;background:#ffffff14;border:1px solid rgba(255,255,255,.1)}.brand-card h1,.mobile-brand-card h1{margin:8px 0 12px;font-size:1.85rem;line-height:1.1}.eyebrow{margin:0;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffffb3}.sidebar .muted,.mobile-drawer .muted,.mobile-header .eyebrow{color:#ffffffb8}.sidebar-search-card .field>span{color:#ffffffbd}.hero-progress{margin-top:18px;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12)}.hero-progress strong{font-size:2.15rem}.nav-list{display:grid;gap:10px}.nav-item,.mobile-bottom-link{padding:14px 16px;border-radius:16px;color:#ffffffd1;transition:background-color .16s ease,transform .16s ease,color .16s ease}.nav-item:hover,.nav-item.active{background:#ffffff24;transform:translate(3px)}.sidebar-note span{display:block;font-size:.8rem;color:#ffffffbd}.sidebar-note strong{display:block;margin-top:6px;font-size:1.1rem}.mobile-header{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:#14302af0;border-bottom:1px solid rgba(255,255,255,.12);color:#f8f5eb}.mobile-brand{min-width:0;display:grid;gap:2px}.mobile-brand strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.98rem;line-height:1.2}.mobile-progress{display:grid;justify-items:end;gap:2px;color:#fffc}.mobile-progress span{font-size:.72rem}.mobile-progress strong{font-size:1rem}.mobile-menu-button{padding:10px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#ffffff1a;color:#fff}.mobile-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:34;border:0;background:#0a131075}.mobile-drawer{position:fixed;inset:0 auto 0 0;z-index:35;width:min(86vw,340px);transform:translate(-102%);transition:transform .22s ease;pointer-events:none}.mobile-drawer.open{transform:translate(0);pointer-events:auto}.mobile-drawer-panel{height:100%;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#122c27f5,#1f3d35fa);color:#f7f5ec;overflow-y:auto;display:grid;align-content:start;gap:18px}.mobile-brand-card{background:#ffffff14}.mobile-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:28;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fafaf6f2;border-top:1px solid rgba(23,33,27,.1);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-bottom-link{display:grid;place-items:center;padding:10px 6px;border-radius:14px;color:var(--ink-soft);font-size:.78rem}.mobile-bottom-link.active{background:var(--accent-soft);color:var(--accent-strong)}.sidebar-search-card input{width:100%}.content{min-width:0;padding:28px}.mobile-shell .content{padding:18px 14px 96px}.page-stack{display:grid;gap:22px}.page-hero{display:grid;grid-template-columns:minmax(0,1.4fr) 320px;gap:18px;padding:28px;border-radius:28px;background:linear-gradient(135deg,#ffffffd1,#f4f8f1e6 55%,#e9f4f4d1);border:1px solid var(--border);box-shadow:var(--shadow)}.page-hero h2{margin:6px 0 10px;font-size:clamp(1.5rem,3.2vw,2rem);line-height:1.15}.hero-metric-card{display:grid;align-content:start;gap:8px;padding:22px;border-radius:22px;background:linear-gradient(180deg,#112d27f2,#23433afa);color:#f9f6ed}.hero-metric-card span{color:#f9f6edbf}.hero-metric-card strong{font-size:2.4rem;line-height:1}.hero-metric-card p{margin:0;color:#f9f6edd1}.panel-card{min-width:0;padding:22px;border-radius:24px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-heading h3{margin:0;font-size:1.18rem}.section-heading a,.section-heading .muted,.muted{color:var(--ink-soft)}.dashboard-grid,.detail-grid,.workspace-grid{display:grid;gap:22px}.dashboard-grid,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-grid{grid-template-columns:minmax(320px,.95fr) minmax(0,1.25fr)}.metric-list,.card-list,.search-form-panel{display:grid;gap:14px}.search-input-row{display:flex;flex-wrap:wrap;gap:10px}.search-input-row input{flex:1 1 220px;width:100%;padding:12px 14px;border-radius:16px;border:1px solid var(--border-strong);background:#fffffff0;color:inherit}.results-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.metric-row{display:grid;gap:10px;padding:14px 16px;border-radius:18px;background:var(--surface-soft);border:1px solid var(--border)}.metric-row p,.mini-card p,.path-card p,.detail-section p,.exercise-card p,.list-card p{margin:4px 0 0;color:var(--ink-soft)}.progress-block{display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:center}.progress-label{grid-column:1 / -1;color:var(--ink-soft)}.progress-track{position:relative;min-width:0;height:10px;border-radius:999px;background:#18282114;overflow:hidden}.progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d9aa3b,#2f7c6d)}.progress-value{color:var(--ink-soft);font-weight:700}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 11px;border-radius:999px;font-size:.83rem;border:1px solid transparent}.status-pill.neutral{color:var(--accent);background:var(--accent-soft)}.status-pill.active{color:#245a7e;background:#dff0fb}.status-pill.success{color:var(--success);background:var(--success-soft)}.status-pill.warning{color:var(--warning);background:var(--warning-soft)}.mini-card,.list-card,.knowledge-card,.exercise-card,.path-card{min-width:0;padding:16px;border-radius:20px;background:var(--surface-strong);border:1px solid var(--border)}.mini-card,.path-card{display:grid;gap:10px}.mini-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mini-card strong,.knowledge-card strong,.list-card strong,.path-card strong,.exercise-card strong{font-size:1rem}.compact .mini-card{min-height:122px}.path-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.path-card{background:linear-gradient(180deg,#fffffff2,#ecf6f2f5)}.path-card span,.small-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint)}.tag-row,.inline-link-row,.resource-pill-row{display:flex;flex-wrap:wrap;gap:8px}.tag-pill{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid rgba(33,78,68,.14);background:#d7ebe47a;color:var(--accent-strong);font-size:.84rem}.inline-link-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:999px;border:1px solid rgba(33,78,68,.14);background:#fffffff5;color:var(--accent)}.tag-action{cursor:pointer}.knowledge-grid,.exercise-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.knowledge-card,.exercise-card,.list-card{display:grid;gap:14px}.resource-card{display:grid;gap:12px}.resource-meta-row{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--ink-faint);font-size:.85rem}.link-card{transition:transform .16s ease,box-shadow .16s ease}.link-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px #18241f1f}.card-actions,.button-row{display:flex;flex-wrap:wrap;gap:10px}.status-pill-row,.exercise-related-links{display:flex;flex-wrap:wrap;gap:8px}.exercise-filter-panel{display:grid;gap:16px}.related-resource-block{margin-top:20px;display:grid;gap:12px}.field,.inline-field{display:grid;gap:8px;min-width:0}.field>span,.inline-field>span{font-size:.88rem;color:var(--ink-soft)}.field input,.field select,.field textarea,.card-actions select,.inline-field select,.exercise-card textarea{width:100%;padding:12px 14px;border-radius:16px;border:1px solid var(--border-strong);background:#fffffff0;color:inherit}.field textarea,.exercise-card textarea{resize:vertical}.primary-button,.secondary-button,.danger-button,.option-button,.chip-button{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:15px;border:1px solid transparent;transition:transform .16s ease,background-color .16s ease,border-color .16s ease}.primary-button{background:linear-gradient(135deg,#183f36,#275f52);color:#fffdf7}.secondary-button{background:#fffffff0;color:var(--accent);border-color:var(--border-strong)}.danger-button{background:#fff1ef;color:#a43f33;border-color:#a43f3333}.primary-button:hover,.secondary-button:hover,.danger-button:hover,.option-button:hover,.chip-button:hover,.nav-item:hover,.mobile-bottom-link:hover,.mobile-menu-button:hover{transform:translateY(-1px)}.workspace-grid .panel-card{min-height:560px}.list-card.selected{border-color:#244e4480;box-shadow:inset 0 0 0 1px #244e4433}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field-span-2{grid-column:1 / -1}.chip-grid{display:flex;flex-wrap:wrap;gap:8px;padding:14px;min-height:88px;border-radius:18px;border:1px solid var(--border);background:#ffffffad;max-height:220px;overflow:auto}.chip-button{background:#ecf4eff5;color:var(--accent);border-color:transparent}.chip-button.selected,.option-button.selected{background:var(--accent-soft);border-color:#214e4447;color:var(--accent-strong)}.detail-section{display:grid;gap:8px;padding:14px 0;border-top:1px solid var(--border)}.detail-section:first-of-type{border-top:0;padding-top:0}.detail-section span,.answer-review span{font-size:.86rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint)}.formula-box{margin:0;padding:16px;border-radius:16px;background:#f3f7f5;border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere}.plain-list,.preview-list{margin:0;padding-left:18px;color:var(--ink-soft)}.preview-list li+li{margin-top:4px}.option-grid{display:grid;gap:10px}.option-button{text-align:left;justify-content:flex-start;background:#ffffffeb;border-color:var(--border)}.answer-review{display:grid;gap:8px;padding:14px;border-radius:18px;background:#f4f7f0;border:1px solid var(--border)}.info-stack{display:grid;gap:14px}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.summary-card,.notice-card,.radio-card{padding:14px 16px;border-radius:18px;border:1px solid var(--border);background:#ffffffe6}.summary-card span{display:block;font-size:.8rem;color:var(--ink-faint)}.summary-card strong{display:block;margin-top:6px;font-size:1.2rem}.notice-card.success{background:#edf8f1;border-color:#22744a33}.notice-card.warning{background:#fff6e7;border-color:#b76f1838}.notice-card strong,.radio-card strong{display:block}.notice-card p,.radio-card p{margin:6px 0 0;color:var(--ink-soft)}.radio-group{display:grid;gap:10px}.radio-card{display:flex;gap:12px;align-items:flex-start}.radio-card input{width:18px;height:18px;min-height:18px;margin-top:4px}.radio-card.selected{border-color:#214e4447;background:#d7ebe46b}.task-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--ink-faint);font-size:.85rem}.task-meta span{padding:4px 10px;border-radius:999px;background:#d7ebe4b8}.route-card-button{width:100%;text-align:left;cursor:pointer;border:1px solid var(--border);background:var(--surface-strong)}.route-layout .panel-card:last-child{min-height:0}.route-step-heading{margin-top:20px}.route-step-index{display:inline-block;margin-bottom:6px;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint)}.problem-preview-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.problem-preview-grid>div{min-width:0;padding:12px;border-radius:16px;background:#f2f7f3f5;border:1px solid var(--border)}.visual-guide-section .section-heading p{margin:4px 0 0}.visual-guide-list,.visual-guide-card,.visual-demo,.visual-layer-stack,.visual-metric-grid{display:grid;gap:14px}.visual-guide-card{min-width:0;padding:16px;border-radius:20px;background:var(--surface-strong);border:1px solid var(--border)}.visual-guide-card>p{margin:0;color:var(--ink-soft)}.visual-guide-note{margin:0}.visual-subsection{min-width:0;display:grid;gap:12px;padding:14px;border-radius:18px;background:#f4f8f1b8;border:1px solid var(--border)}.visual-subsection-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.visual-subsection-heading h4{margin:4px 0 0;font-size:1rem}.visual-concept-panel{background:#ffffffdb}.visual-concept-image{display:block;width:100%;max-width:100%;max-height:360px;object-fit:contain;border-radius:14px;border:1px solid var(--border);background:#f7faf6}.visual-prompt-placeholder{display:grid;gap:8px;min-height:138px;align-content:center;padding:18px;border-radius:16px;border:1px dashed rgba(33,78,68,.3);background:linear-gradient(135deg,#d7ebe46b,#ffffffe0)}.visual-prompt-placeholder strong{color:var(--accent-strong);font-size:1.05rem}.visual-prompt-placeholder p,.visual-fallback-prompt,.visual-caption,.visual-image-disclaimer,.visual-prompt-details p{margin:0;color:var(--ink-soft)}.visual-caption{font-size:.95rem}.visual-image-disclaimer{font-size:.86rem}.visual-fallback-prompt{overflow-wrap:anywhere;font-size:.9rem;line-height:1.65}.visual-prompt-details{padding:12px;border-radius:14px;background:#f4f7f0;border:1px solid var(--border)}.visual-prompt-details summary{cursor:pointer;color:var(--accent);font-weight:700}.visual-prompt-details p{margin-top:8px;overflow-wrap:anywhere}.visual-source-meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--ink-faint);font-size:.86rem}.visual-source-meta a{color:var(--accent);font-weight:700}.visual-control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.visual-control{min-width:0;display:grid;gap:8px;padding:12px;border-radius:16px;border:1px solid var(--border);background:#f4f8f1d6}.visual-control span{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ink-soft);font-size:.9rem}.visual-control strong{color:var(--accent-strong);font-size:.95rem;white-space:nowrap}.visual-control input[type=range]{width:100%;min-height:44px;padding:0;accent-color:var(--accent)}.visual-layout{display:grid;grid-template-columns:minmax(320px,1.25fr) minmax(240px,.75fr);gap:14px;align-items:stretch}.visual-svg-canvas{width:100%;height:auto;display:block}.visual-svg-bg{fill:#f7faf6;stroke:#214e441f}.visual-axis{stroke:#17211b57;stroke-width:2}.visual-wave,.visual-current-vector{fill:none;stroke:#245f54;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.visual-measure,.visual-needle{stroke:#b76f18;stroke-width:3;stroke-linecap:round}.visual-pulse,.visual-bar-actual,.visual-vector-end,.visual-arrow-head{fill:#2f7c6d}.visual-machine-shell{fill:#2f7c6d14;stroke:#245f546b;stroke-width:3}.visual-rotor{fill:#d9aa3b9e;stroke:#b76f189e;stroke-width:3}.visual-heat,.visual-risk-fill{fill:#b76f18ad}.visual-bar-muted{fill:#214e441f}.visual-bar-ideal{fill:#d9aa3b}.visual-gauge-track{fill:none;stroke:#214e442e;stroke-width:16;stroke-linecap:round}.visual-needle-hub{fill:#b76f18}.visual-id-line{stroke:#245a7e;stroke-width:4;stroke-linecap:round}.visual-iq-line{stroke:#2f7c6d;stroke-width:4;stroke-linecap:round;stroke-dasharray:6 5}.visual-svg-label{fill:var(--ink-soft);font-size:12px}.visual-svg-value{fill:var(--accent-strong);font-size:16px;font-weight:700}.visual-metric{min-width:0;padding:14px;border-radius:16px;background:#f4f7f0;border:1px solid var(--border)}.visual-metric span{display:block;color:var(--ink-faint);font-size:.82rem}.visual-metric strong{display:block;margin-top:4px;color:var(--accent-strong);font-size:1.05rem;overflow-wrap:anywhere}.visual-note{margin:0;color:var(--ink-soft);font-size:.92rem}@media (max-width: 1180px){.page-hero,.dashboard-grid,.detail-grid,.workspace-grid,.visual-layout{grid-template-columns:1fr}}@media (max-width: 767px){.content{padding:18px 14px 96px}.page-stack{gap:16px}.page-hero,.panel-card,.mini-card,.knowledge-card,.list-card,.exercise-card,.path-card{padding:16px;border-radius:20px}.page-hero{gap:14px}.section-heading,.mini-card-top,.visual-subsection-heading,.card-actions,.button-row{align-items:stretch}.section-heading,.mini-card-top,.visual-subsection-heading{flex-direction:column}.dashboard-grid,.detail-grid,.workspace-grid,.visual-control-grid,.visual-layout,.form-grid,.knowledge-grid,.exercise-grid,.path-grid,.problem-preview-grid,.summary-grid,.results-summary-grid{grid-template-columns:1fr}.workspace-grid .panel-card{min-height:auto}.compact .mini-card{min-height:0}.visual-guide-card{padding:14px}.visual-control span{align-items:flex-start;flex-direction:column;gap:4px}.visual-subsection{padding:12px}.nav-item:hover,.mobile-bottom-link:hover,.primary-button:hover,.secondary-button:hover,.danger-button:hover,.option-button:hover,.chip-button:hover{transform:none}.button-row>*,.card-actions>*,.field,.inline-field,.search-input-row>*,.field input,.field select,.field textarea,.exercise-card textarea{width:100%}}
