/* Physics theme (platform.json: "theme": "physics"). Loaded after styles.css.
   Flat ink-blue and copper instead of gradients; faint magnetic field lines drift across the dark headers. */
:root { --field: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22600%22%20height%3D%22300%22%20viewBox%3D%220%200%20600%20300%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.10%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M0%2040%20C%20150%20-62%20450%20-62%20600%2040%22%20/%3E%3Cpath%20d%3D%22M296%20-42.5%20l10%206%20-10%206%22%20/%3E%3Cpath%20d%3D%22M0%2090%20C%20150%2042%20450%2042%20600%2090%22%20/%3E%3Cpath%20d%3D%22M296%2048.0%20l10%206%20-10%206%22%20/%3E%3Cpath%20d%3D%22M0%20150%20C%20150%20150%20450%20150%20600%20150%22%20/%3E%3Cpath%20d%3D%22M296%20144.0%20l10%206%20-10%206%22%20/%3E%3Cpath%20d%3D%22M0%20210%20C%20150%20258%20450%20258%20600%20210%22%20/%3E%3Cpath%20d%3D%22M296%20240.0%20l10%206%20-10%206%22%20/%3E%3Cpath%20d%3D%22M0%20260%20C%20150%20362%20450%20362%20600%20260%22%20/%3E%3Cpath%20d%3D%22M296%20330.5%20l10%206%20-10%206%22%20/%3E%3C/g%3E%3C/svg%3E"); }

/* flat surfaces, no gradients */
.btn { background: var(--teal); box-shadow: 0 3px 0 var(--teal-dark), 0 10px 16px -12px rgba(23,32,51,.6); }
.btn:hover { background: var(--teal-dark); }
.btn.gold { background: var(--gold); color: #391910; box-shadow: 0 3px 0 var(--amber-dark); }
.btn.gold:hover { background: #EAB8A5; }
.num, .unit .num, .unit-card .num { background: var(--teal-light); box-shadow: 0 2px 0 var(--teal-line); }
.unit-card.on .num, .unit[open] .num { background: var(--teal); box-shadow: 0 2px 0 var(--teal-dark); }
.opt[aria-checked="true"] .l, .clip[aria-current="true"] .n { background: var(--teal); box-shadow: none; }
.bar > i { background: var(--teal); box-shadow: none; }
.nav a[aria-current="page"] { background: var(--teal-light); box-shadow: inset 0 -2px 0 var(--teal); }
.qdots button.ans { background: var(--teal-light); }

/* dark headers: ink blue with drifting field lines */
.hello, .login-hero, .about-hero, .motto {
  background-color: var(--teal-dark); background-image: var(--field); background-size: 600px 300px;
  animation: field-drift 60s linear infinite;
}
.hello::after { display: none; }
.hello .bar > i { background: var(--gold); }
@keyframes field-drift { from { background-position: 0 0; } to { background-position: 600px 0; } }
@media (prefers-reduced-motion: reduce) { .hello, .login-hero, .about-hero, .motto { animation: none; } }

/* readable text on the dark headers (contrast ≥ 4.5:1) */
.hello small, .login-hero p { color: rgba(255,255,255,.92); }
.login-hero .sym { opacity: .14; }

/* honor board, account card: light, flat */
.honor-hero, .account-card { background: var(--teal-light); }
