
@font-face { font-family: 'Handjet fallback'; src: local('Arial Bold'), local('Arial-BoldMT'), local('Helvetica Neue Bold'), local('Roboto Bold'), local('Arial'); font-weight: 700; size-adjust: 69%; }
.calder {
  --c-bg: #17191c;
  --c-panel: #202328;
  --c-line: #3d424a;
  --c-text: #ddd6c6;
  --c-dim: #a29b8d;
  --c-accent: #d8a24e;
  --c-neon: #6cc9c4;
  --c-alert: #e98b78;
  --c-ink: #17191c;
  background: var(--c-bg);
  color: var(--c-text);
  border: 1px solid var(--c-line);
  font-family: var(--font-ui);
  font-size: 14px;
  line-height: 1.5;
  background-image:
    repeating-linear-gradient(100deg, transparent 0 46px, rgba(108, 201, 196, 0.035) 46px 47px),
    linear-gradient(180deg, #1c1f23 0, var(--c-bg) 240px);
}
:is(.calder-felt, .calder-arcade, .calder-beach, .calder-dive, .calder-herald-desk, .calder-clawcab, .calder-studio,
    .calder-motors, .calder-pier, .calder-terminal, .calder-idcard, .calder-status, .calder-dialog-box, .calder-corkboard, .calder-hallwall) {
  --c-bg: #121519;
  --c-panel: #1a1e23;
  --c-line: #3a424c;
  --c-text: #dcd8cf;
  --c-dim: #a3a8ae;
  --c-accent: var(--g0, #e3a857);
  --c-neon: #6cc9c4;
  --c-alert: #e98b78;
  --c-ink: #121519;
  color: var(--c-text);
}
.calder-status { --c-accent: #e3a857; }
.calder {
  --f-sign: 'Handjet', 'Handjet fallback', 'IBM Plex Sans', system-ui, sans-serif;
  --f-ui: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-fig: var(--font-ui);
  --f-read: var(--font-display);
  --f-hand: 'Caveat', 'Segoe Print', cursive;
  --pp-paper: #b2a68e;
  --pp-card: #bdb39c;
  --pp-manila: #c9b07a;
  --pp-ink: #221c12;
  --pp-dim: #3d3526;
  --pp-rule: #8d8270;
  --pp-mink: #2a200c;
  --pp-ok: #183e22;
  --pp-bad: #671a12;
  --pp-sticky: #d9c25a;
  --pp-sticky-ink: #2a2205;
  --pp-tape: rgba(222, 214, 180, 0.5);
  --pp-coffee: rgba(160, 118, 64, 0.3);
  --pp-shadow: rgba(0, 0, 0, 0.35);
  --pp-sheen: rgba(255, 255, 255, 0.14);
  --pp-edge: rgba(255, 255, 255, 0.18);
  --pp-wash: rgba(0, 0, 0, 0.07);
  --pp-grain: 0.04;
  --pp-hole: var(--c-bg);
}
html[data-tone="light"] .calder {
  --pp-paper: #f1e8d4;
  --pp-card: #f6efe0;
  --pp-manila: #e2cf9f;
  --pp-rule: #cdbf9f;
  --pp-tape: rgba(255, 252, 235, 0.75);
  --pp-coffee: rgba(120, 80, 30, 0.2);
  --pp-shadow: rgba(60, 45, 20, 0.22);
  --pp-wash: rgba(60, 45, 20, 0.06);
  --pp-grain: 0.03;
  --pp-hole: color-mix(in srgb, var(--c-bg), #000 16%);
}
#calder-app[data-group="desk"] { --pp-g: #512d0b; }
#calder-app[data-group="you"] { --pp-g: #522c09; }
#calder-app[data-group="work"] { --pp-g: #5c240c; }
#calder-app[data-group="money"] { --pp-g: #1a3c24; }
#calder-app[data-group="casino"] { --pp-g: #443505; }
#calder-app[data-group="arcade"] { --pp-g: #64183e; }
#calder-app[data-group="studio"] { --pp-g: #1a355d; }
#calder-app[data-group="city"] { --pp-g: #133c38; }
#calder-app[data-group="chat"] { --pp-g: #3b296b; }
:is(.calder-slip, .calder-lanyard, .calder-notepad, .calder-receipt, .calder-rows) {
  --c-bg: var(--pp-paper);
  --c-panel: var(--pp-paper);
  --c-text: var(--pp-ink);
  --c-dim: var(--pp-dim);
  --c-line: var(--pp-rule);
  --c-accent: var(--pp-g, var(--pp-ink));
  --c-neon: var(--pp-ok);
  --c-alert: var(--pp-bad);
  --c-ink: var(--pp-paper);
  position: relative;
  z-index: 1;
  color: var(--c-text);
  background: var(--c-bg);
  font-family: var(--f-ui);
  box-shadow: 0 2px 0 var(--pp-shadow);
}
:where(.calder-slip, .calder-lanyard, .calder-notepad, .calder-receipt, .calder-rows) a { color: var(--c-text); text-decoration-color: var(--c-line); text-underline-offset: 3px; }
.calder-slip { border-radius: 14px; padding: 16px; }
.calder-tilt-l { rotate: -0.6deg; }
.calder-tilt-r { rotate: 0.5deg; }
.calder-lanyard {
  --c-bg: var(--pp-card);
  background: linear-gradient(160deg, var(--pp-sheen), transparent 40%), var(--c-bg);
  border-radius: 16px;
  padding: 24px 16px 12px;
  box-shadow: 0 2px 0 var(--pp-shadow), inset 0 0 0 1px var(--pp-edge);
}
.calder-lanyard::before {
  content: '';
  position: absolute;
  top: 8px;
  left: 50%;
  width: 38px;
  height: 6px;
  translate: -50% 0;
  border-radius: 3px;
  background: var(--pp-hole);
}
.calder-notepad {
  background: radial-gradient(circle at 12px 9px, var(--pp-hole) 4px, transparent 4.5px) 0 0 / 24px 18px repeat-x, var(--c-bg);
  border-radius: 4px 4px 16px 16px;
  padding: 24px 16px 12px;
}
.calder-notepad > ul, .calder-notepad > ol { list-style: none; margin: 0; padding: 0; }
.calder-notepad li {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 4px 0;
  border-bottom: 1px solid var(--c-line);
  font-size: 15px;
}
.calder-notepad li:last-child { border-bottom: 0; }
.calder-tick { flex: none; width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--c-dim); }
.calder-receipt {
  --c-bg: var(--pp-card);
  border-radius: 12px 12px 0 0;
  padding: 16px 16px 24px;
  box-shadow: none;
  -webkit-mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / 14px 100%;
  mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / 14px 100%;
}
.calder-receipt > ul, .calder-receipt > ol { list-style: none; margin: 0; padding: 0; }
.calder-receipt li { display: flex; align-items: baseline; gap: 4px; padding: 4px 0; font-size: 15px; }
.calder-receipt li::after { content: ''; order: 1; flex: 1; min-width: 16px; border-bottom: 2px dotted var(--c-line); }
.calder-receipt li > :last-child { order: 2; font-family: var(--f-fig); font-variant-numeric: tabular-nums; }
.calder-receipt-foot { margin: 8px 0 0; text-align: center; font: 11px var(--f-fig); letter-spacing: 0.1em; color: var(--c-dim); }
.calder-rows { list-style: none; margin: 0; padding: 4px 16px; border-radius: 16px; }
.calder-rows > li { border-bottom: 1px solid var(--c-line); }
.calder-rows > li:last-child { border-bottom: 0; }
.calder-row {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 8px 0;
  font: 15px var(--f-ui);
  color: var(--c-text);
}
:is(a, button).calder-row { width: 100%; margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; text-align: left; text-decoration: none; cursor: pointer; }
:is(a, button).calder-row:hover { background: var(--pp-wash); }
.calder-row-ico { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: var(--pp-wash); }
.calder-row-name { min-width: 0; overflow-wrap: anywhere; }
.calder-row-sub { display: block; font-size: 13px; color: var(--c-dim); }
.calder-row-end { justify-self: end; text-align: right; font-family: var(--f-fig); font-variant-numeric: tabular-nums; }
.calder-pricetag {
  position: relative;
  display: inline-block;
  padding: 4px 8px 4px 16px;
  border-radius: 4px 9px 9px 4px;
  clip-path: polygon(9px 0, 100% 0, 100% 100%, 9px 100%, 0 50%);
  background: var(--pp-manila);
  color: var(--pp-mink);
  font: 600 15px var(--f-fig);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.calder-pricetag::before { content: ''; position: absolute; left: 8px; top: 50%; width: 5px; height: 5px; translate: 0 -50%; border-radius: 50%; background: var(--pp-paper); }
.calder-mark {
  display: inline-block;
  padding: 4px 8px 2px;
  border: 2px solid currentColor;
  border-radius: 8px;
  color: var(--pp-bad);
  font: 700 22px/1 var(--f-sign);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  rotate: -8deg;
}
.calder-mark-ok { color: var(--pp-ok); }
.calder-mark-pill { padding: 2px 8px 0; border-radius: 999px; font-size: 16px; letter-spacing: 0.1em; rotate: -6deg; }
.calder-sign { margin: 0; font: 700 30px/0.9 var(--f-sign); letter-spacing: 0.01em; color: var(--pp-g, var(--c-text)); }
.calder-sign-small { font-size: 22px; }
.calder-meta { font: 11px var(--f-fig); letter-spacing: 0.04em; text-transform: uppercase; color: var(--c-dim); }
.calder-signrow { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; margin: 0 0 8px; }
.calder-figs { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; }
.calder-figs > * { flex: 1 1 128px; min-width: 0; padding: 4px 8px; border-radius: 10px; background: var(--pp-wash); }
.calder-figs > :first-child { flex-basis: 100%; }
.calder-figs-label { display: block; font: 11px var(--f-ui); color: var(--c-dim); }
.calder-figs-value { display: block; font: 600 15px var(--f-fig); font-variant-numeric: tabular-nums; }
.calder-scrawl { margin: 8px 0 0 24px; font: 22px/1 var(--f-hand); color: var(--pp-g, var(--c-text)); rotate: -3deg; }
.calder-sticky {
  position: relative;
  z-index: 3;
  max-width: 128px;
  padding: 8px 12px;
  border-radius: 3px 3px 12px 3px;
  background: var(--pp-sticky);
  color: var(--pp-sticky-ink);
  font: 22px/1.05 var(--f-hand);
  rotate: 4deg;
  box-shadow: 0 3px 4px var(--pp-shadow);
}
.calder-taped { position: relative; }
.calder-taped::before {
  content: '';
  position: absolute;
  z-index: 2;
  top: -8px;
  left: 32px;
  width: 56px;
  height: 18px;
  border-radius: 2px;
  background: var(--pp-tape);
  rotate: -5deg;
  pointer-events: none;
}
.calder-coffee { position: absolute; z-index: 0; width: 72px; height: 72px; border-radius: 50%; box-shadow: inset 0 0 0 3px var(--pp-coffee); pointer-events: none; }
.calder-grain::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  opacity: var(--pp-grain);
  mix-blend-mode: multiply;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.calder-page { max-width: 760px; }
.calder-page > .page-header { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; margin: 0; }
@media (min-width: 1100px) {
  .calder-page { max-width: 1080px; }
  .calder .calder-listings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-items: stretch; }
  .calder .calder-listings > :not(.calder-listing) { grid-column: 1 / -1; }
  .calder .calder-listings.calder-frame-tiers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .calder .calder-listings > .calder-listing > .calder-listing-actions { margin-top: auto; padding-top: 8px; }
  #calder-app.calder-sheet-page { columns: 2; column-gap: 18px; }
  #calder-app.calder-sheet-page > * { break-inside: avoid; }
  #calder-app.calder-sheet-page > .calder-tabset,
  #calder-app.calder-sheet-page > .calder-welcome,
  #calder-app.calder-sheet-page > .calder-sheet-top,
  #calder-app.calder-sheet-page > .calder-result { column-span: all; }
  #calder-app.calder-sheet-page > .calder-section:first-of-type { margin-top: 0; }
}
.calder-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-bottom: 1px solid var(--c-line);
  background: var(--c-panel);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
}
.calder-seal {
  width: 12px;
  height: 12px;
  flex: none;
  background: var(--c-accent);
  box-shadow: inset 0 0 0 3px var(--c-panel), 0 0 0 1px var(--c-accent);
}
.calder-bar-title { flex: 1; min-width: 0; }
.calder-bar-form { color: var(--c-dim); white-space: nowrap; }
.calder-bar-where { display: none; }
.calder-music {
  flex: none;
  min-height: 24px;
  padding: 2px 8px;
  border: 1px solid var(--c-line);
  background: none;
  color: var(--c-dim);
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
}
.calder-music:hover { color: var(--c-text); }
.calder-music[aria-pressed="true"] { color: var(--c-accent); }
.calder-music:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 1px; }
.calder-bar { position: relative; }
.calder-body { padding: 18px 16px 22px; }
.calder-foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 4px 12px;
  padding: 8px 14px;
  border-top: 1px solid var(--c-line);
  color: var(--c-dim);
  font-size: 12px;
}
.calder-h {
  margin: 0 0 6px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 24px;
  line-height: 1.2;
  color: var(--c-text);
}
.calder-note { margin: 0 0 12px; color: var(--c-dim); }
.calder-note.dim { font-size: 12px; }
.calder-read { font-family: var(--font-display); font-size: 17px; line-height: 1.5; }
.calder-paper .calder-read, .calder-terminal .calder-read { font-family: inherit; font-size: inherit; line-height: inherit; }
.calder-alert { margin: 8px 0 0; color: var(--c-alert); min-height: 1.5em; }
.calder-alert:empty { min-height: 0; margin: 0; }
.calder-link { color: var(--c-neon); display: inline-flex; align-items: center; min-height: 28px; }
.calder-note .calder-link, .calder-read .calder-link, .calder-smallprint-item .calder-link { display: inline; position: relative; min-height: 0; white-space: nowrap; }
.calder-note .calder-link::after, .calder-read .calder-link::after, .calder-smallprint-item .calder-link::after { content: ""; position: absolute; left: -2px; right: -2px; top: 50%; height: 28px; transform: translateY(-50%); }
@media (pointer: coarse) {
  .calder-note .calder-link::after, .calder-read .calder-link::after, .calder-smallprint-item .calder-link::after { content: ""; position: absolute; left: -4px; right: -4px; top: 50%; height: 44px; transform: translateY(-50%); }
}
.calder-link:hover, .calder-link:focus-visible { color: var(--c-text); }
.calder-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.calder-section {
  margin: 18px 0 0;
  padding: 14px 14px 12px;
  border: 1px solid var(--c-line);
  background: var(--c-panel);
  min-width: 0;
}
.calder-section[class="calder-section"] {
  margin-top: 26px;
  padding: 14px 0 0;
  border: 0;
  border-top: 1px solid var(--c-line);
  background: none;
}
.calder-legend {
  margin: 0 0 10px;
  padding: 0 6px;
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-accent);
}
section.calder-section > .calder-legend { padding: 0; }
section.calder-section > .calder-legend::before { content: ''; display: inline-block; width: 3px; height: 0.9em; margin-right: 8px; vertical-align: -0.1em; background: var(--c-accent); pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
  .calder-btn { transition: none; }
  .calder-btn:active { translate: none; }
}
.calder-field { display: grid; grid-template-columns: 7.5em minmax(0, 1fr); align-items: center; gap: 8px; margin: 0 0 8px; }
.calder-field label { color: var(--c-dim); font-size: 13px; }
.calder-select, .calder-input {
  min-height: 32px;
  padding: 4px 8px;
  border: 1px solid var(--c-line);
  border-radius: 0;
  background: var(--c-bg);
  color: var(--c-text);
  font: inherit;
  width: 100%;
  min-width: 0;
}
.calder-select option { background: var(--c-bg); color: var(--c-text); }
.calder-textarea { resize: vertical; min-height: 64px; }
.calder-select:focus-visible, .calder-input:focus-visible,
.calder-btn:focus-visible, .calder-job:focus-within {
  outline: 2px solid var(--c-neon);
  outline-offset: 2px;
}
.calder-btn {
  min-height: 32px;
  padding: 5px 14px;
  border: 1px solid var(--c-line);
  border-radius: 0;
  background: var(--c-bg);
  color: var(--c-text);
  font: inherit;
  cursor: pointer;
}
.calder-btn:hover { border-color: var(--c-accent); background: color-mix(in srgb, var(--c-bg) 90%, var(--c-accent)); }
.calder-btn:active { background: var(--c-panel); translate: 0 1px; }
.calder-btn { transition: background-color 0.12s, border-color 0.12s; }
.calder-btn.primary { background: var(--c-accent); border-color: var(--c-accent); color: var(--c-ink); font-weight: 600; }
.calder-btn.primary:hover { background: color-mix(in srgb, var(--c-accent) 82%, #ffffff); }
.calder-btn.primary:active { background: color-mix(in srgb, var(--c-accent) 85%, #000000); }
.calder-btn[data-armed="1"] { background: #2e7d4f; border-color: #1f5c39; color: #ffffff; font-weight: 600; }
.calder-btn[data-armed="1"]:hover { background: #276d44; }
.calder-btn[data-armed="1"]:active { background: #1f5c39; }
.calder-btn.quiet { color: var(--c-dim); margin-top: 4px; }
.calder-btn:disabled { cursor: not-allowed; color: var(--c-dim); background: var(--c-bg); border-color: var(--c-line); font-weight: 400; }
html:not([data-tone="light"]) .calder .calder-btn:not(.primary):not(.calder-action-go):not(.calder-link-btn):not(.calder-action-danger):not(.calder-order-go):not(.calder-order-swap):not(.calder-swatch):not(.calder-fp .calder-btn):not([data-armed="1"]):not(:disabled):not(.calder-locked) {
  background: color-mix(in srgb, var(--c-bg) 92%, var(--c-accent) 8%);
  border-color: color-mix(in srgb, var(--c-line) 70%, var(--c-accent) 30%);
}
html:not([data-tone="light"]) .calder .calder-btn:not(.primary):not(.calder-action-go):not(.calder-link-btn):not(.calder-action-danger):not(.calder-order-go):not(.calder-order-swap):not(.calder-swatch):not(.calder-fp .calder-btn):not([data-armed="1"]):not(:disabled):not(.calder-locked):hover {
  background: color-mix(in srgb, var(--c-bg) 90%, var(--c-accent) 10%);
  border-color: var(--c-accent);
}
html:not([data-tone="light"]) .calder .calder-btn:not(.primary):not(.calder-action-go):not(.calder-link-btn):not(.calder-action-danger):not(.calder-order-go):not(.calder-order-swap):not(.calder-swatch):not(.calder-fp .calder-btn):not([data-armed="1"]):not(:disabled):not(.calder-locked):active {
  background: color-mix(in srgb, var(--c-panel) 90%, var(--c-accent) 10%);
}
.calder-btn.calder-locked:disabled { border-style: dashed; background: transparent; box-shadow: none; }
.calder-btn.step { width: 32px; padding: 0; font-size: 18px; line-height: 1; }
.calder-tip > .calder-note:first-child { margin-bottom: 12px; }
.calder-tip-tail { white-space: nowrap; }
.calder-lf-ticket { margin-top: 20px; }
.calder-tip-btn {
  min-height: 24px;
  width: 24px;
  padding: 0;
  margin: 0 0 0 4px;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  color: var(--c-dim);
  vertical-align: middle;
}
.calder-tip-btn[aria-expanded="true"] { color: var(--c-text); border-color: var(--c-dim); }
.calder-tip-more { margin-top: -6px; padding-left: 10px; border-left: 2px solid var(--c-line); }
.calder-fold-form { margin: 0 0 10px; }
.calder-fold-body { margin-top: 10px; }
.calder-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.calder-look { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; align-items: start; }
.calder-preview { border: 1px solid var(--c-line); line-height: 0; }
.calder-form .calder-look > .calder-preview { position: sticky; top: 8px; z-index: 2; background: var(--c-bg); }
.calder-bust-canvas { display: block; image-rendering: pixelated; }
.calder-pickers { display: flex; flex-direction: column; min-width: 0; }
.calder-pickers > .calder-btn { align-self: flex-start; }
.calder-points { margin: 0 0 8px; color: var(--c-accent); }
.calder-stats { display: flex; flex-direction: column; gap: 6px; }
.calder-stat { display: grid; grid-template-columns: minmax(0, 1fr) 32px 2.2em 32px 5.5em; align-items: center; gap: 8px; }
.calder-stat-name { min-width: 0; }
.calder-stat-value { text-align: center; font-size: 18px; font-weight: 600; color: var(--c-text); }
.calder-stat-mod { color: var(--c-dim); font-size: 12px; text-align: right; }
.calder-jobs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.calder-job {
  display: flex;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--c-line);
  background: var(--c-bg);
  cursor: pointer;
}
.calder-job:hover { border-color: var(--c-dim); }
.calder-job:has(input:checked) { border-color: var(--c-accent); box-shadow: inset 3px 0 0 var(--c-accent); }
.calder-job input { margin: 3px 0 0; accent-color: var(--c-accent); width: 16px; height: 16px; flex: none; }
.calder-job-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.calder-job-title { font-weight: 600; min-width: 0; overflow-wrap: anywhere; }
.calder-job-employer { color: var(--c-dim); font-size: 12px; }
.calder-job-terms { color: var(--c-neon); font-size: 12px; }
.calder-job-blurb { color: var(--c-dim); font-size: 12px; margin-top: 4px; }
.calder-sheet-top { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; align-items: start; }
.calder-portrait { border: 1px solid var(--c-line); line-height: 0; }
.calder-name { margin: 0; font-family: var(--font-display); font-size: 26px; font-weight: 600; line-height: 1.2; overflow-wrap: anywhere; }
.calder-account { color: var(--c-dim); font-family: var(--font-ui); font-size: 15px; font-weight: 400; }
.calder-occupation { margin: 4px 0 0; }
.calder-tier {
  display: inline-block;
  margin: 8px 0 0;
  padding: 1px 8px;
  border: 1px solid var(--c-accent);
  color: var(--c-accent);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.calder-bio { margin: 10px 0 0; color: var(--c-text); font-style: italic; overflow-wrap: anywhere; }
.calder-figures { display: grid; grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); gap: 10px; margin-top: 18px; }
.calder-figure { display: flex; flex-direction: column; padding: 10px 12px; border: 1px solid var(--c-line); border-top: 2px solid var(--c-accent); background: var(--c-panel); min-width: 0; }
.calder-figure-name { color: var(--c-dim); font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; }
.calder-figure-value { font-size: 22px; font-weight: 700; color: var(--c-text); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.calder-figure-sub { color: var(--c-dim); font-size: 12px; }
.calder-figure-wide { grid-column: 1 / -1; }
@media (max-width: 480px) {
  .calder-figures { grid-auto-flow: row dense; }
  .calder-figure-lone { grid-column: 1 / -1; }
}
.calder-statlist { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 4px 16px; margin: 0 0 8px; }
.calder-statlist dt { color: var(--c-dim); }
.calder-perks { margin: 4px 0 0; padding: 0 0 0 18px; font-size: 13px; color: var(--c-text); }
.calder-perks li { margin: 0 0 3px; }
.calder-perks b { color: var(--c-accent); font-weight: 700; }
.calder-standing li.dim { color: var(--c-dim); }
.calder-standing li.dim b { color: var(--c-dim); }
.calder-statlist dd { margin: 0; overflow-wrap: anywhere; }
.calder-inline { display: flex; gap: 8px; align-items: flex-start; }
.calder-inline .calder-input { flex: 1; }
.calder-inline > .calder-btn.quiet { margin-top: 0; }
.calder-actions > .calder-btn.quiet { margin-top: 0; }
@media (max-width: 600px) { .calder-actions > .calder-btn { flex: 1 1 auto; } }
.calder-inline > .calder-btn, .calder-teller > .calder-btn { flex: none; white-space: nowrap; }
.calder-count { display: block; margin-top: 4px; color: var(--c-dim); font-size: 12px; text-align: right; }
.calder-teller { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; }
.calder-teller-quick { grid-template-columns: repeat(2, auto); justify-content: start; margin-top: 8px; }
.calder-teller-quick > .calder-btn.quiet { margin-top: 0; }
.calder-dialog {
  display: grid;
  grid-template-columns: minmax(0, auto) 1fr minmax(0, auto);
  grid-template-areas: "them . you" "box box box";
  gap: 10px;
  margin: 0 0 16px;
}
.calder-dialog.has-ask { grid-template-areas: "them . you" "box box box" "ask ask ask"; }
.calder-dialog-ask { grid-area: ask; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.calder-dialog-favour { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.calder-discord-line { margin: -6px 0 16px; }
.calder-dialog-them { grid-area: them; }
.calder-dialog-you { grid-area: you; text-align: right; }
.calder-dialog-pic { display: inline-block; border: 2px solid var(--c-line); line-height: 0; background: var(--c-bg); }
.calder-dialog-pic canvas { display: block; image-rendering: pixelated; }
.calder-dialog-name {
  overflow-wrap: anywhere;
  margin: 4px 0 0;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-accent);
}
.calder-dialog-you .calder-dialog-name { color: var(--c-neon); }
.calder-dialog-tag { margin: 2px 0 0; font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--c-text); overflow-wrap: anywhere; }
.calder-dialog-box {
  grid-area: box;
  position: relative;
  min-height: 4.8em;
  padding: 10px 28px 10px 14px;
  border: 3px double var(--c-text);
  background: #0c0e11;
  cursor: pointer;
}
.calder-dialog-line { margin: 0; font-size: 15px; line-height: 1.5; color: var(--c-text); }
.calder-dialog-more { position: absolute; right: 10px; bottom: 6px; font-size: 11px; color: var(--c-accent); visibility: hidden; }
.calder-dialog-box.done .calder-dialog-more { visibility: visible; }
@media (max-width: 480px) {
  .calder-dialog-line { font-size: 14px; }
}
@media (min-width: 560px) { .calder-dialog-pic canvas { width: 120px !important; height: 130px !important; } }
@media (min-width: 1100px) { .calder-dialog-pic canvas { width: 144px !important; height: 156px !important; } }
@media (min-width: 1100px) { .calder-sheet-top > .calder-portrait > canvas { width: 144px; height: 156px; } }
.calder-arcade-cab { --cab: var(--c-neon); border-top: 3px solid var(--cab); }
.calder-arcade-cab:nth-child(3n + 2) { --cab: var(--c-accent); }
.calder-arcade-cab:nth-child(3n) { --cab: #e87aa8; }
.calder-arcade-marquee { display: flex; align-items: center; gap: 6px; }
.calder-arcade-icon { display: inline-block; width: 1.6em; font-size: 20px; line-height: 1; text-align: center; }
.calder-arcade-name { margin: 0; font-size: 15px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--cab); }
.calder-arcade-score { margin: 2px 0 0; font-size: 13px; color: var(--c-dim); font-variant-numeric: tabular-nums; }
.calder-arcade-best { margin-top: 0; color: var(--c-text); }
.calder-arcade-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.calder-arcade-actions > .calder-btn.quiet { margin-top: 0; }
.calder .calder-cas-lobby { margin-top: 10px; }
.calder-cas-icon { display: inline-block; width: 1.6em; margin-right: 6px; font-size: 20px; line-height: 1; text-align: center; vertical-align: -3px; }
.calder .calder-cas-lobby .cas-boss .cas-lobby-panel { color: #f3ead6; }
.calder .calder-cas-lobby .cas-boss .cas-peak { color: #c9bca0; }
.calder .calder-cas-lobby .arcade-btn {
  min-height: 32px; padding: 5px 14px; border: 1px solid var(--c-line); border-radius: 0; box-shadow: none;
  background: var(--c-bg); color: var(--c-text); font: inherit; cursor: pointer;
}
.calder .calder-cas-lobby .arcade-btn.primary { background: var(--c-accent); border-color: var(--c-accent); color: var(--c-ink); font-weight: 600; }
.calder .calder-cas-lobby .arcade-btn:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 2px; }
.calder-welcome { margin: 0 0 16px; }
.calder-welcome .calder-dialog { margin-bottom: 8px; }
.calder-welcome-step { margin: 0; align-self: center; }
.calder-jobs-actions > .calder-actions { margin-top: 0; }
.calder-jobs-actions { margin: 0 0 4px; }
.calder-status {
  display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px;
  margin-top: 8px; padding: 6px 10px;
  border: 1px solid var(--c-line); background: var(--c-panel);
  font-size: 12px; color: var(--c-dim);
}
.calder-status-money { color: var(--c-text); margin-right: auto; }
@media (max-width: 600px) { .calder-status-money { flex-basis: 100%; } }
@media (max-width: 360px) { .calder-status { font-size: 11px; gap: 4px 10px; padding: 6px 8px; } }
.calder-weather-tag { color: var(--c-text); }
.calder-status-timer { display: inline-flex; align-items: center; min-height: 24px; color: var(--c-dim); text-decoration: none; }
.calder-status-timer::after { content: none; }
.calder-status-timer.ready { color: var(--c-neon); }
.calder-status-timer:hover { color: var(--c-text); text-decoration: underline; }
.calder-status-timer:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 2px; }
.calder-tree-pane { display: none; }
.calder-tree-shade { display: none; }
.calder-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 4px 6px;
  color: var(--c-dim);
  text-decoration: none;
  border: 1px solid var(--c-line);
}
.calder-tab::after { content: none; }
.calder-tab:hover { color: var(--c-text); }
.calder-tab[aria-current] { color: var(--c-accent); border-color: var(--c-line); background: var(--c-panel); }
.calder-tab:focus-visible { outline: 2px solid var(--c-neon); outline-offset: -2px; }
.calder-tree-item[data-group="desk"], #calder-app[data-group="desk"] { --g0: #e0a548; }
.calder-tree-item[data-group="you"], #calder-app[data-group="you"] { --g0: #e3a857; }
.calder-tree-item[data-group="work"], #calder-app[data-group="work"] { --g0: #f0955a; }
.calder-tree-item[data-group="money"], #calder-app[data-group="money"] { --g0: #6fcf8a; }
.calder-tree-item[data-group="casino"], #calder-app[data-group="casino"] { --g0: #e6b84a; }
.calder-tree-item[data-group="arcade"], #calder-app[data-group="arcade"] { --g0: #ff7ab6; }
.calder-tree-item[data-group="studio"], #calder-app[data-group="studio"] { --g0: #84b4f2; }
.calder-tree-item[data-group="city"], #calder-app[data-group="city"] { --g0: #6cc9c4; }
.calder-tree-item[data-group="chat"], #calder-app[data-group="chat"] { --g0: #b79cf2; }
.calder-tree-item[data-group], #calder-app[data-group] { --g: var(--g0); }
#calder-app[data-group] { --c-accent: var(--g); }
.calder-tree-title {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 4px 6px 4px 10px;
  border-bottom: 1px solid var(--c-line);
  background: var(--c-panel);
  font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--c-dim);
}
.calder-tree-all {
  margin-left: auto;
  min-height: 24px; padding: 2px 8px;
  border: 1px solid var(--c-line); background: var(--c-bg); color: var(--c-text);
  font: inherit; font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; white-space: nowrap;
  cursor: pointer;
}
.calder-tree-all:hover { border-color: var(--c-accent); color: var(--c-accent); }
.calder-tree-all:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 1px; }
.calder-tree-install { padding: 6px 10px; border-top: 1px solid var(--c-line); }
.calder-tree-install[hidden] { display: none; }
.calder-install-btn { width: 100%; margin-top: 0; font-size: 12px; }
.calder-install-how { margin: 6px 0 0; font-size: 12px; color: var(--c-dim); }
.calder-tree-close {
  display: none;
  position: relative;
  min-width: 32px; min-height: 32px;
  padding: 0;
  border: 0; background: none; color: var(--c-text);
  cursor: pointer;
}
.calder-tree-close::before {
  content: '';
  position: absolute; left: 50%; top: 50%;
  width: 9px; height: 9px;
  margin: -5px 0 0 -3px;
  border-left: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
}
.calder-tree-close:hover { color: var(--c-accent); }
.calder-tree-close:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 1px; }
.calder-sheet-closebar { display: flex; justify-content: flex-end; margin: 0 0 8px; column-span: all; }
.calder-sheet-closebar + .calder-preview-note { column-span: all; }
.calder .game-window-x.calder-sheet-close { width: 32px; height: 30px; font-size: 0.9rem; }
@media (pointer: coarse) { .calder .game-window-x.calder-sheet-close { width: 44px; height: 44px; } }
.calder-tree { display: block; flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 6px 4px 10px; }
.calder-tree-list { list-style: none; margin: 0; padding: 0; }
.calder-tree-list[hidden] { display: none; }
.calder-tree-list .calder-tree-list { margin-left: 12px; padding-left: 6px; border-left: 1px dotted var(--c-line); }
.calder-tree-row { display: flex; align-items: center; gap: 2px; }
.calder-tree-toggle, .calder-tree-spacer { flex: none; width: 24px; min-height: 24px; }
.calder-tree-toggle {
  position: relative; padding: 0; border: 0; background: none; color: var(--c-dim); cursor: pointer;
}
.calder-tree-toggle::before {
  content: '';
  position: absolute; left: 50%; top: 50%;
  width: 6px; height: 6px;
  margin: -4px 0 0 -5px;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  transition: transform 0.15s ease;
}
.calder-tree-toggle[aria-expanded="true"]::before { margin: -5px 0 0 -4px; transform: rotate(45deg); }
.calder-tree-row:hover > .calder-tree-toggle, .calder-tree-toggle[aria-expanded="true"] { color: var(--c-text); }
.calder-tree-toggle:focus-visible { outline: 2px solid var(--c-neon); outline-offset: -2px; }
@media (prefers-reduced-motion: reduce) { .calder-tree-toggle::before { transition: none; } }
.calder-tree-link {
  display: flex; align-items: center; gap: 7px;
  flex: 1 1 auto; min-width: 0; min-height: 26px;
  padding: 2px 6px;
  color: var(--c-text); text-decoration: none; font-size: 13px;
}
.calder-tree-link::after, .calder-crumb::after { content: none; }
button.calder-tree-link { width: 100%; border: 0; background: none; font-family: inherit; text-align: left; cursor: pointer; }
.calder-tree-link, a.calder-crumb { text-transform: none; letter-spacing: normal; }
.calder-tree-link:hover { background: var(--c-panel); }
.calder-tree-link:focus-visible { outline: 2px solid var(--c-neon); outline-offset: -2px; }
.calder-tree-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.calder-tree-link:where(.calder-tree-item[data-group] *) { color: var(--g, var(--c-text)); }
.calder-tree-folder { font-weight: 600; }
.calder-tree-link[aria-current] { background: var(--g, var(--c-accent)); color: var(--c-ink); }
.calder-tree-badge { margin-left: auto; font-size: 11px; color: var(--c-neon); white-space: nowrap; }
.calder-tree-icon { flex: none; width: 18px; height: 18px; background: currentColor; -webkit-mask: no-repeat center / contain; mask: no-repeat center / contain; }
.calder-tree { position: relative; }
.calder-tree-root { position: relative; z-index: 1; }
.calder-tree-glide { position: absolute; z-index: 0; pointer-events: none; background: var(--c-accent); }
.calder-tree-link[aria-current].calder-tree-landing { background: transparent; }
.calder-tree-ready .calder-tree-badge, .calder-tree-folder .calder-tree-badge:not(:empty) { animation: calder-ready 2.2s ease-in-out infinite; }
@keyframes calder-ready { 50% { text-shadow: 0 0 6px currentColor, 0 0 1px currentColor; } }
.calder-tree-folder .calder-tree-badge:not(:empty) { display: inline-block; animation-name: calder-ready-dot; }
@keyframes calder-ready-dot { 50% { scale: 1.35; text-shadow: 0 0 6px currentColor; } }
.calder-status-timer.just-ready { animation: calder-just-ready 1.2s ease-out; }
@keyframes calder-just-ready { 0%, 40% { background: var(--c-neon); color: var(--c-ink); } }
.calder-status { position: relative; }
.calder-money-delta { position: absolute; pointer-events: none; font-weight: 700; white-space: nowrap; animation: calder-delta 1.4s ease-out forwards; }
.calder-money-delta.gain { color: var(--c-neon); }
.calder-money-delta.loss { color: var(--c-alert, #ff8a7a); }
@keyframes calder-delta { from { translate: 0 0; opacity: 1; } to { translate: 0 -26px; opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .calder-tree-ready .calder-tree-badge, .calder-tree-folder .calder-tree-badge:not(:empty), .calder-status-timer.just-ready { animation: none; }
  .calder-money-delta { display: none; }
}
.calder-tree-badge:empty { display: none; }
.calder-tree-link[aria-current] .calder-tree-badge { color: var(--c-ink); }
.calder-tab-glow, .calder-tree-link.calder-tab-glow { color: var(--c-ink); background: var(--c-accent); border-color: var(--c-accent); }
.calder-tree-pane > .calder-status {
  flex: none; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 0;
  margin: 0; padding: 6px 10px 8px;
  border: 0; border-top: 1px solid var(--c-line);
}
.calder-tree-pane > .calder-status > .calder-status-money { margin: 0 0 2px; }
body { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
.calder-tree-pane > .calder-status { gap: 6px; padding-bottom: calc(8px + env(safe-area-inset-bottom)); }
.calder-status-weather { display: flex; align-items: center; gap: 6px; color: var(--c-text); }
.calder-status-weather[hidden] { display: none; }
.calder-status-weather .calder-tree-icon { width: 14px; height: 14px; }
.calder-status-clocks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; flex-basis: 100%; }
.calder-status-clocks .calder-status-timer { flex-direction: column; align-items: flex-start; justify-content: center; line-height: 1.25; }
.calder-status-label { font-size: 11px; color: var(--c-dim); }
.calder-status-timer.ready .calder-status-label { color: inherit; }
.calder-wx-fair { color: #e8c547; }
.calder-wx-fog { color: #9aa3ad; }
.calder-wx-wind { color: #7fc8c0; }
.calder-wx-rain { color: #6fa8dc; }
.calder-wx-calm { color: #7fd0ff; }
.calder-wx-storm { color: #b79cf2; }
.calder-wx-heat { color: #f0803c; }
html[data-tone="light"] .calder-wx-fair { color: #a07c00; }
html[data-tone="light"] .calder-wx-fog { color: #5e6670; }
html[data-tone="light"] .calder-wx-wind { color: #2f7a72; }
html[data-tone="light"] .calder-wx-rain { color: #2f6aa8; }
html[data-tone="light"] .calder-wx-calm { color: #1f7fb0; }
html[data-tone="light"] .calder-wx-storm { color: #6a4fb0; }
html[data-tone="light"] .calder-wx-heat { color: #b5541c; }
.calder-addr { margin: -4px 0 16px; }
.calder-visitor {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px;
  margin: -4px 0 16px; padding: 6px 8px;
  border: 1px solid var(--c-line); background: var(--c-panel);
}
.calder-visitor-links { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 18px; font-size: 13px; }
.calder-actions + .calder-visitor-links { margin-top: 16px; }
.calder-visitor-here { color: var(--c-text); font-weight: 600; }
.calder-addr-row {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 6px;
  padding: 5px 6px;
  border: 1px solid var(--c-line); background: var(--c-panel);
}
.calder-addr-btn {
  display: inline-flex; align-items: center; gap: 6px;
  min-height: 28px; padding: 2px 10px;
  border: 1px solid var(--c-line); background: var(--c-bg); color: var(--c-text);
  font: inherit; font-size: 13px; cursor: pointer;
}
.calder-addr-btn:hover:not(:disabled) { border-color: var(--c-dim); }
.calder-addr-btn:disabled { color: var(--c-dim); cursor: default; }
.calder-addr-btn:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 1px; }
.calder-addr-back::before { content: '\25C0'; font-size: 9px; }
.calder-addr-fwd::after { content: '\25B6'; font-size: 9px; }
.calder-crumbs { flex: 1 1 220px; min-width: 0; }
.calder-pagetabs {
  display: flex; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; gap: 4px 2px;
  margin-top: 8px; padding: 0 2px;
  border-bottom: 2px solid var(--c-accent);
}
.calder-pagetab {
  position: relative;
  display: inline-flex; align-items: center; gap: 6px;
  min-height: 30px; padding: 4px 12px;
  border: 1px solid var(--c-line); border-bottom: 0;
  background: var(--c-panel); color: var(--c-text);
  font-size: 13px; text-decoration: none;
}
.calder-pagetab:hover { border-color: var(--c-dim); }
.calder-pagetab:focus-visible { outline: 2px solid var(--c-neon); outline-offset: -3px; }
.calder-pagetab[aria-current="page"] { background: var(--c-accent); border-color: var(--c-accent); color: var(--c-bg); font-weight: 600; }
.calder-pagetab-ready::after { content: '\25CF'; color: var(--c-accent); font-size: 9px; }
.calder-pagetab { flex: none; }
@media (pointer: coarse) { .calder-pagetab { min-height: 44px; padding: 6px 14px; } }
.calder-crumbs > ol { display: flex; flex-wrap: wrap; align-items: center; list-style: none; margin: 0; padding: 0 4px; font-size: 13px; }
.calder-crumbs li { display: inline-flex; align-items: center; min-width: 0; }
.calder-crumbs li + li::before { content: '\203A'; margin: 0 7px; color: var(--c-dim); }
.calder-crumb { display: inline-flex; align-items: center; min-height: 24px; overflow-wrap: anywhere; }
a.calder-crumb { color: var(--c-text); text-decoration: underline; text-decoration-color: var(--c-line); text-underline-offset: 3px; }
a.calder-crumb:hover { text-decoration-color: currentColor; }
a.calder-crumb:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 1px; }
span.calder-crumb { color: var(--c-accent); font-weight: 600; }
.calder-burger {
  display: none;
  position: relative;
  flex: none;
  width: 40px; height: 40px;
  padding: 0;
  border: 1px solid var(--c-line);
  background: var(--c-bg);
  color: var(--c-text);
  cursor: pointer;
}
.calder-burger:hover { border-color: var(--c-dim); }
a.calder-bar-home { display: inline-block; padding: 5px 0; color: inherit; text-decoration: none; }
a.calder-bar-home:hover { text-decoration: underline; }
a.calder-bar-home:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 1px; }
.calder-bar-house { display: none; flex: none; width: 40px; height: 40px; border: 1px solid var(--c-line); background: var(--c-bg); color: var(--c-text); align-items: center; justify-content: center; }
.calder-bar-house .calder-tree-icon { width: 18px; height: 18px; }
.calder-bar-house:hover { border-color: var(--c-dim); }
.calder-bar-house:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 1px; }
.calder-burger:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 1px; }
.calder-burger-bar {
  position: absolute; left: 11px; width: 18px; height: 2px;
  background: currentColor;
}
.calder-burger-bar:nth-child(1) { top: 11px; }
.calder-burger-bar:nth-child(2) { top: 19px; }
.calder-burger-bar:nth-child(3) { top: 27px; }
.calder-burger.calder-burger-ready::after {
  content: ''; position: absolute; top: 4px; right: 4px; width: 7px; height: 7px; border-radius: 50%;
  background: var(--c-accent); box-shadow: 0 0 0 2px var(--c-bg); pointer-events: none;
}
@media (min-width: 900px) {
  .calder-page.calder-page-tree { max-width: 1000px; }
  .calder-explorer.has-tree { display: grid; grid-template-columns: 240px minmax(0, 1fr); }
  .calder-explorer.has-tree > .calder-tree-pane {
    display: flex; flex-direction: column;
    position: sticky; top: 53px; align-self: start;
    max-height: calc(100vh - 53px);
    border-right: 1px solid var(--c-line);
    background: var(--c-bg);
  }
  .calder-burger { display: none; }
}
@media (min-width: 1100px) {
  .calder-page.calder-page-tree { max-width: 1300px; }
}
@media (max-width: 899.98px) {
  .calder-tree-pane {
    display: flex; flex-direction: column;
    position: fixed; top: 0; left: 0; bottom: 0; z-index: 2001;
    width: min(300px, 86vw);
    border-right: 1px solid var(--c-line);
    background: var(--c-bg);
    box-shadow: 4px 0 18px rgba(0, 0, 0, 0.5);
    transform: translateX(-100%);
    visibility: hidden;
    transition: transform 0.28s ease, visibility 0s linear 0.28s;
  }
  .calder-tree-pane.open {
    transform: translateX(0);
    visibility: visible;
    transition: transform 0.28s ease;
  }
  .calder-tree-pane { touch-action: pan-y; overscroll-behavior: contain; }
  .calder-tree-pane.open.dragging { transition: none; }
  .calder-tree-shade { touch-action: none; }
  .calder-tree-pane .calder-tree-close { display: inline-block; }
  .calder-bar.has-menu { position: sticky; top: 0; z-index: 30; padding: 6px 10px; }
  .calder-bar.has-menu .calder-burger { display: inline-flex; align-items: center; justify-content: center; }
  .calder-bar.has-menu .calder-bar-house { display: inline-flex; }
  .calder-bar.has-menu .calder-seal, .calder-bar.has-menu .calder-bar-form { display: none; }
  .calder-bar.has-menu .calder-bar-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .calder-bar.has-menu .calder-bar-home { pointer-events: none; }
  .calder-bar.has-menu .calder-music { margin-left: auto; }
  .calder-bar.has-menu .calder-bar-where { display: flex; align-items: baseline; flex: 1 1 auto; min-width: 0; overflow: hidden; white-space: nowrap; text-transform: none; letter-spacing: normal; font-size: 14px; }
  .calder-bar-where > span, .calder-bar-where > a, .calder-bar-where > button { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  a.calder-bar-up, button.calder-bar-up { display: inline-block; line-height: 44px; text-decoration: none; color: var(--c-dim); }
  a.calder-bar-up:hover, a.calder-bar-up:focus-visible, button.calder-bar-up:hover { color: var(--c-text); text-decoration: underline; }
  .calder-bar-up { flex: 0 100 auto; color: var(--c-dim); }
  .calder-bar-up::after { content: '\203A'; margin: 0 6px; }
  .calder-bar-here { flex: 0 1 auto; color: var(--c-accent); font-weight: 600; }
  @media (max-width: 359.98px) { .calder-bar-where > .calder-bar-up { display: none; } .calder-bar.has-menu .calder-bar-where { align-items: center; } .calder-bar-where > .calder-bar-here { white-space: normal; font-size: 11px; line-height: 13px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; } }
  .calder-bar.has-menu .calder-bar-where.page-only, .calder-bar.has-menu .calder-bar-where.page-wrap { align-items: center; }
  .calder-bar-where.page-only > .calder-bar-up { display: none; }
  .calder-bar-where.page-wrap > .calder-bar-here { white-space: normal; font-size: 11px; line-height: 13px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  @media (max-width: 419.98px) { .calder-bar.has-menu { gap: 6px; } }
  @media (max-width: 479.98px) { .calder-bar.has-menu .calder-music-word { display: none; } }
  .calder-addr-row { display: none; }
  .calder-addr:not(:has(.calder-pagetabs)) { display: none; }
  html:has(.calder-bar.has-menu) { scroll-padding-top: 64px; }
  .calder-explorer.drawer-open > .calder-tree-shade { display: block; position: fixed; inset: 0; z-index: 2000; background: rgba(0, 0, 0, 0.55); }
  html.calder-drawer-lock { overflow: hidden; }
}
@media (max-width: 899.98px) and (prefers-reduced-motion: reduce) {
  .calder-tree-pane, .calder-tree-pane.open { transition: none; }
}
.calder-ready { margin: 10px 0 0; font-size: 12px; }
.calder-result:not(:empty) { margin-top: 12px; padding: 10px 12px; border-left: 3px solid var(--c-accent); background: var(--c-bg); }
.calder-result:focus { outline: none; }
.calder-result:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 2px; }
.calder-result p { margin: 0 0 6px; }
.calder-result p:last-child { margin-bottom: 0; }
.calder-event { color: var(--c-text); font-style: italic; }
.calder-roll { color: var(--c-dim); font-size: 12px; }
.calder-gain { color: var(--c-neon); font-weight: 600; }
.calder-alert-text { color: var(--c-alert); }
.calder-listings { display: flex; flex-direction: column; gap: 8px; }
.calder-tier-head {
  margin: 12px 0 2px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--c-dim);
}
.calder-tier-head:first-child { margin-top: 0; }
.calder-fold { margin: 6px 0 0; }
.calder-fold-head {
  display: flex; align-items: center; gap: 8px; min-height: 32px; padding: 4px 8px;
  border: 1px solid var(--c-line); background: var(--c-panel); cursor: pointer; list-style: none;
  font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--c-dim);
}
.calder-fold-head::-webkit-details-marker { display: none; }
.calder-fold-head::before { content: '\25B8'; color: var(--c-accent); }
.calder-fold[open] > .calder-fold-head::before { content: '\25BE'; }
.calder-fold-head:hover { color: var(--c-text); }
.calder-fold-head:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 2px; }
.calder-fold-count { margin-left: auto; color: var(--c-accent); letter-spacing: 0; }
.calder-fold > .calder-listings { margin-top: 8px; }
.calder-fold .calder-achievements { margin-top: 8px; }
.calder-listing { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border: 1px solid var(--c-line); background: var(--c-bg); }
.calder-listing.current { border-color: var(--c-accent); }
.calder-listing > .calder-note:last-child, .calder-corkboard > .calder-note:last-child { margin-bottom: 0; }
.calder-listing-head { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.calder-listing-wage { color: var(--c-text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.calder-listing-actions { margin-top: 8px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.calder-deal { color: var(--c-neon); font-weight: 600; }
.calder-listing-actions > .calder-watch { margin-left: auto; }
.calder-watch[aria-pressed="true"] { border-color: var(--c-accent); color: var(--c-accent); }
.calder-market-search { margin-top: 4px; }
.calder-market-search .calder-btn[aria-pressed="true"] { border-color: var(--c-accent); color: var(--c-accent); }
.calder-sales { list-style: none; margin: 0; padding: 0; }
.calder-sales li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 4px 12px; align-items: baseline; padding: 6px 0; border-top: 1px solid var(--c-line); }
.calder-sales li:first-child { border-top: 0; }
.calder-sales li > span:nth-child(2) { font-variant-numeric: tabular-nums; }
.calder-sales .calder-note { margin: 0; white-space: nowrap; }
@media (max-width: 600px) {
  .calder-market-actions.calder-inline { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .calder-market-actions.calder-inline > :not(.calder-btn) { grid-column: 1 / -1; }
  .calder-market-actions.calder-inline > .calder-watch { grid-column: 2; margin-left: 0; }
  .calder-market-search.calder-inline { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .calder-market-search.calder-inline > .calder-range { grid-column: 1 / -1; }
}
@media (max-width: 420px) {
  .calder-sales li { grid-template-columns: minmax(0, 1fr) auto; }
  .calder-sales .calder-note { grid-column: 1 / -1; }
}
.calder-water {
  position: relative;
  height: 80px;
  margin: 0 0 10px;
  border: 1px solid var(--c-line);
  background:
    repeating-linear-gradient(0deg, transparent 0 9px, rgba(108, 201, 196, 0.08) 9px 10px),
    #16242a;
  overflow: hidden;
}
.calder-pier-scene { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; image-rendering: pixelated; }
.calder-float {
  z-index: 1;
  position: absolute;
  left: 50%;
  top: 30px;
  width: 12px;
  height: 20px;
  margin-left: -6px;
  border-radius: 6px 6px 3px 3px;
  background: linear-gradient(180deg, var(--c-text) 0 50%, var(--c-accent) 50% 100%);
  display: none;
}
.calder-water.cast .calder-float { display: block; animation: calder-bob 2.4s ease-in-out infinite; }
.calder-water.bite { background-color: #1d3a40; }
.calder-water.bite .calder-float { top: 44px; background: linear-gradient(180deg, var(--c-text) 0 50%, var(--c-alert) 50% 100%); animation: calder-tug 0.3s ease-in-out infinite; }
.calder-water.fight { background-color: #152e34; }
.calder-water.gone .calder-float { animation: none; opacity: 0.55; }
.calder-water.fight .calder-float { top: 48px; animation: calder-tug 0.18s ease-in-out infinite; }
.calder-fightfish { position: absolute; bottom: 12px; width: 26px; height: 9px; margin-left: -13px; border-radius: 50%; background: rgba(4, 10, 14, 0.6); box-shadow: 0 0 0 2px rgba(108, 201, 196, 0.15); transition: left 0.1s linear; }
.calder-fightfish.running { animation: calder-thrash 0.28s ease-in-out infinite alternate; }
.calder-water.eel .calder-fightfish { width: 64px; height: 7px; margin-left: -32px; border-radius: 4px 40% 40% 4px; background: rgba(2, 4, 6, 0.85); box-shadow: 0 0 0 2px rgba(108, 201, 196, 0.22); }
@keyframes calder-thrash { to { translate: 0 -3px; scale: 1.15 0.85; } }
.calder-tension { position: relative; height: 14px; margin: -4px 0 10px; border: 1px solid var(--c-line); background: rgba(0, 0, 0, 0.35); }
.calder-tension::after { content: ''; position: absolute; right: 0; top: -3px; bottom: -3px; width: 2px; background: #e0503a; pointer-events: none; }
.calder-tension-fill { position: absolute; left: 0; top: 0; bottom: 0; width: 0; transition: width 0.1s linear; }
.calder-tension-fill.ok { background: #3aa86a; }
.calder-tension-fill.warm { background: #e3a857; }
.calder-tension-fill.hot { background: #e0503a; }
@media (prefers-reduced-motion: reduce) { .calder-fightfish.running { animation: none; } .calder-fightfish, .calder-tension-fill { transition: none; } }
.calder-catchlog-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 2px 14px; font-size: 13px; }
.calder-catchlog-list li { display: flex; justify-content: space-between; gap: 8px; padding: 2px 0; border-bottom: 1px dotted var(--c-line); }
.calder-catchlog-list li.unknown { color: var(--c-dim); }
.calder-catchlog-n { color: var(--c-dim); font-variant-numeric: tabular-nums; }
@keyframes calder-bob { 50% { translate: 0 3px; } }
@keyframes calder-tug { 50% { translate: 0 5px; } }
@media (prefers-reduced-motion: reduce) { .calder-water .calder-float { animation: none !important; } }
.calder-pier:focus { outline: none; }
.calder-pier:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 2px; }
.calder-pier-say { margin: 0 0 4px; min-height: 1.5em; color: var(--c-text); }
.calder-listing.closed .calder-job-title { color: var(--c-dim); }
.calder-district { border-left-width: 4px; }
.d-downtown { border-left-color: #7f97b2; }
.d-financial { border-left-color: #c9c3b3; }
.d-industrial { border-left-color: #c46a2e; }
.d-waterfront { border-left-color: #3f8f86; }
.d-shopping { border-left-color: #d68fb9; }
.d-entertainment { border-left-color: #b3478f; }
.calder-explore-btn { min-width: 12em; }
.calder-gift { width: 7em; flex: none; }
.calder-social { margin: 0; padding-left: 18px; color: var(--c-dim); }
.calder-social li { margin: 0 0 4px; }
.calder-stalls { display: grid; grid-template-columns: repeat(var(--stalls, 6), minmax(0, 1fr)); gap: 6px; margin: 0 0 4px; }
.calder-stall {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 6px 4px;
  border: 1px solid var(--c-line);
  background: var(--c-panel);
  color: var(--c-dim);
  text-decoration: none;
  font-size: 12px;
  text-align: center;
  min-width: 0;
}
.calder-stall:hover { color: var(--c-text); border-color: var(--c-dim); }
.calder-stall.current { color: var(--c-accent); border-color: var(--c-accent); }
.calder-stall:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 2px; }
.calder-stall-pic { line-height: 0; }
.calder-stall-name { overflow-wrap: anywhere; }
.calder-achievements { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 6px; }
.calder-achievement { display: grid; gap: 2px; padding: 8px 10px; border: 1px solid var(--c-line); color: var(--c-dim); }
.calder-achievement.earned { color: var(--c-text); border-color: var(--c-dim); }
.calder-achievement-name { font-weight: 600; margin: 0; }
.calder-achievement.earned .calder-achievement-name { color: var(--c-accent); }
.calder-achievement-text { margin: 0; }
.calder-achievement-meta { font-size: 12px; color: var(--c-dim); }
.calder-achievement .calder-btn { justify-self: start; margin-top: 4px; }
.calder-achieved { margin: 0; padding: 8px 14px; background: var(--c-panel); border-bottom: 1px solid var(--c-accent); color: var(--c-accent); }
.calder-achieved[hidden] { display: none; }
.calder-trade-notice { padding: 10px 14px; background: var(--c-panel); border-bottom: 1px solid var(--c-accent); }
.calder-trade-notice[hidden] { display: none; }
.calder-trade-notice .calder-link { color: var(--c-accent); font-weight: 600; }
@media (pointer: coarse) { .calder-trade-notice .calder-link { min-height: 44px; } }
.calder-portrait.calder-frame-bronze { box-shadow: 0 0 0 3px #b87333; }
.calder-portrait.calder-frame-silver { box-shadow: 0 0 0 3px #c0c6cc; }
.calder-portrait.calder-frame-gold { box-shadow: 0 0 0 3px #d4a93a; }
.calder-portrait.calder-frame-crown { box-shadow: 0 0 0 3px #d4a93a, 0 0 0 6px #6b1f2a; }
.calder-portrait.calder-frame-neon { box-shadow: 0 0 0 2px #6cc9c4, 0 0 12px 2px rgba(108, 201, 196, 0.45); }
.calder-portrait.calder-frame-ink { box-shadow: 0 0 0 3px #0b0d10, 0 0 0 4px #dcd8cf; }
.calder-story { padding: 10px 0 12px; border-bottom: 1px solid var(--c-line); }
.calder-story:last-of-type { border-bottom: 0; }
.calder-story.major { border-left: 3px solid var(--c-accent); padding-left: 10px; }
.calder-story-head { margin: 0 0 4px; font-family: var(--font-display); font-size: 18px; font-weight: 600; line-height: 1.3; color: var(--c-text); }
.calder-story-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0 0 6px; color: var(--c-dim); font-size: 12px; }
.calder-story-move { text-decoration: none; min-height: 24px; display: inline-flex; align-items: center; }
.calder-story-move.up { color: var(--c-neon); }
.calder-story-move.down { color: var(--c-alert); }
.calder-story-move:hover { text-decoration: underline; }
.calder-story-body { margin: 0; font-family: var(--font-display); font-size: 17px; line-height: 1.5; }
.calder-breaking { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: baseline; margin: 0 0 12px; padding: 8px 12px; background: #6e1a1a; color: #f3ecdc; font-family: var(--font-display); font-weight: 600; line-height: 1.4; }
.calder-breaking-label { font-family: var(--font-ui); padding: 1px 6px; background: #f3ecdc; color: #6e1a1a; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; }
.calder-news-art { display: block; width: 100%; height: auto; aspect-ratio: 80 / 36; image-rendering: pixelated; box-shadow: 0 0 0 1px var(--c-line); }
.calder-story-lead { display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 1fr); gap: 16px; align-items: start; padding: 12px 8px 16px; border-bottom: 2px solid var(--c-line); margin: 0 8px 4px; }
.calder-story-lead.major { border-left: 0; padding-left: 8px; }
.calder-story-head.lead { font-size: 26px; line-height: 1.2; }
.calder-story-kicker { display: flex; flex-wrap: wrap; gap: 2px 10px; margin: 0 0 4px; color: var(--c-dim); font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; }
.calder-story-section { color: var(--c-accent); font-weight: 700; }
.calder-story-byline { margin: 0 0 6px; color: var(--c-dim); font-family: var(--font-display); font-size: 13px; font-style: italic; }
.calder-story-previously { margin: 0 0 6px; color: var(--c-dim); font-family: var(--font-display); font-size: 13px; font-style: italic; }
.calder-story-who { min-height: 24px; display: inline-flex; align-items: center; }
.calder-city-headlines { list-style: none; margin: 4px 0 8px; padding: 0; }
.calder-city-headlines li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; padding: 4px 0; border-bottom: 1px solid var(--c-line); }
.calder-city-headlines li:last-child { border-bottom: 0; }
.calder-city-headlines .calder-story-section { font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; }
.calder-city-headlines .calder-link { min-height: 24px; display: inline-flex; align-items: center; }
.calder-family { display: flex; align-items: center; gap: 8px; margin: 2px 0; }
.calder-crest { width: 24px; height: 24px; image-rendering: pixelated; flex: none; }
.calder-crest-big { width: 48px; height: 48px; }
.calder-legacy-steps { margin: 12px 0; }
.calder-turf-table.calder-almanac-table th, .calder-turf-table.calder-almanac-table td { white-space: normal; overflow-wrap: break-word; }
@media (max-width: 600px) {
  .calder-turf-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .calder-turf-table tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2px 12px; padding: 6px 0; border-bottom: 1px solid var(--c-line); }
  .calder-turf-table.calder-almanac-table th, .calder-turf-table.calder-almanac-table td { border: 0; padding: 0; }
  .calder-turf-table td:nth-child(3) { grid-column: 1 / -1; color: var(--c-dim); font-size: 13px; }
  .calder-turf-table td:nth-child(3)::before { content: "Walking it: "; }
}
.calder-hall .calder-almanac-table th, .calder-hall .calder-almanac-table td { white-space: normal; overflow-wrap: anywhere; }
.calder-drop-form { display: grid; gap: 8px; max-width: 460px; margin: 6px 0 10px; }
.calder-drop-form .calder-field { display: grid; gap: 2px; }
.calder-drop-form .calder-field-label { font-size: 12px; color: var(--c-dim); }
.calder-drop-form .calder-btn { justify-self: start; }
.calder-drop-text { resize: vertical; min-height: 48px; }
.calder-drop-note { font-style: italic; }
.calder-cases { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px; }
.calder-cases > .calder-case { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 2px 8px; align-items: center; padding: 8px; border: 1px dashed var(--c-line); }
.calder-cases > .calder-case.filled { border-style: solid; border-color: var(--c-accent); }
.calder-cases > .calder-case .calder-item-icon { width: 24px; height: 24px; image-rendering: pixelated; grid-row: span 2; }
.calder-case-name { font-weight: 700; }
.calder-case-by { grid-column: 2; color: var(--c-dim); font-size: 13px; }
.calder-case-by .calder-link { min-height: 24px; min-width: 24px; display: inline-flex; align-items: center; }
.calder-cases > .calder-case .calder-btn { grid-column: 1 / -1; justify-self: start; margin-top: 4px; }
.calder-timeline { list-style: none; margin: 8px 0 0; padding: 0 0 8px; display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x proximity; }
.calder-timeline:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 2px; }
.calder-timeline > .calder-panel { flex: 0 0 200px; scroll-snap-align: start; display: flex; flex-direction: column; gap: 6px; padding: 10px; border: 1px solid var(--c-line); }
.calder-timeline > .calder-panel.covered { border-style: dashed; color: var(--c-dim); }
.calder-panel-year { font-weight: 700; color: var(--c-accent); font-size: 18px; font-variant-numeric: tabular-nums; }
.calder-panel-text { margin: 0; font-size: 15px; line-height: 1.4; }
.calder-plaque { margin: 4px 0 12px; padding-left: 22px; }
.calder-plaque li { padding: 3px 0; }
.calder-plaque li .calder-link { min-height: 24px; min-width: 24px; display: inline-flex; align-items: center; }
.calder-plaque-amount { margin-left: 10px; color: var(--c-dim); font-variant-numeric: tabular-nums; }
.calder-wanted .calder-job-title { letter-spacing: 3px; }
.calder-wanted-what { font-weight: 700; }
.calder-score-form { flex-wrap: wrap; }
.calder-score-form .calder-input { min-width: 0; flex: 1 1 140px; }
.calder-score-form input[type="number"] { flex: 0 1 110px; }
.calder-score-sub { margin: 16px 0 4px; font-size: 13px; color: var(--c-text); }
.calder-score-list { list-style: none; margin: 0; padding: 0; }
.calder-score-list li { padding: 8px 0; border-bottom: 1px solid var(--c-line); }
.calder-score-list li:last-child { border-bottom: 0; }
.calder-score-list p { margin: 0 0 6px; }
.calder-title-worn { margin: 0 0 2px; color: var(--c-accent); font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; }
.calder-chat-title { color: var(--c-accent); font-size: 11px; letter-spacing: 1px; text-transform: uppercase; }
.calder-city-title { display: block; color: var(--c-accent); font-size: 11px; letter-spacing: 1px; text-transform: uppercase; }
.calder-title-list { list-style: none; margin: 8px 0 0; padding: 0; }
.calder-title-list li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 12px; padding: 6px 0; border-bottom: 1px solid var(--c-line); }
.calder-title-list li:last-child { border-bottom: 0; }
.calder-title-name { font-weight: 700; }
.calder-title-how { color: var(--c-dim); font-size: 13px; }
.calder-hall-detail { color: var(--c-dim); }
.calder-almanac-table { width: 100%; border-collapse: collapse; font-size: 14px; color: var(--c-text); }
.calder-almanac-table th, .calder-almanac-table td { padding: 5px 6px; border-bottom: 1px solid var(--c-line); text-align: left; font-weight: 400; }
.calder-almanac-table thead th { color: var(--c-dim); font-size: 12px; letter-spacing: 1px; text-transform: uppercase; }
.calder-almanac-table td { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.calder-almanac-table thead th + th { text-align: right; font-variant-numeric: tabular-nums; }
.calder-almanac-table tbody tr:last-child > * { border-bottom: 0; }
.calder-almanac-bars, .calder-almanac-records { list-style: none; margin: 0; padding: 0; }
.calder-almanac-bars li { margin: 0 0 10px; }
.calder-almanac-sub { margin: 18px 0 6px; font-size: 13px; color: var(--c-text); }
.calder-almanac-records li { padding: 8px 0; border-bottom: 1px solid var(--c-line); }
.calder-almanac-records li:last-child { border-bottom: 0; }
.calder-almanac-record-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 12px; margin: 0 0 2px; }
.calder-almanac-record-name { font-weight: 700; color: var(--c-text); }
.calder-almanac-record-value { font-variant-numeric: tabular-nums; color: var(--c-accent); font-weight: 700; }
.calder-almanac-record-who { margin: 0; color: var(--c-dim); font-size: 13px; }
.calder-almanac-record-who .calder-link, .calder-almanac-table .calder-link { min-height: 24px; min-width: 24px; display: inline-flex; align-items: center; }
.calder-hallwall {
  --c-bg: #2a1f17; --c-panel: #2a1f17; --c-line: #6b5232;
  --c-text: #efe3c8; --c-dim: #c9b896; --c-accent: #e0bd6a; --c-neon: #7fd3c9; --c-alert: #f09a86; --c-ink: #2a1f17;
  color: var(--c-text);
  background: repeating-linear-gradient(90deg, rgba(0, 0, 0, 0.12) 0 2px, transparent 2px 23px), linear-gradient(180deg, #2f2319, #2a1f17);
  border: 1px solid #4a3622;
}
.calder-plaques { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; margin-top: 10px; }
.calder-brass {
  --brass-ink: #2a1c05;
  --brass-stops: #e6c878, #c9a14e 55%, #dcbc68;
  position: relative;
  padding: 14px 18px 12px;
  color: var(--brass-ink);
  font-family: var(--font-display);
  background:
    radial-gradient(circle at 8px 8px, #6e5216 1.6px, transparent 2.3px),
    radial-gradient(circle at calc(100% - 8px) 8px, #6e5216 1.6px, transparent 2.3px),
    radial-gradient(circle at 8px calc(100% - 8px), #6e5216 1.6px, transparent 2.3px),
    radial-gradient(circle at calc(100% - 8px) calc(100% - 8px), #6e5216 1.6px, transparent 2.3px),
    linear-gradient(160deg, var(--brass-stops));
  border: 1px solid #7a5a1c;
  border-radius: 3px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55), inset 0 -2px 0 rgba(0, 0, 0, 0.18), 0 2px 4px rgba(0, 0, 0, 0.45);
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3);
}
.calder-brass p { margin: 0; }
.calder-brass-title { margin: 0 0 6px; font-size: 14px; font-weight: 700; font-variant: small-caps; letter-spacing: 0.06em; line-height: 1.3; }
.calder-brass-title.calder-family { display: flex; align-items: center; gap: 8px; }
.calder-brass-value { font-size: 24px; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.2; }
.calder-brass-who { font-size: 16px; font-weight: 600; }
.calder-brass-note { font-size: 13px; font-style: italic; }
.calder-brass-when { margin-top: 4px; font-size: 12px; letter-spacing: 0.04em; }
.calder-brass-list { margin: 0; padding-left: 18px; font-size: 14px; line-height: 1.5; }
.calder-brass-list li + li { margin-top: 2px; }
.calder-brass .calder-link { color: var(--brass-ink); text-decoration: underline; text-underline-offset: 2px; min-height: 24px; display: inline-flex; align-items: center; }
.calder-brass .calder-link:hover { text-decoration-thickness: 2px; }
.calder-brass :focus-visible { outline: 2px solid var(--brass-ink); outline-offset: 2px; }
html[data-tone="light"] .calder-hallwall {
  --c-bg: #e8dcc4; --c-panel: #e8dcc4; --c-line: #9c7f52;
  --c-text: #2a1d0e; --c-dim: #5a4526; --c-accent: #6e4f12; --c-neon: #0d5d58; --c-alert: #9b2a1a; --c-ink: #e8dcc4;
  background: repeating-linear-gradient(90deg, rgba(110, 79, 18, 0.07) 0 2px, transparent 2px 23px), #e8dcc4;
  border-color: #b9a07a;
}
html[data-tone="light"] .calder-brass { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55), inset 0 -2px 0 rgba(0, 0, 0, 0.18), 0 2px 3px rgba(60, 40, 10, 0.35); }
@media (max-width: 600px) {
  .calder-story-lead { grid-template-columns: minmax(0, 1fr); }
  .calder-story-head.lead { font-size: 22px; }
}
.calder-chat {
  list-style: none;
  margin: 0 0 10px;
  padding: 8px 10px;
  height: min(58vh, 520px);
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--c-line);
  background: var(--c-panel);
}
.calder-chat-msg { padding: 6px 0; border-bottom: 1px solid var(--c-line); }
.calder-chat-msg:last-child { border-bottom: 0; }
.calder-chat-mention { background: color-mix(in srgb, var(--c-accent) 12%, transparent); --c-dim: #5ab07d; }
.calder-chat-head { display: flex; align-items: baseline; gap: 10px; }
.calder-chat-name {
  font: inherit;
  font-weight: 600;
  color: var(--c-accent);
  background: none;
  border: 0;
  padding: 2px 0;
  min-height: 24px;
  cursor: pointer;
  text-align: left;
}
.calder-chat-name:hover { text-decoration: underline; }
.calder-chat-name:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 2px; }
.calder-chat-when { color: var(--c-dim); font-size: 12px; }
.calder-chat-body { margin: 2px 0 0; overflow-wrap: anywhere; }
.calder-chat-menu { margin-top: 6px; }
.calder-chat-form .calder-inline .calder-input { flex: 1; min-width: 0; }
.calder-chat-links { margin: 8px 0; }
.calder-chat-links > summary { cursor: pointer; color: var(--c-dim); min-height: 24px; }
.calder-report { margin-top: 8px; padding: 8px 10px; border: 1px solid var(--c-line); }
.calder-city { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.calder-city-link {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 6px 10px;
  border: 1px solid var(--c-line);
  background: var(--c-panel);
  color: var(--c-text);
  text-decoration: none;
}
.calder-city-link:hover { border-color: var(--c-dim); }
.calder-city-link:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 2px; }
.calder-city-row.you .calder-city-link { border-color: var(--c-accent); }
.calder-city-pic { display: block; line-height: 0; }
.calder-city-text { display: grid; min-width: 0; }
.calder-city-name { font-weight: 600; overflow-wrap: anywhere; }
.calder-city-job { color: var(--c-dim); font-size: 12px; overflow-wrap: anywhere; }
.calder-city-fame { color: var(--c-accent); font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; }
.calder-fame { margin: 6px 0 0; color: var(--c-dim); font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; }
.calder-challenge-steps { list-style: none; margin: 8px 0; padding: 0; display: grid; gap: 6px; }
.calder-challenge-step { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.calder-challenge-step.done span { color: var(--c-dim); }
.calder-let { padding: 10px 0; border-top: 1px solid var(--c-line); }
.calder-let:first-of-type { border-top: 0; }
.calder-plan-rules { list-style: none; margin: 6px 0 10px; padding: 0; display: grid; gap: 4px; }
.calder-plan-rule.met { color: var(--c-accent); }
.calder-ring-table { margin: 6px 0; padding-left: 1.6em; display: grid; gap: 2px; }
.calder-ring-row.you { color: var(--c-accent); font-weight: 600; }
.calder-ring-row.rival { color: var(--c-dim); }
.calder-match-talk { margin: 6px 0 10px; }
.calder-plan-swatch { display: inline-block; width: 10px; height: 10px; margin-right: 6px; border: 1px solid #f2efe8; vertical-align: -1px; }
.calder-plan-rooms .calder-button[aria-pressed="true"] { outline: 2px solid var(--c-accent); outline-offset: 1px; }
.calder-city-worth { display: grid; justify-items: end; font-size: 16px; white-space: nowrap; }
.calder-city-rank { color: var(--c-dim); font-size: 12px; }
.calder-famous { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.calder-famous-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 6px 10px;
  border: 1px dashed var(--c-line);
  background: var(--c-panel);
  color: var(--c-text);
}
.calder-famous-says { color: var(--c-dim); font-size: 12px; }
@media (max-width: 480px) {
  .calder-city-row:not(.calder-famous-row) .calder-city-link { grid-template-columns: auto minmax(0, 1fr); row-gap: 2px; }
  .calder-city-row:not(.calder-famous-row) .calder-city-worth { grid-column: 2; grid-auto-flow: column; justify-content: start; gap: 8px; font-size: 15px; }
  .calder-famous-row { grid-template-columns: auto minmax(0, 1fr); row-gap: 2px; }
  .calder-famous-row .calder-city-worth { grid-column: 2; justify-items: start; font-size: 15px; }
}
.calder-famous-met { display: flex; align-items: center; gap: 12px; margin: 10px 0 4px; }
.calder-famous-met canvas { display: block; image-rendering: pixelated; border: 2px solid var(--c-line); }
.calder-fp {
  --c-bg: #18191a; --c-panel: #242526; --c-line: #3e4042;
  --c-text: #e4e6eb; --c-dim: #b0b3b8; --c-accent: #5aa0ff; --c-neon: #5aa0ff; --c-alert: #f28b82; --c-ink: #ffffff;
  --fp-bar: #3b5998;
  --fp-button: #2d65c8;
  --fp-grey: #3a3b3c;
  --fp-bubble: #3a3b3c;
  --fp-hover: #303133;
  --fp-unread: #1c2b41;
  --fp-shadow: rgba(0, 0, 0, 0.45);
  container: fp / inline-size;
  margin-top: 18px;
  border-radius: 8px;
  background: var(--c-bg);
  color: var(--c-text);
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-size: 15px;
  line-height: 1.35;
}
html[data-tone="light"] .calder-fp {
  --c-bg: #f0f2f5; --c-panel: #ffffff; --c-line: #ced0d4;
  --c-text: #1c1e21; --c-dim: #5b5f66; --c-accent: #1d5bc4; --c-neon: #1d5bc4; --c-alert: #b3261e; --c-ink: #ffffff;
  --fp-button: #1d5bc4;
  --fp-grey: #e4e6eb;
  --fp-bubble: #f0f2f5;
  --fp-hover: #e9ebee;
  --fp-unread: #e7f0fd;
  --fp-shadow: rgba(0, 0, 0, 0.14);
}
.calder-fp .calder-read, .calder-fp .calder-note { font-family: inherit; }
.calder-fp :is(a, button, input, textarea):focus-visible { outline: 2px solid var(--c-accent); outline-offset: 2px; }
.calder-fp-icon {
  display: inline-block; flex: none; width: 24px; height: 24px;
  background: currentColor;
  -webkit-mask: no-repeat center / contain; mask: no-repeat center / contain;
}
.calder-fp-bar {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 0 8px 0 16px; border-radius: 8px 8px 0 0;
  background: var(--fp-bar); color: #ffffff;
}
.calder-fp-logo { padding: 8px 0; font-size: 28px; font-weight: 800; letter-spacing: -0.045em; line-height: 1; }
.calder-fp-nav { display: flex; align-items: stretch; gap: 2px; }
.calder-fp-tab {
  position: relative; display: flex; align-items: center; gap: 8px;
  min-height: 52px; padding: 0 12px; box-sizing: border-box;
  border-block: 3px solid transparent;
  color: #ffffff; font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap;
  text-transform: none; letter-spacing: normal; transition: none;
}
.calder-fp-tab::after { content: none; }
.calder-fp-tab:hover { background: rgba(255, 255, 255, 0.12); color: #ffffff; }
.calder-fp-tab[aria-current="page"] { border-bottom-color: #ffffff; }
.calder .calder-fp-tab:focus-visible { outline: 2px solid #ffffff; outline-offset: -5px; }
.calder-fp-dot { position: absolute; top: 9px; left: 26px; width: 10px; height: 10px; border-radius: 50%; background: #f02849; box-shadow: 0 0 0 2px var(--fp-bar); pointer-events: none; }
@container fp (max-width: 699px) {
  .calder-fp-bar { flex-wrap: wrap; padding: 0; }
  .calder-fp-logo { padding: 10px 14px 4px; font-size: 25px; }
  .calder-fp-nav { flex: 1 1 100%; }
  .calder-fp-tab { flex: 1 1 0; justify-content: center; min-height: 46px; padding: 0; }
  .calder-fp-tablabel { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .calder-fp-dot { top: 7px; left: calc(50% + 5px); }
}
.calder-fp-body { display: grid; gap: 12px; padding: 12px; }
.calder-fp-main { display: grid; gap: 12px; align-content: start; min-width: 0; width: 100%; max-width: 680px; justify-self: center; }
.calder-fp-aside { display: grid; gap: 12px; align-content: start; min-width: 0; }
.calder-fp-aside[hidden] { display: none; }
@container fp (min-width: 880px) {
  .calder-fp-body.calder-fp-has-side { grid-template-columns: minmax(0, 1fr) 320px; align-items: start; gap: 16px; padding: 16px; }
}
@container fp (max-width: 479px) { .calder-fp-body { padding: 8px; gap: 8px; } .calder-fp-main, .calder-fp-feed { gap: 8px; } }
.calder-fp-card { min-width: 0; padding: 12px 16px; border-radius: 8px; background: var(--c-panel); box-shadow: 0 1px 2px var(--fp-shadow); }
.calder-fp-side:has(> .calder-tip:last-child) { padding-bottom: 0; display: flow-root; }
.calder-fp-quiet { margin: 0; color: var(--c-dim); }
.calder-fp-feed { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.calder-fp-slot { display: block; }
.calder-fp-h { margin: 0 0 8px; font-size: 17px; font-weight: 700; }
.calder-fp-sub { display: block; margin: 0; color: var(--c-dim); font-size: 13px; overflow-wrap: anywhere; }
.calder-fp .calder-alert:empty { display: none; }
.calder-fp .calder-btn { border-radius: 6px; font-family: inherit; font-weight: 600; }
.calder-fp .calder-btn.primary { background: var(--fp-button); border-color: var(--fp-button); color: #ffffff; }
.calder-fp .calder-btn.primary:hover { background: color-mix(in srgb, var(--fp-button) 88%, #000000); }
.calder-fp .calder-btn.quiet { margin-top: 0; background: var(--fp-grey); border-color: var(--fp-grey); color: var(--c-text); }
.calder-fp .calder-btn.quiet:hover { background: color-mix(in srgb, var(--fp-grey) 88%, var(--c-text)); }
.calder-fp .calder-input { border: 1px solid transparent; border-radius: 20px; background: var(--fp-bubble); padding: 8px 14px; }
.calder-fp .calder-follow { min-width: 96px; }
.calder-fp-older { justify-self: center; }
.calder-fp-reposted { display: flex; align-items: center; gap: 6px; margin: -2px 0 8px; color: var(--c-dim); font-size: 13px; font-weight: 600; }
.calder-fp-reposted .calder-fp-icon { width: 12px; height: 12px; }
.calder-fp-inline { display: inline-flex; align-items: center; min-height: 24px; color: inherit; }
.calder-fp-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 0 10px; }
.calder-fp-namerow { margin: 0; font-weight: 600; }
.calder-fp-name { color: var(--c-text); font-weight: 600; overflow-wrap: anywhere; }
a.calder-fp-name { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 0 4px; min-height: 24px; text-decoration: none; }
a.calder-fp-name:hover { text-decoration: underline; }
.calder-fp-tick { display: inline-flex; vertical-align: -2px; margin-left: 4px; color: var(--c-accent); }
a.calder-fp-name .calder-fp-tick { margin-left: 0; }
.calder-fp-tick .calder-fp-icon { width: 16px; height: 16px; }
.calder-fp-meta { margin: 0; color: var(--c-dim); font-size: 13px; overflow-wrap: anywhere; }
.calder-fp-tool { min-height: 24px; padding: 2px 6px; border: 0; border-radius: 4px; background: none; color: var(--c-dim); font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
.calder-fp-tool:hover { background: var(--fp-hover); color: var(--c-text); }
.calder-fp-text { margin: 10px 0 0; overflow-wrap: anywhere; white-space: pre-line; }
.calder-fp-text.calder-fp-big { font-size: 22px; line-height: 1.25; }
.calder-fp-life .calder-fp-text { padding: 10px 12px; border-radius: 8px; background: var(--fp-bubble); }
.calder-fp-pic { margin: 10px -16px 0; }
.calder-fp-pic-frame { display: flex; align-items: center; justify-content: center; min-height: 170px; padding: 16px; background: var(--fp-bubble); overflow: hidden; }
.calder-fp-pic canvas { display: block; max-width: 100%; image-rendering: pixelated; }
.calder-fp-pic-car .calder-fp-pic-frame, .calder-fp-pic-pet .calder-fp-pic-frame { background: linear-gradient(transparent 74%, var(--c-line) 74%), var(--fp-bubble); }
.calder-fp-pic-car .calder-fp-pic-art { width: 240px; height: auto; }
.calder-fp-pic-pet .calder-fp-pic-art { width: 120px; height: 120px; }
.calder-fp-pic-home .calder-fp-pic-frame { padding: 0; }
.calder-fp-pic-home .calder-fp-pic-art { width: 100%; height: auto; max-height: 340px; object-fit: cover; }
.calder-fp-pic-cap { padding: 8px 16px 0; color: var(--c-dim); font-size: 13px; }
.calder-fp-counts { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 12px; margin-top: 10px; color: var(--c-dim); font-size: 13px; }
.calder-fp-counts[hidden] { display: none; }
.calder-fp-likeline { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.calder-fp-likebadge { display: inline-grid; place-items: center; flex: none; width: 18px; height: 18px; border-radius: 50%; background: var(--fp-button); color: #ffffff; }
.calder-fp-likebadge .calder-fp-icon { width: 12px; height: 12px; }
.calder-fp-talkline { margin-left: auto; }
.calder-fp-actions { display: flex; gap: 4px; margin-top: 8px; padding-top: 4px; border-top: 1px solid var(--c-line); }
.calder-fp-act, .calder-fp-pick {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 36px; padding: 4px 8px; border: 0; border-radius: 6px;
  background: none; color: var(--c-dim); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer;
}
.calder-fp-act { flex: 1 1 0; min-width: 0; }
.calder-fp-act:hover, .calder-fp-pick:hover { background: var(--fp-hover); }
.calder-fp-act[aria-pressed="true"] { color: var(--c-accent); }
.calder-fp-act:disabled, .calder-fp-pick:disabled { cursor: progress; }
.calder-fp-comments { margin-top: 4px; padding-top: 8px; border-top: 1px solid var(--c-line); }
.calder-fp-comments[hidden], .calder-fp-clist[hidden], .calder-fp-cform[hidden], .calder-fp-more[hidden] { display: none; }
.calder-fp-more { min-height: 24px; margin: 0 0 8px; padding: 2px 0; border: 0; background: none; color: var(--c-dim); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.calder-fp-more:hover { text-decoration: underline; }
.calder-fp-clist { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.calder-fp-comment { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 8px; }
.calder-fp-cbody { min-width: 0; }
.calder-fp-bubble { display: inline-block; max-width: 100%; box-sizing: border-box; padding: 6px 12px 8px; border-radius: 18px; background: var(--fp-bubble); }
.calder-fp-bubble .calder-fp-name { font-size: 13px; }
.calder-fp-ctext { margin: 1px 0 0; overflow-wrap: anywhere; }
.calder-fp-cmeta { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; margin: 0 0 0 10px; color: var(--c-dim); font-size: 12px; }
.calder-fp-cform { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; margin-top: 8px; }
.calder-fp-comments > .calder-report, .calder-fp-post > .calder-report { margin: 8px 0 0; }
.calder-fp-avatar { position: relative; display: block; flex: none; overflow: hidden; border-radius: 50%; background: var(--fp-bubble); }
.calder-fp-avatar canvas { position: absolute; left: 50%; top: 0; translate: -50% 0; image-rendering: pixelated; }
.calder-fp-avatar-m { width: 44px; height: 44px; }
.calder-fp-avatar-s { width: 32px; height: 32px; }
.calder-fp-avatar-s canvas { top: -3px; }
.calder-fp-avatar-l { width: 128px; height: 128px; border: 4px solid var(--c-panel); }
.calder-fp-face { display: block; line-height: 0; border-radius: 50%; }
.calder-fp-compose { display: grid; gap: 10px; }
.calder-fp-compose-top { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 10px; }
.calder-fp .calder-fp-textarea { min-height: 44px; resize: vertical; font-size: 16px; line-height: 1.35; }
.calder-fp-picks { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 4px; padding-top: 8px; border-top: 1px solid var(--c-line); }
.calder-fp-pick[aria-pressed="true"] { background: var(--fp-unread); color: var(--c-accent); }
.calder-fp-compose-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.calder-fp-left { color: var(--c-dim); font-size: 13px; }
.calder-fp-compose .calder-btn.primary { min-width: 96px; }
.calder-fp-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 4px; }
.calder-fp-stat { display: grid; margin: 0; color: var(--c-dim); font-size: 12px; }
.calder-fp-stat strong { color: var(--c-text); font-size: 20px; }
.calder-fp-trends, .calder-fp-people { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.calder-fp-trend { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 10px; padding: 6px 0; }
.calder-fp-trend-text { min-width: 0; }
.calder-fp-trend-body { margin: 2px 0; overflow-wrap: anywhere; }
.calder-fp-person { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 4px 10px; padding: 6px 0; }
.calder-fp-person-text { min-width: 0; }
.calder-fp-person .calder-alert { grid-column: 1 / -1; }
.calder-fp-profile { padding: 0 0 16px; overflow: hidden; }
.calder-fp-cover { height: clamp(96px, 26cqi, 210px); background: linear-gradient(135deg, var(--fp-bar), #6d84b4); }
.calder-fp-cover-art { display: block; width: 100%; height: 100%; object-fit: cover; image-rendering: pixelated; }
.calder-fp-profile > .calder-fp-avatar-l { margin: -68px 0 0 16px; }
.calder-fp-pname { display: flex; flex-wrap: wrap; align-items: center; gap: 0 6px; margin: 8px 16px 0; font-size: 26px; font-weight: 800; line-height: 1.2; overflow-wrap: anywhere; }
.calder-fp-pname .calder-fp-tick { margin-left: 0; }
.calder-fp-pname .calder-fp-tick .calder-fp-icon { width: 24px; height: 24px; }
.calder-fp-handle, .calder-fp-ptitle, .calder-fp-bio, .calder-fp-pcounts { margin: 2px 16px 0; }
.calder-fp-handle { font-size: 15px; }
.calder-fp-ptitle { color: var(--c-dim); }
.calder-fp-bio { margin-top: 10px; overflow-wrap: anywhere; }
.calder-fp-pcounts { margin-top: 10px; color: var(--c-dim); }
.calder-fp-pcounts strong { color: var(--c-text); }
.calder-fp-pactions { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 16px 0; }
.calder-fp-profile > .calder-alert { margin: 8px 16px 0; }
.calder-fp-notices { display: grid; gap: 2px; margin: 0 -8px; padding: 0; list-style: none; }
.calder-fp-notice { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 4px 10px; padding: 8px; border-radius: 8px; }
.calder-fp-notice.calder-fp-unread { background: var(--fp-unread); }
.calder-fp-notice .calder-alert { grid-column: 1 / -1; }
.calder-fp-ntext { min-width: 0; }
.calder-fp-nline { margin: 0; overflow-wrap: anywhere; }
.calder-fp-sheet { margin-top: 8px; padding: 8px; }
@media (pointer: coarse) {
  .calder-fp-act, .calder-fp-pick, .calder-fp-tool, .calder-fp-more, a.calder-fp-name, .calder-fp-inline { min-height: 44px; }
}
.calder-plant-counts { margin: 0 6px 8px; color: var(--c-dim); }
.calder-feed { list-style: none; margin: 0; padding: 0; }
.calder-liked-homes { margin: 6px 0 0; padding-left: 24px; }
.calder-liked-homes li { padding: 3px 0; }
.calder-liked-count { color: var(--c-dim); }
.calder-feed li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 12px; padding: 6px 0; border-bottom: 1px solid var(--c-line); }
.calder-feed li:last-child { border-bottom: 0; }
.calder-feed-when { color: var(--c-dim); font-size: 12px; white-space: nowrap; }
.calder-featured { margin-top: 8px; }
.calder-chart-cursor { stroke: var(--c-accent); stroke-width: 1; vector-effect: non-scaling-stroke; }
.calder-chart-readout { min-height: 1.5em; color: var(--c-text); }
.calder-chart-svg { touch-action: pan-y; }
.calder-total { font-size: 18px; margin: 0 0 10px; }
.calder-breakdown { display: grid; gap: 6px; }
.calder-breakdown-row { display: grid; grid-template-columns: 6.5em minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.calder-breakdown-bar { height: 8px; background: linear-gradient(90deg, var(--c-neon) var(--share, 0%), var(--c-line) var(--share, 0%)); }
.calder-breakdown-value { color: var(--c-dim); font-size: 12px; white-space: nowrap; }
.calder-top-assets { margin: 0; padding-left: 1.4em; }
.calder-top-assets li { padding: 3px 0; }
.calder-top-assets li > span:first-child { margin-right: 10px; overflow-wrap: anywhere; }
.calder-board {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
  gap: 8px;
}
.calder-ticker {
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  border: 1px solid var(--c-line);
  background: var(--c-panel);
  color: var(--c-text);
  text-decoration: none;
  min-width: 0;
}
.calder-ticker:hover { border-color: var(--c-dim); }
.calder-ticker.current { border-color: var(--c-accent); box-shadow: inset 0 0 0 1px var(--c-accent); }
.calder-ticker:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 2px; }
.calder-ticker-sym { font-weight: 700; letter-spacing: 0.06em; color: var(--c-accent); }
.calder-ticker-name { color: var(--c-dim); font-size: 12px; overflow-wrap: anywhere; }
.calder-ticker-price { font-size: 16px; }
.calder-ticker-move { font-size: 12px; color: var(--c-dim); }
.calder-ticker-move.up { color: var(--c-neon); }
.calder-ticker-move.down { color: var(--c-alert); }
.calder-ranges { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 8px; }
.calder-ranges .calder-btn[aria-pressed="true"] { border-color: var(--c-accent); color: var(--c-accent); }
.calder-chart { margin: 0 0 12px; }
.calder-chart-svg {
  display: block;
  width: 100%;
  height: 160px;
  background: var(--c-panel);
  border: 1px solid var(--c-line);
}
.calder-chart-line { fill: none; stroke: var(--c-neon); stroke-width: 2; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.calder-chart-rule { stroke: var(--c-line); stroke-width: 1; stroke-dasharray: 4 4; vector-effect: non-scaling-stroke; }
.calder-chart-labels { display: flex; justify-content: space-between; gap: 12px; margin: 4px 0; font-size: 12px; }
.calder-chart-labels.dim { color: var(--c-dim); margin: 0; }
.calder-position { margin: 0 0 8px; }
.calder-order .calder-input { max-width: 180px; }
.calder-speech { margin: 6px 0; color: var(--c-text); font-style: italic; }
.calder-question { margin: 0 0 12px; padding: 0; border: 0; min-width: 0; }
.calder-question-text { margin: 0 0 6px; padding: 0; color: var(--c-text); }
.calder-answer { display: flex; align-items: flex-start; gap: 8px; min-height: 32px; padding: 4px 0; cursor: pointer; }
.calder-answer input { margin: 3px 0 0; accent-color: var(--c-accent); width: 16px; height: 16px; flex: none; }
.calder-items { display: flex; flex-direction: column; gap: 6px; }
.calder-item { border: 1px solid var(--c-line); background: var(--c-bg); }
.calder-item-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  min-height: 32px;
  padding: 4px 10px;
  cursor: pointer;
  list-style-position: inside;
}
.calder-item-summary:focus-visible { outline: 2px solid var(--c-neon); outline-offset: -2px; }
.calder-item-name { font-weight: 600; }
.calder-item-icon { flex: none; width: 36px; height: 36px; image-rendering: pixelated; }
.calder-item-furniture { object-fit: contain; }
.calder-sets { margin-top: 18px; }
.calder-set-list { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.calder-set { padding: 8px 10px; border: 1px solid var(--c-line); background: var(--c-panel); }
.calder-set.done { border-color: var(--c-accent); }
.calder-set-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 12px; margin: 0; }
.calder-set-name { font-weight: 600; color: var(--c-text); }
.calder-set-count { font-size: 12px; color: var(--c-dim); }
.calder-set.done .calder-set-count { color: var(--c-accent); }
.calder-set-groups { margin: 4px 0 0; font-size: 12px; color: var(--c-dim); }
.calder-item-title { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
@media (min-width: 601px) { .calder-listing-head:has(> .calder-item-title) { align-items: center; } }
.calder-item-body { padding: 0 10px 10px; }
.calder-item-blurb { margin: 0 0 8px; color: var(--c-dim); font-style: italic; }
.calder-item-body .calder-btn { margin-top: 4px; }
.calder-rarity { font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; }
.r-common { color: var(--c-dim); }
.r-uncommon { --hue: #8fca8a; color: var(--hue); }
.r-rare { --hue: #86b6ea; color: var(--hue); }
.r-exceptional { --hue: #c6a2ec; color: var(--hue); }
.r-legendary { color: var(--c-accent); }
.calder-tag { font-size: 11px; font-weight: 600; letter-spacing: 0.08em; padding: 0 5px; border: 1px solid; }
.calder-tag.stolen { color: var(--c-alert); }
.calder-tag.contraband { --hue: #d9ab4a; color: var(--hue); }
.calder-tag.unique { --hue: #ff9ecb; color: var(--hue); }
.calder-slots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 12px; margin-bottom: 12px; }
.calder-slot { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.calder-slot-name { color: var(--c-dim); font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; }
.calder-slot-empty { color: var(--c-dim); min-height: 32px; display: flex; align-items: center; padding: 0 10px; border: 1px dashed var(--c-line); }
.calder-wardrobe-on { align-self: center; font-size: 12px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--c-accent); }
.calder-actions-tight { margin-top: 10px; }
.calder-game-foot { display: flex; flex-direction: column; gap: 10px; margin: 12px 0 6px; }
.calder-game-foot > * { margin: 0; }
.calder-game-foot > .calder-actions:empty { display: none; }
.calder-back-link {
  display: inline-flex; align-items: center; min-height: 24px; margin-left: auto; padding: 0 2px;
  color: var(--c-dim); text-decoration: underline; text-underline-offset: 3px; font-size: 13px;
}
.calder-back-link:hover, .calder-back-link:focus-visible { color: var(--c-text); }
@media (pointer: coarse) { .calder-back-link { min-height: 44px; } }
.calder-history { list-style: none; margin: 0; padding: 0; }
.calder-history-row {
  display: grid;
  grid-template-columns: 9.5em minmax(0, 1fr) auto;
  gap: 4px 12px;
  padding: 6px 0;
  border-bottom: 1px solid var(--c-line);
  font-variant-numeric: tabular-nums;
}
.calder-history-row:last-child { border-bottom: 0; }
.calder-history-when, .calder-history-what { color: var(--c-dim); font-size: 12px; align-self: center; }
.calder-history-what { color: var(--c-text); }
.calder-history-amount { text-align: right; white-space: nowrap; }
.calder-history-amount.in { color: var(--c-neon); }
.calder-paper, #calder-app[data-page="items"] .calder-item, .calder-corkboard .calder-listing {
  --c-bg: #a89d89;
  --c-panel: #a89d89;
  --c-text: #14110d;
  --c-dim: #2f2921;
  --c-line: #6f6554;
  --c-accent: #103519;
  --c-neon: #0a3a37;
  --c-alert: #5a140c;
  --c-ink: #a89d89;
}
.calder-paper {
  margin: 18px 0 0;
  padding: 16px 16px 12px;
  background: var(--c-bg);
  color: var(--c-text);
  box-shadow: 0 2px 0 #0a0c0f, 0 0 0 1px #0a0c0f;
}
.calder-paper > .calder-section { margin: 0; padding: 12px 0 4px; border: 0; border-top: 1px solid var(--c-line); background: none; }
.calder-paper .calder-cityhall-election-actions { margin-bottom: 8px; }
#calder-app[data-group="desk"] .calder-paper { --c-accent: #4a3306; }
#calder-app[data-group="you"] .calder-paper, #calder-app[data-page="items"] .calder-item { --c-accent: #4a2c06; }
#calder-app[data-group="work"] .calder-paper, #calder-app[data-group="work"] .calder-corkboard .calder-listing { --c-accent: #5a2408; }
#calder-app[data-group="money"] .calder-paper { --c-accent: #103519; }
#calder-app[data-group="casino"] .calder-paper { --c-accent: #3a2d05; }
#calder-app[data-group="arcade"] .calder-paper { --c-accent: #5a0f3a; }
#calder-app[data-group="studio"] .calder-paper { --c-accent: #0f2a55; }
#calder-app[data-group="city"] .calder-paper { --c-accent: #0a3a37; }
#calder-app[data-group="chat"] .calder-paper { --c-accent: #2e1a5a; }
.calder-doc-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-bottom: 12px; border-bottom: 2px solid var(--c-text); margin-bottom: 4px; }
.calder-doc-org { margin: 0; font-family: var(--font-display); font-size: 22px; font-weight: 600; letter-spacing: 0.02em; color: var(--c-accent); line-height: 1.1; overflow-wrap: anywhere; }
.calder-doc-title { margin: 2px 0 0; font-size: 12px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--c-dim); }
.calder-doc-meta { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 2px 12px; margin: 0; min-width: 0; max-width: 100%; font-size: 12px; }
.calder-doc-meta dt { color: var(--c-dim); }
.calder-doc-meta dd { margin: 0; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.calder-doc-foot { margin: 8px 0 0; padding-top: 8px; border-top: 1px dashed var(--c-line); font-size: 11px; color: var(--c-dim); text-align: center; }
.calder-doc .calder-statlist { font-variant-numeric: tabular-nums; }
.calder-statement .calder-statlist dd { text-align: right; }
.calder-banner + .calder-paper { margin-top: 0; }
.calder-dossier .calder-doc-head { position: relative; }
.calder-dossier .calder-doc-title::after {
  content: 'Confidential'; display: inline-block; margin-left: 10px; padding: 0 5px;
  border: 2px solid var(--c-alert); color: var(--c-alert); rotate: -4deg;
  font-weight: 700; letter-spacing: 0.14em;
}
.calder-deed { outline: 3px double var(--c-line); outline-offset: -8px; padding: 20px 20px 14px; }
.calder-fitting { border-top: 6px solid transparent; border-image: repeating-linear-gradient(90deg, var(--c-text) 0 1px, transparent 1px 8px) 6; }
.calder-memo .calder-doc-org { font-family: var(--font-ui); font-size: 18px; letter-spacing: 0.04em; }
.calder-memo .calder-doc-head { border-bottom-width: 3px; border-bottom-style: double; }
.calder-casefile { position: relative; margin-top: 30px; border-top-left-radius: 0; }
.calder-casefile::before {
  content: 'MCPD'; position: absolute; left: 0; top: -20px; height: 20px; padding: 0 14px;
  display: flex; align-items: center; background: var(--c-bg); color: var(--c-dim);
  font-size: 11px; font-weight: 700; letter-spacing: 0.14em; border-radius: 6px 6px 0 0;
  pointer-events: none;
}
.calder-banner + .calder-casefile, .calder-dialog + .calder-casefile { margin-top: 30px; }
.calder-casefile .calder-doc-title::after {
  content: 'Evidence'; display: inline-block; margin-left: 10px; padding: 0 5px;
  border: 2px solid var(--c-alert); color: var(--c-alert); rotate: 3deg;
  font-weight: 700; letter-spacing: 0.14em;
}
.calder-streetmap {
  background-color: var(--c-bg);
  background-image:
    linear-gradient(90deg, rgba(20, 17, 13, 0.14) 2px, transparent 2px),
    linear-gradient(rgba(20, 17, 13, 0.14) 2px, transparent 2px);
  background-size: 34px 34px;
}
.calder-streetmap > .calder-doc-head, .calder-streetmap > .calder-section, .calder-streetmap > .calder-map-key, .calder-streetmap > .calder-map-line, .calder-streetmap > .calder-doc-foot {
  background: var(--c-bg); padding-left: 10px; padding-right: 10px;
}
.calder-streetmap > .calder-section { margin-top: 12px; border: 1px solid var(--c-line); }
.calder-map-key { margin: 12px 0 0; padding-top: 8px; padding-bottom: 8px; border: 1px solid var(--c-line); font-size: 12px; color: var(--c-dim); }
.calder-explore-street { margin: 4px 0 8px; font-size: 13px; }
.calder-map-line { margin: 10px 0 0; }
.calder-citymap-frame { overflow-x: auto; margin: 8px 0 12px; border: 1px solid var(--c-line); }
.calder-citymap-frame:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 2px; }
.calder-citymap-frame.zoomed .calder-citymap { width: 680px; min-width: 680px; max-width: none; }
.calder-map-zoom { margin: -4px 0 12px; }
.calder-citymap {
  display: block; width: 100%; min-width: 340px; max-width: 1020px; height: auto; aspect-ratio: 340 / 220;
  margin: 0 auto; image-rendering: pixelated;
}
@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 1.5dppx) {
  .calder-citymap { min-width: 0; }
}
.calder-map-districts { display: flex; flex-wrap: wrap; gap: 8px; }
.calder-map-districts .calder-btn[aria-pressed="true"] { border-color: var(--c-accent); color: var(--c-accent); }
.calder-carol-songs .calder-btn[aria-pressed="true"] { border-color: var(--c-accent); color: var(--c-accent); box-shadow: inset 0 0 0 1px var(--c-accent); }
.calder-map-streets { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin-top: 12px; }
.calder-map-street { padding: 10px 12px; border: 1px dashed var(--c-line); background: var(--c-panel); }
.calder-map-street.walked { border-style: solid; }
.calder-map-street-name { margin: 0 0 4px; font-weight: 600; color: var(--c-text); }
.calder-map-street:not(.walked) .calder-map-street-name { font-weight: 400; color: var(--c-dim); }
.calder-map-street-blurb { margin: 0 0 8px; font-size: 14px; color: var(--c-dim); }
.calder-map-spots { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 12px; color: var(--c-dim); }
.calder-map-dots { display: inline-flex; flex-wrap: wrap; gap: 5px; }
.calder-map-spot { width: 10px; height: 10px; box-sizing: border-box; border: 2px solid var(--c-dim); }
.calder-map-spot.found { border-color: var(--c-accent); background: var(--c-accent); }
.calder-map-spot.event { border-color: #c9a227; border-radius: 50%; }
.calder-map-spot.event.found { background: #c9a227; }
html[data-tone="light"] .calder-map-spot.event { border-color: #8a6a16; }
html[data-tone="light"] .calder-map-spot.event.found { background: #8a6a16; }
.calder-map-seen { margin-top: 8px; font-size: 13px; }
.calder-map-seen > summary { cursor: pointer; min-height: 24px; box-sizing: border-box; padding: 3px 0; }
.calder-map-seen ul { margin: 6px 0 0; padding-left: 18px; }
.calder-wheel { position: relative; width: min(100%, 336px); margin: 16px auto 12px; }
.calder-wheel canvas { display: block; width: 100%; height: auto; aspect-ratio: 1; image-rendering: pixelated; }
.calder-wheel-spin { transition: transform 3.2s cubic-bezier(0.12, 0.6, 0.1, 1); }
.calder-wheel-pointer {
  position: absolute; top: -10px; left: 50%; z-index: 1; width: 0; height: 0; margin-left: -10px; pointer-events: none;
  border-left: 10px solid transparent; border-right: 10px solid transparent; border-top: 20px solid var(--c-accent);
}
.calder-wheel-odds td { text-align: right; }
@media (prefers-reduced-motion: reduce) {
  .calder-wheel-spin { transition: none; }
}
.calder-corkboard { background: #3a2c1e; border: 6px solid #5b4330; box-shadow: inset 0 0 0 1px #24190f; }
.calder-listings.calder-corkboard { padding: 10px; }
.calder-corkboard .calder-listing { color: var(--c-text); position: relative; padding-top: 14px; box-shadow: 0 2px 0 rgba(0, 0, 0, 0.35); }
.calder-corkboard .calder-listing::before {
  content: ''; position: absolute; left: 50%; top: 4px; width: 8px; height: 8px; translate: -50% 0;
  border-radius: 50%; background: #b3322d; box-shadow: 0 1px 0 #24190f;
  pointer-events: none;
}
.calder-pricestall {
  padding-top: 32px;
  background:
    radial-gradient(circle at 9px 0, #2f6b43 8px, transparent 8.5px) 0 12px / 36px 8px repeat-x,
    radial-gradient(circle at 9px 0, #8a8570 8px, transparent 8.5px) 18px 12px / 36px 8px repeat-x,
    repeating-linear-gradient(90deg, #2f6b43 0 18px, #8a8570 18px 36px) 0 0 / 100% 12px no-repeat,
    var(--c-panel);
}
.calder-pricestall .calder-listing-wage {
  position: relative; padding: 1px 8px 1px 17px; background: #a89d89; color: #14110d; font-weight: 600;
  clip-path: polygon(8px 0, 100% 0, 100% 100%, 8px 100%, 0 50%);
}
.calder-pricestall .calder-listing-wage::before {
  content: ''; position: absolute; left: 7px; top: 50%; width: 4px; height: 4px; translate: 0 -50%;
  border-radius: 50%; background: var(--c-bg); pointer-events: none;
}
.calder-counter {
  padding-bottom: 28px;
  background:
    linear-gradient(#7a5c40, #7a5c40) left bottom 12px / 100% 3px no-repeat,
    repeating-linear-gradient(90deg, #5b4330 0 22px, #4f3a29 22px 23px) left bottom / 100% 12px no-repeat,
    var(--c-panel);
}
.calder-ledger {
  border-left: 10px solid #1f3b28;
  padding-left: 30px;
  background:
    linear-gradient(90deg, transparent 17px, #7a2a22 17px 18px, transparent 18px 20px, #7a2a22 20px 21px, transparent 21px),
    repeating-linear-gradient(transparent 0 23px, rgba(20, 17, 13, 0.12) 23px 24px),
    var(--c-bg);
}
@media (max-width: 600px) {
  .calder-ledger {
    border-left-width: 6px; padding-left: 20px;
    background:
      linear-gradient(90deg, transparent 10px, #7a2a22 10px 11px, transparent 11px 13px, #7a2a22 13px 14px, transparent 14px),
      repeating-linear-gradient(transparent 0 23px, rgba(20, 17, 13, 0.12) 23px 24px),
      var(--c-bg);
  }
}
.calder-felt {
  --c-bg: #1d4a33;
  --c-panel: #1d4a33;
  --c-text: #f1ead8;
  --c-dim: #c9d1bc;
  --c-line: #b8964a;
  --c-neon: #7fe0c8;
  --c-alert: #ff9a8a;
  color: var(--c-text);
  background: var(--c-bg);
  border: 10px solid #3b2417;
  border-radius: 22px;
  box-shadow: inset 0 0 0 2px #8a6a2e, 0 2px 0 #0a0c0f;
  padding: 16px 18px 16px;
}
.calder-felt .calder-listing { background: transparent; border-radius: 10px; }
@media (max-width: 600px) {
  .calder-felt { border-width: 6px; border-radius: 16px; padding: 12px 10px; }
}
.calder-arcade {
  --c-bg: #0d0b14;
  --c-panel: #0d0b14;
  border: 2px solid #ff7ab6;
  border-radius: 8px;
  box-shadow: 0 0 0 1px #0a0c0f, 0 0 14px rgba(255, 122, 182, 0.4), inset 0 0 14px rgba(255, 122, 182, 0.18);
  background:
    radial-gradient(circle at 8px 10px, rgba(108, 201, 196, 0.18) 1.5px, transparent 2px) 0 0 / 46px 46px,
    radial-gradient(circle at 30px 34px, rgba(255, 122, 182, 0.16) 1.5px, transparent 2px) 0 0 / 46px 46px,
    radial-gradient(circle at 36px 12px, rgba(230, 184, 74, 0.14) 1.5px, transparent 2px) 0 0 / 46px 46px,
    var(--c-bg);
}
.calder-arcade .calder-arcade-cab { border-radius: 10px 10px 2px 2px; }
.calder-arcade .calder-arcade-marquee {
  margin: -10px -12px 6px; padding: 8px 12px;
  background: #07060b; border-radius: 7px 7px 0 0;
  border-bottom: 2px solid var(--cab);
  box-shadow: 0 3px 10px -4px var(--cab);
}
.calder-arcade .calder-arcade-name { text-shadow: 0 0 6px var(--cab); }
.calder-herald .calder-doc-head { flex-direction: column; align-items: center; text-align: center; border-bottom-width: 4px; border-bottom-style: double; }
.calder-herald .calder-doc-org { font-size: 30px; letter-spacing: 0.06em; }
.calder-herald .calder-doc-meta { grid-template-columns: none; justify-items: center; text-align: center; }
.calder-news-pick { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 2px 0 12px; }
.calder-news-pick-label { font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-dim); }
.calder-news-select { width: auto; min-width: 12em; }
.calder-newsrows { list-style: none; margin: 0; padding: 0; margin-inline: 8px; }
.calder-newsrow { border-top: 1px solid var(--c-line); }
.calder-newsrows > li:last-child > .calder-newsrow { border-bottom: 1px solid var(--c-line); }
.calder-newsrow-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "title mark" "meta mark"; gap: 3px 10px; padding: 11px 8px; cursor: pointer; list-style: none; }
.calder-newsrow-head::-webkit-details-marker { display: none; }
.calder-newsrow-head::after { content: '\25B8'; grid-area: mark; align-self: center; color: var(--c-dim); pointer-events: none; }
.calder-newsrow[open] > .calder-newsrow-head::after { content: '\25BE'; }
.calder-newsrow-head:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 2px; }
.calder-newsrow-title { grid-area: title; font-family: var(--font-display); font-size: 17px; line-height: 1.3; color: var(--c-text); }
.calder-newsrow.major .calder-newsrow-title { font-weight: 700; }
.calder-newsrow-meta { grid-area: meta; font-size: 12px; color: var(--c-dim); }
.calder-newsrow-body { padding: 0 8px 12px; }
.calder-news-pagination { align-items: center; justify-content: center; }
.calder-news-pagination > .calder-note { margin: 0; }
.calder-smallprint { margin-top: 18px; padding: 10px 12px 12px; border: 1px solid var(--c-line); }
.calder-smallprint-head { margin: 0; padding-bottom: 6px; border-bottom: 3px double var(--c-line); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-text); }
.calder-smallprint-item { margin: 10px 0 0; font-family: var(--font-display); font-size: 14px; line-height: 1.4; color: var(--c-text); }
.calder-smallprint-kind, .calder-smallprint-date { font-family: var(--font-ui); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-dim); }
.calder-smallprint-date::before { content: " \00b7  "; }
.calder-smallprint-date::after { content: "\A"; white-space: pre; }
.calder-horoscope { margin-top: 18px; padding: 10px 12px 12px; border: 1px solid var(--c-line); }
.calder-horoscope-head { margin: 0; padding-bottom: 6px; border-bottom: 3px double var(--c-line); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-text); }
.calder-horoscope-lines { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 8px 14px; margin: 10px 0 0; }
.calder-horoscope-lines dt { padding-top: 3px; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-dim); }
.calder-horoscope .calder-horoscope-lines dd { margin: 0; font-family: var(--font-display); font-size: 16px; font-style: italic; line-height: 1.4; color: var(--c-text); }
.calder-horoscope-foot { margin: 10px 0 0; font-size: 11px; color: var(--c-dim); }
@media (max-width: 480px) {
  .calder-horoscope-lines { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .calder-horoscope .calder-horoscope-lines dd { margin-bottom: 8px; }
}
@media (min-width: 1100px) {
  .calder-news-columns { display: grid; grid-template-columns: minmax(0, 1fr) 17rem; gap: 24px; align-items: start; }
  .calder-smallprint { margin-top: 0; }
}
a.calder-btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
a.calder-btn::after { content: none; }
.calder-beach {
  --c-bg: #37301f;
  --c-panel: #37301f;
  --c-text: #f1e6d0;
  --c-dim: #c9b898;
  --c-line: #5a4f38;
  --c-accent: #e6b84a;
  --c-alert: #ff9a70;
  color: var(--c-text);
  background:
    repeating-linear-gradient(170deg, rgba(255, 255, 255, 0.025) 0 1px, transparent 1px 9px),
    var(--c-bg);
  box-shadow: inset 0 0 0 1px var(--c-line);
}
.calder-beach-legend { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0 0 12px; font-size: 12px; color: var(--c-dim); }
.calder-beach-key { display: inline-flex; align-items: center; gap: 6px; }
.calder-beach-swatch { width: 10px; height: 10px; flex: none; }
.calder-beach-swatch.tone-low, .calder-beach-cell.tone-low { --tone: #d49a7a; }
.calder-beach-swatch.tone-mid, .calder-beach-cell.tone-mid { --tone: #c9d0d6; }
.calder-beach-swatch.tone-high, .calder-beach-cell.tone-high { --tone: #e6b84a; }
.calder-beach-swatch { background: var(--tone); }
.calder-dive-board, .calder-beach-board {
  position: relative;
  width: 100%;
  aspect-ratio: var(--w) / var(--h);
  margin: 10px auto 12px;
  box-shadow: 0 0 0 2px var(--c-line);
}
.calder-dive-board { max-width: 432px; }
.calder-beach-board { max-width: 480px; }
.calder-dive-scene, .calder-beach-scene { position: absolute; inset: 0; display: block; width: 100%; height: 100%; image-rendering: pixelated; }
.calder-cellmark {
  position: absolute; top: 1px; right: 1px;
  min-width: 12px; padding: 0 2px; border-radius: 2px;
  font-size: 11px; font-weight: 700; line-height: 13px; text-align: center;
  background: #0b1d26; color: #e3eef0;
  pointer-events: none;
}
.calder-beach-grid {
  position: absolute; left: 0; right: 0; bottom: 0;
  display: grid;
  grid-template-columns: repeat(var(--cols, 10), minmax(0, 1fr));
  grid-template-rows: repeat(var(--rows, 7), minmax(0, 1fr));
}
.calder-beach-cell {
  position: relative;
  min-width: 0; min-height: 0;
  padding: 0;
  border: 1px solid rgba(241, 230, 208, 0.06);
  background: transparent;
  font: inherit;
  cursor: pointer;
}
.calder-beach-cell:hover { border-color: rgba(241, 230, 208, 0.5); }
.calder-beach-cell:focus-visible { outline: 2px solid var(--c-neon, #6cc9c4); outline-offset: -2px; z-index: 1; }
.calder-beach-cell .calder-cellmark { background: #1a160e; color: var(--tone, #c9b898); }
.calder-beach-cell.dug:is(.dug-coins, .dug-jewellery, .dug-relic) .calder-cellmark { color: #e6b84a; }
.calder-beach-cell.missed { border: 1px dashed #c9b898; }
.calder-dive {
  --c-bg: #0b1d26;
  --c-panel: #0b1d26;
  --c-text: #e3eef0;
  --c-dim: #9fbac0;
  --c-line: #2c4a56;
  --c-accent: #6cc9c4;
  --c-alert: #ff9a70;
  color: var(--c-text);
  background: linear-gradient(180deg, #0f2a36, #071319);
  box-shadow: inset 0 0 0 1px var(--c-line);
}
.calder-dive-gauge { max-width: 460px; margin: 6px 0 4px; }
.calder-dive-gauge .calder-progress-fill { background: #6cc9c4; }
.calder-dive-gauge .tight .calder-progress-fill { background: #ff9a70; }
.calder-dive-grid {
  position: absolute; left: 0; right: 0; bottom: 0;
  display: grid;
  grid-template-columns: repeat(var(--cols, 9), minmax(0, 1fr));
  grid-template-rows: repeat(var(--rows, 6), minmax(0, 1fr));
}
.calder-dive-cell {
  position: relative;
  min-width: 0; min-height: 0;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.05);
  background: transparent;
  font: inherit;
  cursor: pointer;
}
.calder-dive-cell.t-rock { cursor: default; }
.calder-dive-cell:hover { border-color: rgba(227, 238, 240, 0.55); }
.calder-dive-cell:focus-visible { outline: 2px solid #f5e6a8; outline-offset: -2px; z-index: 1; }
.calder-dive-cell.you { box-shadow: inset 0 0 0 2px #f5e6a8; }
.calder-dive-cell.searched .calder-cellmark { color: #9fbac0; }
.calder-dive-cell.searched:not(.found-nothing):not(.found-junk) .calder-cellmark { color: #f5c542; }
.calder-dive-cell.missed { border: 1px dashed #cfe0e3; }
@media (max-width: 400px) {
  .calder-dive-board, .calder-beach-board { margin-inline: -13px; width: calc(100% + 26px); max-width: none; }
}
.calder-mop-board {
  position: relative;
  width: 100%;
  max-width: 540px;
  aspect-ratio: var(--cols) / var(--rows);
  margin: 10px 0 12px;
  border: 2px solid #1f242b;
  background: #1f242b;
}
.calder-mop-canvas {
  display: block;
  width: 100%;
  height: 100%;
  image-rendering: pixelated;
}
.calder-mop-grid {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
  grid-template-rows: repeat(var(--rows), minmax(0, 1fr));
}
.calder-mop-cell {
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.calder-mop-cell.can { box-shadow: inset 0 0 0 2px rgba(227, 168, 87, 0.55); }
.calder-mop-cell:hover.can { box-shadow: inset 0 0 0 2px #e3a857; }
.calder-mop-cell:focus-visible { outline: 3px solid #f5f0e6; outline-offset: -3px; box-shadow: inset 0 0 0 5px #1a1a1a; }
.calder-mop-clock { font-variant-numeric: tabular-nums; }
.calder-truck-h { margin-top: 18px; }
.calder-truck-fuel { font-variant-numeric: tabular-nums; }
.calder-tip-list { list-style: none; margin: 8px 0 12px; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.calder-tip-row {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  grid-template-areas: "pic name mark" "pic bins bins";
  align-items: center;
  gap: 4px 10px;
  padding: 6px 8px;
  border: 1px solid var(--c-line);
  background: var(--c-panel);
}
.calder-tip-pic { grid-area: pic; width: 36px; height: 36px; image-rendering: pixelated; }
.calder-tip-name { grid-area: name; }
.calder-tip-mark { grid-area: mark; font-size: 13px; white-space: nowrap; }
.calder-tip-bins { grid-area: bins; display: flex; flex-wrap: wrap; gap: 6px; }
.calder-tip-bin { min-height: 32px; padding: 4px 10px; }
.calder-tip-bin[aria-pressed="true"], .calder-tip-bin[aria-pressed="true"]:disabled { border-color: var(--c-accent); color: var(--c-text); font-weight: 700; box-shadow: inset 0 0 0 1px var(--c-accent); }
.calder-inspect-scene { display: block; width: 192px; max-width: 100%; height: auto; aspect-ratio: 48 / 32; image-rendering: pixelated; border: 2px solid #1f242b; margin: 6px 0; }
@media (min-width: 560px) { .calder-inspect-scene { width: 288px; } }
.calder-inspect-lines { display: flex; flex-direction: column; gap: 6px; margin: 4px 0 8px; }
.calder .calder-inspect-line { text-align: left; white-space: normal; font-family: var(--font-display); min-height: 44px; }
.calder-inspect-line[aria-pressed="true"], .calder-inspect-line[aria-pressed="true"]:disabled { border-color: var(--c-accent); box-shadow: inset 4px 0 0 var(--c-accent); }
.calder-loan-lines { margin: 4px 0 8px; padding-left: 20px; }
.calder-tip-bin.right { outline: 2px dashed var(--c-neon); outline-offset: 1px; }
@media (min-width: 700px) {
  .calder-tip-row { grid-template-columns: 36px minmax(0, 1fr) auto auto; grid-template-areas: "pic name bins mark"; }
}
.calder-fire-mode[aria-pressed="true"] { border-color: var(--c-accent); color: var(--c-text); font-weight: 700; box-shadow: inset 0 0 0 1px var(--c-accent); }
.calder-fire-cats { list-style: none; margin: 4px 0 10px; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 14px; }
.calder-fire-cat { display: inline-flex; align-items: center; gap: 6px; }
.calder-fire-cat.is-saved { color: var(--c-neon); }
.calder-fire-cat.is-lost { color: var(--c-dim); }
.calder-fire-coat { width: 10px; height: 10px; border: 1px solid var(--c-line); flex: none; }
.calder-patrol-scene { margin: 4px 0 8px; }
.calder-patrol-papers { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; margin: 8px 0; }
.calder-patrol-card { margin: 0; padding: 10px 12px; }
.calder-patrol-card-title { margin: 0 0 6px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; font-size: 12px; color: var(--c-accent); }
.calder-patrol-card dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 10px; margin: 0; font-size: 14px; }
.calder-patrol-card dt { color: var(--c-dim); }
.calder-patrol-card dd { margin: 0; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.calder-patrol-callhead { margin-top: 10px; }
.calder-patrol-calls { list-style: none; margin: 4px 0 10px; padding: 0; display: flex; flex-direction: column; gap: 2px; font-size: 14px; }
.calder-patrol-call.is-cold { color: var(--c-dim); }
.calder-patrol-call.is-done { color: var(--c-neon); }
.calder-patrol-call.is-done.wrong { color: var(--c-alert); }
.calder-patrol-kind { font-weight: 700; }
.calder-case-evidence { margin: 4px 0 12px; padding-left: 20px; font-size: 14px; display: flex; flex-direction: column; gap: 3px; }
.calder-case-trace { color: var(--c-text); }
.calder-case-nothing { color: var(--c-dim); }
.calder-case-board { padding: 12px; }
.calder-suspect .calder-bust-canvas { display: block; margin: 0 auto 6px; image-rendering: pixelated; }
.calder-suspect-traits { list-style: none; margin: 4px 0 6px; padding: 0; font-size: 14px; }
.calder-suspect.ruled-out .calder-job-title, .calder-suspect.ruled-out .calder-suspect-traits { text-decoration: line-through; color: var(--c-dim); }
.calder-suspect.is-culprit { outline: 3px solid var(--c-neon); outline-offset: 2px; }
.calder-sigil { image-rendering: pixelated; display: block; }
.calder-anomaly-stage { min-height: 108px; display: flex; align-items: center; justify-content: center; margin: 6px 0; background: #0e1a1c; border: 1px solid #1f3a3e; }
.calder-anomaly-stage .calder-sigil { width: 96px; height: 96px; }
.calder-anomaly-stage .calder-note { color: #9fd9d4; }
.calder-anomaly-typed { display: flex; gap: 6px; min-height: 36px; margin: 6px 0; }
.calder-anomaly-typed .calder-sigil { width: 32px; height: 32px; }
.calder-anomaly-pad { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 6px 0 8px; max-width: 540px; }
.calder-anomaly-key { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 6px 4px; }
.calder-anomaly-key .calder-sigil { width: 36px; height: 36px; }
.calder-anomaly-name { font-size: 12px; }
@media (min-width: 700px) { .calder-anomaly-pad { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.calder-shift-panel { display: block; width: 100%; max-width: 640px; aspect-ratio: 160 / 48; height: auto; image-rendering: pixelated; margin: 8px 0; border: 2px solid #1f242b; }
.calder-dispatch-calls { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; margin: 8px 0 12px; }
.calder-dispatch-call { margin: 0; padding: 10px 12px; }
.calder-dispatch-call.urgent { box-shadow: inset 4px 0 0 #8a1f1a, 0 2px 0 #0a0c0f, 0 0 0 1px #0a0c0f; }
.calder-dispatch-text { margin: 0 0 4px; font-style: italic; }
.calder-triage-cards .calder-patient .calder-bust-canvas { display: block; margin: 0 auto 6px; image-rendering: pixelated; }
.calder-tip-bin.tag-red { box-shadow: inset 4px 0 0 #d94a3a; }
.calder-tip-bin.tag-yellow { box-shadow: inset 4px 0 0 #e3c34a; }
.calder-tip-bin.tag-green { box-shadow: inset 4px 0 0 #58a05e; }
.calder-tip-bin.tag-red[aria-pressed="true"] { box-shadow: inset 4px 0 0 #d94a3a, inset 0 0 0 1px var(--c-accent); }
.calder-tip-bin.tag-yellow[aria-pressed="true"] { box-shadow: inset 4px 0 0 #e3c34a, inset 0 0 0 1px var(--c-accent); }
.calder-tip-bin.tag-green[aria-pressed="true"] { box-shadow: inset 4px 0 0 #58a05e, inset 0 0 0 1px var(--c-accent); }
.calder-pour-rail { list-style: none; margin: 6px 0 10px; padding: 0; display: flex; flex-direction: column; gap: 3px; font-size: 14px; }
.calder-pour-ticket.is-current { color: var(--c-accent); }
.calder-pour-ticket.is-served { color: var(--c-dim); }
.calder-pour-ticket.right { color: var(--c-neon); }
.calder-pour-ticket.wrong { color: var(--c-alert); }
.calder-pour-glass { margin: 4px 0 10px; font-weight: 600; }
.calder-pour-shelf { display: flex; flex-direction: column; gap: 6px; margin-bottom: 10px; }
.calder-pour-group { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.calder-pour-kind { min-width: 78px; color: var(--c-dim); font-size: 13px; }
.calder-pour-step { min-height: 32px; padding: 4px 10px; }
.calder-pour-book { margin: 6px 0 12px; }
.calder-pour-book summary { cursor: pointer; min-height: 24px; }
.calder-pour-book dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 3px 12px; margin: 8px 0 0; font-size: 14px; }
.calder-pour-book dt { font-weight: 700; }
.calder-pour-book dd { margin: 0; color: var(--c-dim); }
.calder-crack-slots { margin: 6px 0; font-weight: 700; letter-spacing: 0.04em; }
.calder-crack-keys { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; max-width: 480px; margin: 6px 0 10px; }
@media (min-width: 700px) { .calder-crack-keys { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.calder-crack-key { min-height: 40px; }
.calder-crack-key.wire-red { box-shadow: inset 5px 0 0 #d94a3a; }
.calder-crack-key.wire-blue { box-shadow: inset 5px 0 0 #3a7ad9; }
.calder-crack-key.wire-yellow { box-shadow: inset 5px 0 0 #e3c34a; }
.calder-crack-key.wire-green { box-shadow: inset 5px 0 0 #58a05e; }
.calder-crack-key.wire-white { box-shadow: inset 5px 0 0 #e8e4da; }
.calder-crack-key.wire-black { box-shadow: inset 5px 0 0 #2a2a2e, inset 6px 0 0 #8a8f96; }
.calder-crack-key.glyph { font-weight: 700; font-size: 18px; }
.calder-crack-log { margin: 6px 0 12px; padding-left: 24px; font-size: 14px; display: flex; flex-direction: column; gap: 2px; font-variant-numeric: tabular-nums; }
.calder-crack-guess { font-weight: 700; }
.calder-lock-pins, .calder-lock-heights { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 8px; }
.calder-lock-pin, .calder-lock-h { min-height: 40px; min-width: 56px; }
.calder-lock-pin[aria-pressed="true"] { box-shadow: inset 0 0 0 2px var(--c-accent); }
.calder-safe-range { width: 100%; max-width: 480px; margin: 4px 0 6px; accent-color: var(--c-accent); min-height: 32px; }
.calder-runin { margin: 6px 0 12px; padding: 10px 12px; max-width: 560px; color: var(--c-text); }
.calder-runin p { margin: 0 0 6px; }
.calder-corner .calder-dispatch-call { margin: 6px 0 10px; max-width: 560px; color: var(--c-text); }
.calder-lift-marks { list-style: none; margin: 6px 0 10px; padding: 0; display: grid; gap: 8px; }
@media (min-width: 700px) { .calder-lift-marks { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); } }
.calder-lift-mark { border: 1px solid var(--c-line); padding: 8px 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px; row-gap: 4px; align-items: center; }
.calder-lift-mark > .calder-lift-name { grid-column: 1; }
.calder-lift-mark > .calder-lift-strip { grid-column: 1; }
.calder-lift-mark > button { grid-column: 2; grid-row: 1 / span 2; }
.calder-lift-mark.is-gone { color: var(--c-dim); }
.calder-lift-name { margin: 0; font-size: 14px; }
.calder-lift-title { display: block; font-weight: 600; }
.calder-lift-meta { display: block; color: var(--c-dim); font-size: 12px; }
.calder-lift-strip { margin: 0; display: flex; align-items: flex-end; gap: 3px; min-height: 22px; }
.calder-lift-tick { display: inline-block; width: 10px; height: 22px; flex: none; background: var(--c-dim); }
.calder-lift-tick.is-busy { height: 6px; background: var(--c-dim); }
.calder-lift-tick.is-glance { height: 13px; background: var(--c-accent); }
.calder-lift-tick.is-watch { height: 22px; background: var(--c-alert); }
.calder-lift-key .calder-lift-tick { vertical-align: baseline; margin-right: 2px; }
.calder-papers-nav { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 10px; }
.calder-papers-chip { min-width: 48px; min-height: 40px; }
.calder-papers-chip[aria-current="true"] { box-shadow: inset 0 0 0 2px var(--c-accent); }
.calder-papers-chip.is-right { color: var(--c-neon); }
.calder-papers-chip.is-wrong { color: var(--c-alert); }
.calder-papers-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.calder-papers-docs { display: grid; gap: 10px; margin: 8px 0 10px; }
@media (min-width: 700px) { .calder-papers-docs { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); } }
.calder-papers-doc { margin: 0; padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; }
.calder-papers-doc-title { margin: 0 0 4px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; font-size: 12px; }
.calder-papers .calder-papers-row { display: flex; justify-content: space-between; gap: 12px; width: 100%; min-height: 36px; padding: 4px 8px; text-align: left; background: transparent; border: 1px dashed transparent; color: var(--c-text); box-shadow: none; font: inherit; font-size: 14px; }
.calder-papers .calder-papers-row:hover:not(:disabled) { border-color: var(--c-dim); }
.calder-papers .calder-papers-row[aria-pressed="true"] { border: 2px solid #8a1f1a; text-decoration: line-through; text-decoration-color: #8a1f1a; }
.calder-papers .calder-papers-row.is-bad { border: 2px solid #8a1f1a; font-weight: 700; }
.calder-papers .calder-papers-row:disabled { opacity: 1; cursor: default; }
.calder-papers-label { color: var(--c-dim); }
.calder-papers-value { font-weight: 700; text-align: right; }
.calder-night-lanes { display: grid; gap: 12px; margin: 8px 0; }
@media (min-width: 1100px) { .calder-night-lanes { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; } }
.calder-night-lane { margin: 0; padding: 10px 12px; color: var(--c-text); display: flex; flex-direction: column; gap: 6px; }
.calder-night-lane .calder-papers-docs { grid-template-columns: 1fr; margin: 4px 0; }
.calder-night-lane .calder-actions { margin-top: auto; }
.calder-night-row { display: flex; justify-content: space-between; gap: 12px; margin: 0; font-size: 14px; }
.calder-calendar { --cal-0: #8a3a4a; --cal-1: #2a5a8a; --cal-2: #3f6a3a; --cal-3: #6a4a8a; --cal-4: #8a5a2a; --cal-5: #2a6a6a; --cal-6: #7a3a7a; --cal-7: #4a5a2a; }
.calder-cal-list { list-style: none; margin: 8px 0 10px; padding: 0; display: grid; gap: 6px; }
@media (min-width: 700px) { .calder-cal-list { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); } }
.calder-cal-pick { width: 100%; min-height: 44px; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; border-left: 8px solid var(--cal); }
.calder-cal-pick[aria-pressed="true"] { box-shadow: inset 0 0 0 2px var(--c-accent); }
.calder-cal-pick.is-placed .calder-cal-name { text-decoration: line-through; text-decoration-thickness: 1px; }
.calder-cal-name { font-weight: 700; }
.calder-cal-meta { font-size: 12px; color: var(--c-dim); }
.calder-cal-week { display: grid; gap: 2px; margin: 6px 0 12px; max-width: 640px; }
.calder-cal-row { display: grid; grid-template-columns: 52px repeat(5, minmax(0, 1fr)); gap: 2px; }
.calder-cal-hour, .calder-cal-day { font-size: 12px; color: var(--c-dim); align-self: center; text-align: center; }
.calder-cal-day { font-weight: 700; color: var(--c-text); }
.calder-calendar .calder-cal-cell { min-height: 32px; padding: 0; font-size: 13px; font-weight: 700; border: 1px solid var(--c-line); background: var(--c-bg); color: var(--c-text); box-shadow: none; }
.calder-calendar .calder-cal-cell.can { box-shadow: inset 0 0 0 2px var(--c-accent); }
.calder-calendar .calder-cal-cell.is-meeting { background: var(--cal); border-color: var(--cal); color: #f5f0e6; }
.calder-calendar .calder-cal-cell.is-meeting.is-first { box-shadow: inset 0 3px 0 #f5f0e6; }
.calder-calendar .calder-cal-cell.is-taken { background: color-mix(in srgb, var(--c-text) 16%, var(--c-bg)); border-color: transparent; color: var(--c-text); }
.calder-calendar .calder-cal-cell:disabled { opacity: 1; cursor: default; }
.calder-gallery-call { margin: 6px 0; font-size: 22px; font-weight: 700; color: var(--c-accent); min-height: 30px; }
.calder-gallery-bar { height: 8px; max-width: 640px; background: var(--c-line); margin: 4px 0 8px; }
.calder-gallery-fill { display: block; height: 100%; width: 0; background: var(--c-accent); transition: width 0.25s linear; }
.calder-gallery-fill.is-low { background: var(--c-alert); }
@media (prefers-reduced-motion: reduce) { .calder-gallery-fill { transition: none; } }
.calder-gallery-cams { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; max-width: 640px; margin: 0 0 8px; }
.calder-gallery-cam { min-height: 44px; }
@media (max-width: 480px) { .calder-gallery-cam { padding-inline: 4px; font-size: 13px; } }
.calder-forecast-card .calder-tip-bins { margin-top: auto; }
.calder-haggle-buyer { margin: 6px 0 10px; max-width: 640px; color: var(--c-text); }
.calder-haggle-house.is-shown { box-shadow: inset 0 0 0 2px var(--c-accent); }
.calder-haggle-price { align-items: center; }
.calder-haggle-price .calder-input { width: 12ch; }
.calder-cctv-log { margin: 4px 0 6px; padding-left: 0; list-style: none; font-size: 14px; display: flex; flex-direction: column; gap: 2px; }
.calder-till-counter { max-width: 640px; }
.calder-till-items { margin: 4px 0 6px; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; }
.calder-till-check { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.calder-till-check select { min-height: 44px; max-width: 100%; font: inherit; }
.calder-till-drawer { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0 4px; max-width: 640px; }
.calder-till-drawer .calder-job-title { flex-basis: 100%; }
.calder-till-coin { min-width: 56px; min-height: 44px; }
.calder-till-book { margin: 4px 0 0; padding-left: 22px; font-size: 14px; }
@media (min-width: 700px) { .calder-till-book { columns: 2; column-gap: 24px; } }
.calder-till-bookbox { max-width: 640px; margin-top: 8px; }
.calder-desk-memo { margin: 6px 0 10px; max-width: 720px; color: var(--c-text); }
.calder-desk-options { display: grid; gap: 6px; margin-top: 8px; }
.calder-desk-option { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-height: 48px; text-align: left; }
.calder-desk-choice { font-weight: 700; }
.calder-desk-fx { font-size: 13px; }
.calder-con-ways { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 6px; margin: 6px 0 10px; max-width: 720px; }
.calder-con-ways button { min-height: 40px; text-align: left; }
.calder-check-lanes { flex-direction: column; }
.calder-audit-ledger { margin: 6px 0 10px; padding-left: 28px; display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.calder-audit-row { padding: 2px 0; }
.calder-audit-row.is-yours { font-weight: 700; }
.calder-audit-row.is-pulled { color: var(--c-dim); text-decoration: line-through; }
.calder-audit-what { margin-right: 8px; }
.calder-audit-tell { display: inline-block; margin: 2px 6px 2px 0; padding: 0 6px; border-left: 4px solid var(--ink); font-weight: 400; }
.calder-audit-acts { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 2px; font-weight: 400; }
@media (max-width: 400px) {
  .calder-mop-board { margin-inline: -13px; width: calc(100% + 26px); max-width: none; }
}
.calder-herald-desk {
  --c-bg: #1f1a14;
  --c-panel: #29221a;
  --c-text: #f1e6d0;
  --c-dim: #c9b898;
  --c-line: #4a3c2a;
  --c-accent: #e3a857;
  --c-alert: #ff9a70;
  --c-ink: #1f1a14;
  color: var(--c-text);
  background:
    radial-gradient(ellipse 50% 35% at 50% 0, rgba(227, 168, 87, 0.1), transparent 70%),
    var(--c-bg);
  box-shadow: inset 0 0 0 1px var(--c-line);
}
.calder-print { margin: 4px 0 16px; display: grid; gap: 8px; justify-items: start; }
.calder-print-canvas { width: min(100%, 320px); height: auto; padding: 10px; background: #ece6d8; box-shadow: 0 2px 0 rgba(0, 0, 0, 0.5); image-rendering: pixelated; }
.calder-print-caption { display: grid; gap: 2px; }
.calder-print-stars { color: var(--c-accent); letter-spacing: 0.1em; }
.calder-print-why { color: var(--c-dim); font-size: 12px; }
.calder-shoot {
  position: relative;
  width: 100%; max-width: 640px; aspect-ratio: 16 / 10;
  margin: 8px 0 10px;
  overflow: hidden;
  border: 1px solid var(--c-line);
  cursor: crosshair;
  touch-action: none;
}
.calder-shoot:focus-visible { outline: 2px solid var(--c-neon, #6cc9c4); outline-offset: 2px; }
.calder-shoot-canvas { display: block; width: 100%; height: 100%; image-rendering: pixelated; }
.calder-shutter-flash { position: absolute; inset: 0; background: #ffffff; opacity: 0; pointer-events: none; animation: calder-shutter 0.35s ease-out; }
@keyframes calder-shutter { from { opacity: 0.85; } to { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .calder-shutter-flash { display: none; } }
.calder-finder {
  position: absolute;
  border: 2px solid #ffffff;
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.42);
  pointer-events: none;
}
.calder-finder-third { position: absolute; background: rgba(255, 255, 255, 0.35); }
.calder-finder-third:nth-child(1) { left: 33.33%; top: 0; bottom: 0; width: 1px; }
.calder-finder-third:nth-child(2) { left: 66.67%; top: 0; bottom: 0; width: 1px; }
.calder-finder-third:nth-child(3) { top: 33.33%; left: 0; right: 0; height: 1px; }
.calder-finder-third:nth-child(4) { top: 66.67%; left: 0; right: 0; height: 1px; }
.calder-zoom-label { margin: 0; align-self: center; }
.calder-shutter { min-width: 12em; min-height: 44px; }
.calder-shoot-row { align-items: center; }
.calder-shoot-clock { margin: 0; }
.calder-shoot-how { margin-top: 12px; }
.calder-week-event { border: 1px solid var(--c-accent); padding: 10px 12px; margin: 0 0 12px; }
.calder-week-event p { margin: 0 0 4px; }
.calder-contest-board { margin: 6px 0; padding: 0; list-style: none; counter-reset: rank; }
.calder-contest-board li { display: grid; grid-template-columns: 1.8em minmax(7.5em, 1fr) minmax(0, 1fr); column-gap: 8px; align-items: baseline; padding: 4px 0; border-top: 1px solid var(--c-line); }
.calder-contest-board li:first-child { border-top: 0; }
.calder-contest-board li::before { counter-increment: rank; content: counter(rank) "."; font-family: var(--f-fig); color: var(--c-dim); font-variant-numeric: tabular-nums; }
.calder-contest-board li.you { color: var(--c-accent); font-weight: 600; }
.calder-crew-rank { list-style: decimal; padding-left: 1.4em; }
.calder-crew-rank li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding: 2px 0; border-top: 0; }
.calder-crew-rank li::before { content: none; }
.calder-contest-value { font-variant-numeric: tabular-nums; text-align: right; overflow-wrap: anywhere; }
.calder-contest-name { overflow-wrap: anywhere; }
.calder-photo-vote { margin-top: 14px; }
.calder-nominee { margin: 0; }
.calder-nominee.voted { border-color: var(--c-accent); }
.calder-nominee .calder-print-canvas { width: 100%; max-width: 320px; }
.calder-crew-members { list-style: none; margin: 8px 0; padding: 0; display: grid; gap: 6px; }
.calder-crew-member { display: flex; align-items: center; gap: 10px; padding: 6px 8px; border: 1px solid var(--c-line); }
.calder-crew-member.you { border-color: var(--c-accent); }
.calder-crew-member > .calder-btn { margin-left: auto; }
.calder-crew-kitty { margin: 12px 0; }
.calder-crew-form { display: grid; gap: 6px; max-width: 420px; }
.calder-crew-pay .calder-select { flex: 0 1 auto; }
@media (min-width: 601px) { .calder-crew-pay .calder-select, .calder-poker-open .calder-select { width: auto; max-width: 45%; flex: 0 1 auto; } }
@keyframes calder-gain { 0%, 60% { background-color: rgba(88, 208, 110, 0.35); } 100% { background-color: transparent; } }
@keyframes calder-loss { 0%, 60% { background-color: rgba(217, 74, 58, 0.35); } 100% { background-color: transparent; } }
.calder-status-money.gain { animation: calder-gain 1.4s ease-out; }
.calder-status-money.loss { animation: calder-loss 1.4s ease-out; }
.calder-coins { position: fixed; inset: 0; width: 100vw; height: 100vh; pointer-events: none; z-index: 4500; }
@keyframes calder-shake { 0%, 100% { translate: 0 0; } 20% { translate: -7px 0; } 40% { translate: 6px 0; } 60% { translate: -4px 0; } 80% { translate: 3px 0; } }
.calder-shaking .calder-result:not(:empty) { animation: calder-shake 0.45s ease-in-out; }
@keyframes calder-card-in { from { scale: 0.92; } to { scale: 1; } }
@keyframes calder-stamp { from { scale: 2.2; } to { scale: 1; } }
.calder-stampcard {
  position: fixed; top: 76px; left: 50%; translate: -50% 0; z-index: 4600;
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  width: max-content; min-width: 220px; max-width: min(360px, calc(100vw - 32px)); padding: 14px 20px;
  background: #f3ecdc; color: #2a2118; box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.45);
  font-family: var(--font-ui); text-align: center; cursor: pointer;
  animation: calder-card-in 0.25s ease-out;
}
.calder-stampcard-stamp {
  padding: 2px 12px; border: 3px solid #a3261e; color: #a3261e;
  font-size: 18px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase;
  rotate: -8deg; animation: calder-stamp 0.35s 0.15s both cubic-bezier(0.2, 1.6, 0.4, 1);
}
.calder-stampcard-text { font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }
@media (prefers-reduced-motion: reduce) {
  .calder-status-money.gain, .calder-status-money.loss, .calder-shaking .calder-result:not(:empty),
  .calder-stampcard, .calder-stampcard-stamp { animation: none; }
}
.calder-today-count { margin: 0 0 6px; font-weight: 700; }
.calder-today-list { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 2px; }
.calder-today-list li { display: flex; align-items: center; gap: 8px; min-height: 28px; }
.calder-today-mark { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 18px; height: 18px; border: 1px solid var(--c-line); font-size: 13px; line-height: 1; }
.calder-today-list li.done .calder-today-mark { border-color: var(--c-accent); color: var(--c-accent); }
.calder-today-list li.done .calder-link { color: var(--c-dim); text-decoration: line-through; }
.calder-today-list .calder-link { min-height: 24px; display: inline-flex; align-items: center; }
.calder-progress { margin: 10px 0 12px; }
.calder-progress-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 2px 12px; margin: 0 0 4px; font-size: 13px; }
.calder-progress-said { text-align: right; }
.calder-progress-label { font-weight: 700; }
.calder-progress-said { color: var(--c-dim); }
.calder-progress-track { height: 10px; border: 1px solid var(--c-line); background: var(--c-bg); overflow: hidden; }
@keyframes calder-fill { from { width: 0; } }
.calder-progress-fill { display: block; width: var(--pct); height: 100%; background: var(--c-accent); animation: calder-fill 0.9s ease-out; }
@media (prefers-reduced-motion: reduce) { .calder-progress-fill { animation: none; } }
.calder-whatsnew { list-style: none; margin: 8px 0; padding: 0; }
.calder-whatsnew-date { margin: 14px 0 2px; color: var(--c-dim); font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; }
.calder-whatsnew-item { margin: 0; }
.calder-whatsnew-title { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; min-height: 32px; padding: 4px 0; cursor: pointer; list-style: none; color: var(--c-text); font-weight: 600; }
.calder-whatsnew-title::-webkit-details-marker { display: none; }
.calder-whatsnew-title::before { content: ''; width: 6px; height: 6px; flex: none; margin: 0 4px 0 2px; border-right: 2px solid var(--c-accent); border-bottom: 2px solid var(--c-accent); rotate: -45deg; }
.calder-whatsnew-more[open] > .calder-whatsnew-title::before { rotate: 45deg; }
.calder-whatsnew-title:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 2px; }
.calder-whatsnew-more > p { margin: 2px 0 6px 22px; }
.calder-whatsnew-go { margin: 0 0 10px 22px; }
@media (pointer: coarse) { .calder-whatsnew-title { min-height: 44px; } }
.calder-whatsnew-line .calder-link { min-height: 24px; display: inline-flex; align-items: center; }
.calder-version { display: inline-block; margin: 4px 12px 8px; font-size: 11px; color: var(--c-dim); text-decoration: none; min-height: 24px; line-height: 24px; }
.calder-version:hover, .calder-version:focus-visible { color: var(--c-text); text-decoration: underline; }
.calder-contest-house { grid-column: 2 / -1; font-size: 11px; color: var(--c-dim); }
.calder-whatsnew-line { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; margin: 0 0 10px; }
.calder-whatsnew-label { color: var(--c-accent); font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; }
.calder-crew-dossier { margin: 8px 0 0; padding-left: 18px; }
.calder-crew-dossier li { margin: 2px 0; }
.calder-crew-prep, .calder-crew-file { margin-top: 14px; }
.calder-heist-crew { list-style: none; margin: 0 0 8px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.calder-heist-crew-role { display: flex; gap: 8px; align-items: baseline; border: 1px solid var(--c-line); padding: 4px 8px; min-width: 0; }
.calder-heist-crew-role.you { border-color: var(--c-accent); }
.calder-heist-crew-role.caught .calder-heist-crew-state { color: var(--c-alert); }
.calder-heist-crew-name { overflow-wrap: anywhere; }
.calder-heist-crew-state { color: var(--c-dim); font-size: 12px; }
.calder-pcard {
  display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
  width: 30px; height: 42px; margin: 0 3px 0 0; flex: none;
  background: #f4f1e8; color: #16181b; border: 1px solid #7a6a4a; border-radius: 4px;
  font-weight: 700; font-size: 13px; line-height: 1.05;
}
.calder-pcard.red { color: #b3261e; }
.calder-pcard.back { background: repeating-linear-gradient(45deg, #7a2a2a 0 3px, #5a1a1a 3px 6px); border-color: #3a1010; }
.calder-pcard.big { width: 44px; height: 62px; font-size: 18px; }
.calder-pcard.slot { background: transparent; border: 1px dashed var(--c-line); }
.calder-pcard-s { font-size: 1.05em; }
.calder-poker-seats { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.calder-poker-seat { border: 1px solid var(--c-line); border-radius: 8px; padding: 6px 8px; min-width: 0; }
.calder-poker-seat.you { border-color: var(--c-text); }
.calder-poker-seat.to-act { box-shadow: 0 0 0 2px var(--c-neon); }
.calder-poker-seat.folded { color: var(--c-dim); }
.calder-poker-seat-top { display: flex; justify-content: space-between; gap: 6px; flex-wrap: wrap; }
.calder-poker-name { font-weight: 700; overflow-wrap: anywhere; }
.calder-poker-stack, .calder-poker-bet { font-size: 12px; }
.calder-poker-bet { display: block; color: var(--c-dim); min-height: 1.2em; }
.calder-poker-hole { display: flex; margin: 4px 0; min-height: 0; }
.calder-poker-middle { text-align: center; margin: 8px 0 12px; }
.calder-poker-board { display: flex; justify-content: center; gap: 4px; flex-wrap: wrap; }
.calder-poker-board .calder-pcard { margin: 0; }
.calder-poker-pot { margin: 8px 0 2px; font-weight: 700; }
.calder-poker-clock { margin: 0; min-height: 1.3em; }
.calder-poker-clock.urgent { color: var(--c-alert); font-weight: 700; }
.calder-poker-mine { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 8px 0; }
.calder-poker-mine p { margin: 0; }
.calder-poker-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 10px 0; }
.calder-poker-raise .calder-input { width: 110px; flex: none; }
.calder-poker-showdown { list-style: none; padding: 0; margin: 8px 0; display: grid; gap: 6px; }
.calder-poker-showdown li { display: flex; align-items: center; flex-wrap: wrap; gap: 2px; }
.calder-poker-log { margin: 10px 0 4px; padding-left: 20px; font-size: 12px; color: var(--c-dim); display: grid; gap: 2px; }
.calder-poker-big { font-size: 18px; font-weight: 700; margin: 4px 0 8px; }
.calder-poker-waitlist, .calder-poker-places { margin: 6px 0 10px; padding-left: 20px; }
.calder-poker-waitlist .empty { color: var(--c-dim); }
.calder-pet-art { display: block; image-rendering: pixelated; width: 36px; height: 36px; flex: none; }
.calder-pet-art.calder-pet-mid { width: 72px; height: 72px; }
.calder-pet-art.calder-pet-big { width: 96px; height: 96px; }
.calder-pet-home { display: flex; gap: 16px; align-items: flex-start; }
.calder-pet-home > div { min-width: 0; }
.calder-pet-home p { margin: 0 0 6px; }
.calder-pet-pick { display: flex; justify-content: center; margin-bottom: 6px; }
.calder-pet-coats { display: flex; gap: 8px; margin: 8px 0; }
.calder-pet-card .calder-pet-coats { margin-top: auto; padding-top: 8px; }
.calder-btn.calder-swatch { width: 32px; min-width: 32px; height: 32px; padding: 0; background: var(--swatch); }
.calder-btn.calder-swatch[aria-pressed="true"] { box-shadow: inset 0 0 0 3px var(--c-text); }
.calder-pet-more { margin-top: 12px; }
.calder-pet-more > summary { cursor: pointer; min-height: 24px; }
.calder-pet-more .calder-inline { margin: 8px 0; }
.calder-idcard-pet .calder-pet-art { width: 36px; height: 36px; }
.calder-room-art { max-width: 480px; aspect-ratio: 160 / 90; }
.calder-decor-rooms { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 10px; }
.calder-decor-kind { font-size: 12px; margin: 10px 0 2px; text-transform: uppercase; letter-spacing: 0.06em; }
.calder-decor-blurb:empty { display: none; }
.calder-storage-list { list-style: none; margin: 8px 0 0; padding: 0; }
.calder-contest-card { list-style: none; margin: 8px 0 6px; padding: 0; max-width: 420px; }
.calder-contest-card li { display: flex; justify-content: space-between; gap: 12px; padding: 3px 0; border-top: 1px solid var(--c-line); }
.calder-contest-points { font-variant-numeric: tabular-nums; }
.calder-contest-total { font-weight: 600; }
.calder-storage-list li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 4px 0; border-top: 1px solid var(--c-line); }
.calder-decor-spots { display: grid; gap: 8px; margin: 8px 0; }
.calder-decor-spot { align-items: center; }
@media (min-width: 601px) {
  .calder-decor-label { flex: 0 0 120px; }
  .calder-decor-spot .calder-select { flex: 1; min-width: 0; }
}
.calder-duel-list { margin: 12px 0; }
.calder-duel { padding: 8px 10px; border: 1px solid var(--c-line); margin: 6px 0; }
.calder-duel > p { margin: 0 0 6px; }
.calder-duel-form { flex-wrap: wrap; margin-top: 8px; }
.calder-duel-form .calder-input { min-width: 140px; }
@media (min-width: 601px) {
  .calder-duel-form .calder-select, .calder-duel-form #calder-duel-stake { flex: 0 1 170px; }
}
.calder-duel-recent { margin: 6px 0; padding-left: 18px; display: grid; gap: 4px; }
.calder-clawcab {
  --c-bg: #120c1c;
  --c-panel: #1a1226;
  --c-text: #f3eaff;
  --c-dim: #bfb0d6;
  --c-line: #3d2f55;
  --c-accent: #ff7ab6;
  --c-alert: #ff9a8a;
  --c-ink: #120c1c;
  color: var(--c-text);
  background: var(--c-bg);
  box-shadow: inset 0 0 0 1px var(--c-line), inset 0 2px 0 #ff7ab6;
}
.calder-clawcase {
  position: relative;
  width: 100%; max-width: 360px; aspect-ratio: 1;
  margin: 8px 0 12px;
  border: 3px solid #5a4a78;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.06) 0 18%, transparent 18% 100%),
    #0f1a24;
  overflow: hidden;
}
.calder-clawcase > * { pointer-events: none; }
.calder-clawprize {
  position: absolute; width: 11%; aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: var(--prize);
  box-shadow: inset -2px -3px 0 rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(0, 0, 0, 0.5);
}
.calder-clawprize.size-s { width: 8%; }
.calder-clawprize.size-l { width: 14%; }
.calder-clawrail-x { position: absolute; top: 0; bottom: 0; left: 0; width: 1px; background: rgba(255, 255, 255, 0.28); }
.calder-clawrail-y { position: absolute; left: 0; right: 0; top: 0; height: 1px; background: rgba(255, 255, 255, 0.28); }
.calder-claw {
  position: absolute; left: 0; top: 0;
  width: var(--reach, 18%); aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border: 1px dashed rgba(255, 255, 255, 0.55);
  border-radius: 50%;
}
.calder-claw::after {
  content: ''; position: absolute; left: 50%; top: 50%; width: 10px; height: 10px;
  transform: translate(-50%, -50%);
  border: 2px solid #f3eaff; border-radius: 2px;
}
.calder-clawstop { min-width: 12em; min-height: 44px; }
.calder-fountain { position: relative; width: 192px; max-width: 100%; margin: 4px 0 10px; line-height: 0; overflow: hidden; }
.calder-fountain-canvas { display: block; width: 192px; height: 96px; image-rendering: pixelated; }
@media (min-width: 560px) { .calder-fountain { width: 288px; } .calder-fountain-canvas { width: 288px; height: 144px; } }
.calder-fountain-coin { position: absolute; left: 6%; top: 70%; width: 6px; height: 6px; border-radius: 50%; background: #e8c25a; box-shadow: 0 0 0 1px #8a6a2a; pointer-events: none; animation: calder-coin-arc 0.75s ease-in forwards; }
@keyframes calder-coin-arc { 0% { translate: 0 0; } 45% { translate: 60px -40px; } 100% { translate: 110px 8px; opacity: 0.2; } }
@media (min-width: 560px) { @keyframes calder-coin-arc-big { 0% { translate: 0 0; } 45% { translate: 90px -60px; } 100% { translate: 165px 12px; opacity: 0.2; } } .calder-fountain-coin { animation-name: calder-coin-arc-big; } }
@media (prefers-reduced-motion: reduce) { .calder-fountain-coin { display: none; } }
.calder-clawprize:has(canvas) { background: none; box-shadow: none; border-radius: 0; }
.calder-clawprize canvas { display: block; width: 100%; height: auto; image-rendering: pixelated; }
.calder-claw:has(canvas)::after { display: none; }
.calder-claw canvas { position: absolute; left: 50%; top: 50%; width: 30px; height: 32px; transform: translate(-50%, -88%); image-rendering: pixelated; transition: scale 0.35s ease-in; transform-origin: 50% 88%; }
.calder-claw.down canvas { scale: 1.35; }
.calder-claw.carry, .calder-clawprize.carried { transition: left 0.6s ease-in-out, top 0.6s ease-in-out; }
.calder-clawprize.carried { z-index: 2; }
.calder-clawchute { position: absolute; left: 2%; bottom: 2%; width: 13%; aspect-ratio: 1; background: #07040c; border: 2px solid #5a4a78; box-shadow: inset 0 3px 0 rgba(0, 0, 0, 0.6); }
@media (prefers-reduced-motion: reduce) { .calder-claw canvas, .calder-claw.carry, .calder-clawprize.carried { transition: none; } }
.calder-studio {
  --c-bg: #15122a;
  --c-panel: #1d1838;
  --c-text: #efe9ff;
  --c-dim: #b9b0d8;
  --c-line: #463d78;
  --c-accent: #f5c542;
  --c-alert: #ff8f8f;
  --c-ink: #15122a;
  color: var(--c-text);
  background:
    radial-gradient(ellipse 60% 40% at 50% 0, rgba(245, 197, 66, 0.08), transparent 70%),
    var(--c-bg);
  box-shadow: inset 0 0 0 1px var(--c-line);
}
.calder-studio-host { margin: 0 0 12px; min-height: 1.5em; }
.calder-studio-hostrow { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; }
.calder-studio-hostrow .calder-studio-host { margin: 0; }
.calder-studio-face { flex: none; width: 48px; height: 52px; image-rendering: pixelated; border: 2px solid #5a4a78; }
.calder-studio-host-name { color: var(--c-accent); font-weight: 600; }
.calder-studio-stage { display: grid; gap: 14px; }
@media (min-width: 700px) {
  .calder-studio-stage { grid-template-columns: minmax(0, 1fr) 170px; align-items: start; }
}
.calder-studio-board { display: grid; gap: 12px; min-width: 0; }
.calder-studio-floor { margin: 0; color: var(--c-dim); font-size: 13px; }
.calder-studio-card { padding: 12px; border: 1px solid var(--c-line); background: var(--c-panel); }
.calder-studio-q { margin: 0 0 12px; font-size: 16px; line-height: 1.45; font-weight: 600; }
.calder-studio-answers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
@media (max-width: 480px) { .calder-studio-answers { grid-template-columns: minmax(0, 1fr); } }
.calder-studio-answer { display: flex; align-items: center; gap: 10px; text-align: left; min-height: 44px; overflow-wrap: anywhere; }
.calder-studio-letter { flex: none; width: 22px; height: 22px; display: inline-grid; place-items: center; border: 1px solid var(--c-accent); color: var(--c-accent); font-size: 12px; font-weight: 700; }
.calder-studio-poll { margin-left: auto; color: var(--c-accent); font-variant-numeric: tabular-nums; font-weight: 600; }
.calder-studio-answer.removed { visibility: hidden; }
.calder-race-car { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; }
.calder-race .calder-race-car .calder-vehicle-art { width: 96px; margin: 0; flex: none; }
.calder-race-car .calder-note { margin: 0; }
.calder-track { list-style: none; margin: 0 0 12px; padding: 8px 0; border-top: 1px dashed var(--c-line); border-bottom: 1px dashed var(--c-line); display: grid; gap: 6px; }
.calder-lane { display: grid; grid-template-columns: 7.5em minmax(0, 1fr); align-items: center; gap: 8px; }
.calder-lane-name { font-size: 12px; color: var(--c-dim); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.calder-lane.you .calder-lane-name { color: var(--c-accent); font-weight: 600; }
.calder-lane-road { position: relative; height: 24px; background: repeating-linear-gradient(90deg, transparent 0 18px, rgba(233, 181, 58, 0.25) 18px 26px) center / 100% 1px no-repeat; border-right: 3px solid #e6e2d8; }
.calder-lane .calder-lane-car { position: absolute; top: 2px; left: 0; width: 48px; height: auto; margin: 0; transition: left 2.4s cubic-bezier(0.3, 0.1, 0.3, 1); }
.calder-track.go .calder-lane .calder-lane-car { left: calc(var(--to, 1) * (100% - 48px)); }
@media (prefers-reduced-motion: reduce) { .calder-lane .calder-lane-car { transition: none; } }
.calder-drive-row { display: grid; grid-template-columns: 7.5em minmax(0, 1fr) 5.5em; align-items: center; gap: 10px; margin: 10px 0; }
.calder-drive-label { font-size: 12px; color: var(--c-dim); }
.calder-drive-row.on .calder-drive-label { color: var(--c-text); font-weight: 700; }
.calder-drive-gauge { position: relative; height: 24px; background: #14181d; box-shadow: inset 0 0 0 1px #3a3f46; overflow: hidden; }
.calder-drive-zone { position: absolute; top: 0; bottom: 0; background: #23593a; }
.calder-drive-bull { position: absolute; top: 0; bottom: 0; background: #3aa86a; }
.calder-drive-needle { position: absolute; top: 0; bottom: 0; left: 0; width: 3px; margin-left: -1px; background: #f5e6a8; box-shadow: 0 0 0 1px #14181d; }
.calder-drive-got { font-size: 12px; font-weight: 700; color: var(--c-dim); }
.calder-drive-got.p2 { color: #6fd39a; }
.calder-drive-got.p1 { color: #e3a857; }
.calder-drive-got.p0 { color: #ff9a70; }
@media (max-width: 420px) {
  .calder-drive-row { grid-template-columns: minmax(0, 1fr) 5.5em; gap: 4px 10px; }
  .calder-drive-label { grid-column: 1 / -1; }
}
.calder-water.harbour { background-color: #0d1c2a; }
.calder-water.harbour.bite { background-color: #183650; }
.calder-catchlog-sub { margin: 10px 0 4px; font-size: 12px; color: var(--c-dim); letter-spacing: 0.04em; }
.calder-motors {
  --c-bg: #1c1d1f;
  --c-panel: #25272a;
  --c-text: #eceae4;
  --c-dim: #b4b2aa;
  --c-line: #4a4c50;
  --c-accent: #f0b43c;
  --c-alert: #ff8f7a;
  color: var(--c-text);
  background:
    repeating-linear-gradient(-45deg, #e8b53a 0 10px, #1c1d1f 10px 20px) top / 100% 6px no-repeat,
    var(--c-bg);
  box-shadow: inset 0 0 0 1px var(--c-line);
  padding-top: 18px;
}
.calder-vehicle { background: var(--c-panel); }
.calder-chop { background: repeating-linear-gradient(-45deg, #b9463a 0 10px, #1c1d1f 10px 20px) top / 100% 6px no-repeat, var(--c-bg); }
.calder-vehicle-art {
  display: block; width: 192px; max-width: 100%; height: auto; aspect-ratio: 48 / 20;
  image-rendering: pixelated;
  margin: 0 auto 4px;
}
.calder-idcard-vehicle { display: flex; align-items: center; gap: 12px; padding: 10px 14px 0; }
.calder-idcard-vehicle p { margin: 0; color: var(--c-dim); font-size: 12px; }
.calder-idcard-vehicle .calder-vehicle-art, .calder-deed-vehicle .calder-vehicle-art { width: 96px; margin: 0; flex: none; }
.calder-home-art {
  display: block; width: 100%; max-width: 288px; height: auto; aspect-ratio: 96 / 48;
  image-rendering: pixelated;
  margin: 0 0 8px;
}
.calder-home-art.calder-home-own { max-width: 480px; margin-bottom: 12px; }
.calder-deed-vehicle { display: flex; align-items: center; gap: 12px; margin-top: 10px; }
.calder-deed-vehicle .calder-note { margin: 0; }
.calder-workshop { margin-top: 8px; }
.calder-workshop-list { display: grid; gap: 10px; padding-top: 8px; }
.calder-workshop-row { display: grid; gap: 6px; padding-top: 8px; border-top: 1px solid var(--c-line); }
.calder-workshop-row .calder-job-blurb { display: block; }
.calder-workshop-row .calder-input { width: 9em; text-transform: uppercase; }
.calder-studio-answer.right:disabled { background: #2f7d4f; border-color: #2f7d4f; color: #ffffff; }
.calder-studio-answer.wrong:disabled { background: #8a2f3a; border-color: #8a2f3a; color: #ffffff; }
.calder-studio-answer.right .calder-studio-letter, .calder-studio-answer.wrong .calder-studio-letter { border-color: #ffffff; color: #ffffff; }
.calder-studio-clock { position: relative; height: 22px; border: 1px solid var(--c-line); background: var(--c-panel); }
.calder-studio-clock-bar { position: absolute; inset: 0 auto 0 0; background: #4a3f86; }
.calder-studio-clock.low .calder-studio-clock-bar { background: #8a2f3a; }
.calder-studio-clock-text { position: relative; display: block; padding: 0 8px; line-height: 20px; font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
.calder-studio-score { margin: 0; font-size: 15px; }
.calder-tower { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; font-size: 13px; font-variant-numeric: tabular-nums; }
.calder-tower-floor { display: grid; grid-template-columns: 8px 2ch minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 2px 8px; color: var(--c-dim); }
.calder-tower-floor::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #3a2a52; box-shadow: inset 0 0 0 1px #5a4a78; }
.calder-tower-floor.won::before { background: #e3a857; box-shadow: 0 0 4px #e3a857aa; }
.calder-tower-floor.here::before { background: #fff4c8; box-shadow: 0 0 6px #ffe08a; }
.calder-tower-floor.safe::before { box-shadow: inset 0 0 0 1px #5a4a78, 0 0 0 2px #e3a85766; }
.calder-tower-floor.safe .calder-tower-amount { color: var(--c-text); font-weight: 600; }
.calder-tower-floor.won { color: var(--c-text); }
.calder-tower-floor.here { background: var(--c-accent); color: var(--c-ink); font-weight: 700; }
.calder-tower-floor.here .calder-tower-amount { color: var(--c-ink); }
.calder-tower-safe { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; }
@media (max-width: 699.98px) {
  .calder-tower { display: none; }
}
.calder-tower-lights { list-style: none; display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 4px; max-width: 320px; margin: 0 0 10px; padding: 0; }
.calder-tower-light { height: 10px; border-radius: 5px; background: #3a2a52; box-shadow: inset 0 0 0 1px #5a4a78; }
.calder-tower-light.won { background: #e3a857; }
.calder-tower-light.here { background: #fff4c8; box-shadow: 0 0 6px #ffe08a; }
.calder-tower-light.safe { box-shadow: inset 0 0 0 1px #5a4a78, 0 0 0 2px #e3a85766; }
@media (min-width: 700px) { .calder-tower-lights { display: none; } }
html[data-tone="light"] .calder-tower-light:not(.won):not(.here), html[data-tone="light"] .calder-tower-floor:not(.won):not(.here)::before { background: #ddd3ea; }
.calder-pier {
  --c-bg: #4a3722;
  --c-panel: #4a3722;
  --c-text: #f1e6d0;
  --c-dim: #c9b898;
  --c-line: #2c2013;
  --c-accent: #e6b84a;
  --c-neon: #6cc9c4;
  --c-alert: #ff9a70;
  color: var(--c-text);
  background:
    repeating-linear-gradient(90deg, rgba(0, 0, 0, 0.16) 0 2px, transparent 2px 54px),
    repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0 1px, transparent 1px 7px),
    var(--c-bg);
  box-shadow: inset 0 0 0 1px var(--c-line);
}
.calder-tide-board {
  margin: 0 0 14px; padding: 8px 12px;
  background: #3a2c1c; border: 2px solid #241a10;
  box-shadow: 0 2px 0 #1a120a;
}
.calder-tide-head { margin: 0 0 6px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--c-dim); }
.calder-tide-table { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 2px 12px; margin: 0; font-variant-numeric: tabular-nums; }
.calder-tide-table dt { color: var(--c-dim); }
.calder-tide-table dd { margin: 0; }
.calder-terminal {
  --c-bg: #05130a;
  --c-panel: #0a1f12;
  --c-text: #5cffa0;
  --c-dim: #469c6a;
  --c-line: #1f4a30;
  --c-accent: #8fffc4;
  --c-neon: #8fffc4;
  --c-alert: #ffb347;
  padding: 14px;
  background: var(--c-bg);
  color: var(--c-text);
  font-family: var(--font-ui);
  box-shadow: inset 0 0 0 1px var(--c-line), 0 2px 0 #010a05;
}
.calder-terminal-prompt { margin: 0 0 8px; color: var(--c-accent); font-weight: 600; letter-spacing: 0.04em; }
.calder-terminal .calder-legend { color: var(--c-dim); }
.calder-idcard-foot { margin: 12px 0 0; padding: 6px 14px 8px; border-top: 1px solid #4b6475; font-size: 11px; color: var(--c-dim); letter-spacing: 0.06em; font-variant-numeric: tabular-nums; }
#calder-app.calder-sheet-page > .calder-banner { column-span: all; }
#calder-app[data-page="items"] .calder-item {
  position: relative;
  padding-left: 22px;
  border-color: #6f6554;
  background: var(--c-bg);
  color: var(--c-text);
  clip-path: polygon(12px 0, 100% 0, 100% 100%, 12px 100%, 0 calc(100% - 12px), 0 12px);
}
#calder-app[data-page="items"] .calder-item::before {
  content: ''; position: absolute; left: 7px; top: 14px; width: 8px; height: 8px;
  border-radius: 50%; background: #121519; box-shadow: 0 0 0 1px #6f6554;
  pointer-events: none;
}
#calder-app[data-page="items"] .r-uncommon { color: #123512; }
#calder-app[data-page="items"] .r-rare { color: #12305a; }
#calder-app[data-page="items"] .r-exceptional { color: #3e1a5e; }
#calder-app[data-page="items"] .calder-tag.contraband { color: #452a00; }
#calder-app[data-page="items"] .calder-tag.unique { color: #5e0f36; }
.calder-hero { display: block; width: 100%; max-width: 720px; height: auto; margin: 0 auto 16px; border: 1px solid var(--c-line); background: #070a10; }
.calder-banner { margin: 0 0 16px; background: #0c1015; border: 1px solid var(--c-line); line-height: 0; text-align: center; }
.calder-banner-canvas { display: block; width: 100%; height: 64px; object-fit: cover; object-position: center; image-rendering: pixelated; }
@media (min-width: 560px) { .calder-banner-canvas { height: 96px; } }
@media (min-width: 1280px) { .calder-banner-canvas { height: 128px; } }
.calder-banner { position: relative; }
.calder-banner.tod-morning .calder-banner-canvas { filter: brightness(1.15) sepia(0.15) saturate(1.1); }
.calder-banner.tod-day .calder-banner-canvas { filter: brightness(1.4) saturate(1.1); }
.calder-banner.tod-dusk .calder-banner-canvas { filter: sepia(0.35) saturate(1.35) hue-rotate(-12deg) brightness(1.08); }
html[data-tone="light"] .calder-banner .calder-banner-canvas { filter: none; }
.calder-banner-weather { position: absolute; inset: 0; pointer-events: none; }
.calder-banner.ev-heatwave .calder-banner-weather { background: linear-gradient(to top, rgba(255, 140, 50, 0.22), transparent 70%); }
.calder-banner.ev-crackdown .calder-banner-weather { background: linear-gradient(90deg, rgba(217, 74, 58, 0.28), transparent 22%, transparent 78%, rgba(58, 122, 217, 0.28)); }
.calder-banner.ev-nightlife .calder-banner-weather { background: radial-gradient(ellipse at 50% 100%, rgba(255, 90, 200, 0.25), transparent 65%); }
.calder-banner.ev-derby .calder-banner-weather { background: linear-gradient(to top, rgba(60, 130, 200, 0.2), transparent 55%); }
.calder-banner-holiday { position: absolute; left: 0; right: 0; top: 0; height: 6px; pointer-events: none; --h1: #ff8a1f; --h2: #a45cff;
  background: radial-gradient(circle at 6px 3px, var(--h1) 0 2px, transparent 2.5px) 0 0 / 24px 6px repeat-x, radial-gradient(circle at 18px 3px, var(--h2) 0 2px, transparent 2.5px) 0 0 / 24px 6px repeat-x; }
.calder-banner.hol-thanksgiving .calder-banner-holiday { --h1: #e0a030; --h2: #c0552a; }
.calder-banner.hol-christmas .calder-banner-holiday { --h1: #e0443a; --h2: #3fbf5a; }
.calder-banner.hol-new-year .calder-banner-holiday { --h1: #f2d060; --h2: #e8e8f0; }
.calder-banner.hol-founders-day .calder-banner-holiday { --h1: #e3b44a; --h2: #3a6ad9; }
.calder-banner.hol-ten-past-four .calder-banner-holiday { --h1: #c9a24a; --h2: #f3ecdc; }
.calder-banner.hol-gull-union .calder-banner-holiday { --h1: #f0f0f0; --h2: #4a8ac0; }
.calder-banner.hol-lean-day .calder-banner-holiday { --h1: #f08a2a; --h2: #c0c0c0; }
.calder-banner.hol-lights-out .calder-banner-holiday { display: none; }
.calder-banner.hol-lights-out .calder-banner-canvas { filter: brightness(0.55) saturate(0.8); }
.calder-banner.ev-heatwave .calder-banner-weather { animation: calder-haze 2.6s ease-in-out infinite alternate; }
@keyframes calder-haze { from { opacity: 0.55; } to { opacity: 1; } }
.calder-banner.ev-crackdown .calder-banner-weather { animation: calder-siren 0.9s steps(1) infinite; }
@keyframes calder-siren { 50% { background: linear-gradient(90deg, rgba(58, 122, 217, 0.3), transparent 22%, transparent 78%, rgba(217, 74, 58, 0.3)); } }
.calder-banner.ev-nightlife .calder-banner-weather { animation: calder-pulse 1.1s ease-in-out infinite alternate; }
@keyframes calder-pulse { from { opacity: 0.4; } to { opacity: 1; } }
.calder-terminal { position: relative; }
.calder-terminal::after {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 40px; pointer-events: none;
  background: linear-gradient(to bottom, transparent, rgba(92, 255, 160, 0.08) 50%, transparent);
  opacity: 0; animation: calder-scan 7s linear infinite;
}
@keyframes calder-scan { 0% { top: 0; opacity: 0; } 8% { opacity: 1; } 92% { opacity: 1; } 100% { top: calc(100% - 40px); opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .calder-banner .calder-banner-weather, .calder-terminal::after { animation: none !important; }
  .calder-terminal::after { display: none; }
}
.calder-rival-table td.calder-rival-ahead { color: var(--c-accent); font-weight: 600; }
.calder-collection { display: flex; align-items: center; gap: 10px; }
.calder-collection > :first-child { flex: 1; min-width: 0; }
.calder-collection-go { flex: none; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; }
.calder-mayor-list { margin: 0 0 8px; padding-left: 18px; line-height: 1.8; }
.calder-mayor-list .calder-btn { margin-left: 8px; }
.calder-bench-form { flex-wrap: wrap; }
.calder-idcard-portrait { margin: 4px 0 0; font-size: 12px; }
.calder-chat-system { color: var(--c-dim); font-size: 13px; }
.calder-chat-system .calder-chat-when { margin-left: 8px; }
.calder-brag { display: grid; gap: 2px; justify-items: start; margin: 4px 0 2px; padding: 8px 10px; border: 1px solid var(--c-line); max-width: 360px; }
.calder-brag-head { margin: 0; font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--c-dim); }
.calder-brag-big { margin: 0; font-size: 18px; }
.calder-brag p.calder-note { margin: 0; }
.calder-brag-wrap { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.calder-crew-mark { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; color: var(--c-dim); }
.calder-crew-flag { display: inline-block; width: 12px; height: 9px; background: linear-gradient(135deg, var(--c1) 50%, var(--c2) 50%); clip-path: polygon(0 0, 100% 50%, 0 100%); }
.calder-car-name { margin-top: 6px; }
.calder-idcard-setmark { margin: 4px 0 0; font-size: 12px; }
.calder-doormat { margin: 0; padding-left: 18px; line-height: 1.6; font-size: 13px; }
.calder-crew-colours { margin-top: 12px; }
.calder-swatches { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 8px; }
.calder-crewswatch { width: 28px; height: 28px; padding: 0; border: 2px solid var(--c-line); background: var(--sw); cursor: pointer; }
.calder-crewswatch.on { border-color: var(--c-text); box-shadow: 0 0 0 2px var(--c-bg), 0 0 0 4px var(--c-text); }
.calder-crewswatch:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 3px; }
@media (pointer: coarse) { .calder-crewswatch { width: 44px; height: 44px; } }
.calder-next { margin-top: 6px; font-size: 13px; color: var(--c-dim); }
.calder-pet-says { margin: 0 0 6px; font-style: italic; }
.calder-away { margin: 0 0 12px; padding: 10px 14px; color: var(--c-text); }
.calder-away-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.calder-away-title { margin: 0; font-size: 15px; }
.calder-away-sub { margin: 4px 0 6px; font-size: 13px; }
.calder-away-list { margin: 0; padding-left: 18px; font-size: 13px; line-height: 1.5; }
.calder-away-close { flex: none; }
@media (max-width: 600px) {
  .calder-banner { margin-bottom: 10px; }
  .calder-dialog { gap: 6px; margin-bottom: 12px; }
  .calder-dialog-pic canvas { width: 72px !important; height: 78px !important; }
  .calder-dialog-box { padding: 8px 26px 8px 12px; }
  .calder-figures { gap: 8px; margin-top: 12px; }
  .calder-figure { padding: 7px 10px; }
  .calder-figure-value { font-size: 20px; }
}
.calder-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 0 12px; align-items: center; }
.calder-filters .calder-field { grid-template-columns: 5.5em minmax(0, 1fr); }
@media (max-width: 600px) {
  .calder-body { padding: 14px 12px 18px; }
  .calder-look { grid-template-columns: minmax(0, 1fr); justify-items: center; }
  .calder-pickers { width: 100%; }
  .calder-jobs { grid-template-columns: minmax(0, 1fr); }
  .calder-sheet-top { grid-template-columns: minmax(0, 1fr); justify-items: start; }
  .calder-inline { flex-direction: column; align-items: stretch; }
  .calder-inline > * { flex-basis: auto !important; }
  .calder-teller { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calder-teller > .calder-input { grid-column: 1 / -1; }
  .calder-teller-quick { grid-template-columns: minmax(0, 1fr); }
  .calder-stat { grid-template-columns: minmax(0, 1fr) 32px 2em 32px; }
  .calder-stat-mod { grid-column: 1 / -1; text-align: left; margin-top: -4px; }
  .calder-bar-form { display: none; }
  .calder-listing-head { flex-direction: column; gap: 0; }
  .calder-history-row { grid-template-columns: minmax(0, 1fr) auto; }
  .calder-slots { grid-template-columns: minmax(0, 1fr); }
  .calder-stalls { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .calder-history-when { grid-column: 1 / -1; }
}
@media (pointer: coarse) {
  .calder .calder-cas-lobby .arcade-btn, .calder-fold-head, .calder-status-timer, .calder-btn, .calder-music, .calder-select, .calder-input, .calder-tab, .calder-link, .calder-item-summary, .calder-slot-empty, .calder-answer, .calder-chat-name, .calder-chat-links > summary { min-height: 44px; }
  .calder-btn.step { width: 44px; }
  .calder-btn.calder-swatch { width: 44px; height: 44px; }
  .calder-pet-more > summary { min-height: 44px; display: flex; align-items: center; }
  .calder-map-seen > summary { min-height: 44px; padding: 13px 0; }
  .calder-tree-link, .calder-addr-btn, .calder-tree-close, .calder-tree-all, a.calder-crumb, button.calder-crumb { min-height: 44px; }
  .calder-tree-toggle, .calder-tree-spacer { width: 44px; min-height: 44px; }
  .calder-tree-close { min-width: 44px; }
  .calder-burger { width: 44px; height: 44px; }
  .calder-burger-bar { left: 13px; }
  .calder-burger-bar:nth-child(1) { top: 13px; }
  .calder-burger-bar:nth-child(2) { top: 21px; }
  .calder-burger-bar:nth-child(3) { top: 29px; }
  .calder-btn.calder-tip-btn { min-height: 28px; width: 28px; position: relative; }
  .calder-tip-btn::after { content: ''; position: absolute; inset: -9px; }
  .calder-stat { grid-template-columns: minmax(0, 1fr) 44px 2em 44px 5.5em; }
  .calder-select, .calder-input { font-size: 16px; }
}
@media (pointer: coarse) and (max-width: 600px) {
  .calder-stat { grid-template-columns: minmax(0, 1fr) 44px 2em 44px; }
}
@media (max-width: 400px) {
  .calder-stack .calder-field { grid-template-columns: minmax(0, 1fr); gap: 2px; margin-bottom: 10px; }
}
.calder { --mercer-group-mix: 43%; --mercer-alert-mix: 32%; --mercer-alert-hue: #e0443a; }
html[data-palette] .calder {
  --c-bg: var(--bg);
  --c-panel: var(--bg);
  --c-line: var(--border);
  --c-text: var(--text);
  --c-dim: var(--dim);
  --c-accent: var(--accent);
  --c-neon: var(--focus);
  --c-alert: color-mix(in srgb, var(--mercer-alert-hue) var(--mercer-alert-mix), var(--text));
  --c-ink: var(--bg);
}
html[data-mode="light"]:not([data-palette]) .calder {
  --c-bg: #e8e3d9;
  --c-panel: #e0dad0;
  --c-line: #9e9687;
  --c-text: #1c1a17;
  --c-dim: #4e4941;
  --c-accent: #8a5210;
  --c-neon: #0d5d58;
  --c-alert: #9b2a1a;
  --c-ink: #e8e3d9;
  --c-g-desk: #7d5300;
  --c-g-you: #855000;
  --c-g-work: #a03e0a;
  --c-g-money: #136b35;
  --c-g-casino: #735600;
  --c-g-arcade: #a82566;
  --c-g-studio: #1d55a0;
  --c-g-city: #0b6661;
  --c-g-chat: #5a39ad;
}
html:is([data-palette], [data-mode="light"]) .calder { background-image: none; }
html:is([data-palette], [data-mode="light"]) .calder :is(.calder-tree-item, #calder-app)[data-group] {
  --g: color-mix(in srgb, var(--g0) var(--mercer-group-mix), var(--c-text));
}
html[data-mode="light"]:not([data-palette]) .calder :is(.calder-tree-item, #calder-app)[data-group="desk"] { --g: var(--c-g-desk); }
html[data-mode="light"]:not([data-palette]) .calder :is(.calder-tree-item, #calder-app)[data-group="you"] { --g: var(--c-g-you); }
html[data-mode="light"]:not([data-palette]) .calder :is(.calder-tree-item, #calder-app)[data-group="work"] { --g: var(--c-g-work); }
html[data-mode="light"]:not([data-palette]) .calder :is(.calder-tree-item, #calder-app)[data-group="money"] { --g: var(--c-g-money); }
html[data-mode="light"]:not([data-palette]) .calder :is(.calder-tree-item, #calder-app)[data-group="casino"] { --g: var(--c-g-casino); }
html[data-mode="light"]:not([data-palette]) .calder :is(.calder-tree-item, #calder-app)[data-group="arcade"] { --g: var(--c-g-arcade); }
html[data-mode="light"]:not([data-palette]) .calder :is(.calder-tree-item, #calder-app)[data-group="studio"] { --g: var(--c-g-studio); }
html[data-mode="light"]:not([data-palette]) .calder :is(.calder-tree-item, #calder-app)[data-group="city"] { --g: var(--c-g-city); }
html[data-mode="light"]:not([data-palette]) .calder :is(.calder-tree-item, #calder-app)[data-group="chat"] { --g: var(--c-g-chat); }
html[data-mode="light"]:not([data-palette]) :is(.calder-paper, #calder-app[data-page="items"] .calder-item, .calder-corkboard .calder-listing) {
  --c-bg: #f3ecdc;
  --c-panel: #f3ecdc;
  --c-ink: #f3ecdc;
}
html[data-mode="light"]:not([data-palette]) .calder-paper { box-shadow: 0 2px 0 #b8ae9c, 0 0 0 1px #b8ae9c; }
html[data-tone="light"] .calder-dialog-box {
  --c-bg: #fbfaf7;
  --c-panel: #fbfaf7;
  --c-line: #9e9687;
  --c-text: #1c1a17;
  --c-dim: #4e4941;
  --c-accent: var(--g, #8a5210);
  --c-neon: #0d5d58;
  --c-alert: #9b2a1a;
  --c-ink: #fbfaf7;
  background: var(--c-bg);
}
html[data-tone="light"] .calder-status {
  --c-bg: #e7e3da; --c-panel: #e7e3da; --c-line: #9e9687;
  --c-text: #1c1a17; --c-dim: #4e4941; --c-accent: #8a5210; --c-neon: #0d5d58; --c-alert: #9b2a1a; --c-ink: #e7e3da;
}
html[data-tone="light"] .calder-felt {
  --c-bg: #b3d6bd; --c-panel: #b3d6bd; --c-line: #8a6a1e;
  --c-text: #0f2418; --c-dim: #2c4a36; --c-accent: #5e4500; --c-neon: #0a5446; --c-alert: #8a1f12; --c-ink: #f3f0e2;
  border-color: #8a5f40;
  box-shadow: inset 0 0 0 2px #b8964a, 0 2px 0 #9e9687;
}
html[data-tone="light"] .calder-arcade {
  --c-bg: #f5f0f8; --c-panel: #e9dff0; --c-line: #b9a9c9;
  --c-text: #1d1426; --c-dim: #4d4060; --c-accent: #a82566; --c-neon: #0b6661; --c-alert: #9b2a1a; --c-ink: #f7f2fa;
  border-color: #c2407e;
  box-shadow: 0 0 0 1px #9e9687, 0 0 12px rgba(194, 64, 126, 0.25), inset 0 0 12px rgba(194, 64, 126, 0.1);
  background:
    radial-gradient(circle at 8px 10px, rgba(11, 102, 97, 0.14) 1.5px, transparent 2px) 0 0 / 46px 46px,
    radial-gradient(circle at 30px 34px, rgba(168, 37, 102, 0.12) 1.5px, transparent 2px) 0 0 / 46px 46px,
    radial-gradient(circle at 36px 12px, rgba(115, 86, 0, 0.12) 1.5px, transparent 2px) 0 0 / 46px 46px,
    var(--c-bg);
}
html[data-tone="light"] .calder-arcade .calder-arcade-cab:nth-child(3n) { --cab: #9c2660; }
html[data-tone="light"] .calder-arcade .calder-arcade-marquee { background: #e9dff0; box-shadow: none; }
html[data-tone="light"] .calder-arcade .calder-arcade-name { text-shadow: none; }
html[data-tone="light"] .calder-beach {
  --c-bg: #efe2c2; --c-panel: #efe2c2; --c-line: #b59f74;
  --c-text: #2b2112; --c-dim: #4f3f26; --c-accent: #5a3c00; --c-neon: #0b5d58; --c-alert: #7e1f10; --c-ink: #efe2c2;
  background: repeating-linear-gradient(170deg, rgba(90, 60, 0, 0.05) 0 1px, transparent 1px 9px), var(--c-bg);
}
html[data-tone="light"] .calder-beach :is(.calder-beach-swatch, .calder-beach-cell).tone-low { --tone: #72300f; }
html[data-tone="light"] .calder-beach :is(.calder-beach-swatch, .calder-beach-cell).tone-mid { --tone: #2e3a44; }
html[data-tone="light"] .calder-beach :is(.calder-beach-swatch, .calder-beach-cell).tone-high { --tone: #5a3c00; }
html[data-tone="light"] .calder-beach-cell { border-color: rgba(90, 60, 0, 0.1); }
html[data-tone="light"] .calder-beach-cell:hover { border-color: #4f3f26; }
html[data-tone="light"] .calder-beach-cell .calder-cellmark { background: #f6ecd2; color: var(--tone, #4f3f26); }
html[data-tone="light"] .calder-beach-cell.dug:is(.dug-coins, .dug-jewellery, .dug-relic) .calder-cellmark { color: #5a3c00; }
html[data-tone="light"] .calder-beach-cell.missed { border-color: #4f3f26; }
html[data-tone="light"] .calder-dive {
  --c-bg: #cfe8ee; --c-panel: #cfe8ee; --c-line: #7fa6b1;
  --c-text: #0b1d26; --c-dim: #2e4a52; --c-accent: #0b5d58; --c-neon: #0b5d58; --c-alert: #8a2414; --c-ink: #cfe8ee;
  background: linear-gradient(180deg, #cfe8ee, #a9d0da);
}
html[data-tone="light"] .calder-dive-gauge .calder-progress-fill { background: #0b6661; }
html[data-tone="light"] .calder-dive-gauge .tight .calder-progress-fill { background: #9b2a1a; }
html[data-tone="light"] .calder-dive-cell { border-color: rgba(11, 29, 38, 0.08); }
html[data-tone="light"] .calder-dive-cell:hover { border-color: #0b1d26; }
html[data-tone="light"] .calder-dive-cell:focus-visible { outline-color: #4a3200; }
html[data-tone="light"] .calder-dive-cell.you { box-shadow: inset 0 0 0 2px #4a3200, inset 0 0 0 3px #f5e6a8; }
html[data-tone="light"] .calder-dive-cell .calder-cellmark { background: #f2fafc; color: #0b1d26; }
html[data-tone="light"] .calder-dive-cell.searched .calder-cellmark { color: #2a454e; }
html[data-tone="light"] .calder-dive-cell.searched:not(.found-nothing):not(.found-junk) .calder-cellmark { color: #553700; }
html[data-tone="light"] .calder-dive-cell.missed { border-color: #0b1d26; }
html[data-tone="light"] .calder-herald-desk {
  --c-bg: #efe4cf; --c-panel: #e6d8bd; --c-line: #b3a07d;
  --c-text: #231a10; --c-dim: #54442e; --c-accent: #7a4a08; --c-neon: #0b5d58; --c-alert: #9b2a1a; --c-ink: #efe4cf;
  background: radial-gradient(ellipse 50% 35% at 50% 0, rgba(255, 255, 255, 0.5), transparent 70%), var(--c-bg);
}
html[data-tone="light"] .calder-clawcab {
  --c-bg: #f4ecfb; --c-panel: #ebe0f6; --c-line: #b9a6d6;
  --c-text: #1f1430; --c-dim: #4f4066; --c-accent: #a82566; --c-neon: #0b5d58; --c-alert: #9b2a1a; --c-ink: #f4ecfb;
  box-shadow: inset 0 0 0 1px var(--c-line), inset 0 2px 0 #c2407e;
}
html[data-tone="light"] .calder-clawcase {
  border-color: #8a78aa;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.5) 0 18%, transparent 18% 100%), #dfeaf0;
}
html[data-tone="light"] :is(.calder-clawrail-x, .calder-clawrail-y) { background: rgba(31, 20, 48, 0.3); }
html[data-tone="light"] .calder-claw { border-color: rgba(31, 20, 48, 0.55); }
html[data-tone="light"] .calder-claw::after { border-color: #1f1430; }
html[data-tone="light"] .calder-studio {
  --c-bg: #f1eefb; --c-panel: #e6e0f7; --c-line: #aaa0d6;
  --c-text: #1a1533; --c-dim: #4a4270; --c-accent: #5e4600; --c-neon: #0b5d58; --c-alert: #9b2a1a; --c-ink: #f1eefb;
  background: radial-gradient(ellipse 60% 40% at 50% 0, rgba(255, 255, 255, 0.6), transparent 70%), var(--c-bg);
}
html[data-tone="light"] .calder-studio-clock-bar { background: #c4bcec; }
html[data-tone="light"] .calder-studio-clock.low .calder-studio-clock-bar { background: #e3a5ad; }
html[data-tone="light"] .calder-motors {
  --c-bg: #e4e3df; --c-panel: #d9d8d3; --c-line: #9a9ca0;
  --c-text: #1b1c1e; --c-dim: #45474b; --c-accent: #7a5200; --c-neon: #0b5d58; --c-alert: #9b2a1a; --c-ink: #e4e3df;
}
html[data-tone="light"] .calder-lane-road { border-right-color: #1b1c1e; }
html[data-tone="light"] .calder-drive-got.p2 { color: #1d6b40; }
html[data-tone="light"] .calder-drive-got.p1 { color: #7a4a00; }
html[data-tone="light"] .calder-drive-got.p0 { color: #9b2a1a; }
html[data-tone="light"] .calder-pier {
  --c-bg: #dcc9a8; --c-panel: #dcc9a8; --c-line: #8f7650;
  --c-text: #2a1d0e; --c-dim: #4d3b24; --c-accent: #5e3b00; --c-neon: #07504c; --c-alert: #7e1f10; --c-ink: #dcc9a8;
  background:
    repeating-linear-gradient(90deg, rgba(60, 40, 15, 0.14) 0 2px, transparent 2px 54px),
    repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0 1px, transparent 1px 7px),
    var(--c-bg);
}
html[data-tone="light"] .calder-tide-board { background: #d2bd98; border-color: #8f7650; box-shadow: 0 2px 0 #a88f66; }
html[data-tone="light"] .calder-water {
  background: repeating-linear-gradient(0deg, transparent 0 9px, rgba(11, 93, 88, 0.14) 9px 10px), #9cc9cf;
}
html[data-tone="light"] .calder-water.bite { background-color: #b4dde0; }
html[data-tone="light"] .calder-water.fight { background-color: #86b9c1; }
html[data-tone="light"] .calder-water.harbour { background-color: #7fb0c0; }
html[data-tone="light"] .calder-water.harbour.bite { background-color: #9cc6d4; }
html[data-tone="light"] .calder-terminal {
  --c-bg: #eaf5ec; --c-panel: #dff0e3; --c-line: #9cc7a8;
  --c-text: #0b4d24; --c-dim: #2f6a45; --c-accent: #063a1a; --c-neon: #063a1a; --c-alert: #8a4a00; --c-ink: #eaf5ec;
  box-shadow: inset 0 0 0 1px var(--c-line), 0 2px 0 #9e9687;
}
html[data-tone="light"] .calder-terminal::after { background: linear-gradient(to bottom, transparent, rgba(11, 77, 36, 0.06) 50%, transparent); }
html[data-tone="light"] .calder-corkboard {
  --c-bg: #caa77c; --c-panel: #caa77c; --c-line: #8a6a48;
  --c-text: #20150a; --c-dim: #3d2a15; --c-accent: #5a2408; --c-neon: #073c39; --c-alert: #7e1f10; --c-ink: #caa77c;
  background: #caa77c; border-color: #8a6a48; box-shadow: inset 0 0 0 1px #6b5035;
}
html[data-tone="light"] .calder-corkboard .calder-listing { box-shadow: 0 2px 0 rgba(60, 40, 15, 0.3); }
html[data-tone="light"] .calder :is(.calder-felt, .calder-arcade, .calder-beach, .calder-dive, .calder-herald-desk, .calder-clawcab, .calder-studio, .calder-motors, .calder-pier, .calder-terminal, .calder-idcard, .calder-corkboard) :is(.r-uncommon, .r-rare, .r-exceptional, .calder-tag.contraband, .calder-tag.unique):not(:is(.calder-paper, .calder-corkboard .calder-listing) *) {
  color: color-mix(in srgb, var(--hue) var(--mercer-group-mix), var(--c-text));
}
html[data-tone="light"] .calder .cas-boss { background: #e8dccb; color: #2a1e16; box-shadow: inset 1px 1px 0 #fbf6ee, inset -1px -1px 0 #b3a28a; }
html[data-tone="light"] .calder .cas-boss-talk { background: #f7f0e4; border-color: #8a6a2e; }
html[data-tone="light"] .calder .cas-boss-name { color: #5e4518; }
html[data-tone="light"] .calder .cas-boss-youname { color: #0b5d58; }
html[data-tone="light"] .calder .calder-cas-lobby .cas-boss .cas-lobby-panel { color: #2a1e16; }
html[data-tone="light"] .calder .calder-cas-lobby .cas-boss .cas-peak { color: #56473a; }
html:is([data-palette], [data-mode="light"]) .calder :is(.r-uncommon, .r-rare, .r-exceptional, .calder-tag.contraband, .calder-tag.unique):not(:is(.calder-paper, .calder-felt, .calder-arcade, .calder-beach, .calder-herald-desk, .calder-clawcab, .calder-studio, .calder-motors, .calder-pier, .calder-terminal, .calder-idcard, .calder-corkboard, .calder-dialog-box) *) {
  color: color-mix(in srgb, var(--hue) var(--mercer-group-mix), var(--c-text));
}
.calder-dice {
  position: fixed; inset: 0; z-index: 3000;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
  padding: 24px 16px; box-sizing: border-box;
  background: radial-gradient(ellipse at 50% 45%, rgba(40, 28, 10, 0.92), rgba(4, 6, 10, 0.96) 70%);
  color: #f3ecdc; font-family: var(--font-ui, monospace); text-align: center;
  -webkit-user-select: none; user-select: none; cursor: pointer;
}
.calder-dice:focus { outline: none; }
.calder-dice-title { margin: 0; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: #cdbf9e; }
.calder-dice-dc { margin: 0 0 6px; font-size: 22px; font-weight: 700; letter-spacing: 0.08em; color: #f3ecdc; }
.calder-dice-stage { width: 200px; height: 200px; display: grid; place-items: center; }
.calder-dice-die { width: 200px; height: 200px; image-rendering: pixelated; }
.calder-dice-stage.landed .calder-dice-die { animation: calder-dice-land 0.36s cubic-bezier(0.3, 1.6, 0.5, 1); }
@keyframes calder-dice-land { from { scale: 1.22; } to { scale: 1; } }
.calder-dice-sum { min-height: 1.4em; margin: 4px 0 0; font-size: 20px; font-variant-numeric: tabular-nums; white-space: pre; color: #f3ecdc; scale: 0.9; }
.calder-dice-sum.on { animation: calder-dice-pop 0.25s ease-out; scale: 1; }
.calder-dice-verdict { min-height: 1.3em; margin: 6px 0 0; font-size: 30px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.calder-dice-verdict.on { animation: calder-dice-stamp 0.4s cubic-bezier(0.2, 1.4, 0.4, 1); }
.calder-dice-verdict.pass { color: #7fe39a; }
.calder-dice-verdict.fail { color: #ff8a7a; }
.calder-dice-verdict.crit { color: #ffd84a; text-shadow: 0 0 18px rgba(255, 216, 74, 0.6); }
.calder-dice-verdict.fumble { color: #ff5d4d; text-shadow: 0 0 14px rgba(255, 60, 40, 0.5); }
@keyframes calder-dice-pop { from { scale: 0.7; } to { scale: 1; } }
@keyframes calder-dice-stamp { from { scale: 1.8; } to { scale: 1; } }
.calder-dice-skip { margin: 14px 0 0; font-size: 12px; color: #a89d89; }
.calder-dice.shake { animation: calder-dice-shake 0.4s ease-out; }
html[data-tone="light"] .calder-dice {
  background: radial-gradient(ellipse at 50% 45%, rgba(246, 241, 230, 0.96), rgba(228, 221, 208, 0.97) 70%);
  color: #1c1a17;
}
html[data-tone="light"] .calder-dice-title { color: #5a4b2e; }
html[data-tone="light"] :is(.calder-dice-dc, .calder-dice-sum) { color: #1c1a17; }
html[data-tone="light"] .calder-dice-verdict.pass { color: #136b35; }
html[data-tone="light"] .calder-dice-verdict.fail { color: #9b2a1a; }
html[data-tone="light"] .calder-dice-verdict.crit { color: #6a4a00; text-shadow: 0 0 16px rgba(230, 170, 30, 0.55); }
html[data-tone="light"] .calder-dice-verdict.fumble { color: #8a160c; text-shadow: 0 0 12px rgba(220, 60, 40, 0.35); }
html[data-tone="light"] .calder-dice-skip { color: #5a5246; }
@keyframes calder-dice-shake { 20% { translate: -9px 0; } 40% { translate: 8px 0; } 60% { translate: -5px 0; } 80% { translate: 3px 0; } }
@media (max-height: 480px) {
  .calder-dice { gap: 2px; padding: 8px; }
  .calder-dice-stage, .calder-dice-die { width: 130px; height: 130px; }
  .calder-dice-verdict { font-size: 24px; }
  .calder-dice-skip { margin-top: 6px; }
}
.calder-minidice { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: flex-start; cursor: pointer; -webkit-user-select: none; user-select: none; }
.calder-minidie { display: grid; justify-items: center; gap: 2px; min-width: 64px; }
.calder-minidie canvas { width: 48px; height: 48px; image-rendering: pixelated; }
.calder-minidie.landed canvas { animation: calder-dice-land 0.3s cubic-bezier(0.3, 1.6, 0.5, 1); }
.calder-minidie-label { font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; }
.calder-minidie-sum { min-height: 1.3em; font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.calder-minidie.pass .calder-minidie-sum { color: var(--c-neon); }
.calder-minidie.fail .calder-minidie-sum { color: var(--c-alert); }
.calder-minidie.crit .calder-minidie-sum { text-shadow: 0 0 8px rgba(255, 200, 40, 0.7); }
.calder-minidie.fumble canvas { animation: calder-dice-shake 0.35s ease-out; }
ol.calder-orders { list-style: none; margin: 14px 0 0; padding: 0; counter-reset: order; }
.calder-orders > .calder-order { position: relative; padding: 10px 0 10px 30px; border-top: 1px dashed var(--c-line); counter-increment: order; }
.calder-orders > .calder-order::before { content: counter(order) '.'; position: absolute; left: 4px; top: 12px; font-weight: 700; color: var(--c-dim); }
.calder-order-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0 0 4px; font-size: 12px; }
.calder-order-level, .calder-order-job { padding: 1px 7px; border: 1px solid currentColor; text-transform: uppercase; letter-spacing: 0.06em; font-size: 11px; }
.calder-order-level.lvl-medium { border-style: double; border-width: 3px; }
.calder-order-level.lvl-hard { border-width: 2px; font-weight: 700; }
.calder-order-job { border-style: dotted; }
.calder-order-pay { margin-left: auto; font-weight: 700; }
.calder-orders > .calder-order.paid .calder-progress-label { text-decoration: line-through; text-decoration-thickness: 1px; }
.calder-orders > .calder-order .calder-btn { margin-top: 6px; }
.calder-orders-bonus { margin-top: 8px; }
.calder-order-go { display: inline-block; margin: 4px 12px 0 0; font-size: 13px; }
.calder-trick-street { display: flex; justify-content: center; gap: 12px; margin: 8px 0 12px; padding: 10px 8px 0; background: linear-gradient(#1a1430, #2a1f3d); border-bottom: 6px solid #3b3446; }
.calder-trick-door { position: relative; width: 26px; height: 40px; background: #5a3b22; border: 2px solid #24160b; border-bottom: 0; border-radius: 13px 13px 0 0; }
.calder-trick-door::after { content: ""; position: absolute; right: 4px; top: 20px; width: 3px; height: 3px; background: #d9b44a; pointer-events: none; }
.calder-trick-door.knocked { background: #f0a030; box-shadow: 0 0 10px #f0a03099; }
.calder-trick-street:has(> .calder-trick-houses) { display: block; margin: 8px 0 4px; padding: 0; background: none; border-bottom: 0; }
.calder-trick-houses { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 256px; margin: 0 auto; }
@media (min-width: 600px) { .calder-trick-houses { grid-template-columns: repeat(8, minmax(0, 1fr)); max-width: 512px; } }
@media (min-width: 1100px) { .calder-trick-houses { max-width: 768px; } }
.calder-trick-house { display: block; padding: 0; border: 0; background: none; cursor: pointer; line-height: 0; }
.calder-trick-house canvas { display: block; width: 100%; height: auto; aspect-ratio: 32 / 44; image-rendering: pixelated; }
.calder-trick-house[aria-pressed="true"] { outline: 3px solid var(--c-accent); outline-offset: -3px; position: relative; z-index: 1; }
.calder-trick-house:focus-visible { outline: 3px solid var(--c-neon); outline-offset: -3px; position: relative; z-index: 2; }
.calder-trick-house:disabled { cursor: default; }
.calder-trick-chosen { min-height: 1.5em; margin: 8px 0; color: var(--c-text); }
html[data-tone="light"] .calder-trick-street { background: linear-gradient(#e6d6f2, #f3c79c); border-bottom-color: #a39a8c; }
html[data-tone="light"] .calder-trick-door { background: #7a4f2c; border-color: #3d2714; }
html[data-tone="light"] .calder-trick-street:has(> .calder-trick-houses) { background: none; }
.calder-costume-board { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; margin: 8px 0 12px; padding: 0; list-style: none; }
.calder-costume-entry { display: flex; align-items: center; gap: 8px; }
.calder-costume-entry > div { display: flex; flex-direction: column; min-width: 0; }
.calder-costume-entry canvas { flex: none; }
.calder-gear { margin-top: 16px; }
.calder-gear-name { margin: 10px 0 4px; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-dim); }
.calder-gear-list { margin: 0; padding: 0; list-style: none; }
.calder-gear-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; padding: 8px 0; border-top: 1px solid var(--c-line); }
.calder-gear-what { display: flex; flex-direction: column; min-width: 0; flex: 1 1 14em; }
.calder-gear-item { color: var(--c-text); font-weight: 700; }
.calder-gear-says { font-size: 12px; color: var(--c-dim); }
.calder-gear-where { font-size: 12px; color: var(--c-accent); }
.calder-gear-tag { font-size: 12px; color: var(--c-dim); }
.calder-limited { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin: 2px 0; font-size: 12px; }
.calder-limited-word { padding: 0 5px; border: 1px solid currentColor; color: var(--c-accent); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; font-size: 11px; }
.calder-limited-when { color: var(--c-text); }
@media (display-mode: standalone) {
  .top-bar, footer, .terminal-toggle-btn { display: none !important; }
}
.calder .calder-felt .calder-listings > .calder-cas-table { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 12px; }
.calder .calder-felt .calder-listings > .calder-cas-table > .calder-listing-head { grid-column: 1; grid-row: 1; }
.calder .calder-felt .calder-listings > .calder-cas-table > .calder-listing-actions { grid-column: 2; grid-row: 1; margin: 0; padding: 0; }
.calder .calder-felt .calder-listings > .calder-cas-table > .calder-job-blurb { grid-column: 1 / -1; }
.calder-hustle-rows { display: grid; gap: 6px; }
@media (min-width: 1100px) { .calder-hustle-rows { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.calder-hustle-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 12px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--c-line); background: var(--c-panel); color: var(--c-text); text-decoration: none; }
.calder-hustle-row:hover { border-color: var(--c-accent); }
.calder-hustle-row:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 2px; }
.calder-hustle-main { display: flex; flex-direction: column; min-width: 0; }
.calder-hustle-name { font-weight: 700; color: var(--c-accent); }
.calder-hustle-where { font-size: 12px; color: var(--c-dim); }
.calder-hustle-state { max-width: 10em; font-size: 12px; color: var(--c-dim); text-align: right; overflow-wrap: anywhere; }
.calder-hustle-state.ready { color: var(--c-neon); }
@media (min-width: 900px) { .calder-hustle-state { max-width: 18em; } }
.calder-hustle-row.closed .calder-hustle-name { color: var(--c-dim); }
.calder-hustle-row.closed > .calder-tree-icon { opacity: 0.5; }
.calder-hustle-row > .calder-job-terms { grid-column: 1 / -1; font-size: 12px; }
@media (max-width: 600px) {
  #calder-app[data-page="jobs"] .calder-banner, #calder-app[data-page="crime"] .calder-banner { display: none; }
}
.terminal-toggle-btn { display: none !important; }
.calder-hustle-row { grid-template-columns: auto minmax(0, 1fr) auto; }
.calder-hustle-row > .calder-tree-icon { width: 18px; height: 18px; color: var(--c-accent); align-self: start; margin-top: 2px; }
.calder-hustle-row > .calder-job-terms { grid-column: 2 / -1; }
button.calder-crumb, button.calder-bar-up { padding: 0; border: 0; background: none; font-family: inherit; font-size: inherit; font-weight: inherit; cursor: pointer; text-transform: none; letter-spacing: normal; }
button.calder-crumb { min-width: 24px; justify-content: center; color: var(--c-text); text-decoration: underline; text-decoration-color: var(--c-line); text-underline-offset: 3px; }
button.calder-crumb:hover { text-decoration-color: currentColor; }
button.calder-crumb:focus-visible, button.calder-bar-up:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 1px; }
.calder-dialog.compact { grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "them box"; align-items: stretch; gap: 10px; margin-bottom: 12px; }
.calder-dialog.compact.has-ask { grid-template-areas: "them box" "ask ask"; }
.calder-dialog.compact .calder-dialog-you, .calder-dialog.compact .calder-dialog-them > .calder-dialog-name { display: none; }
.calder-dialog.compact .calder-dialog-pic canvas { width: 96px !important; height: 104px !important; }
.calder-dialog.compact .calder-dialog-box { contain: size; overflow: hidden; min-height: 0; padding: 6px 24px 6px 10px; }
.calder-dialog.compact.grows .calder-dialog-box { contain: none; overflow: visible; }
.calder-dialog-who { display: none; }
.calder-dialog.compact .calder-dialog-who { display: block; margin: 0 0 2px; font-size: 11px; font-weight: 600; line-height: 1.3; text-transform: uppercase; letter-spacing: 0.08em; color: var(--c-accent); overflow-wrap: anywhere; }
.calder-dialog.compact .calder-dialog-line { font-size: 14px; line-height: 1.35; }
@media (max-width: 389.98px) {
  .calder-dialog.compact { grid-template-columns: minmax(0, 1fr); grid-template-areas: "box"; }
  .calder-dialog.compact.has-ask { grid-template-areas: "box" "ask"; }
  .calder-dialog.compact .calder-dialog-them { grid-area: box; position: relative; z-index: 1; align-self: start; justify-self: start; margin: 9px 0 0 9px; }
  .calder-dialog.compact .calder-dialog-pic canvas { width: 72px !important; height: 78px !important; }
  .calder-dialog.compact .calder-dialog-box { contain: none; overflow: visible; padding: 6px 24px 8px 6px; }
  .calder-dialog.compact .calder-dialog-box::before { content: ''; float: left; width: 76px; height: 82px; margin-right: 10px; }
  .calder-dialog.compact .calder-dialog-line { font-size: 14px !important; }
}
.calder-herald .calder-doc-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 6px; }
.calder-herald .calder-doc-meta dd { margin-right: 10px; }
.calder-job-pay { margin: 0 0 8px; color: var(--c-text); }
.calder-job-perk { margin: 0 0 8px; color: var(--c-dim); font-size: 12px; }
.calder-listing > .calder-job-perk { margin: 0; }
.calder-job-manage { margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--c-line); }
.calder-today-next { margin: 0 0 10px; font-size: 15px; }
.calder-tree-item[hidden] { display: none !important; }
.calder-tree-find { display: block; width: calc(100% - 16px); margin: 6px 8px; font-size: 13px; }
.calder-tree-nomatch.on { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 8px 6px; font-size: 12px; color: var(--c-text); }
.calder-tree-clear[hidden] { display: none; }
.calder-chart-values { margin-top: 6px; font-size: 12px; }
.calder-chart-values > summary { cursor: pointer; color: var(--c-dim); min-height: 24px; }
.calder-chart-list { margin: 6px 0 0; padding-left: 20px; columns: 2 16em; color: var(--c-text); }
.calder-sets, .calder-interest, .calder-loan, .calder-today-progress, .calder-breakdown-zero { margin-top: 10px; }
.calder-story-step { margin: 0 0 8px; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-dim); }
.calder-story-page .calder-read { margin: 0 0 12px; font-size: 17px; line-height: 1.55; color: var(--c-text); }
.calder-story-choices { flex-direction: column; align-items: stretch; }
.calder-story-choices .calder-btn { text-align: left; white-space: normal; }
.calder-story-recap { margin-top: 16px; }
.calder-story-log { margin: 8px 0 0; padding-left: 20px; }
.calder-story-log li { margin-bottom: 6px; font-family: var(--font-display); font-size: 15px; line-height: 1.45; color: var(--c-dim); }
.calder-casebook { margin: 0; padding-left: 20px; }
.calder-linenine { display: block; width: 100%; max-width: 504px; height: auto; aspect-ratio: 168 / 40; image-rendering: pixelated; margin: 0 0 10px; }
.calder-linenine-stops { margin: 0; padding-left: 22px; columns: 2 14em; column-gap: 24px; }
.calder-linenine-stops li { margin: 0 0 4px; color: var(--c-dim); }
.calder-linenine-stops li.walked { color: var(--c-text); }
.calder-drip { background: #d8d0b8; color: #2a241d; border: 1px solid #8a7e64; padding: 14px 16px; }
.calder-drip .calder-read { font-family: var(--font-ui); font-size: 14px; line-height: 1.5; color: #2a241d; }
.calder-drip-mast { margin: 0; font-size: 22px; letter-spacing: 0.3em; text-transform: uppercase; color: #2a241d; border-bottom: 3px double #5a4f3a; }
.calder-drip-strap { margin: 4px 0 10px; font-size: 12px; color: #5a4f3a; }
.calder-drip-rumours { margin: 0 0 10px; padding-left: 22px; }
.calder-drip-rumours li { margin: 0 0 6px; }
.calder-drip-head { margin: 12px 0 6px; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: #2a241d; }
.calder-drip-corrections { margin: 0; padding-left: 18px; }
.calder-drip-verdict { font-size: 12px; font-weight: 700; }
.calder-drip-verdict.came { color: #2e5a2e; }
.calder-drip-verdict.not { color: #7a2a2a; }
.calder-drip-foot { margin: 10px 0 0; font-size: 12px; color: #5a4f3a; }
.calder-dialog-sign { margin: 4px 0 0; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; text-align: center; color: var(--c-dim); }
.calder-dialog.compact .calder-dialog-sign { display: none; }
.calder-nextdoor-list { margin: 0; padding: 0; list-style: none; }
.calder-nextdoor-list > li { padding: 10px 0; border-top: 1px solid var(--c-line); }
.calder-nextdoor-list > li:last-child { border-bottom: 1px solid var(--c-line); }
.calder-nextdoor-who { margin: 0 0 4px; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-dim); }
.calder-nextdoor .calder-nextdoor-list .calder-read { margin: 0 0 8px; font-size: 16px; }
.calder-nextdoor-list .calder-note { margin: 6px 0 0; }
.calder-case-b > h4.calder-legend { margin: 18px 0 8px; }
.calder-b-known { margin: 0; padding-left: 20px; }
.calder-case-b .calder-b-known .calder-read { margin: 0 0 8px; font-size: 16px; }
.calder-b-clues { margin: 0; padding: 0; list-style: none; }
.calder-b-clues > li { padding: 10px 0; border-top: 1px solid var(--c-line); }
.calder-b-clues > li:last-child { border-bottom: 1px solid var(--c-line); }
.calder-case-b .calder-b-clues .calder-read { margin: 0 0 6px; }
.calder-b-clues .calder-note { margin: 0; }
.calder-b-form { max-width: 28rem; }
.calder-b-form > .calder-note { margin: 6px 0 0; }
.calder-casebook li { margin-bottom: 6px; }
.calder-story-page > .calder-result:not(:empty) { margin-bottom: 14px; }
.calder-story-page .calder-result .calder-read { margin: 0 0 6px; font-size: 16px; line-height: 1.5; }
.calder-story-page .calder-result .calder-read:last-child { margin-bottom: 0; }
.calder-district .calder-result .calder-read { font-size: 16px; line-height: 1.45; }
.calder-district > .calder-result:not(:empty) { margin-bottom: 8px; }
.calder-studio-pitch { display: grid; gap: 10px; max-width: 640px; }
.calder-studio-field { display: grid; gap: 4px; }
.calder-studio-label { color: var(--c-dim); font-size: 13px; }
.calder-studio-namerow { display: flex; gap: 8px; align-items: center; }
.calder-studio-namerow .calder-input { flex: 1 1 auto; }
.calder-studio-hint { font-size: 12px; margin: 0; }
.calder-studio-hints { display: flex; flex-direction: column; gap: 2px; }
.calder-studio-mix { margin: 2px 0 0; }
.calder-studio-found summary, .calder-studio-later summary, .calder-studio-known summary, .calder-studio-parts summary, .calder-studio-pastchart summary { cursor: pointer; min-height: 32px; display: flex; align-items: center; }
.calder-studio-foundlist, .calder-studio-knownlist, .calder-studio-calls { margin: 6px 0 0; padding-left: 1.2em; }
.calder-studio-foundlist li { color: var(--c-dim); }
.calder-studio-foundlist li.found { color: var(--c-text); }
.calder-studio-stage { border: 1px solid var(--c-line); padding: 8px 10px 4px; margin: 0; min-width: 0; }
.calder-studio-stage legend { padding: 0 4px; color: var(--c-accent); font-size: 13px; }
.calder-studio-slider { display: grid; grid-template-columns: 6.5em minmax(0, 1fr) 3.5em; align-items: center; gap: 8px; min-height: 36px; }
.calder-studio-slider output { text-align: right; font-variant-numeric: tabular-nums; }
.calder-studio-range { width: 100%; min-width: 0; accent-color: var(--c-accent); min-height: 28px; }
.calder-game-cover { width: 48px; height: 64px; image-rendering: pixelated; flex: none; }
.calder-studio-game { display: flex; gap: 12px; align-items: flex-start; }
.calder-studio-gamewords { flex: 1 1 auto; min-width: 0; display: grid; gap: 2px; }
.calder-studio-gamewords .calder-note { margin: 0; }
.calder-studio-title { margin: 0; font-size: 16px; color: var(--c-text); overflow-wrap: anywhere; }
.calder-studio-mark { flex: none; font-size: 18px; color: var(--c-accent); font-variant-numeric: tabular-nums; }
.calder-studio-track { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; list-style: none; margin: 12px 0 4px; padding: 0; }
.calder-studio-track li { border: 1px solid var(--c-line); padding: 6px 8px; display: grid; gap: 2px; color: var(--c-dim); min-width: 0; }
.calder-studio-track li.done { color: var(--c-text); }
.calder-studio-track li.now { border-color: var(--c-accent); color: var(--c-text); box-shadow: inset 0 0 0 1px var(--c-accent); }
.calder-studio-stagename { font-size: 13px; }
.calder-studio-stagetime { font-size: 12px; overflow-wrap: anywhere; }
.calder-studio-decision { border-top: 1px solid var(--c-line); padding-top: 10px; margin-top: 10px; }
.calder-studio-decision h3 { margin: 0 0 4px; font-size: 13px; color: var(--c-dim); font-weight: normal; }
.calder-studio-decision.open h3 { color: var(--c-accent); }
.calder-studio-review { margin: 0; padding: 0 0 0 12px; border-left: 3px solid var(--c-accent); }
.calder-studio-review p { margin: 0 0 4px; }
.calder-studio-review footer { color: var(--c-dim); font-size: 12px; font-family: var(--font-ui); }
.calder-studio-partlist { border-collapse: collapse; margin-top: 6px; }
.calder-studio-partlist th { text-align: left; font-weight: normal; color: var(--c-dim); padding: 2px 16px 2px 0; }
.calder-studio-partlist td { text-align: right; font-variant-numeric: tabular-nums; }
.calder-studio-partlist tr.total th, .calder-studio-partlist tr.total td { color: var(--c-text); border-top: 1px solid var(--c-line); padding-top: 4px; }
.calder-studio-knownlist li.mix-great { color: var(--c-text); }
.calder-studio-stars { display: flex; gap: 2px; }
.calder-studio-stars .calder-btn { min-width: 32px; padding: 4px 6px; color: var(--c-accent); }
.calder-studio-later > .calder-studio-stage + .calder-studio-stage { margin-top: 12px; }
.calder-studio-project + .calder-studio-project { border-top: 1px solid var(--c-line); margin-top: 16px; padding-top: 16px; }
.calder-studio-market { display: grid; gap: 6px; margin-top: 12px; }
.calder-studio-staff { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.calder-studio-person { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; border-top: 1px solid var(--c-line); padding-top: 10px; }
.calder-studio-person:first-child { border-top: 0; padding-top: 0; }
.calder-studio-person > .calder-note { flex: 1 1 14em; margin: 0; }
.calder-studio-person > .calder-actions { margin: 0; }
.calder-studio-candidates { margin-top: 12px; }
.calder-studio-candidates > summary { cursor: pointer; min-height: 32px; }
.calder-game-cover-rival { display: block; border: 1px dashed var(--c-line); box-sizing: border-box; }
.calder-studio-trend { margin: 0 0 12px; color: var(--c-accent); }
@media (max-width: 480px) {
  .calder-studio-slider { grid-template-columns: 5.5em minmax(0, 1fr) 3em; gap: 6px; }
  .calder-studio-track { grid-template-columns: minmax(0, 1fr); }
}
.calder-race-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.calder-radio-items { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 6px; }
.calder-radio-items li { padding-left: 12px; border-left: 2px solid var(--c-accent); }
.calder-radio-form { flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.calder-radio-form .calder-input, .calder-radio-form .calder-select { min-width: 0; }
@media (min-width: 601px) {
  .calder-radio-form .calder-input { flex: 1 1 140px; }
  .calder-radio-form .calder-select { flex: 1 1 200px; }
}
.calder-moods { list-style: none; margin: 4px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 2px 16px; font-size: 13px; }
.calder-race-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; min-height: 32px; }
.calder-race-row.you .calder-race-name { color: var(--c-accent); }
.calder-party-dot { width: 10px; height: 10px; flex: none; border: 1px solid var(--c-line); background: var(--c-panel); }
.calder-party-logo { image-rendering: pixelated; flex: none; vertical-align: -3px; }
.calder-newsrow-title .calder-party-logo, .calder-story-head .calder-party-logo, .calder-radio-ad .calder-party-logo { margin-right: 8px; }
.calder-party-mark { display: inline-flex; align-items: center; flex: none; }
.calder-parties { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
@media (min-width: 900px) { .calder-parties { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.calder-party-card { border: 1px solid var(--c-line); padding: 12px; display: flex; flex-direction: column; gap: 6px; }
.calder-party-card p { margin: 0; }
.calder-party-more { margin-top: auto; align-self: flex-start; }
.calder-party-top { display: flex; gap: 12px; align-items: center; }
.calder-party-top p { margin: 2px 0 0; }
.calder-party-name { margin: 0; font-size: 15px; color: var(--c-text); }
.calder-party-motto { font-style: italic; }
.calder-party-facts { display: grid; grid-template-columns: max-content 1fr; gap: 4px 12px; margin: 8px 0 0; }
.calder-party-facts dt { color: var(--c-dim); }
.calder-party-facts dd { margin: 0; }
.calder-party-issue p { margin: 2px 0 0; }
.calder-race-name { font-weight: 600; }
.calder-race-poll { margin-left: auto; font-variant-numeric: tabular-nums; color: var(--c-text); }
.calder-race-acts { display: flex; gap: 6px; align-items: center; }
.calder-debate { display: grid; gap: 10px; margin-bottom: 10px; }
#calder-app[data-page="elections"] .calder-inline { flex-wrap: wrap; gap: 8px; }
#calder-app[data-page="elections"] .calder-inline .calder-input { flex: 1 1 8em; min-width: 8em; width: auto; }
#calder-app[data-page="elections"] .calder-inline .calder-select { flex: 1 1 10em; min-width: 0; width: auto; }
.calder-debate-q { border: 1px solid var(--c-line); padding: 8px 10px; margin: 0; min-width: 0; }
.calder-debate-q legend { padding: 0 4px; color: var(--c-accent); font-size: 13px; }
.calder-debate-q .calder-btn[aria-pressed="true"] { border-color: var(--c-accent); color: var(--c-accent); box-shadow: inset 0 0 0 1px var(--c-accent); }
.calder-status-life { color: var(--c-dim); flex-basis: 100%; }
.calder-life-row { display: grid; grid-template-columns: 9.5em 1fr; align-items: center; gap: 4px 12px; margin: 8px 0; }
.calder-life-label { color: var(--c-text); font-variant-numeric: tabular-nums; }
.calder-life-bar { height: 10px; border: 1px solid var(--c-line); background: var(--c-panel); }
.calder-life-fill { display: block; height: 100%; background: var(--c-accent); }
.calder-life-says { grid-column: 2; margin: 0; }
.calder-family-members { display: flex; flex-wrap: wrap; gap: 16px; margin: 8px 0 12px; }
.calder-family-member { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 96px; text-align: center; }
.calder-kid { display: flex; gap: 16px; align-items: flex-start; padding: 10px 0; border-top: 1px solid var(--c-line, #3a3f48); }
.calder-kid:first-of-type { border-top: 0; }
.calder-kid .calder-family-member { flex: 0 0 auto; }
.calder-kid-body { flex: 1 1 auto; min-width: 0; }
.calder-kid-name .calder-input[type="text"] { width: 14ch; }
@media (max-width: 600px) { .calder-kid { flex-direction: column; gap: 6px; } }
.calder-estate { margin: 8px 0; max-width: 640px; }
.calder-estate .calder-note { margin: 2px 0; }
.calder-will { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--c-line); max-width: 640px; }
.calder-will .calder-input[type="number"] { width: 6ch; }
.calder-famtree { list-style: none; margin: 8px 0 0; padding: 0; max-width: 760px; }
.calder-famtree-row { display: flex; gap: 16px; align-items: flex-start; padding: 10px 0; border-top: 1px solid var(--c-line); }
.calder-famtree-row:first-child { border-top: 0; }
.calder-famtree-body { flex: 1 1 auto; min-width: 0; }
.calder-famtree-body .calder-note { margin: 2px 0; }
@media (max-width: 600px) { .calder-famtree-row { flex-direction: column; gap: 6px; } }
.calder-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin: 4px 0 12px; }
.calder-card-tile { border: 1px solid var(--c-line); padding: 8px; min-height: 96px; }
.calder-card-tile.r-rare { border-color: #c9a227; box-shadow: inset 0 0 0 1px #c9a227; }
.calder-card-tile.blank { opacity: 1; color: var(--c-dim); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.calder-card-tile .calder-read { font-size: 14px; margin: 4px 0 0; }
.calder-guide { padding-left: 18px; display: flex; flex-direction: column; gap: 4px; max-width: 720px; }
.calder-guide .blank { color: var(--c-dim); }
.calder-inv-grid { display: grid; gap: 16px; }
@media (min-width: 900px) { .calder-inv-grid { grid-template-columns: minmax(300px, 380px) minmax(0, 1fr); align-items: start; } }
.calder-doll { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 8px; align-items: start; }
.calder-doll-side { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.calder-doll-portrait { align-self: center; padding: 4px; border: 1px solid var(--c-line); background: var(--c-bg); line-height: 0; }
.calder-doll-portrait canvas { image-rendering: pixelated; }
.calder-doll-slot {
  display: flex; align-items: center; gap: 6px; min-width: 0; min-height: 44px;
  padding: 3px 6px; text-align: left;
  border: 1px solid var(--c-line); background: var(--c-panel); color: var(--c-text);
  font: inherit; font-size: 12px; cursor: pointer;
}
.calder-doll-slot:hover { border-color: var(--c-dim); }
.calder-doll-slot:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 1px; }
.calder-doll-slot .calder-item-icon { width: 24px; height: 24px; }
.calder-doll-empty-box { flex: none; width: 24px; height: 24px; border: 1px dashed var(--c-line); }
.calder-doll-words { display: flex; flex-direction: column; min-width: 0; }
.calder-doll-name { color: var(--c-dim); font-size: 11px; }
.calder-doll-item { overflow-wrap: anywhere; }
.calder-doll-slot:not(.worn) .calder-doll-item { color: var(--c-dim); }
.calder-doll-slot.calder-doll-set { box-shadow: inset 0 0 0 2px var(--set); }
.calder-doll-slot.calder-doll-fits { border-color: var(--c-accent); box-shadow: inset 0 0 0 1px var(--c-accent); }
.calder-doll-slot.calder-doll-over, .calder-doll-slot[aria-pressed="true"] { background: var(--c-bg); border-color: var(--c-accent); }
@media (max-width: 599.98px) {
  .calder-doll { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .calder-doll-portrait { grid-column: 1 / -1; grid-row: 1; justify-self: center; }
}
.calder-bag { min-width: 0; }
.calder-bag-cap .calder-progress { margin-top: 0; }
.calder-bag-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px; }
.calder-bag-chip[aria-pressed="true"] { border-color: var(--c-accent); color: var(--c-text); box-shadow: inset 0 -2px 0 var(--c-accent); }
.calder-bag-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 10px; }
.calder-bag-label { font-size: 13px; color: var(--c-dim); }
.calder-bag-tools .calder-select { width: auto; flex: 0 0 auto; }
.calder-bag-find { flex: 1 1 160px; min-width: 0; }
.calder-bag-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 8px; }
.calder-bag-grid > .calder-note { grid-column: 1 / -1; }
.calder-bag-tile {
  --rar: #8a9199;
  position: relative;
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  min-height: 92px; padding: 8px 4px 6px;
  border: 2px solid var(--rar); background: var(--c-panel); color: var(--c-text);
  font: inherit; cursor: pointer;
}
.calder-bag-tile.rar-common { --rar: #8a9199; }
.calder-bag-tile.rar-uncommon { --rar: #5fbf6a; }
.calder-bag-tile.rar-rare { --rar: #5d9cec; }
.calder-bag-tile.rar-exceptional { --rar: #c6a2ec; }
.calder-bag-tile.rar-legendary { --rar: #e3b54a; }
html[data-tone="light"] .calder-bag-tile.rar-common { --rar: #6b7178; }
html[data-tone="light"] .calder-bag-tile.rar-uncommon { --rar: #2e7d3a; }
html[data-tone="light"] .calder-bag-tile.rar-rare { --rar: #2a62b0; }
html[data-tone="light"] .calder-bag-tile.rar-exceptional { --rar: #7a4fb0; }
html[data-tone="light"] .calder-bag-tile.rar-legendary { --rar: #9a6a00; }
.calder-bag-tile:hover { background: var(--c-bg); }
.calder-bag-tile, .calder-shelf-item { color: var(--c-text); }
.calder-bag-tile:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 2px; }
.calder-bag-tile[aria-pressed="true"] { background: var(--c-bg); box-shadow: 0 0 0 2px var(--c-accent); }
.calder-bag-tile[draggable="true"] { cursor: grab; }
.calder-bag-tile .calder-item-icon { width: 36px; height: 36px; }
@media (min-width: 1100px) { .calder-bag-tile .calder-item-icon { width: 48px; height: 48px; } }
.calder-bag-name { font-size: 11px; line-height: 13px; text-align: center; overflow-wrap: anywhere; }
.calder-bag-count { position: absolute; top: 2px; right: 4px; font-size: 11px; font-weight: 700; }
.calder-bag-mark { font-size: 11px; color: var(--c-dim); }
.calder-bag-new { position: absolute; top: 4px; left: 4px; width: 8px; height: 8px; border-radius: 50%; background: var(--c-accent); }
.calder-bag-card { margin-top: 14px; padding: 10px; border: 1px solid var(--c-accent); background: var(--c-panel); }
.calder-bag-card[hidden] { display: none; }
.calder-bag-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 6px; }
.calder-bag-card-title { font-weight: 700; }
.calder-bag-card-x { min-width: 44px; min-height: 44px; border: 1px solid var(--c-line); background: var(--c-bg); color: var(--c-text); font: inherit; cursor: pointer; }
.calder-bag-card-x:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 1px; }
.calder-bag-card .calder-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 8px; margin-top: 12px; }
.calder-bag-card .calder-actions > .calder-btn { width: 100%; min-height: 48px; margin: 0; flex: none; }
.calder-bag-card .calder-actions > a { grid-column: 1 / -1; justify-self: start; }
@media (max-width: 599.98px) {
  .calder-bag-card { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; margin: 0; max-height: 62vh; overflow: auto; padding: 10px 12px calc(12px + env(safe-area-inset-bottom)); box-shadow: 0 -6px 18px rgba(0, 0, 0, 0.45); }
}
.calder-shelf { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px; margin: 8px 0 0; padding: 0; list-style: none; }
.calder-shelf-item { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 8px 6px; border: 1px solid var(--c-line); background: var(--c-panel); text-align: center; }
.calder-shelf-item .calder-item-icon { width: 36px; height: 36px; }
.calder-shelf-name { font-size: 12px; overflow-wrap: anywhere; }
.calder-desk-list { margin: 6px 0; padding-left: 20px; }
.calder-desk-list li { margin: 6px 0; }
.calder-desk-cols { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; margin: 16px 0 0; }
.calder-desk-col { display: contents; }
@media (min-width: 900px) {
  .calder-desk-cols { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
  .calder-desk-col { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
}
.calder-desk-cols > .calder-coffee { top: 160px; right: 8px; }
@media (min-width: 900px) { .calder-desk-cols > .calder-coffee { top: 304px; right: calc(50% + 16px); } }
.calder-section.calder-slip { margin: 0; padding: 16px; border: 0; }
.calder-slip .calder-note { margin: 8px 0 0; }
.calder-section.calder-slip > :last-child { margin-bottom: 0; }
.calder-section.calder-slip > :empty { margin: 0; }
.calder-section.calder-slip > :has(+ :empty:last-child) { margin-bottom: 0; }
#calder-app > :is(.calder-slip, .calder-lanyard), #calder-app > :is(.calder-slip, .calder-lanyard) + * { margin-top: 24px; }
.calder-slip > .calder-rows { margin: 0; padding: 0; border-radius: 0; background: none; box-shadow: none; }
.calder-rows-plain .calder-row { grid-template-columns: minmax(0, 1fr) auto; }
.calder-rows-plain .calder-row-end { font-family: var(--f-ui); }
.calder-desk-you { rotate: -0.6deg; }
.calder-desk-who { display: flex; align-items: center; gap: 12px; }
.calder-desk-who > .calder-desk-face { flex: none; }
.calder-desk-who > div { min-width: 0; flex: 1 1 auto; }
.calder-desk-who > .calder-mark { flex: none; align-self: flex-start; }
.calder-desk-name { font: 600 18px var(--f-ui); }
.calder-desk-who .calder-occupation { margin: 4px 0 0; font-size: 15px; }
.calder-desk-who .calder-job-perk { margin: 4px 0 0; font-size: 13px; color: var(--c-dim); }
.calder-desk-clocks { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 12px 0 0; padding: 0; list-style: none; font-size: 15px; }
.calder-desk-line { margin: 8px 0 0; }
.calder-notepad .calder-note { margin: 8px 0 0; }
.calder-receipt-n { min-width: 24px; color: var(--c-dim); font-family: var(--f-fig); }
.calder-receipt-more { margin: 8px 0 0; text-align: center; font-size: 13px; }
#calder-app.calder-sheet-page > .calder-resident-card { column-span: all; }
.calder-resident-card { margin: 0; }
.calder-resident-card > .calder-sheet-top { margin: 0; }
.calder-resident-card > .calder-figures { margin: 12px 0 0; }
.calder-resident-card .calder-idcard-vehicle { padding: 8px 0 0; }
.calder-resident-card .calder-idcard-foot { margin: 12px 0 0; padding: 8px 0 0; border-top: 1px solid var(--c-line); }
.calder-resident-card.calder-idcard-set { box-shadow: 0 2px 0 var(--pp-shadow), 0 0 0 4px var(--set); }
.calder-sheet-tier { margin: 8px 0 0; }
#calder-app.calder-sheet-page > :is(.calder-slip, .calder-lanyard) { margin: 24px 0 0; }
#calder-app.calder-sheet-page > .calder-resident-card { margin-bottom: 24px; }
#calder-app.calder-sheet-page > .calder-resident-card + :is(.calder-slip, .calder-lanyard) { margin-top: 0; }
#calder-app.calder-sheet-page > :last-child { margin-bottom: 0; }
@media (min-width: 1100px) { #calder-app.calder-sheet-page { column-gap: 24px; } }
.calder-check { display: flex; align-items: center; gap: 8px; min-height: 44px; }
.calder-check > input[type="checkbox"] { flex: none; width: 24px; height: 24px; margin: 0; accent-color: var(--c-accent); }
.calder-bag-empty { margin-top: 12px; }
.calder-cards { grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); }
@media (min-width: 900px) { .calder-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.calder-card-tile.blank { min-height: 64px; }
.calder-doll-portrait.trying, .calder-preview.trying { border-color: var(--c-accent); }
.calder-trying { display: block; padding: 2px 0; font-size: 11px; line-height: 1.3; text-align: center; color: var(--c-text); }
summary.calder-row { list-style: none; }
summary.calder-row::-webkit-details-marker { display: none; }
summary.calder-row:hover { background: var(--pp-wash); }
.calder-pet-row[open] > summary.calder-row { border-bottom: 1px dashed var(--c-line); }
.calder-pet-row-body { padding: 12px 0 16px; }
.calder-pet-row-body .calder-inline { margin: 8px 0 0; }
.calder-listings.calder-orows, .calder-orows { display: block; margin: 8px 0 0; }
.calder-orow { margin-inline: 8px; border-bottom: 1px solid var(--c-line); }
.calder-orow > summary.calder-row { padding-inline: 8px; }
.calder-orow:last-child { border-bottom: 0; }
summary.calder-row { cursor: pointer; }
summary.calder-row:focus-visible { outline: 2px solid var(--c-neon); outline-offset: 2px; }
summary.calder-row.calder-row-noico { grid-template-columns: minmax(0, 1fr) auto; }
.calder-orow > summary.calder-row:hover { background: var(--pp-wash); }
.calder-orow[open] > summary.calder-row { border-bottom: 1px dashed var(--c-line); }
.calder-orow .calder-row-end { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 4px 8px; }
.calder-market-listing > summary.calder-row { grid-template-columns: 32px minmax(0, 1fr) auto; gap: 16px; min-height: 56px; padding: 12px 8px; }
.calder-market-listing .calder-row-ico { width: 32px; height: 32px; border-radius: 8px; }
.calder-market-listing .calder-item-icon { width: 28px; height: 28px; }
.calder-orow > summary .calder-row-end::after { content: '\25B8'; color: var(--c-dim); font-family: var(--f-ui); }
.calder-orow[open] > summary .calder-row-end::after { content: '\25BE'; }
.calder-orow-body { display: flex; flex-direction: column; gap: 4px; padding: 8px 0 16px; }
.calder-orow-body .calder-listing-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 0; }
.calder-orow.closed .calder-job-title { color: var(--c-dim); }
.calder-row-ico .calder-crew-mark { color: var(--c-text); }
.calder-slip .calder-hustle-rows { display: block; }
.calder-slip .calder-hustle-row { border: 0; border-bottom: 1px solid var(--c-line); border-radius: 0; background: none; padding: 8px 0; }
.calder-slip .calder-hustle-row:last-child { border-bottom: 0; }
.calder-slip .calder-hustle-row:hover { background: var(--pp-wash); }
.calder-slip .calder-hustle-name { font-family: var(--f-ui); font-weight: 600; }
details.calder-gear.calder-slip > .calder-fold-head { border: 0; background: none; padding: 0; }
details.calder-gear.calder-slip[open] > .calder-fold-head { margin: 0 0 8px; }
details.calder-fold.calder-slip > .calder-fold-head { border: 0; background: none; padding: 0; }
details.calder-fold.calder-slip[open] > .calder-fold-head { margin: 0 0 8px; }
details.calder-fold.calder-slip > :last-child { margin-bottom: 0; }
.calder-slip > .calder-tip:last-child > .calder-note:first-child:is(:only-child, :has(+ [hidden])) { margin-bottom: 0; }
.calder-pricestall.calder-slip {
  --aw-a: #2f6b43;
  --aw-b: #8a8570;
  --aw-h: 20px;
  padding-top: calc(var(--aw-h) + 12px);
  background:
    radial-gradient(circle at 9px 0, var(--aw-a) 8px, transparent 8.5px) 0 12px / 36px 8px repeat-x,
    radial-gradient(circle at 9px 0, var(--aw-b) 8px, transparent 8.5px) 18px 12px / 36px 8px repeat-x,
    repeating-linear-gradient(90deg, var(--aw-a) 0 18px, var(--aw-b) 18px 36px) 0 0 / 100% 12px no-repeat,
    var(--c-bg);
}
.calder-market-filters { grid-template-columns: repeat(3, minmax(0, 1fr)) max-content max-content; gap: 8px 16px; align-items: end; }
.calder-market-filters .calder-field { grid-template-columns: minmax(0, 1fr); gap: 2px; margin: 0; }
.calder-market-filters .calder-market-filter-check { align-items: center; min-height: 36px; padding: 0 8px; border: 1px solid var(--c-line); background: var(--c-panel); white-space: nowrap; }
@media (max-width: 850px) {
  .calder-market-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .calder-market-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calder-market-filters .calder-field { grid-column: 1 / -1; }
}
.calder-orow .calder-row-end .calder-mark-pill { rotate: none; font-size: 13px; }
.calder-ready-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--c-accent); color: transparent; font-size: 11px; line-height: 10px; white-space: nowrap; overflow: hidden; vertical-align: middle; }
@media (max-width: 599px) { .calder-orow .calder-row-end { max-width: 136px; } }
.calder-receipt .calder-sales li { display: flex; border-top: 0; padding: 4px 0; }
.calder-receipt-when { color: var(--c-dim); font-size: 13px; white-space: nowrap; }
.calder-vehicle-row > summary.calder-row { grid-template-columns: 96px minmax(0, 1fr) auto; }
.calder-vehicle-row .calder-row-ico { width: 96px; height: 40px; background: none; border-radius: 0; }
.calder-vehicle-row .calder-vehicle-art { width: 96px; margin: 0; }
@media (max-width: 599px) {
  .calder-vehicle-row > summary.calder-row { grid-template-columns: 96px minmax(0, 1fr); row-gap: 4px; }
  .calder-vehicle-row > summary .calder-row-ico { grid-row: span 2; }
  .calder-vehicle-row > summary .calder-row-end { grid-column: 2; justify-self: start; justify-content: flex-start; }
}
.calder-cover-row > summary.calder-row { grid-template-columns: 48px minmax(0, 1fr) auto; }
.calder-cover-row .calder-row-ico { width: 48px; height: 64px; background: none; border-radius: 0; }
.calder-cover-row .calder-game-cover { display: block; }
.calder-orow .calder-studio-mark { font-size: 16px; }
fieldset.calder-studio-stage { display: block; }
.calder-slip > .calder-tip:has(+ .calder-result:empty:last-child) > .calder-note:first-child:is(:only-child, :has(+ [hidden])) { margin-bottom: 0; }
.calder-studio-review footer { margin: 4px 0 0; padding: 0; border: 0; text-align: left; }
.calder-slip :is(.calder-studio-parts, .calder-studio-known, .calder-studio-pastchart, .calder-studio-found, .calder-studio-later) > summary { gap: 8px; }
.calder-slip :is(.calder-studio-parts, .calder-studio-known, .calder-studio-pastchart, .calder-studio-found, .calder-studio-later) > summary::before { content: '\25B8'; color: var(--c-dim); }
.calder-slip :is(.calder-studio-parts, .calder-studio-known, .calder-studio-pastchart, .calder-studio-found, .calder-studio-later)[open] > summary::before { content: '\25BE'; }
.calder-slip .calder-envelope { padding: 8px 12px; border-radius: 10px; background: var(--pp-wash); }
.calder-terminal > .calder-section:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.calder-pollbar { display: flex; flex: none; width: 160px; height: 12px; border: 1px solid var(--c-line); border-radius: 6px; overflow: hidden; }
.calder-pollbar-fill { display: block; height: 100%; }
.calder-pollbar-stack .calder-pollbar-fill + .calder-pollbar-fill { border-left: 1px solid var(--c-line); }
.calder-race-share { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.calder-race-share .calder-race-poll { margin-left: 0; min-width: 4ch; text-align: right; }
.calder-race-row > .calder-note { margin: 0; }
.calder-race-list + .calder-note { margin-top: 8px; }
.calder-races-fold > .calder-slip { margin-top: 12px; }
.calder-gov, .calder-howto { list-style: none; margin: 0; padding: 0; display: grid; }
.calder-gov-row { display: grid; grid-template-columns: 16px minmax(0, 1fr) auto; align-items: center; gap: 4px 12px; padding: 8px 0; border-top: 1px solid var(--c-line); }
.calder-gov-row.calder-gov-plain { grid-template-columns: minmax(0, 1fr) auto; }
.calder-gov-row:first-child { border-top: 0; }
.calder-gov-fold { margin-top: 12px; }
.calder-gov-fold > .calder-gov { margin-top: 8px; }
@media (min-width: 1100px) {
  .calder-gov { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
  .calder-gov-row:nth-child(2) { border-top: 0; }
}
.calder-gov-row.you strong { color: var(--c-accent); }
.calder-gov-what { display: grid; gap: 2px; min-width: 0; }
.calder-gov-sub { font-size: 13px; color: var(--c-dim); }
.calder-gov-when { font: 11px var(--f-fig); letter-spacing: 0.04em; text-transform: uppercase; color: var(--c-dim); text-align: right; }
.calder-gov-head { margin: 16px 0 8px; font-size: 13px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--c-dim); }
.calder-ladder .calder-gov-sub { font: 13px var(--f-fig); }
.calder-howto { counter-reset: step; gap: 8px; }
.calder-howto li { position: relative; display: grid; gap: 2px; padding-left: 24px; counter-increment: step; }
.calder-howto li::before { content: counter(step); position: absolute; left: 0; top: 0; font: 13px var(--f-fig); color: var(--c-accent); }
@media (max-width: 600px) {
  .calder-gov-row { grid-template-columns: 16px minmax(0, 1fr); }
  .calder-gov-row.calder-gov-plain { grid-template-columns: minmax(0, 1fr); }
  .calder-gov-row > .calder-gov-when, .calder-gov-row > .calder-pollbar { grid-column: -2; justify-self: start; text-align: left; }
  .calder-race-share { flex-basis: 100%; margin-left: 24px; }
  .calder-race-share .calder-pollbar { flex: 1; width: auto; }
}
.calder-empty {
  display: flow-root;
}
.calder-empty-pic {
  float: left;
  width: 48px;
  height: 40px;
  margin: 0 12px 4px 0;
  image-rendering: pixelated;
}
.calder {
  --w-hi: #3d424a;
  --w-lo: #08090b;
  --w-drop: rgba(0, 0, 0, 0.4);
  --w-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");
  border-radius: 18px;
  font-family: var(--f-ui);
}
html[data-tone="light"] .calder { --w-hi: #f6f2e8; --w-lo: #8e8678; --w-drop: rgba(60, 45, 20, 0.25); --w-grain: none; }
html[data-palette] .calder { --w-hi: color-mix(in srgb, var(--c-bg), #fff 22%); --w-lo: color-mix(in srgb, var(--c-bg), #000 45%); --w-grain: none; }
.calder-body { background-image: var(--w-grain); }
.calder-felt, .calder-arcade, .calder-beach, .calder-dive, .calder-herald-desk, .calder-clawcab, .calder-studio,
.calder-motors, .calder-pier, .calder-terminal, .calder-idcard, .calder-status, .calder-dialog-box, .calder-corkboard, .calder-hallwall,
.calder-paper,
.calder-figure-value, .calder-arcade-score, .calder-listing-wage, .calder-sales li > span:nth-child(2), .calder-catchlog-n,
.calder-panel-year, .calder-plaque-amount, .calder-almanac-table td, .calder-almanac-table thead th + th,
.calder-almanac-record-value, .calder-brass-value, .calder-history-row, .calder-doc-meta dd, .calder-doc .calder-statlist,
.calder-mop-clock, .calder-truck-fuel, .calder-patrol-card dd, .calder-crack-log, .calder-contest-value,
.calder-contest-points, .calder-studio-poll, .calder-studio-clock-text, .calder-tower, .calder-tide-table,
.calder-idcard-foot, .calder-dice-sum, .calder-minidie-sum, .calder-studio-slider output, .calder-studio-mark,
.calder-studio-partlist td, .calder-race-poll, .calder-life-label { font-family: var(--f-fig); }
.calder-bar {
  border-radius: 18px 18px 0 0;
  border-bottom: 0;
  background: var(--c-bg);
  font-family: var(--f-ui);
  font-size: 13px;
  text-transform: none;
  letter-spacing: normal;
}
.calder-foot { border-radius: 0 0 18px 18px; border-top: 0; }
.calder-burger, .calder-bar-house, .calder-music, .calder-addr-btn, .calder-btn {
  border-color: transparent;
  border-radius: 11px;
  background: var(--c-panel);
  box-shadow: inset 0 1px 0 var(--w-hi), inset 0 -2px 0 var(--w-lo), 0 1px 0 var(--w-drop);
}
.calder-btn { border-radius: 10px; }
.calder-burger:hover, .calder-bar-house:hover, .calder-music:hover, .calder-addr-btn:hover:not(:disabled), .calder-btn:hover { border-color: var(--c-dim); }
.calder-burger:active, .calder-bar-house:active, .calder-music:active, .calder-addr-btn:active, .calder-btn:active { box-shadow: inset 0 2px 0 var(--w-lo), inset 0 -1px 0 var(--w-hi); }
.calder-btn.primary { box-shadow: inset 0 1px 0 var(--w-hi), inset 0 -2px 0 var(--w-lo), 0 1px 0 var(--w-drop); }
.calder-btn:disabled { box-shadow: none; }
.calder-link { min-width: 24px; }
.calder-addr-row { border: 0; border-radius: 12px; box-shadow: inset 0 1px 0 var(--w-hi); }
.calder-pagetabs { border-bottom: 6px solid var(--pp-manila); }
.calder-pagetab {
  border: 0;
  border-radius: 12px 12px 0 0;
  background: var(--c-panel);
  color: var(--c-dim);
  font-weight: 500;
  text-transform: none;
  letter-spacing: normal;
  box-shadow: inset 0 1px 0 var(--w-hi);
}
.calder-pagetab:hover { color: var(--c-text); }
.calder-pagetab[aria-current="page"] { background: var(--pp-manila); color: var(--pp-mink); font-weight: 600; box-shadow: inset 0 1px 0 var(--pp-sheen); }
.calder-pagetab[aria-current="page"].calder-pagetab-ready::after { color: var(--pp-mink); }
.calder-pagetab { min-width: 44px; justify-content: center; }
.calder-tree-link { border-radius: 9px; }
.calder-tree-link[aria-current] { background: var(--pp-manila); color: var(--pp-mink); font-weight: 600; }
.calder-tree-link[aria-current] .calder-tree-badge { color: var(--pp-mink); }
@media (min-width: 900px) {
  .calder-explorer.has-tree > .calder-tree-pane {
    margin: 0 0 16px 12px;
    border-right: 0;
    border-radius: 14px;
    background: var(--c-panel);
    box-shadow: inset 0 1px 0 var(--w-hi);
  }
}
@media (max-width: 899.98px) {
  .calder-tree-pane { border-right: 0; border-radius: 0 14px 14px 0; }
}
.calder-btn.calder-order-go { background: #2e7d4f; border-color: #2e7d4f; color: #ffffff; }
.calder-btn.calder-order-swap { background: #b42318; border-color: #b42318; color: #ffffff; }
.calder-btn.calder-order-swap[data-armed="1"] { background: #2e7d4f; border-color: #2e7d4f; }
.calder-btn {
  --action-go-bg: #476653; --action-go-hover: #3d5948; --action-go-press: #334c3d;
  --action-nav-bg: #48647b; --action-nav-hover: #3e566b; --action-nav-press: #34495b;
  --action-danger-bg: #87514b; --action-danger-hover: #754640; --action-danger-press: #633b36;
}
.calder-btn.primary:not(:disabled), .calder-btn.calder-action-go:not(:disabled) {
  --action-bg: var(--action-go-bg); --action-hover: var(--action-go-hover); --action-press: var(--action-go-press);
}
.calder-btn.calder-link-btn:not(:disabled) {
  --action-bg: var(--action-nav-bg); --action-hover: var(--action-nav-hover); --action-press: var(--action-nav-press);
}
.calder-btn.calder-order-go:not(:disabled) {
  --action-bg: var(--action-go-bg); --action-hover: var(--action-go-hover); --action-press: var(--action-go-press);
}
.calder-btn.calder-action-danger:not(:disabled), .calder-btn.calder-order-swap:not(:disabled) {
  --action-bg: var(--action-danger-bg); --action-hover: var(--action-danger-hover); --action-press: var(--action-danger-press);
}
.calder-btn:is(.primary, .calder-action-go, .calder-link-btn, .calder-order-go, .calder-action-danger, .calder-order-swap, [data-armed="1"]):not(:disabled) {
  background: var(--action-bg); border-color: var(--action-bg); color: #ffffff; font-weight: 600;
}
.calder-btn:is(.primary, .calder-action-go, .calder-link-btn, .calder-order-go, .calder-action-danger, .calder-order-swap, [data-armed="1"]):not(:disabled):hover {
  background: var(--action-hover); border-color: var(--action-hover);
}
.calder-btn:is(.primary, .calder-action-go, .calder-link-btn, .calder-order-go, .calder-action-danger, .calder-order-swap, [data-armed="1"]):not(:disabled):active {
  background: var(--action-press); border-color: var(--action-press);
}
.calder-btn[data-armed="1"]:not(:disabled) {
  --action-bg: var(--action-go-bg); --action-hover: var(--action-go-hover); --action-press: var(--action-go-press);
}
.calder-btn:is(.primary, .calder-action-go, .calder-link-btn, .calder-order-go, .calder-action-danger, .calder-order-swap, [data-armed="1"]):disabled {
  background: var(--c-bg); border-color: var(--c-line); color: var(--c-dim); font-weight: 400; box-shadow: none;
}
.calder-btn.calder-locked:disabled { border-style: dashed; background: transparent; }
.calder :is(select, textarea, input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"])):not(:disabled):not(:where(.calder-tree-pane *)) {
  background: color-mix(in srgb, var(--c-accent) 5%, var(--c-panel));
  border-color: color-mix(in srgb, var(--c-text) 65%, var(--c-panel));
  box-shadow: inset 0 1px 0 var(--w-lo), inset 0 -1px 0 var(--w-hi);
}
.calder :is(select, textarea, input):not(:disabled):hover:not(:where(.calder-tree-pane *)) {
  border-color: var(--c-accent);
}
.calder :is(input[type="checkbox"], input[type="radio"], input[type="range"]) {
  accent-color: var(--c-accent);
  cursor: pointer;
}
.calder .calder-btn:not(:is(.primary, .calder-action-go, .calder-link-btn, .calder-order-go, .calder-action-danger, .calder-order-swap, [data-armed="1"], :disabled)) {
  background: color-mix(in srgb, var(--c-accent) 5%, var(--c-panel));
  border-color: color-mix(in srgb, var(--c-text) 65%, var(--c-panel));
  color: var(--c-text);
}
.calder .calder-btn:not(:is(.primary, .calder-action-go, .calder-link-btn, .calder-order-go, .calder-action-danger, .calder-order-swap, [data-armed="1"], :disabled)):hover {
  background: color-mix(in srgb, var(--c-accent) 10%, var(--c-panel));
  border-color: var(--c-accent);
}
.calder summary {
  background-color: color-mix(in srgb, var(--c-accent) 5%, var(--c-panel));
  border-color: color-mix(in srgb, var(--c-text) 65%, var(--c-panel));
  box-shadow: inset 2px 0 0 var(--c-accent), inset 0 1px 0 var(--w-hi);
  cursor: pointer;
}
.calder details:is(.calder-fold, .calder-gear).calder-slip > .calder-fold-head {
  background: color-mix(in srgb, var(--c-accent) 5%, var(--c-panel));
}
.calder details:is(.calder-fold, .calder-gear).calder-slip[open] > .calder-fold-head {
  background: color-mix(in srgb, var(--c-accent) 10%, var(--c-panel));
}
.calder :is(summary, .calder-pagetab:not([aria-current]), .calder-tab:not([aria-current])):hover:not(:where(.calder-tree-pane *)),
.calder details[open] > summary,
.calder :is(button, [role="button"])[aria-expanded="true"]:not(:where(.calder-tree-pane *)) {
  background-color: color-mix(in srgb, var(--c-accent) 10%, var(--c-panel));
  box-shadow: inset 2px 0 0 var(--c-accent), inset 0 1px 0 var(--w-hi);
}
.calder :is(.calder-pagetab, .calder-tab):not([aria-current]) {
  background: color-mix(in srgb, var(--c-accent) 5%, var(--c-panel));
  color: var(--c-text);
}
.calder :is(.calder-tip-btn, .calder-burger, .calder-music, .calder-bar-house, .calder-addr-btn):not(:disabled) {
  background-color: color-mix(in srgb, var(--c-accent) 5%, var(--c-panel));
  border-color: color-mix(in srgb, var(--c-text) 65%, var(--c-panel));
}
.calder .calder-music { color: var(--c-text); }
.calder :is(.calder-tip-btn, .calder-burger, .calder-music, .calder-bar-house, .calder-addr-btn, .calder-fp-tool, .calder-fp-more):not(:disabled):hover {
  background-color: color-mix(in srgb, var(--c-accent) 10%, var(--c-panel));
}
.calder :is(.calder-btn, .calder-bag-chip, .calder-music)[aria-pressed="true"]:not(:disabled) {
  box-shadow: inset 0 -2px 0 var(--c-accent), inset 0 1px 0 var(--w-hi);
}
.calder :is(.calder-doll-slot, .calder-bag-tile):not([aria-pressed="true"]):not(:disabled) {
  background-color: color-mix(in srgb, var(--c-accent) 5%, var(--c-panel));
  border-color: color-mix(in srgb, var(--c-text) 65%, var(--c-panel));
}
.calder .calder-doll-slot .calder-doll-name,
.calder .calder-doll-slot:not(.worn) .calder-doll-item { color: var(--c-text); }
.calder :is(.calder-bag-tile, a.calder-row, button.calder-row, .calder-hustle-row):hover {
  box-shadow: inset 2px 0 0 var(--c-accent);
}
.calder :is(.calder-link, .calder-back-link, .calder-chat-name, .calder-crumb):hover {
  text-decoration: underline;
  text-decoration-color: var(--c-accent);
}
.calder :is(button, a[href], select, input, textarea, summary, [role="button"], [tabindex]):focus-visible {
  outline: 2px solid var(--c-neon);
  outline-offset: 2px;
}
.calder :is(select, input, textarea, button):disabled { cursor: not-allowed; }
