/* FiveBench / Soft Field. The workspace takes its shape from the landing graphic:
   rounded, layered surfaces in place of ruled boxes, pills in place of hard tags,
   depth from soft shadow rather than hairlines. Loads after design.css. */
:root{
  --ink:#151a2d;
  --mono:'DM Sans',Arial,sans-serif;
  --code:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --hair:rgba(28,40,92,.08);
  --hair-strong:rgba(28,40,92,.13);
  --tint:#eef1fa;
  --tint-blue:#eaeeff;
  --accent-ink:#2443d6;
  --shadow-sm:0 1px 2px rgba(22,32,80,.04),0 10px 28px -18px rgba(22,32,80,.18);
  --shadow-md:0 2px 4px rgba(22,32,80,.04),0 24px 48px -26px rgba(22,32,80,.32);
  --glow:0 14px 30px -14px rgba(37,73,245,.7);
  --r-card:26px;
}
body{background-color:var(--bg);background-image:radial-gradient(1100px 520px at 80% -8%,rgba(37,73,245,.07),transparent 70%),radial-gradient(900px 520px at -12% 34%,rgba(110,132,255,.05),transparent 70%);background-repeat:no-repeat}
pre,code,.slide-code,.paper pre,.mini-frq,.mini-frq pre,.formula{font-family:var(--code)}
.numeric,.mono,.stat-value,.index-chart-label span:last-child{font-variant-numeric:tabular-nums}

