swarm repositories / source
aboutsummaryrefslogtreecommitdiff
path: root/css/starsector-dark.controls.css
diff options
context:
space:
mode:
authormain <main@swarm.moe>2026-03-19 16:21:02 -0400
committermain <main@swarm.moe>2026-03-19 16:21:02 -0400
commit7330920c2f41558490fe53cf9253da333f917a90 (patch)
tree36ff879ea3b34758b63a126fee440e7f12501c1c /css/starsector-dark.controls.css
parent7b3e888fee775155679f11c0f9f68466327fc6d2 (diff)
downloaddesign-language-7330920c2f41558490fe53cf9253da333f917a90.zip
Add styled control primitives
Diffstat (limited to 'css/starsector-dark.controls.css')
-rw-r--r--css/starsector-dark.controls.css84
1 files changed, 84 insertions, 0 deletions
diff --git a/css/starsector-dark.controls.css b/css/starsector-dark.controls.css
index 5aaa03a..54938a1 100644
--- a/css/starsector-dark.controls.css
+++ b/css/starsector-dark.controls.css
@@ -5,7 +5,9 @@
:root {
--swarm-control-bg: rgba(4, 12, 18, 0.82);
+ --swarm-control-bg-raised: linear-gradient(180deg, rgba(11, 36, 48, 0.96), rgba(4, 15, 22, 0.98));
--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: linear-gradient(180deg, rgba(6, 20, 28, 0.95), rgba(2, 9, 14, 0.9));
@@ -13,6 +15,8 @@
--swarm-control-scroll-track: rgba(3, 10, 15, 0.75);
--swarm-control-scroll-thumb: linear-gradient(180deg, rgba(68, 152, 176, 0.9), rgba(22, 82, 106, 0.95));
--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);
}
* {
@@ -34,6 +38,86 @@
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: 2.15rem;
+ 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.38rem 0.58rem;
+}
+
+:where(select) {
+ padding-right: 2rem;
+ background-image:
+ linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(0, 0, 0, 0)),
+ linear-gradient(45deg, transparent 50%, var(--swarm-control-thumb) 50%),
+ linear-gradient(135deg, var(--swarm-control-thumb) 50%, transparent 50%);
+ background-position:
+ 0 0,
+ calc(100% - 0.95rem) calc(50% - 0.12rem),
+ calc(100% - 0.65rem) calc(50% - 0.12rem);
+ background-size:
+ auto,
+ 0.34rem 0.34rem,
+ 0.34rem 0.34rem;
+ background-repeat: no-repeat;
+}
+
+:where(button, input[type="button"], input[type="submit"], input[type="reset"]) {
+ padding: 0.38rem 0.72rem;
+ 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;