:root {
--bg: #f7f5f1;
--surface: #fffdfa;
--sunk: #efeae1;
--ink: #1a1a1a;
--ink-2: #55504a;
--ink-3: #6b655c;
--line: #ddd6c9;
--line-2: #c9c0af;
--edge: #9d8c6d;
--gold: #c9a227;
--gold-line: #ac8a21;
--teal: #0a7e8c;
--rust: #c5582d;
--violet: #7d4b9e;
--blue: #4a72b8;
--mark-a: #c5582d;
--mark-b: #0a7e8c;
--mark-c: #7d4b9e;
--mark-gold: #c9a227;
--cand-a: #ad4d28;
--cand-b: #097582;
--cand-c: #7d4b9e;
--cand-d: #806719;
--cand-e: #4369ac;
--tint-gold: #f6eccd; --on-gold: #6b5410;
--tint-teal: #d7edef; --on-teal: #05616b;
--tint-blue: #dce6f6; --on-blue: #2d5391;
--tint-rust: #f8e1d6; --on-rust: #8f3a1a;
--tint-ink: #e9e5de; --on-ink: #494440;
--focus: #2d5391;
--shadow: 0 1px 2px rgba(26, 22, 14, .06), 0 4px 14px rgba(26, 22, 14, .05);
--hatch: rgba(143, 58, 26, .13);
--hatch-gold: rgba(107, 84, 16, .22);
--radius: 12px;
--radius-sm: 8px;
--s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px;
--t1: .75rem; --t2: .8125rem; --t3: .875rem; --t4: .9375rem;
--t5: 1.0625rem; --t6: 1.3125rem; --t7: 1.625rem;
--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
--tap: 44px;
--ease: cubic-bezier(.22, 1, .36, 1);
}
@media (prefers-color-scheme: dark) {
:root:not([data-theme="light"]) {
--bg: #191817;
--surface: #211f1d;
--sunk: #131211;
--ink: #f5f5f5;
--ink-2: #b8b8b8;
--ink-3: #9b948a;
--line: #37342e;
--line-2: #4c473e;
--edge: #70695b;
--gold: #e9c14a;
--gold-line: #e9c14a;
--teal: #3aa9b8;
--rust: #e58050;
--violet: #b78fe0;
--blue: #7ea6e8;
--mark-a: #e58050;
--mark-b: #3aa9b8;
--mark-c: #b78fe0;
--mark-gold: #e9c14a;
--cand-a: #e58050;
--cand-b: #3aa9b8;
--cand-c: #b78fe0;
--cand-d: #e9c14a;
--cand-e: #7ea6e8;
--tint-gold: #38301a; --on-gold: #edc85c;
--tint-teal: #14313a; --on-teal: #55c3d1;
--tint-blue: #1c2839; --on-blue: #93b8f2;
--tint-rust: #382318; --on-rust: #f09a72;
--tint-ink: #2a2724; --on-ink: #c4bdb3;
--focus: #93b8f2;
--shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 4px 14px rgba(0, 0, 0, .35);
--hatch: rgba(240, 154, 114, .14);
--hatch-gold: rgba(237, 200, 92, .2);
}
}
:root[data-theme="dark"] {
--bg: #191817;
--surface: #211f1d;
--sunk: #131211;
--ink: #f5f5f5;
--ink-2: #b8b8b8;
--ink-3: #9b948a;
--line: #37342e;
--line-2: #4c473e;
--edge: #70695b;
--gold: #e9c14a;
--gold-line: #e9c14a;
--teal: #3aa9b8;
--rust: #e58050;
--violet: #b78fe0;
--blue: #7ea6e8;
--mark-a: #e58050;
--mark-b: #3aa9b8;
--mark-c: #b78fe0;
--mark-gold: #e9c14a;
--cand-a: #e58050;
--cand-b: #3aa9b8;
--cand-c: #b78fe0;
--cand-d: #e9c14a;
--cand-e: #7ea6e8;
--tint-gold: #38301a; --on-gold: #edc85c;
--tint-teal: #14313a; --on-teal: #55c3d1;
--tint-blue: #1c2839; --on-blue: #93b8f2;
--tint-rust: #382318; --on-rust: #f09a72;
--tint-ink: #2a2724; --on-ink: #c4bdb3;
--focus: #93b8f2;
--shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 4px 14px rgba(0, 0, 0, .35);
--hatch: rgba(240, 154, 114, .14);
--hatch-gold: rgba(237, 200, 92, .2);
}
:root[data-theme="dark"] { color-scheme: dark; }
:root[data-theme="light"] { color-scheme: light; }
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body {
margin: 0;
background: var(--bg);
color: var(--ink);
font: 400 var(--t4)/1.55 var(--sans);
padding-bottom: calc(var(--tap) + var(--s6) + env(safe-area-inset-bottom));
overflow-x: hidden;
-webkit-tap-highlight-color: transparent;
}
h1, h2, h3 { margin: 0; font-weight: 650; letter-spacing: -.01em; line-height: 1.25; }
h1 { font-size: var(--t6); letter-spacing: -.02em; }
h2 { font-size: var(--t4); }
h3 { font-size: var(--t4); }
.panel h2 {
font-size: var(--t3); text-transform: uppercase;
letter-spacing: .07em; color: var(--ink-3);
}
p { margin: 0; }
ol, ul { margin: 0; padding: 0; list-style: none; }
a { color: inherit; text-decoration: none; }
:focus-visible {
outline: 2px solid var(--focus);
outline-offset: 2px;
border-radius: var(--radius-sm);
}
.sr-only {
position: absolute; width: 1px; height: 1px;
padding: 0; margin: -1px; overflow: hidden;
clip-path: inset(50%); white-space: nowrap; border: 0;
}
.skip {
position: absolute; left: var(--s3); top: -100px; z-index: 40;
background: var(--surface); color: var(--ink);
padding: var(--s3) var(--s4); border: 1px solid var(--edge);
border-radius: var(--radius-sm); font-weight: 600;
}
.skip:focus { top: var(--s3); }
.top {
position: sticky; top: 0; z-index: 20;
display: flex; align-items: center; gap: var(--s3);
padding: var(--s2) var(--s4);
padding-top: calc(var(--s2) + env(safe-area-inset-top));
padding-left: calc(var(--s4) + env(safe-area-inset-left));
padding-right: calc(var(--s4) + env(safe-area-inset-right));
background: var(--bg);
border-bottom: 1px solid var(--line);
}
.brand { display: flex; align-items: center; gap: var(--s2); min-height: var(--tap); margin-right: auto; }
.brand-mark { width: 30px; height: 30px; flex: none; }
.brand-text { display: flex; flex-direction: column; line-height: 1.1; }
.brand-name { font-size: var(--t5); font-weight: 700; letter-spacing: -.03em; }
.brand-sub { font-size: var(--t1); color: var(--ink-3); font-style: italic; }
.rail { display: none; }
.icon-btn {
width: var(--tap); height: var(--tap); flex: none;
display: grid; place-items: center;
background: none; border: 1px solid transparent; border-radius: var(--radius-sm);
color: var(--ink-2); cursor: pointer; font: inherit;
}
.icon-btn:active { background: var(--sunk); }
.icon-btn svg { width: 20px; height: 20px; }
.theme-glyph {
width: 18px; height: 18px; border-radius: 50%;
border: 2px solid currentColor;
background: linear-gradient(90deg, currentColor 50%, transparent 50%);
}
[data-theme="light"] .theme-glyph { background: currentColor; }
[data-theme="dark"] .theme-glyph { background: none; box-shadow: inset -5px 0 0 currentColor; }
.daemon {
display: grid;
grid-template-columns: auto minmax(0, 1fr);
align-items: center;
gap: var(--s2) var(--s2);
padding: var(--s2) var(--s4);
padding-left: calc(var(--s4) + env(safe-area-inset-left));
padding-right: calc(var(--s4) + env(safe-area-inset-right));
background: var(--sunk);
border-bottom: 1px solid var(--line);
font-size: var(--t2); color: var(--ink-2);
min-height: 34px;
}
.daemon-dot {
width: 8px; height: 8px; flex: none; border-radius: 50%;
background: var(--ink-3);
align-self: start; margin-top: .55em;
}
.daemon-body { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.daemon-text { min-width: 0; }
.daemon-text b { color: var(--ink); font-weight: 650; }
.daemon-run { font-family: var(--mono); font-size: var(--t1); }
.daemon-why { font-size: var(--t1); }
.daemon-version {
align-self: start;
font-family: var(--mono);
font-size: var(--t1);
color: var(--ink-3);
white-space: nowrap;
}
.daemon-btn {
grid-column: 1 / -1;
width: 100%;
font-size: var(--t3);
background: var(--surface); border-color: var(--edge); color: var(--ink);
}
.daemon-btn[data-kind="start"] { background: var(--gold); border-color: var(--gold); color: #241d05; }
.daemon[data-state="working"] { background: var(--tint-blue); color: var(--on-blue); border-bottom-color: var(--tint-blue); }
.daemon[data-state="working"] .daemon-dot { background: var(--on-blue); animation: pulse 1.8s var(--ease) infinite; }
.daemon[data-state="working"] .daemon-text b { color: var(--on-blue); }
.daemon[data-state="idle"] .daemon-dot { background: var(--teal); }
.daemon[data-state="off"] .daemon-dot { background: var(--ink-3); box-shadow: 0 0 0 2px var(--sunk), 0 0 0 3px var(--line-2); }
.daemon[data-state="waiting"] { background: var(--tint-gold); color: var(--on-gold); border-bottom-color: var(--gold-line); }
.daemon[data-state="waiting"] .daemon-dot { background: var(--on-gold); box-shadow: 0 0 0 2px var(--tint-gold), 0 0 0 3px var(--on-gold); }
.daemon[data-state="waiting"] .daemon-text b { color: var(--on-gold); }
.daemon[data-state="stopping"] { background: var(--tint-ink); color: var(--on-ink); border-bottom-color: var(--line-2); }
.daemon[data-state="stopping"] .daemon-dot { background: var(--on-ink); animation: pulse 1.8s var(--ease) infinite; }
.daemon[data-state="stopping"] .daemon-text b { color: var(--on-ink); }
.daemon[data-state="failed"] { background: var(--tint-rust); color: var(--on-rust); border-bottom-color: var(--tint-rust); }
.daemon[data-state="failed"] .daemon-dot { background: var(--on-rust); box-shadow: 0 0 0 2px var(--tint-rust), 0 0 0 3px var(--on-rust); }
.daemon[data-state="failed"] .daemon-text b { color: var(--on-rust); }
.daemon[data-state="failed"] .daemon-btn { background: var(--surface); border-color: var(--on-rust); color: var(--ink); }
.daemon[data-owned="no"] .daemon-dot {
background: none;
border: 2px dashed currentColor;
width: 12px; height: 12px;
animation: none;
}
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
.ask-bar {
display: flex; align-items: center; gap: var(--s3);
padding: var(--s2) var(--s4);
padding-left: calc(var(--s4) + env(safe-area-inset-left));
padding-right: calc(var(--s4) + env(safe-area-inset-right));
background: var(--tint-gold); color: var(--on-gold);
border-bottom: 1px solid var(--gold-line);
box-shadow: inset 0 3px 0 var(--gold-line);
min-height: 58px;
}
.ask-mark {
position: relative;
width: 26px; height: 26px; flex: none;
display: grid; place-items: center;
border-radius: 50%;
background: var(--on-gold); color: var(--tint-gold);
font: 800 var(--t4)/1 var(--sans);
}
.ask-mark::after {
content: ""; position: absolute; inset: -6px;
border-radius: 50%; border: 2px solid var(--on-gold);
animation: ring 2.8s var(--ease) infinite;
}
@keyframes ring {
0% { transform: scale(.7); opacity: .65; }
60%, 100% { transform: scale(1.15); opacity: 0; }
}
.ask-bar-text { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.ask-bar-count { font-size: var(--t3); font-weight: 700; }
.ask-bar-summary {
font-size: var(--t2);
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.ask-bar-go { flex: none; padding: 0 var(--s3); }
.badge {
display: inline-grid; place-items: center;
min-width: 18px; height: 18px; padding: 0 5px;
border-radius: 999px;
background: var(--on-gold); color: var(--tint-gold);
font: 700 var(--t1)/1 var(--sans);
}
.rail-link .badge { margin-left: 6px; }
.dock-glyph { position: relative; display: block; }
.dock-glyph .badge { position: absolute; top: -5px; right: -10px; border: 2px solid var(--surface); }
.alert {
position: fixed; z-index: 25;
left: calc(var(--s4) + env(safe-area-inset-left));
right: calc(var(--s4) + var(--tap) + var(--s3) + env(safe-area-inset-right));
bottom: calc(var(--tap) + var(--s3) + env(safe-area-inset-bottom));
display: flex; align-items: center; gap: var(--s3);
padding: var(--s3);
background: var(--tint-rust); color: var(--on-rust);
border: 1px solid currentColor; border-radius: var(--radius-sm);
box-shadow: 0 6px 20px rgb(0 0 0 / 28%);
font-size: var(--t3);
}
@media (min-width: 720px) {
.alert { bottom: calc(var(--s4) + env(safe-area-inset-bottom)); }
}
.alert-text { flex: 1; min-width: 0; }
.card-superseded { color: var(--ink-3); font-style: italic; }
main {
padding: var(--s4);
padding-left: calc(var(--s4) + env(safe-area-inset-left));
padding-right: calc(var(--s4) + env(safe-area-inset-right));
max-width: 1200px; margin: 0 auto;
}
.view { display: flex; flex-direction: column; gap: var(--s4); }
.view-head { display: flex; flex-direction: column; gap: var(--s1); }
.view-sub { font-size: var(--t2); color: var(--ink-3); }
.back {
display: inline-flex; align-items: center; gap: var(--s1);
align-self: flex-start; min-height: var(--tap); padding-right: var(--s2);
font-size: var(--t3); color: var(--ink-2); font-weight: 600;
}
.back::before { content: "\2190"; font-size: var(--t5); }
.empty {
display: flex; flex-direction: column; align-items: flex-start; gap: var(--s4);
padding: var(--s5) var(--s4);
border: 1px dashed var(--line-2); border-radius: var(--radius);
color: var(--ink-2); font-size: var(--t3); max-width: 46ch;
}
.btn {
display: inline-flex; align-items: center; justify-content: center;
min-height: var(--tap); padding: 0 var(--s4);
border-radius: var(--radius-sm); border: 1px solid var(--edge);
background: var(--surface); color: var(--ink);
font: 600 var(--t3)/1 var(--sans); cursor: pointer;
transition: transform .18s var(--ease);
}
.btn:active { transform: scale(.97); }
.btn:disabled { opacity: .5; cursor: default; }
.btn-gold { background: var(--gold); border-color: var(--gold); color: #241d05; }
:root[data-theme="dark"] .btn-gold { color: #241d05; }
.btn-quiet { background: transparent; border-color: var(--edge); color: var(--ink-2); }
.chip {
display: inline-flex; align-items: center; gap: 6px;
padding: 3px 9px 3px 7px;
border-radius: 999px; border: 1.5px solid currentColor;
background: var(--tint-ink); color: var(--on-ink);
font-size: var(--t1); font-weight: 700;
text-transform: uppercase; letter-spacing: .06em;
white-space: nowrap;
}
.chip::before { content: attr(data-glyph); font-size: 1.05em; letter-spacing: 0; }
.chip[data-status="merged"] { background: var(--tint-gold); color: var(--on-gold); }
.chip[data-status="ready"] { background: var(--tint-teal); color: var(--on-teal); }
.chip[data-status="prep"] { background: var(--tint-ink); color: var(--on-ink); }
.chip[data-flight="1"] { background: var(--tint-blue); color: var(--on-blue); border-style: dashed; }
.chip[data-status="blocked"] { background: var(--tint-rust); color: var(--on-rust); }
.chip[data-status="failed"] { background: var(--tint-ink); color: var(--on-ink); }
.chip[data-status="stalled"] {
color: var(--on-rust);
border-style: double; border-width: 3px;
background-color: var(--tint-rust);
background-image: repeating-linear-gradient(-45deg,
var(--hatch) 0 3px, transparent 3px 7px);
}
.chip[data-status="waiting"],
.chip[data-status="open"] {
background: var(--tint-gold); color: var(--on-gold);
outline: 2px solid var(--on-gold); outline-offset: 2px;
}
.chip[data-status="answered"] { background: var(--tint-teal); color: var(--on-teal); }
.chip[data-status="abandoned"] { background: var(--tint-ink); color: var(--on-ink); border-style: dashed; }
.cards { display: flex; flex-direction: column; gap: var(--s3); }
.card {
display: block;
background: var(--surface);
border: 1px solid var(--line);
border-left: 3px solid var(--line-2);
border-radius: var(--radius);
box-shadow: var(--shadow);
padding: var(--s3) var(--s4);
}
.card[data-tone="gold"] { border-left-color: var(--gold-line); }
.card[data-tone="teal"] { border-left-color: var(--teal); }
.card[data-tone="blue"] { border-left-color: var(--blue); }
.card[data-tone="rust"] { border-left-color: var(--rust); }
.card[data-tone="ink"] { border-left-color: var(--line-2); }
.card[data-tone="wait"] { border-left-color: var(--gold-line); border-left-style: dashed; }
a.card:active { background: var(--sunk); }
.card-top { display: flex; align-items: center; gap: var(--s2); }
.card-when { margin-left: auto; font-size: var(--t1); color: var(--ink-3); white-space: nowrap; }
.card-title {
margin-top: var(--s2);
font-size: var(--t5); font-weight: 600; line-height: 1.32; color: var(--ink);
display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
overflow: hidden;
}
.card-meta {
margin-top: var(--s2);
display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--s2);
font-size: var(--t2); color: var(--ink-2);
}
.card-meta > [data-sep]::after,
.cand-nums > [data-sep]::after {
content: "\00b7"; margin-left: var(--s2); color: var(--line-2);
}
.repo { font-family: var(--mono); font-size: var(--t1); }
.win { font-weight: 700; color: var(--on-gold); }
.card-event {
margin-top: var(--s2); padding-left: var(--s3);
border-left: 2px solid var(--line);
font-size: var(--t2); color: var(--ink-2); font-style: italic;
overflow-wrap: anywhere;
}
.card-note { margin-top: var(--s2); font-size: var(--t2); color: var(--on-rust); font-weight: 600; }
.err {
margin-top: var(--s2); padding: var(--s2) var(--s3);
background: var(--tint-rust); color: var(--on-rust);
border-radius: var(--radius-sm);
font-family: var(--mono); font-size: var(--t1); line-height: 1.45;
white-space: pre-wrap; overflow-wrap: anywhere;
}
.phases { display: flex; align-items: center; gap: 5px; margin-top: var(--s3); }
.phase { width: 100%; height: 3px; border-radius: 2px; background: var(--line); }
.phase[data-on="1"] { background: var(--blue); }
.phase[data-now="1"] { background: var(--blue); animation: pulse 1.8s var(--ease) infinite; }
.phase[data-parked="1"] {
background: var(--gold-line);
border-left: 3px solid var(--line); border-right: 3px solid var(--line);
animation: none;
}
.card-actions { display: flex; gap: var(--s2); margin-top: var(--s3); flex-wrap: wrap; }
.card-actions .btn { flex: 1 1 auto; min-width: 120px; }
.task-priority-box, .task-hold-box, .task-done-box, .task-delete-box { display: contents; }
.card-actions .btn-step { flex: 0 0 auto; min-width: var(--tap); padding: 0 var(--s3); }
.card-actions .stakes-confirm { flex: 1 1 100%; }
.cards > li { display: flex; flex-direction: column; }
li[data-tail="1"] { border-radius: var(--radius); box-shadow: var(--shadow); }
li[data-tail="1"] > .card, li[data-tail="1"] > .card-tail { box-shadow: none; }
li[data-tail="1"] > .card {
border-bottom: 0;
border-bottom-left-radius: 0; border-bottom-right-radius: 0;
}
.card-tail {
display: flex; align-items: center; gap: var(--s2) var(--s4); flex-wrap: wrap;
padding: 0 var(--s4) var(--s2);
background: var(--surface);
border: 1px solid var(--line); border-top: 1px dashed var(--line);
border-left: 3px solid var(--line-2);
border-radius: 0 0 var(--radius) var(--radius);
}
li[data-tone="gold"] > .card-tail { border-left-color: var(--gold-line); }
li[data-tone="teal"] > .card-tail { border-left-color: var(--teal); }
li[data-tone="blue"] > .card-tail { border-left-color: var(--blue); }
li[data-tone="rust"] > .card-tail { border-left-color: var(--rust); }
li[data-tone="wait"] > .card-tail { border-left-color: var(--gold-line); border-left-style: dashed; }
.tail-note { order: 1; flex: 1 1 100%; font-size: var(--t2); color: var(--ink-2); }
.tail-go { order: 2; margin-left: auto; }
.pr-link {
display: inline-flex; align-items: center; gap: 5px;
min-height: var(--tap);
font-family: var(--mono); font-size: var(--t2); font-weight: 700; color: var(--ink);
text-decoration: underline; text-decoration-color: var(--line-2); text-underline-offset: 3px;
}
.pr-link::after { content: "\2197"; font-family: var(--sans); color: var(--ink-3); }
.pr-round { font-size: var(--t2); color: var(--ink-2); }
.checks {
display: inline-flex; align-items: center; gap: 6px;
font-size: var(--t2); font-weight: 650; color: var(--ink-2);
}
.checks::before {
content: attr(data-glyph);
width: 17px; height: 17px; flex: none;
display: grid; place-items: center;
border: 1.5px solid currentColor; border-radius: 50%;
font-size: var(--t1); font-weight: 700;
}
.checks[data-checks="green"] { color: var(--on-teal); }
.checks[data-checks="red"] { color: var(--on-rust); }
.checks[data-checks="pending"] { color: var(--on-blue); }
.checks[data-checks="pending"]::before { border-style: dashed; animation: spin 3.4s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.land { display: flex; flex-direction: column; gap: var(--s3); }
.land-top { display: flex; align-items: center; gap: var(--s3); flex-wrap: wrap; }
.land-note { font-size: var(--t2); color: var(--ink-2); }
.land .phases { margin-top: 0; }
.phase[data-round="1"] { background: var(--gold-line); }
.asks { display: flex; flex-direction: column; gap: var(--s4); }
.ask {
display: flex; flex-direction: column; gap: var(--s3);
padding: var(--s4);
background: var(--surface);
border: 1px solid var(--line);
border-left: 4px solid var(--gold-line);
border-radius: var(--radius);
box-shadow: var(--shadow);
}
.ask[data-state="answered"], .ask[data-state="abandoned"] {
background: var(--sunk);
border-left: 3px solid var(--line-2);
box-shadow: none;
}
.panel-ask { border-left: 4px solid var(--gold-line); }
.panel-ask .ask { background: var(--bg); box-shadow: none; }
.panel-ask .ask-summary {
font-size: var(--t5); color: var(--ink);
text-transform: none; letter-spacing: -.015em;
}
.panel-ask .ask[data-state="open"] .ask-summary { font-size: var(--t6); }
.ask-top { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; }
.ask-when { margin-left: auto; font-size: var(--t1); color: var(--ink-3); white-space: nowrap; }
.ask-summary {
align-self: flex-start; max-width: 100%;
font-size: var(--t5); font-weight: 650; line-height: 1.35; color: var(--ink);
overflow-wrap: anywhere;
}
.ask[data-state="open"] .ask-summary { font-size: var(--t6); letter-spacing: -.015em; }
.ask-where { display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--s2); min-height: var(--tap); font-size: var(--t2); color: var(--ink-2); }
.ask-where a { display: inline-flex; align-items: center; min-height: var(--tap); text-decoration: underline; text-decoration-color: var(--line-2); text-underline-offset: 3px; }
.ask-seat { font-family: var(--mono); font-size: var(--t1); font-weight: 600; color: var(--ink); }
.choices { display: flex; flex-direction: column; gap: var(--s2); }
.choices .btn {
justify-content: flex-start; text-align: left;
height: auto; padding: var(--s3) var(--s4);
line-height: 1.35; font-size: var(--t4);
}
.choices .btn::before {
content: "\25c7"; margin-right: var(--s2); flex: none;
color: var(--gold-line); font-size: var(--t5);
}
.ask-free { display: flex; flex-direction: column; gap: var(--s2); }
.ask-free .btn { align-self: flex-start; }
.answer {
display: flex; flex-direction: column; gap: var(--s1);
padding: var(--s3);
background: var(--tint-teal); color: var(--on-teal);
border-radius: var(--radius-sm);
}
.answer-label { font-size: var(--t1); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.answer-text { font-size: var(--t4); font-weight: 600; white-space: pre-wrap; overflow-wrap: anywhere; }
.md { display: flex; flex-direction: column; gap: var(--s2); font-size: var(--t3); color: var(--ink-2); }
.md p { overflow-wrap: anywhere; }
.md h1, .md h2, .md h3, .md h4, .md h5, .md h6 {
margin: var(--s1) 0 0; font-weight: 700; color: var(--ink); overflow-wrap: anywhere;
}
.md h1 { font-size: var(--t6); }
.md h2 { font-size: var(--t5); }
.md h3 { font-size: var(--t4); }
.md h4, .md h5, .md h6 { font-size: var(--t3); }
.md ul, .md ol { display: flex; flex-direction: column; gap: var(--s1); padding-left: var(--s4); }
.md ol { list-style: decimal; }
.md ul { list-style: none; }
.md li { position: relative; overflow-wrap: anywhere; }
.md ul > li::before { content: "\2013"; position: absolute; left: calc(-1 * var(--s4)); color: var(--ink-3); }
.md li.task {
list-style: none; display: flex; align-items: flex-start; gap: var(--s2);
margin-left: calc(-1 * var(--s4));
}
.md li.task::before { content: none; }
.md li.task > input[type="checkbox"] { margin-top: 4px; accent-color: var(--teal); flex: none; }
.md blockquote {
margin: 0; padding: var(--s1) var(--s3);
border-left: 3px solid var(--line-2);
color: var(--ink-2); font-style: italic;
}
.md hr { border: 0; border-top: 1px solid var(--line); margin: var(--s1) 0; }
.md strong { color: var(--ink); font-weight: 700; }
.md em { font-style: italic; }
.md s { color: var(--ink-3); text-decoration-color: var(--ink-3); }
.md a {
color: var(--blue); text-decoration: underline;
text-decoration-color: var(--line-2); text-underline-offset: 3px;
overflow-wrap: anywhere;
}
.md img { max-width: 100%; height: auto; border-radius: var(--radius-sm); display: block; }
.md code {
font-family: var(--mono); font-size: .92em;
background: var(--sunk); border: 1px solid var(--line); border-radius: 4px;
padding: 0 4px; overflow-wrap: anywhere;
}
.md pre {
position: relative;
margin: 0; padding: var(--s3);
background: var(--sunk); border-radius: var(--radius-sm);
font-family: var(--mono); font-size: var(--t1); line-height: 1.5; color: var(--ink);
white-space: pre; overflow-x: auto; overscroll-behavior-x: contain;
-webkit-overflow-scrolling: touch;
}
.md pre code { padding: 0; border: 0; background: none; font-size: inherit; }
.md pre[data-lang]::before {
content: attr(data-lang);
position: absolute; top: var(--s2); right: var(--s3);
font-family: var(--sans); font-size: var(--t1); font-weight: 700;
letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3);
}
.md .table-scroll {
overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch;
border: 1px solid var(--line); border-radius: var(--radius-sm);
}
.md table { border-collapse: collapse; width: 100%; min-width: max-content; font-size: var(--t3); }
.md th, .md td { padding: var(--s2) var(--s3); border-bottom: 1px solid var(--line); text-align: left; white-space: nowrap; }
.md tr:last-child > td { border-bottom: 0; }
.md th { background: var(--sunk); color: var(--ink); font-weight: 700; }
.md td { color: var(--ink-2); }
.md th[data-align="center"], .md td[data-align="center"] { text-align: center; }
.md th[data-align="right"], .md td[data-align="right"] { text-align: right; }
.panel {
display: flex; flex-direction: column; gap: var(--s3);
background: var(--surface);
border: 1px solid var(--line); border-radius: var(--radius);
box-shadow: var(--shadow);
padding: var(--s4);
}
.panel-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); }
.panel-note { font-size: var(--t2); color: var(--ink-3); }
.count { color: var(--ink-3); font-weight: 500; letter-spacing: 0; text-transform: none; }
.run-status { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; }
.instruction { white-space: pre-wrap; overflow-wrap: anywhere; font-size: var(--t4); color: var(--ink); }
.facts { display: grid; grid-template-columns: auto 1fr; gap: var(--s2) var(--s4); margin: 0; font-size: var(--t3); }
.facts dt { color: var(--ink-3); }
.facts dd { margin: 0; color: var(--ink); font-weight: 600; overflow-wrap: anywhere; }
.facts dd.mono { font-family: var(--mono); font-size: var(--t2); font-weight: 500; }
.converge { width: 100%; }
.converge svg { width: 100%; height: auto; display: block; }
.converge text { font: 700 13px var(--sans); }
.cands { display: flex; flex-direction: column; gap: var(--s3); }
.cand {
display: flex; flex-direction: column; gap: var(--s2);
padding: var(--s3);
background: var(--sunk); border-radius: var(--radius-sm);
border-left: 3px solid var(--cand-tone, var(--line-2));
}
.cand[data-winner="1"] { background: var(--tint-gold); }
.cand-head { display: flex; align-items: center; gap: var(--s2); }
.cand-label {
width: 28px; height: 28px; flex: none;
display: grid; place-items: center;
border-radius: 50%; border: 2px solid var(--cand-tone, var(--ink-3));
color: var(--cand-tone, var(--ink)); background: var(--surface);
font-weight: 700; font-size: var(--t3);
}
.cand-agent { font-family: var(--mono); font-size: var(--t2); color: var(--ink-2); }
.crown { margin-left: auto; font-size: var(--t1); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--on-gold); }
.crown::before { content: "\25c6"; margin-right: 4px; }
.crown[data-provisional] { color: var(--ink-3); }
.crown[data-provisional]::before { content: "\25c7"; }
.cand-nums { display: flex; flex-wrap: wrap; gap: 0 var(--s2); font-size: var(--t2); color: var(--ink-2); }
.cand-summary { font-size: var(--t3); color: var(--ink-2); overflow-wrap: anywhere; }
.stat, .report {
margin: 0;
font-family: var(--mono); font-size: var(--t1); line-height: 1.5;
color: var(--ink-2);
overflow-x: auto; overscroll-behavior-x: contain;
-webkit-overflow-scrolling: touch;
}
.stat { white-space: pre-wrap; overflow-wrap: anywhere; overflow-x: visible; }
.rounds { display: flex; flex-direction: column; gap: var(--s3); }
.round { background: var(--sunk); border-radius: var(--radius-sm); padding: var(--s3); }
.round-head { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; }
.round-n { font-weight: 700; font-size: var(--t4); }
.tag {
font-size: var(--t1); font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
padding: 2px 7px; border-radius: 999px; border: 1px solid currentColor;
}
.tag[data-tone="teal"] { background: var(--tint-teal); color: var(--on-teal); }
.tag[data-tone="rust"] { background: var(--tint-rust); color: var(--on-rust); }
.tag[data-tone="ink"] { background: var(--tint-ink); color: var(--on-ink); }
.tag[data-tone="gold"] { background: var(--tint-gold); color: var(--on-gold); }
.round-head .head-sha { margin-left: auto; font-family: var(--mono); font-size: var(--t1); color: var(--ink-3); }
.findings { display: flex; flex-direction: column; gap: var(--s2); margin-top: var(--s3); }
.finding {
padding-left: var(--s3);
border-left: 3px solid var(--line-2);
font-size: var(--t3);
}
.finding[data-sev="blocker"] { border-left-color: var(--rust); }
.finding[data-sev="major"] { border-left-color: var(--gold-line); }
.finding-top { display: flex; align-items: baseline; gap: var(--s2); flex-wrap: wrap; }
.finding-id { font-family: var(--mono); font-size: var(--t1); color: var(--ink-3); }
.finding-sev { font-size: var(--t1); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--ink-2); }
.finding-title { font-weight: 600; color: var(--ink); }
.finding-where { font-family: var(--mono); font-size: var(--t1); color: var(--ink-3); }
.finding-detail { color: var(--ink-2); margin-top: 2px; overflow-wrap: anywhere; }
.reviewer { margin-top: var(--s3); font-size: var(--t3); }
.reviewer-name { font-family: var(--mono); font-size: var(--t2); color: var(--ink-3); }
.plain { display: flex; flex-direction: column; gap: var(--s2); font-size: var(--t3); color: var(--ink-2); }
.plain li { display: flex; gap: var(--s2); flex-wrap: wrap; }
.plain .seat { font-family: var(--mono); color: var(--ink); font-weight: 600; }
.report {
max-height: 60vh; overflow-y: auto;
padding: var(--s3);
background: var(--sunk); border-radius: var(--radius-sm);
color: var(--ink);
white-space: pre;
tab-size: 4;
}
.report[data-wrap="1"] { white-space: pre-wrap; overflow-wrap: anywhere; }
.timeline { display: flex; flex-direction: column; }
.timeline li {
display: grid; grid-template-columns: 62px 1fr; gap: var(--s3);
padding: var(--s2) 0 var(--s2) var(--s3);
border-left: 2px solid var(--line);
font-size: var(--t3);
position: relative;
}
.timeline li::before {
content: ""; position: absolute; left: -5px; top: 15px;
width: 8px; height: 8px; border-radius: 50%;
background: var(--line-2);
}
.timeline li:last-child::before { background: var(--gold-line); }
.event-at { font-family: var(--mono); font-size: var(--t1); color: var(--ink-3); }
.event-body { min-width: 0; }
.event-node { font-weight: 700; font-size: var(--t2); text-transform: uppercase; letter-spacing: .05em; color: var(--ink-3); }
.event-msg { color: var(--ink); overflow-wrap: anywhere; }
.skeleton { pointer-events: none; }
.skeleton .bar { height: 12px; border-radius: 6px; background: var(--sunk); }
.skeleton .bar + .bar { margin-top: var(--s2); }
.skeleton { animation: fade 1.4s var(--ease) infinite; }
@keyframes fade { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }
.dock {
position: fixed; z-index: 20; left: 0; right: 0; bottom: 0;
display: flex;
background: var(--surface);
border-top: 1px solid var(--line);
padding-bottom: env(safe-area-inset-bottom);
}
.dock-item {
flex: 1;
display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
min-height: var(--tap); padding: var(--s2) var(--s1);
background: none; border: 0; border-top: 2px solid transparent;
color: var(--ink-3); font: 600 var(--t1)/1 var(--sans); cursor: pointer;
}
.dock-glyph svg { width: 22px; height: 22px; display: block; }
.dock-item[aria-current="page"] { color: var(--ink); border-top-color: var(--gold-line); }
.dock-item.dock-plan { color: var(--on-gold); }
.dock-item.dock-plan .dock-glyph svg { stroke-width: 2.4; }
.run-actions-fab {
position: fixed; z-index: 15;
right: calc(var(--s4) + env(safe-area-inset-right));
bottom: calc(var(--tap) + var(--s3) + env(safe-area-inset-bottom));
width: var(--tap); height: var(--tap); flex: none;
display: flex; align-items: center; justify-content: center;
border-radius: 50%; border: 1px solid var(--gold-line);
background: var(--gold); color: #241d05;
box-shadow: var(--shadow);
cursor: pointer;
}
.run-actions-fab svg { width: 22px; height: 22px; }
.run-actions-fab:active { transform: scale(.97); }
#view-run { padding-bottom: calc(var(--tap) + var(--s6)); }
#run-actions-sheet[open] { display: flex; flex-direction: column; }
#run-actions-sheet .sheet-head { flex: none; padding: var(--s4) var(--s4) 0; }
#run-actions-sheet .sheet-body {
display: flex; flex-direction: column; gap: var(--s4);
padding: var(--s4);
padding-bottom: calc(var(--s4) + env(safe-area-inset-bottom));
overflow-y: auto; min-height: 0;
}
#task-edit-sheet[open] { display: flex; flex-direction: column; }
#task-edit-sheet .sheet-head { flex: none; padding: var(--s4) var(--s4) 0; }
#task-edit-sheet .sheet-body {
display: flex; flex-direction: column; gap: var(--s4);
padding: var(--s4);
padding-bottom: calc(var(--s4) + env(safe-area-inset-bottom));
overflow-y: auto; min-height: 0;
}
.sheet {
width: 100%; max-width: 560px; padding: 0; margin: auto auto 0;
border: 0; border-radius: var(--radius) var(--radius) 0 0;
background: var(--surface); color: var(--ink);
box-shadow: 0 -8px 40px rgba(0, 0, 0, .28);
max-height: 92dvh;
}
.sheet::backdrop { background: rgba(20, 18, 14, .55); }
.sheet-head { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); }
.sheet-head h2 { font-size: var(--t5); text-transform: none; letter-spacing: -.01em; color: var(--ink); }
.field { display: flex; flex-direction: column; gap: var(--s1); }
.field label { font-size: var(--t3); font-weight: 650; }
.opt { font-weight: 400; color: var(--ink-3); }
.hint { font-size: var(--t2); color: var(--ink-3); }
textarea, input[type="text"], select {
width: 100%; min-height: var(--tap);
padding: var(--s2) var(--s3);
margin-top: var(--s1);
background: var(--bg); color: var(--ink);
border: 1px solid var(--edge); border-radius: var(--radius-sm);
font: 400 1rem/1.5 var(--sans);
}
textarea { resize: vertical; }
input:focus-visible, textarea:focus-visible, select:focus-visible { border-color: var(--focus); }
.advanced summary {
min-height: var(--tap); display: flex; align-items: center; gap: var(--s2);
font-size: var(--t3); font-weight: 650; color: var(--ink-2); cursor: pointer;
}
.advanced summary::marker, .advanced summary::-webkit-details-marker { display: none; content: ""; }
.advanced summary::before {
content: "";
width: 7px; height: 7px; flex: none;
border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
transform: rotate(-45deg); margin-left: 2px;
transition: transform .18s var(--ease);
}
.advanced[open] > summary::before { transform: rotate(45deg); }
.form-error {
padding: var(--s2) var(--s3);
background: var(--tint-rust); color: var(--on-rust);
border-radius: var(--radius-sm); font-size: var(--t3); font-weight: 600;
}
.ask-panel { display: flex; flex-direction: column; gap: var(--s2); }
.ask-panel-bar { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; }
.ask-panel-label {
font-size: var(--t1); font-weight: 700;
text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3);
}
.ask-panel-label::before { content: "\25a4"; margin-right: 6px; font-size: 1.1em; }
.ask-panel-bar .btn { margin-left: auto; }
.frame-wrap {
position: relative;
border: 1px solid var(--line-2); border-radius: var(--radius-sm);
background: #fffdfa;
overflow: hidden;
}
.frame-wrap iframe {
display: block; width: 100%; height: 320px; border: 0;
overscroll-behavior: contain;
}
.frame-more {
content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 44px;
pointer-events: none;
background: linear-gradient(to bottom, rgba(255, 253, 250, 0) 0%, rgba(255, 253, 250, .96) 82%);
border-bottom: 1px solid var(--line-2);
}
.frame-note { font-size: var(--t2); color: var(--ink-3); }
.frame-fail {
display: flex; flex-direction: column; gap: var(--s2);
padding: var(--s3);
background: var(--tint-rust); color: var(--on-rust);
border: 1px dashed currentColor; border-radius: var(--radius-sm);
font-size: var(--t3); font-weight: 600;
}
.frame-fail .hint { color: inherit; font-weight: 400; }
.full {
width: 100%; max-width: none; height: 100dvh; max-height: 100dvh;
padding: 0; margin: 0; border: 0;
background: var(--bg); color: var(--ink);
}
.full[open] { display: flex; flex-direction: column; }
.full::backdrop { background: rgba(20, 18, 14, .8); }
.full-head {
display: flex; align-items: center; justify-content: space-between; gap: var(--s3);
padding: var(--s2) var(--s4);
padding-top: calc(var(--s2) + env(safe-area-inset-top));
padding-left: calc(var(--s4) + env(safe-area-inset-left));
padding-right: calc(var(--s4) + env(safe-area-inset-right));
border-bottom: 1px solid var(--line);
}
.full-head h2 { font-size: var(--t5); text-transform: none; letter-spacing: -.01em; color: var(--ink); }
.full-body { flex: 1; min-height: 0; background: #fffdfa; }
.full-body iframe { display: block; width: 100%; height: 100%; border: 0; }
.ask[data-stakes="merge"] {
border: 1px solid var(--gold-line);
border-left: 6px double var(--gold-line);
box-shadow: var(--shadow), 0 0 0 3px var(--tint-gold);
}
.ask[data-stakes="merge"]:not([data-state="open"]) { box-shadow: none; }
.ask:not([data-state="open"]) .stakes-band { background-image: none; }
.stakes-band {
display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap;
margin: calc(-1 * var(--s4)) calc(-1 * var(--s4)) 0;
padding: var(--s2) var(--s4);
background: var(--tint-gold); color: var(--on-gold);
border-bottom: 1px solid var(--gold-line);
border-radius: 0 var(--radius) 0 0;
background-image: repeating-linear-gradient(-45deg,
var(--hatch-gold) 0 4px, transparent 4px 11px);
font-size: var(--t2); font-weight: 700;
text-transform: uppercase; letter-spacing: .06em;
}
.stakes-band::before { content: "\25c6"; letter-spacing: 0; }
.stakes {
display: flex; flex-direction: column; gap: var(--s3);
padding: var(--s3);
background: var(--tint-gold);
border: 1px solid var(--gold-line); border-radius: var(--radius-sm);
}
.stakes-what { font-size: var(--t3); font-weight: 600; color: var(--on-gold); }
.stakes-what .ask-seat { color: var(--on-gold); }
.stakes-arm { align-self: stretch; }
.stakes-confirm { display: flex; flex-direction: column; gap: var(--s3); }
.stakes-warn { font-size: var(--t4); font-weight: 700; color: var(--on-rust); }
.stakes-row { display: flex; gap: var(--s2); }
.stakes-row .btn { flex: 1; }
.stakes-hold { align-self: stretch; }
.turns { display: flex; flex-direction: column; gap: var(--s3); }
.turn {
max-width: 92%; min-width: 0;
padding: var(--s3) var(--s4);
border-radius: var(--radius);
font-size: var(--t4);
}
.turn-who {
display: block; margin-bottom: var(--s1);
font-size: var(--t1); font-weight: 700;
text-transform: uppercase; letter-spacing: .06em;
}
.turn-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.turn[data-who="operator"] {
align-self: flex-end;
background: var(--tint-blue); color: var(--on-blue);
border-bottom-right-radius: var(--radius-sm);
}
.turn[data-who="agent"] {
align-self: flex-start;
background: var(--surface); color: var(--ink);
border: 1px solid var(--line); box-shadow: var(--shadow);
border-bottom-left-radius: var(--radius-sm);
}
.turn[data-who="agent"] .turn-who { color: var(--ink-3); }
.turn[data-who="agent"] .md { color: var(--ink); font-size: var(--t4); }
.turn[data-who="system"] {
align-self: stretch; max-width: none;
background: var(--tint-rust); color: var(--on-rust);
border: 1px dashed currentColor;
font-weight: 600;
}
.turn-at { display: block; margin-top: var(--s1); font-size: var(--t1); opacity: .75; }
.waiting {
align-self: flex-start;
display: flex; align-items: center; gap: var(--s3);
padding: var(--s3) var(--s4);
border: 1px dashed var(--line-2); border-radius: var(--radius);
font-size: var(--t3); color: var(--ink-2);
}
.waiting-dots { display: inline-flex; gap: 5px; flex: none; }
.waiting-dots i {
width: 7px; height: 7px; border-radius: 50%;
background: var(--ink-3);
animation: breathe 1.6s var(--ease) infinite;
}
.waiting-dots i:nth-child(2) { animation-delay: .2s; }
.waiting-dots i:nth-child(3) { animation-delay: .4s; }
.waiting-text { flex: 1; min-width: 0; }
.waiting-secs {
flex: none; font-family: var(--mono); font-size: var(--t2);
font-variant-numeric: tabular-nums; color: var(--ink-3);
}
@keyframes breathe {
0%, 100% { opacity: .25; transform: translateY(0); }
50% { opacity: 1; transform: translateY(-2px); }
}
.say {
position: sticky; z-index: 10;
bottom: calc(var(--tap) + var(--s3) + env(safe-area-inset-bottom));
display: flex; gap: var(--s2); align-items: flex-end;
padding: var(--s2) 0;
background: var(--bg);
}
.say textarea { margin-top: 0; flex: 1; min-width: 0; }
.say .btn { flex: none; }
.draft-view-toggle { display: flex; justify-content: flex-end; }
.draft {
margin: 0; padding: var(--s3);
background: var(--sunk); color: var(--ink);
border: 1px solid var(--line); border-radius: var(--radius-sm);
font-family: var(--mono); font-size: var(--t2); line-height: 1.55;
white-space: pre-wrap; overflow-wrap: anywhere;
max-height: 52vh; overflow-y: auto;
tab-size: 2;
}
.problems {
display: flex; flex-direction: column; gap: var(--s2);
padding: var(--s3);
background: var(--tint-rust); color: var(--on-rust);
border: 1px solid currentColor; border-radius: var(--radius-sm);
font-size: var(--t3);
}
.problems h3 { font-size: var(--t3); font-weight: 700; }
.problems ul { display: flex; flex-direction: column; gap: var(--s2); }
.problems li { position: relative; padding-left: var(--s4); font-weight: 600; overflow-wrap: anywhere; }
.problems li::before { content: "\2715"; position: absolute; left: 2px; }
.problems code {
font-family: var(--mono); font-size: .92em;
border: 1px solid currentColor; border-radius: 4px; padding: 0 3px;
overflow-wrap: anywhere;
}
.filed-note { font-size: var(--t3); color: var(--ink-2); }
.filed-note .ask-seat { font-size: var(--t2); }
.chat-ready { color: var(--on-gold); font-weight: 700; }
@media (min-width: 720px) {
body { padding-bottom: var(--s6); }
.dock { display: none; }
.rail { display: flex; align-items: center; gap: var(--s1); }
.daemon { grid-template-columns: auto minmax(0, 1fr) auto; }
.daemon-btn { grid-column: auto; width: auto; }
.rail-link {
display: inline-flex; align-items: center;
min-height: var(--tap); padding: 0 var(--s3);
border-radius: var(--radius-sm);
font-size: var(--t3); font-weight: 650; color: var(--ink-3);
}
.rail-link[aria-current="page"] { color: var(--ink); background: var(--sunk); }
.rail-link.btn-gold { color: #241d05; background: var(--gold); border-color: var(--gold); }
main { padding: var(--s5); }
h1 { font-size: var(--t7); }
.view { gap: var(--s5); }
.sheet {
margin: auto; border-radius: var(--radius);
max-height: min(86dvh, 760px);
}
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: var(--s4); }
.card { display: flex; flex-direction: column; }
.card-event { margin-top: auto; padding-top: var(--s2); }
.cards > li > .card { flex: 1; }
#view-questions .asks { max-width: 780px; }
.choices { flex-direction: row; flex-wrap: wrap; }
.choices .btn { flex: 0 1 auto; }
.frame-wrap iframe { height: 460px; }
.stakes-row { justify-content: flex-start; }
.stakes-row .btn { flex: 0 1 auto; min-width: 180px; }
.stakes-arm, .stakes-hold { align-self: flex-start; }
#view-chat { max-width: 780px; }
.say { bottom: 0; padding-bottom: var(--s4); }
.turn { max-width: 80%; }
}
.run-main, .run-side { display: contents; }
@media (min-width: 1080px) {
#view-run {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
align-items: start;
column-gap: var(--s5);
}
#view-run > .back, #view-run > .view-head { grid-column: 1 / -1; }
.run-main, .run-side {
display: flex; flex-direction: column; gap: var(--s5);
min-width: 0;
}
.run-main { grid-column: 1; }
.run-side { grid-column: 2; position: sticky; top: 96px; }
.report { max-height: calc(100dvh - 260px); }
.facts { grid-template-columns: 10rem 1fr; }
}
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}
@media print {
.top, .daemon, .ask-bar, .dock, .back, .sheet, .full, .say { display: none; }
.frame-wrap iframe { height: 520px; }
.draft { max-height: none; }
.card, .panel { box-shadow: none; break-inside: avoid; }
.report { max-height: none; white-space: pre-wrap; }
}