/* Controls */
.button{border-radius:999px;padding:9px 20px;background:#fff;border:1px solid var(--hair-strong);box-shadow:0 1px 2px rgba(22,32,80,.05);color:var(--ink)}
.button:hover{background:#fff;border-color:rgba(37,73,245,.32);color:var(--accent-ink);box-shadow:0 10px 22px -12px rgba(37,73,245,.45);transform:translateY(-1px)}
.button.primary{background:linear-gradient(180deg,#3f5fff,#2549f5);border-color:transparent;color:#fff;box-shadow:var(--glow),inset 0 1px 0 rgba(255,255,255,.2)}
.button.primary:hover{background:linear-gradient(180deg,#4a69ff,#1d3fe6);color:#fff;border-color:transparent}
.button.small{padding:6px 15px;min-height:36px}
.icon-button{border-radius:999px;background:#fff;border:1px solid var(--hair-strong)}
.icon-button:hover{background:var(--tint-blue);color:var(--accent-ink)}
.badge{border:0;border-radius:999px;background:var(--tint);color:#4b5571;font:600 12px var(--sans);letter-spacing:.2px;padding:5px 11px}
.badge.soft,.badge.draft{background:var(--tint-blue);color:#2f45b8}
.search-field input,select{border-radius:999px;border:1px solid var(--hair-strong);background-color:#fff;box-shadow:0 1px 2px rgba(22,32,80,.04)}
.search-field input{padding-left:42px}.search-field:before{left:16px}
select{padding-left:18px}
#toast{border-radius:999px;padding:12px 22px}

/* Frame: a floating sidebar, an open top bar. */
@media(min-width:761px){
  .sidebar{inset:14px auto 14px 14px;border:1px solid var(--hair);border-radius:28px;background:rgba(255,255,255,.78);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow-sm);padding:22px 12px 10px}
  .workspace{margin-left:calc(var(--side) + 14px)}
}
@media(max-width:760px){
  .sidebar{border-radius:0 26px 26px 0;border:1px solid var(--hair);background:#fff;box-shadow:var(--shadow-md)}
  .mobile-bar{background:rgba(245,247,251,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--hair)}
}
.brand small{border-radius:999px;background:var(--tint-blue);color:#2f45b8;padding:3px 9px;font:600 11px var(--sans)}
.nav-label{font:600 12px var(--sans);letter-spacing:.2px;color:#626b82;padding-left:14px}
.nav-item{border-radius:14px;padding-left:14px}
.nav-item:hover{background:var(--tint);color:var(--ink)}
.nav-item.active{background:var(--tint-blue);color:var(--accent-ink);box-shadow:inset 0 0 0 1px rgba(37,73,245,.1)}
.nav-item.active:before{display:none}
.nav-item small{font:600 12px var(--sans);background:rgba(28,40,92,.06);border-radius:999px;padding:1px 8px}
.legacy-link{border-top:0;border-radius:16px;background:var(--tint)}
.legacy-link:hover{background:var(--tint-blue)}
.topbar{border-bottom-color:transparent;background:transparent}
.topbar-right .text-link{border-left:0;margin-left:10px;padding:8px 14px;border-radius:999px}
.topbar-right .text-link:hover{background:#fff}
.status-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:#fff;border:1px solid var(--hair);box-shadow:0 1px 2px rgba(22,32,80,.04);white-space:nowrap}
.page-footer{border-top-color:var(--hair);font-family:var(--sans);letter-spacing:0}

/* Headings */
.page-eyebrow{display:inline-flex;align-items:center;font:600 13px var(--sans);letter-spacing:0;color:#3045c0;background:var(--tint-blue);border-radius:999px;padding:6px 14px;margin-bottom:16px}

/* Surfaces */
.panel{border-radius:var(--r-card);border:1px solid var(--hair);box-shadow:var(--shadow-sm)}
.panel-top{border-bottom:0;padding:22px 26px 8px}
.panel-bottom{border-top:0;background:#f6f7fc;padding:15px 26px}
.panel>.result-summary{margin:10px 10px 0;border:0;border-radius:18px}
.result-summary p+p{margin-top:10px}
.stats-strip{border:0;background:none;border-radius:0;overflow:visible;gap:14px;box-shadow:none}
.stats-strip .stat,.stats-strip .stat:first-child{background:#fff;border:1px solid var(--hair);border-radius:24px;box-shadow:var(--shadow-sm);padding:22px 26px}
.stats-strip .stat:hover{background:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}
.overview-intro{border-radius:30px;background:radial-gradient(120% 150% at 100% 0%,#3a58ff 0%,#1c2c95 32%,#101849 64%,#0b1030 100%);color:#fff;box-shadow:0 34px 64px -40px rgba(20,40,170,.75);padding:38px 42px;min-height:270px;isolation:isolate}
.overview-intro>div:first-child{position:relative;z-index:1}
.overview-intro .eyebrow{color:#c9d2ff;font:600 13px var(--sans);letter-spacing:0}
.overview-intro h2{color:#fff}
.overview-intro p{color:#c3ccf2}
.overview-intro .button{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.24);color:#fff;box-shadow:none}
.overview-intro .button:hover{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.4)}
.overview-intro .live-dot{background:#8fa2ff}
.overview-intro-field{position:absolute;inset:-12% -2% -12% 44%;z-index:0}
.overview-intro-field canvas{width:100%;height:100%;display:block}
@media(max-width:980px){.overview-intro-field{inset:40% -24% -30% 36%;opacity:.5}}
@media(max-width:760px){.overview-intro-field{inset:62% -40% -34% 30%;opacity:.42}.topbar{align-items:center;padding:10px 20px;min-height:56px}.status-chip{padding:4px 11px;font-size:12px}}

/* Charts: rounded bars on a soft track. */
.index-chart-track{height:8px;border-radius:999px;background:#e8ecf7}
.index-chart-track>span{border-radius:999px;background:linear-gradient(90deg,#8aa0ff,#2549f5)!important}
.weight-track{height:8px;border-radius:999px;background:#eceff8}
.weight-track>span{border-radius:999px;background:linear-gradient(90deg,#c3cdf3,#8195dc)!important}
.weight-row strong{color:#3a4566}

/* Tables */
.results-table th{font:600 12px var(--sans);letter-spacing:.1px;color:#5b6479;background:transparent;border-bottom:1px solid var(--hair)}
.results-table td{border-color:rgba(28,40,92,.06)}
.results-table tbody tr:hover{background:#f6f8ff}
.numeric{font-family:var(--sans);font-weight:500}
.model-glyph{border-radius:50%;border:0;background:var(--tint-blue);color:#3045c0}

/* Cards */
.artifact-card{border-radius:var(--r-card);border:1px solid var(--hair);box-shadow:var(--shadow-sm)}
.artifact-card:hover{border-color:rgba(37,73,245,.18);box-shadow:var(--shadow-md)}
.artifact-meta>span{display:inline-block;background:var(--tint);border-radius:999px;padding:3px 10px;font:600 11px var(--sans);letter-spacing:.5px;color:#4b5571}
.artifact-info .artifact-bottom{border-top:0;padding-top:4px}
.mini-slide.dark,.slide.dark{background:radial-gradient(120% 130% at 100% 0%,#3150e6 0%,#18226a 42%,#0e1440 100%);color:#f2f4ff}
.mini-options span{border-radius:999px}
.run-card{border-radius:22px;border-color:var(--hair);box-shadow:var(--shadow-sm)}
.run-card:hover{border-color:rgba(37,73,245,.18);box-shadow:var(--shadow-md)}

/* Capability pages */
.subject-tabs{border:0;background:#e9ecf6;border-radius:999px;padding:5px;gap:4px;width:max-content;max-width:100%}
.subject-tab,.subject-tab.active{border:0;border-radius:999px;padding:9px 18px;min-height:40px}
.subject-tab:hover{background:rgba(255,255,255,.6)}
.subject-tab.active{background:#fff;color:var(--accent-ink);box-shadow:0 1px 2px rgba(22,32,80,.08),0 6px 14px -8px rgba(22,32,80,.3)}
@media(max-width:760px){.subject-tabs{margin:0 0 20px;padding:4px;width:auto}}
.reference-banner{border-left:0;border-radius:18px;background:var(--tint);padding:14px 18px}
.inspector,.rubric-panel{border-radius:var(--r-card);border:1px solid var(--hair);box-shadow:var(--shadow-sm)}
.inspector-header{background:#f6f7fc;border-bottom:0}
.slide{border-radius:16px}
.slide-nav{border-top:0}
.speaker-notes{border-top:1px solid var(--hair)}
.answer-option{border-radius:14px}
.answer-reveal{border-left:0;border-radius:14px}
.paper pre,.formula,.slide-code{border-radius:12px}
.formula{border:0}
.response-box{border-radius:14px}
.point-rubric{border-top-color:var(--hair)}
.feedback-split{gap:12px;background:none}
.feedback-split>section{border-radius:18px}
.transcript-turn{border:0;border-radius:20px 20px 20px 6px;background:var(--tint)}
.transcript-turn.student{background:var(--tint)}
.transcript-turn.tutor{background:#fff;border:1px solid var(--hair);border-radius:20px 20px 6px 20px}
.diagram-preview{border-radius:18px}
.artifact-downloads{border-top:0}

/* Subjects, judges, method */
.subject-list{border-top:0;gap:12px}
.subject-row{background:#fff;border:1px solid var(--hair);border-radius:var(--r-card);padding:24px 28px;box-shadow:var(--shadow-sm)}
.subject-row:hover{background:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}
.subject-row>.mono{width:40px;height:40px;border-radius:50%;background:var(--tint-blue);color:#3045c0;display:grid;place-items:center;font:600 14px var(--sans)}
@media(max-width:760px){.subject-row{padding:20px}.subject-row>.mono{width:30px;height:30px;font-size:12px}}
.judge-card dl>div{border-bottom-color:var(--hair)}
.review-flow{border:0;gap:14px;background:none;overflow:visible}
.review-flow .review-step{background:#fff;border:1px solid var(--hair);border-radius:24px;box-shadow:var(--shadow-sm)}
.review-step .step-number{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--tint-blue);color:#3045c0;font:600 13px var(--sans)}

/* Dialog */
dialog{border-radius:28px;border:1px solid var(--hair);box-shadow:0 40px 90px -36px rgba(14,24,80,.5)}
dialog::backdrop{background:rgba(14,20,52,.42);backdrop-filter:blur(6px)}
.dialog-top{background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--hair)}

/* Theme switch: one round button, a moon in light mode and a sun in dark. */
.theme-toggle{display:inline-grid;place-items:center;width:42px;height:42px;flex:none;padding:0;border-radius:50%;background:#fff;border:1px solid var(--hair-strong);box-shadow:var(--shadow-sm);color:#3e4b63;cursor:pointer}
.theme-toggle:hover{color:var(--accent-ink);border-color:rgba(37,73,245,.3)}
.theme-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .icon-sun,html[data-theme="dark"] .theme-toggle .icon-moon{display:none}
html[data-theme="dark"] .theme-toggle .icon-sun{display:block}
.home-actions,.header-actions{display:flex;align-items:center;gap:10px}
.topbar-right .theme-toggle{width:38px;height:38px;margin-left:4px}
.theme-switching,.theme-switching *,.theme-switching *::before,.theme-switching *::after{transition:none!important}
.mobile-actions{display:flex;align-items:center;gap:8px}
.mobile-actions .theme-toggle{width:40px;height:40px;box-shadow:none}
@media(max-width:760px){.topbar-right .theme-toggle{display:none}}
@media(max-width:420px){.home-header .version-tag{display:none}.home-actions{gap:8px}.home-actions .theme-toggle{width:40px;height:40px}}
/* Run switch and the run v2-r002 results tables */
.run-switch{margin:0 0 18px}
.results-table.wide{min-width:1060px}
.results-table.wide td,.results-table.wide th{padding:12px 9px}
.results-table.wide td:first-child,.results-table.wide th:first-child{padding-left:18px}
.results-table.wide td:nth-child(2){min-width:200px}
.results-table .part-col{white-space:nowrap}
.results-table .part-col small{display:block;margin-top:3px;font:500 11px var(--sans);color:#8a93a8}
.results-table td.part-cell{font-size:13px;color:#4f5872}
.results-table td.part-top{color:#2f45b8;font-weight:600}
.results-table td.score-cell{font-weight:600}
.results-table .tie{display:block;margin-top:2px;font:500 10px var(--sans);letter-spacing:.2px;color:#8a93a8}
.badge.warn{background:#fdf0dc;color:#8a5a12}
.result-summary .badge{margin-right:6px}
