/* Calm UI 0.3 adapter for the existing semantic HTML trainer. */
@font-face{font-family:Geist;src:url('../fonts/geist-latin.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F}
@font-face{font-family:Geist;src:url('../fonts/geist-cyrillic.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0400-052F,U+2DE0-2DFF,U+A640-A69F}
:root{--ink:var(--foreground);--paper:var(--background);--white:var(--surface);--navy:var(--primary-strong);--navy-2:var(--primary);--gold:var(--primary);--gold-soft:var(--primary-soft);--coral:var(--primary-strong);--green:var(--success);--green-soft:var(--success-soft);--red:var(--danger);--red-soft:var(--danger-soft);--line:var(--border);--shadow:var(--shadow-sm);--radius:var(--radius-panel)}
body{font-family:Geist,system-ui,sans-serif;background:var(--background)}
h1,h2,h3,.hero-card .formula,.finish-title,.score-value{font-family:inherit;font-weight:650;line-height:1.15}
h1{font-size:clamp(36px,4.4vw,60px);letter-spacing:-.045em;overflow-wrap:normal}
h2{font-size:clamp(28px,3vw,40px)}
.hero{padding:64px 0 32px}.hero-grid{gap:40px}.hero-copy{font-size:18px}.hero-card{min-height:300px}
.topbar{background:color-mix(in srgb,var(--surface) 94%,transparent);border-color:var(--border)}
.brand{font-weight:650}.brand-mark{border-radius:var(--radius-control);box-shadow:none;background:var(--primary)}
.eyebrow,.section-number,.workbench-tag,.case-number,.scheme-kicker{font-weight:600;letter-spacing:.07em}
.hero-card{background:var(--surface);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-panel);box-shadow:var(--shadow-sm);padding:28px}
.hero-card::after{display:none}.hero-card-kicker,.hero-card-note{color:var(--muted-strong)}.hero-card .formula{font-size:30px}.hero-card-note{border-color:var(--primary)}
.btn,.route-bar button,.tab{border-radius:var(--radius-control);font-weight:590;font-size:14px;min-height:42px;transition:background var(--duration-fast) var(--ease-standard)}
.btn:hover,.option:hover{transform:none}.btn-primary{background:var(--primary);box-shadow:none}.btn-primary:hover{background:var(--primary-strong)}.btn-secondary{color:var(--foreground);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--surface-hover)}
.panel,.material-card,.scheme{border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow-sm)}
.tabs{background:var(--surface-subtle);border-radius:var(--radius-control);padding:4px}.tab[aria-selected="true"]{background:var(--surface);color:var(--foreground);box-shadow:var(--shadow-sm)}
.diagram,.facts,.case-graph,.scheme-result,.evidence-card,.step:hover,.step.active{background:var(--surface-subtle);color:var(--foreground)}
.diagram::before{border-color:var(--border-strong)}.entity,.mini-node,.graph-node{background:var(--primary-soft);color:var(--primary-strong);border:1px solid var(--border);box-shadow:none;border-radius:var(--radius-card)}.entity.person{background:var(--info-soft);color:var(--primary-strong)}
.quiz-sidebar{background:var(--surface-subtle);color:var(--foreground);border-right:1px solid var(--border)}.quiz-progress-track{background:var(--border)}.quiz-progress{background:var(--primary)}.quiz-progress-label,.score-label{color:var(--muted-strong)}.score-value{color:var(--foreground);font-size:36px}
.case-dot{color:var(--muted-strong);border-color:transparent;border-radius:var(--radius-control)}.case-dot:hover{background:var(--surface-hover)}.case-dot.active{background:var(--primary-soft);color:var(--primary-strong);border-color:var(--primary);font-weight:600}
.option,.evidence-card,.facts,.feedback,.step,.step-num,.threshold,.scheme-result,textarea{border-radius:var(--radius-control)}.option{font-weight:550}.option.selected{background:var(--primary-soft)}
textarea{background:var(--surface)}.route-bar [aria-pressed=true]{background:var(--primary)}
.warning{background:var(--warning-soft);color:var(--warning);border-color:var(--warning)}.feedback.neutral{background:var(--info-soft)}
.material-card h3,.scheme h3{font-size:22px}.material-card{padding:24px}.material-card p{font-size:14px}
button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid var(--primary-strong);outline-offset:3px;box-shadow:var(--focus-ring)}
@media(max-width:900px){.quiz-sidebar{border-right:0;border-bottom:1px solid var(--border)}}
@media(max-width:600px){.hero{padding-top:36px}.hero-grid{gap:24px}h1{font-size:clamp(28px,8vw,36px)}.hero-card{padding:24px;min-height:0}.hero-card .formula{font-size:28px}.hero-copy{font-size:16px}.shell{width:calc(100% - 32px)}.btn{padding:11px 14px}.tabs{display:grid}.tab{text-align:left}.material-card{padding:20px}.quiz-main h3{font-size:25px}.graph-node{font-size:11px}.case-controls{flex-wrap:wrap}}
