/* Starsector dark control primitives. Intended to be used with starsector-dark.frame-font.css. */ :root { --swarm-control-bg: rgba(4, 12, 18, 0.82); --swarm-control-bg-raised: rgba(8, 24, 34, 0.96); --swarm-control-border: rgba(68, 152, 176, 0.36); --swarm-control-border-strong: rgba(122, 215, 238, 0.72); --swarm-control-thumb: #9fd7ea; --swarm-control-thumb-edge: #0b1a25; --swarm-control-check-bg: rgba(5, 14, 20, 0.94); --swarm-control-check-bg-checked: rgba(8, 26, 36, 0.96); --swarm-control-scroll-track: rgba(3, 10, 15, 0.75); --swarm-control-scroll-thumb: rgba(44, 114, 136, 0.94); --swarm-control-range-track: rgba(5, 18, 26, 0.94); --swarm-control-text-muted: #9fb4ca; --swarm-control-shadow: 0 0 0 1px rgba(0, 0, 0, 0.42) inset, 0 12px 24px rgba(0, 0, 0, 0.22); --swarm-control-placeholder: rgba(159, 180, 202, 0.72); --swarm-control-select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%239fd7ea' d='M1 1h8L5 5z'/%3E%3C/svg%3E"); } * { scrollbar-width: thin; scrollbar-color: var(--swarm-frame-edge-strong, rgba(68, 152, 176, 0.86)) var(--swarm-control-scroll-track); } *::-webkit-scrollbar { width: 10px; height: 10px; } *::-webkit-scrollbar-track { background: var(--swarm-control-scroll-track); } *::-webkit-scrollbar-thumb { background: var(--swarm-control-scroll-thumb); border: 1px solid rgba(0, 0, 0, 0.65); } :where( button, input[type="button"], input[type="submit"], input[type="reset"], select, input[type="search"], input[type="text"], input[type="email"], input[type="password"], textarea ) { appearance: none; -webkit-appearance: none; min-height: 1.9rem; border: 1px solid var(--swarm-control-border); border-radius: 0; background: var(--swarm-control-bg); color: inherit; box-shadow: var(--swarm-control-shadow); font: inherit; } :where( select, input[type="search"], input[type="text"], input[type="email"], input[type="password"], textarea ) { padding: 0.24rem 0.5rem; } :where(select) { padding-right: 1.85rem; background-image: var(--swarm-control-select-arrow); background-position: calc(100% - 0.62rem) 50%; background-size: 0.58rem 0.34rem; background-repeat: no-repeat; } :where(button, input[type="button"], input[type="submit"], input[type="reset"]) { padding: 0.24rem 0.62rem; background: var(--swarm-control-bg-raised); text-transform: uppercase; letter-spacing: 0.08em; cursor: pointer; } :where( button, input[type="button"], input[type="submit"], input[type="reset"], select, input[type="search"], input[type="text"], input[type="email"], input[type="password"], textarea ):focus-visible { outline: 1px solid var(--swarm-control-border-strong); outline-offset: 1px; border-color: var(--swarm-control-border-strong); } :where(input[type="search"], input[type="text"], input[type="email"], input[type="password"], textarea)::placeholder { color: var(--swarm-control-placeholder); } input[type="range"] { width: 100%; appearance: none; height: 0.56rem; border: 1px solid var(--swarm-control-border); background: var(--swarm-control-range-track); padding: 0; cursor: ew-resize; touch-action: none; } input[type="range"]::-webkit-slider-thumb { appearance: none; width: 0.58rem; height: 0.95rem; background: var(--swarm-control-thumb); border: 1px solid var(--swarm-control-thumb-edge); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.45) inset; cursor: ew-resize; } input[type="range"]::-moz-range-thumb { width: 0.58rem; height: 0.95rem; background: var(--swarm-control-thumb); border: 1px solid var(--swarm-control-thumb-edge); border-radius: 0; cursor: ew-resize; } input[type="range"]::-moz-range-track { height: 0.56rem; border: 1px solid var(--swarm-control-border); border-radius: 0; background: var(--swarm-control-range-track); } input[type="checkbox"] { appearance: none; width: 1.03rem; height: 1.03rem; margin: 0; border: 1px solid var(--swarm-control-border); background: var(--swarm-control-check-bg); display: grid; place-content: center; } input[type="checkbox"]::before { content: ""; width: 0.58rem; height: 0.58rem; transform: scale(0); clip-path: polygon(14% 53%, 28% 67%, 74% 21%, 84% 31%, 28% 87%, 4% 63%); background: var(--swarm-control-thumb); transition: transform 120ms ease-out; } input[type="checkbox"]:checked { border-color: var(--swarm-frame-edge-strong, rgba(68, 152, 176, 0.86)); background: var(--swarm-control-check-bg-checked); } input[type="checkbox"]:checked::before { transform: scale(1); } .range-field { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0.45rem; } .range-value { min-width: 3.2rem; text-align: right; color: var(--swarm-control-text-muted); font-size: 0.72rem; user-select: none; pointer-events: none; } .check-control { display: inline-flex; align-items: center; justify-content: flex-start; gap: 0.5rem; white-space: nowrap; } .check-control span { line-height: 1.2; }