/* Shared extras for the Simulations lab pages (built on natural_selection_simulator.css). */
.c-rabbit{color:#f4efe6}.c-fox{color:#ff8a3d}.c-grass{color:#6fd36a}
.c-s{color:#7fb8ff}.c-e{color:#ffd166}.c-i{color:#ff5d6c}.c-r{color:#7ee0a1}.c-d{color:#9a8fb0}.c-v{color:#c79bff}
.k-rabbit{background:#f4efe6}.k-fox{background:#ff8a3d}.k-grass{background:#6fd36a}
.k-s{background:#7fb8ff}.k-e{background:#ffd166}.k-i{background:#ff5d6c}.k-r{background:#7ee0a1}.k-d{background:#9a8fb0}.k-v{background:#c79bff}
.k-ke{background:#ff5d8f}.k-pe{background:#4fd9ff}.k-te{background:#fff}
.sl-page .ns-ptabs.sl-tabs6{grid-template-columns:repeat(6,1fr)}
.sl-page .ns-ptabs button{font-size:11px}
.sl-page .ns-chart{height:150px}.sl-page .sl-tall{height:200px}
.sl-group{margin:0 0 12px;padding:10px 12px 12px;border:1px solid #2a3060;border-radius:14px;background:#0f1330}
.sl-group legend{padding:0 6px;font-size:13px;font-weight:700;color:#e8e6ff}
.sl-page .ns-pp .ns-pan{grid-template-columns:1fr 1fr}
.sl-page .ns-pp .ns-pan>label:has(.ns-range),.sl-page .ns-pp .ns-pan>.ns-tog{grid-column:1/-1}
.sl-eq{font-size:14px;line-height:1.9}
.sl-math{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sl-math label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#c8cbe6}.sl-math label:has(.ns-range){grid-column:1/-1}
.sl-eqout{margin:0;padding:8px 10px;border-radius:10px;background:#ffffff08;font-size:12.5px;line-height:1.55;color:#d9dcff}
.sl-hero-pp{background:radial-gradient(circle at 85% 20%,#ff8a3d33,transparent 40%),radial-gradient(circle at 60% 120%,#6fd36a2e,transparent 45%),radial-gradient(circle at 0 0,#7c5cff30,transparent 45%),#0a0c1b}
.sl-hero-ep{background:radial-gradient(circle at 85% 20%,#ff5d6c33,transparent 40%),radial-gradient(circle at 60% 120%,#7ee0a12e,transparent 45%),radial-gradient(circle at 0 0,#7fb8ff30,transparent 45%),#0a0c1b}
.sl-hero-gr{background:radial-gradient(circle at 85% 20%,#ffd16633,transparent 40%),radial-gradient(circle at 60% 120%,#4fd9ff2e,transparent 45%),radial-gradient(circle at 0 0,#7c5cff40,transparent 45%),#05060f}
.sl-tools{display:flex;flex-wrap:wrap;gap:6px}.sl-page .sl-tools button[aria-pressed=true]{background:#221c55;border-color:#9d8bff;color:#fff}
.sl-bodies{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.sl-bodies li{display:grid;grid-template-columns:16px 1fr auto;gap:8px;align-items:center;padding:6px 8px;border:1px solid #2a3060;border-radius:10px;background:#0f1330;font-size:12px}
.sl-bodies i{width:14px;height:14px;border-radius:50%}.sl-bodies em{font-style:normal;font-family:ui-monospace,Consolas,monospace;color:#c8cbe6;font-size:11px}
.sl-page .sl-bodies button{min-height:24px;padding:2px 8px;font-size:11px}
@media(max-width:640px){.sl-page .ns-ptabs.sl-tabs6 button{font-size:9.5px}.sl-page .ns-pp .ns-pan,.sl-math{grid-template-columns:1fr}}

/* Gravity page: tool buttons in the HUD, zoom buttons, new-body picker */
.sl-page .ns-hudbar .sl-tools button{min-height:30px;padding:4px 9px;font-size:12px;background:#0b0e20d9}
.sl-zoom{position:absolute;right:16px;bottom:16px;display:flex;flex-direction:column;gap:4px}
.sl-page .sl-zoom button{width:34px;min-height:34px;padding:0;font-size:18px;background:#0b0e20d9}
.sl-mass{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--mut)}.sl-mass select{width:auto!important}
#slWorld{touch-action:none}
@media(max-width:640px){.sl-page .ns-hudbar{flex-wrap:wrap}.sl-page .ns-hudbar .sl-tools button span,.sl-mass span{display:none}.sl-zoom{right:10px;bottom:10px}}

/* Falling sand: material palette and current-material chip; hero tints for the physics labs */
.sl-hero-fs{background:radial-gradient(circle at 85% 20%,#ffb54733,transparent 40%),radial-gradient(circle at 60% 120%,#30a0ff2e,transparent 45%),radial-gradient(circle at 0 0,#ff5a2a30,transparent 45%),#0a0c1b}
.sl-hero-pm{background:radial-gradient(circle at 85% 20%,#7fb8ff33,transparent 40%),radial-gradient(circle at 60% 120%,#9dff8a2a,transparent 45%),radial-gradient(circle at 0 0,#ffd16630,transparent 45%),#0a0c1b}
.sl-hero-dp{background:radial-gradient(circle at 85% 20%,#ff6fae33,transparent 40%),radial-gradient(circle at 60% 120%,#4fd9ff2e,transparent 45%),radial-gradient(circle at 0 0,#c79bff30,transparent 45%),#07070f}
.sl-palette{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.sl-page .sl-palette button{flex-direction:column;gap:5px;min-height:62px;padding:6px 4px;font-size:11px;background:#0f1330}
.sl-palette i{width:26px;height:26px;border-radius:8px;box-shadow:inset 0 -6px 10px #0005,0 0 0 1px #ffffff22}
.sl-page .sl-palette button[aria-checked=true]{border-color:#b39cff;background:#221c55;box-shadow:0 0 0 1px #b39cff inset;color:#fff}
.sl-current b{display:flex;align-items:center;gap:6px}.sl-current i{display:inline-block;width:14px;height:14px;border-radius:4px}
.sl-matinfo{margin:0;min-height:36px;font-size:12px;line-height:1.5;color:#c8cbe6}
.sl-page .sl-wide{width:100%}.sl-page .sl-wide input{flex:1;width:auto}
.sl-pixel{image-rendering:pixelated}
@media(max-width:640px){.sl-page .sl-palette button{min-height:54px;font-size:10px}}
/* Projectile motion: results and shots tables */
.sl-table{width:100%;border-collapse:collapse;font-size:12px}.sl-table th,.sl-table td{padding:5px 6px;border-bottom:1px solid #2a3060;text-align:left}.sl-table thead th{font-size:10.5px;color:#8b93b8;font-weight:600}
.sl-table td{font-family:ui-monospace,Consolas,monospace;color:#e8e6ff}.sl-tablewrap{overflow-x:auto}
.sl-page .sl-table button{min-height:22px;padding:0 7px;font-size:12px}
.sl-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}
.sl-results{display:flex;flex-direction:column;gap:8px}
.sl-page .sl-small{width:90px!important}
.sl-math select{width:100%}
.sl-page .ns-speed output{white-space:nowrap;min-width:44px}
.sl-page input:disabled,.sl-page select:disabled{opacity:.4;cursor:not-allowed}

/* Batch 4: flocking, game of life, waves */
.sl-hero-fl{background:radial-gradient(circle at 85% 20%,#8cc3f044,transparent 40%),radial-gradient(circle at 60% 120%,#ff9a6230,transparent 45%),radial-gradient(circle at 0 0,#2d6fb840,transparent 45%),#0a0c1b}
.sl-hero-gl{background:radial-gradient(circle at 85% 20%,#9dff8a30,transparent 40%),radial-gradient(circle at 60% 120%,#4fd9ff26,transparent 45%),radial-gradient(circle at 0 0,#c79bff30,transparent 45%),#07080f}
.sl-hero-wv{background:radial-gradient(circle at 85% 20%,#4fd9ff40,transparent 40%),radial-gradient(circle at 60% 120%,#ff5d8f26,transparent 45%),radial-gradient(circle at 0 0,#7c5cff30,transparent 45%),#05070f}
.sl-rules{display:grid;gap:6px}.sl-rules div{display:flex;flex-direction:column;padding:8px 10px;border:1px solid #2a3060;border-radius:10px;background:#0f1330;font-size:12px}.sl-rules b{font-size:12.5px;color:#fff}.sl-rules span{color:#a9aed0}
.sl-patterns{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.sl-page .sl-patterns button{flex-direction:column;gap:4px;min-height:70px;padding:6px 4px;font-size:11px;background:#0f1330}
.sl-page .sl-patterns button[aria-pressed=true]{border-color:#9dff8a;background:#1a2a20;color:#fff}.sl-patterns canvas{width:44px;height:30px;image-rendering:pixelated}
.sl-page textarea.sl-rle{width:100%;min-height:90px;font:12px ui-monospace,Consolas,monospace;color:#e8e6ff;background:#0a0d1f;border:1px solid #333b72;border-radius:10px;padding:8px}
@media(max-width:640px){.sl-page .ns-hudbar .sl-tools{flex-wrap:wrap}.sl-patterns{grid-template-columns:repeat(3,1fr)}}
.sl-page .ns-transport .ns-speed input{width:90px}
.sl-page .sl-viewseg{display:inline-flex;width:auto}.sl-page .sl-viewseg button{min-height:28px;padding:2px 10px;font-size:12px}

/* Batch 5: genetic drift, ideal gas, traffic */
.sl-hero-gd{background:radial-gradient(circle at 85% 20%,#4f8dff38,transparent 40%),radial-gradient(circle at 60% 120%,#ff6fae2a,transparent 45%),radial-gradient(circle at 0 0,#b38cff30,transparent 45%),#0a0c1b}
.sl-hero-ig{background:radial-gradient(circle at 85% 20%,#ff8a5c33,transparent 40%),radial-gradient(circle at 60% 120%,#4fd9ff2e,transparent 45%),radial-gradient(circle at 0 0,#ffd16626,transparent 45%),#07080f}
.sl-hero-tj{background:radial-gradient(circle at 85% 20%,#ff5d6c33,transparent 40%),radial-gradient(circle at 60% 120%,#9dff8a26,transparent 45%),radial-gradient(circle at 0 0,#ffd16630,transparent 45%),#0a0c1b}
.c-gA{color:#4f8dff}.c-ga{color:#ff6fae}.k-gA{background:#4f8dff}.k-ga{background:#ff6fae}.c-hot{color:#ff8a5c}.c-cold{color:#4fd9ff}.k-hot{background:#ff8a5c}.k-cold{background:#4fd9ff}
.sl-hw{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid #2a3060;border-radius:14px;background:#0f1330;font-size:12px;color:#c8cbe6}.sl-hw b{color:#fff;font-size:12.5px}
.sl-punnett{display:flex;flex-direction:column;gap:8px}.sl-pgrid td{text-align:center;font-weight:700}.sl-pgrid th{text-align:center}
.sl-pgrid td.g-AA{background:#4f8dff2a;color:#9ec0ff}.sl-pgrid td.g-Aa{background:#b38cff2a;color:#d8c4ff}.sl-pgrid td.g-aa{background:#ff6fae2a;color:#ffb0cf}
.sl-spacetime{display:block;width:100%;height:180px;border-radius:10px;image-rendering:pixelated;background:#05060d}
.sl-page .sl-heat{border-color:#ff8a5c88}.sl-page .sl-cool{border-color:#4fd9ff88}

/* Batch 6: oscillations and Monte Carlo */
.sl-hero-os{background:radial-gradient(circle at 85% 20%,#4f8dff38,transparent 40%),radial-gradient(circle at 60% 120%,#ff6fae2a,transparent 45%),radial-gradient(circle at 0 0,#9dff8a24,transparent 45%),#0a0c1b}
.sl-hero-mc{background:radial-gradient(circle at 85% 20%,#ffd16633,transparent 40%),radial-gradient(circle at 60% 120%,#c79bff2e,transparent 45%),radial-gradient(circle at 0 0,#ff5d6c26,transparent 45%),#07080f}
