:root {
    --ink:#14263a;
    --text:#14263a;
    --muted:#607489;
    --paper:#ffffff;
    --panel:#ffffff;
    --canvas:#edf3f7;
    --line:#d3dee7;
    --border:#d3dee7;
    --blue:#245d87;
    --accent:#245d87;
    --green:#2f6b52;
    --red:#98383d;
    --soft-blue:#eef5fa;
    --v22-shadow:0 12px 32px rgba(29,53,76,.055);
}

html { color-scheme:light; }
body {
    color:var(--ink);
    background:
        radial-gradient(circle at 7% -12%,rgba(53,113,151,.08),transparent 28rem),
        var(--canvas);
    font-family:Inter,"Segoe UI","Microsoft YaHei",Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.section-title,.view-heading h2,.content-section h3,.admin-topbar h1 {
    color:#102940;
    font-family:Georgia,"Times New Roman","Songti SC",serif;
    font-weight:650;
}
.login-cover h1 { color:#fff; }
p,li { text-wrap:pretty; }
.muted,.helper { color:var(--muted); }

.panel,.card,.workspace-header,.workspace-section,.subpanel,.content-status-row,
.template-card,.table-shell,.temporary-asset-group,.temporary-asset-card,
.temporary-table-item,.formula-card,.method-item,.chart-card,.teaching-figure,
.learning-note-grid article,.report-draft-item {
    border-color:var(--line);
    border-radius:var(--radius,8px);
    box-shadow:var(--v22-shadow);
}
.topbar,.workspace-header,.admin-topbar {
    background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
}
.workspace-section,.section,.card,.panel { border-color:var(--line); }

.btn,.button,.icon-btn,.page-btn,.segment,.prompt-chip {
    border-radius:var(--radius,7px);
    transition:border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease,transform .08s ease;
}
.btn:hover,.button:hover,.icon-btn:hover,.page-btn:hover,.segment:hover,.prompt-chip:hover {
    border-color:#91a9bc;
    background:#f4f8fb;
}
.btn:active,.button:active,.icon-btn:active { transform:translateY(1px); }
.btn.primary,.button.primary,.icon-btn.primary,.page-btn.active,.step-no {
    color:#fff;
    background:var(--blue);
    border-color:var(--blue);
}
.btn.success,.button.success { color:#fff; background:var(--green); border-color:var(--green); }
.btn.primary:hover,.button.primary:hover,.icon-btn.primary:hover { background:#1c4c70; border-color:#1c4c70; }

input:not([type="checkbox"]):not([type="radio"]),select,textarea {
    color:var(--ink);
    background:#fbfdff;
    border-color:#b9c8d5;
    border-radius:var(--radius,7px);
}
input:not([type="checkbox"]):not([type="radio"]):focus,select:focus,textarea:focus {
    outline:0;
    border-color:#3b769f;
    box-shadow:0 0 0 3px rgba(48,109,151,.13);
}
table { background:#fff; }
th { color:#354f65; background:#f1f6f9; }
tbody tr:hover { background:#f8fbfd; }

.eyebrow { color:var(--blue); font-weight:800; letter-spacing:.09em; }
.quick-nav { background:linear-gradient(180deg,#fff,#f8fbfd); }
.quick-nav a:hover,.quick-nav a[aria-current="page"] { background:#eaf3f8; }
.pill,.status-label,.source-label,.owner-badge { border-radius:999px; }
.create-semester,.workflow-note,.reference-panel,.template-selection-meta {
    background:#f2f7fa;
    border-color:#c8d8e4;
}
.segmented { background:#edf3f7; }
.segment.active { background:#fff; box-shadow:0 2px 7px rgba(30,56,80,.08); }
.preview-pane { background:#f4f8fb; }
.splitter { background:#cbd9e4; }
.experiment-editor-page .shell { height:calc(100vh - var(--mode-banner-height,0px) - 80px); }

.admin-sidebar { background:linear-gradient(180deg,#173044 0%,#142735 100%); }
.nav-item.active { background:#315873; box-shadow:inset 3px 0 #9ed0e8; }
.admin-main { background:transparent; }
.metric-row,.content-status-row { border-color:var(--line); }
.metric-row > div,.content-status-row > * { background:rgba(255,255,255,.9); }
.theme-preview,.template-preview,.site-image-preview { background:#edf3f7; }

.toast,.notice.success { box-shadow:0 16px 36px rgba(20,45,65,.18); }
dialog { border-color:var(--line); border-radius:9px; box-shadow:0 28px 70px rgba(13,35,53,.24); }

@media (prefers-reduced-motion:reduce) {
    *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; }
}
@media (max-width:980px) {
    .experiment-editor-page .shell { height:auto; min-height:calc(100vh - var(--mode-banner-height,0px)); }
}
