Files
waving-hands/src/app.css
T
Eric WagonerandClaude Fable 5.1 6c6edca4be The hall comes first, in the shape of wizwar's landing
The home page is a centred card: title and pitch, your name, play the
bot or continue the duel under way, create or join a duel by code, a
sample ledger, the duels this browser holds with whose move it is, and
the story of the game. The single-player board lives at /play. The
droplet gains the duel server as a systemd service behind Caddy.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-22 17:11:45 -04:00

149 lines
2.3 KiB
CSS

:root {
--slate: #1c2830;
--slate-deep: #121a20;
--slate-raised: #24333d;
--bone: #e9e2d2;
--bone-dim: #98a4ab;
--bone-faint: #5d6b73;
--ember: #f0a53a;
--frost: #8cc8e0;
--blood: #e0655c;
--rule: rgba(233, 226, 210, 0.14);
--rule-strong: rgba(233, 226, 210, 0.32);
--font: 'Fraunces', 'Iowan Old Style', Georgia, serif;
--gutter: clamp(16px, 3vw, 40px);
}
* {
box-sizing: border-box;
}
html {
background: var(--slate-deep);
}
body {
margin: 0;
background: var(--slate-deep);
color: var(--bone);
font-family: var(--font);
font-size: 17px;
line-height: 1.55;
font-variation-settings: 'opsz' 14;
-webkit-font-smoothing: antialiased;
}
h1,
h2,
h3 {
font-weight: 500;
line-height: 1.15;
margin: 0;
}
p {
margin: 0;
}
button,
select,
input {
font: inherit;
color: inherit;
}
button {
cursor: pointer;
}
button:focus-visible,
select:focus-visible,
input:focus-visible,
summary:focus-visible {
outline: 2px solid var(--frost);
outline-offset: 2px;
}
select,
input[type='text'] {
background: var(--slate-deep);
border: 1px solid var(--rule-strong);
border-radius: 4px;
padding: 0.25rem 0.5rem;
max-width: 100%;
}
input[type='text'] {
color: var(--bone);
padding: 0.3rem 0.6rem;
}
button:disabled {
opacity: 0.35;
cursor: not-allowed;
}
/* An action written as a word in running text. */
.link {
background: none;
border: 0;
padding: 0;
font-size: inherit;
color: var(--frost);
text-decoration: underline;
}
/* The one button that commits a turn. */
.reveal {
background: var(--bone);
color: var(--slate-deep);
border: 0;
border-radius: 4px;
padding: 0.6rem 1.4rem;
font-size: 1.05rem;
font-weight: 500;
}
.reveal:hover:not(:disabled) {
background: #fff;
}
/* An italic prompt beside a control, e.g. "at" before a target list. */
.field {
display: inline-flex;
gap: 0.4rem;
align-items: baseline;
}
.field > span {
color: var(--bone-dim);
font-style: italic;
}
.letter {
font-weight: 600;
font-variation-settings: 'opsz' 144;
letter-spacing: 0.02em;
}
.muted {
color: var(--bone-dim);
}
.visually-hidden {
position: absolute;
width: 1px;
height: 1px;
overflow: hidden;
clip: rect(0 0 0 0);
}
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation: none !important;
transition: none !important;
}
}