:root{font-family:ui-rounded,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#171329;background:#fff9f0;font-size:16px;line-height:1.5;--ink:#171329;--paper:#fff9f0;--muted:#6b6574;--coral:#b83128;--line:#ded6cf;--live:#121025;--soft:#f0e8df}*{box-sizing:border-box}body{margin:0;min-width:280px}button,input,textarea{font:inherit}button,a,input{touch-action:manipulation}button{min-height:48px;border:1px solid var(--line);border-radius:16px;padding:12px 20px;background:transparent;color:inherit;font-weight:650;cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #4e80dc;outline-offset:4px}button.primary{background:var(--coral);border-color:var(--coral);color:white}button.quiet{border-color:transparent;padding-inline:8px}button.wide{width:100%}button.small{font-size:.875rem;min-height:44px;padding:8px 12px}a{color:inherit}main{max-width:680px;margin:auto;padding:24px 24px 48px}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:38px}.wordmark{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.15rem;letter-spacing:-.025em}.wordmark img{width:30px;height:30px}.nav{display:flex;gap:8px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:750;color:var(--muted);margin:0 0 12px}h1{font-size:clamp(2.2rem,6vw,3.9rem);font-weight:730;line-height:1.06;letter-spacing:-.06em;margin:0 0 22px;overflow-wrap:anywhere}h2{font-size:1.6rem;line-height:1.15;letter-spacing:-.04em;margin:0 0 18px}h3{font-size:1rem;margin:0 0 8px}p{margin:0 0 20px}.muted{color:var(--muted)}.intro{font-size:1.125rem;max-width:460px;margin-bottom:28px}.home{padding-top:32px}.home .accent{color:var(--coral)}.hero-actions{display:grid;gap:12px;max-width:360px;margin:28px 0}.promise{padding:24px 0;border-top:1px solid var(--line);margin-top:36px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.promise p{margin:0;font-size:.875rem}.field{display:grid;gap:8px;margin-bottom:24px}.field span{font-size:.9rem;font-weight:650}input,textarea{padding:14px 16px;min-height:52px;border-radius:14px;border:1px solid var(--line);color:var(--ink);background:#fffcf7;width:100%}textarea{resize:vertical}.choice-field{display:flex;align-items:center;gap:10px;margin-bottom:10px}.choice-letter{width:24px;text-align:center;color:var(--muted);font-weight:750}.choice-field input{min-width:0}.hint{font-size:.875rem;color:var(--muted)}.row{display:flex;gap:12px;align-items:center;justify-content:space-between}.stack{display:grid;gap:12px}.retention{border-top:1px solid var(--line);padding-top:16px;margin-top:24px;font-size:.875rem;color:var(--muted)}.retention strong{color:var(--ink);display:block}.retention button{font-size:inherit}.room-title{font-size:clamp(1.9rem,5vw,2.7rem);letter-spacing:-.045em;line-height:1.12;margin-bottom:24px}.roster{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 28px}.person{display:flex;align-items:center;gap:9px;flex:1 1 160px;min-width:0}.badge{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:15px;background:var(--badge);color:#171329;font-size:.875rem;font-weight:800;border:2px solid transparent}.badge[data-pattern="1"]{border-radius:50%}.badge[data-pattern="2"]{border-style:dashed;border-color:#635f74}.name{font-weight:650;overflow-wrap:anywhere;font-size:.9rem}.person small{display:block;font-size:.75rem;color:var(--muted)}.lobby-card{background:#f1e8df;border-radius:24px;padding:24px;margin:24px 0}.lobby-card p{margin:0 0 16px}.choices-preview{display:flex;gap:8px;flex-wrap:wrap}.choices-preview span{background:#eee5dc;padding:8px 12px;border-radius:10px;font-size:.875rem;overflow-wrap:anywhere}.live{background:var(--live);color:#fff9f0;--muted:#bcb5cb;--line:#3f3953;--ink:#fff9f0;--coral:#ef8d7e;--soft:#211d36}.live main{max-width:760px}.live .top{margin-bottom:22px}.live .primary{background:#f2a89d;border-color:#f2a89d;color:#171329}.live .room-title{font-size:clamp(1.7rem,4vw,2.4rem)}.live .retention strong{color:inherit}.live .roster{gap:8px;margin:20px 0}.live .person{flex:1 1 135px}.round-state{display:flex;justify-content:space-between;align-items:center;gap:14px}.timer{font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700;border:1px solid var(--line);padding:7px 14px;border-radius:100px}.arena{position:relative;min-height:340px;padding-top:210px}.pull-space{position:absolute;inset:0 0 auto;height:190px;border-radius:50%;background:radial-gradient(ellipse,rgba(219,119,114,.08),transparent 70%)}.pull-axis{position:absolute;top:50%;left:18%;width:64%;border-top:1px solid #635369}.center-tick{position:absolute;left:50%;top:calc(50% - 5px);height:10px;border-left:1px solid #82738d}.puck{position:absolute;width:52px;height:52px;left:50%;top:50%;margin:-26px;border-radius:50%;background:#ee8172;box-shadow:0 0 32px #ee817224;transition:left .36s cubic-bezier(.22,.61,.36,1),top .36s cubic-bezier(.22,.61,.36,1)}.direction{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:.875rem;color:var(--muted)}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.option{position:relative;text-align:left;min-height:90px;background:#211d36;border:2px solid #4d455e;border-radius:20px;padding:16px;overflow-wrap:anywhere;transition:border-color .1s}.option strong{display:block;font-size:1.05rem}.option small{display:block;margin-top:8px;font-size:.8rem;color:#c6bdd3}.option[aria-pressed="true"]{border-color:#f4a598;background:#332437}.option.pending{border-style:dashed;border-color:#fff0be}.option .check{float:right;margin-left:8px;color:#f4a598}.action-field{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:8}.spark{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--badge);box-shadow:0 0 10px var(--badge);animation:travel .65s cubic-bezier(.22,.61,.36,1) both}.spark::after{content:"";position:absolute;inset:-6px;border:1px solid var(--badge);border-radius:50%}@keyframes travel{0%{transform:translate(0,0) scale(.7);opacity:1}80%{opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(.4);opacity:0}}.action-log{margin:20px 0 0;height:78px;overflow-y:auto;font-size:.8rem;color:var(--muted);border-top:1px solid var(--line);padding-top:10px}.action-line{display:flex;gap:7px;align-items:center;min-height:24px}.mini-dot{width:8px;height:8px;background:var(--badge);border-radius:50%;flex:none}.action-line b{color:var(--ink);font-weight:550}.result-mark{display:grid;place-items:center;width:60px;height:60px;background:#f4ddd2;border-radius:22px;font-size:1.8rem;margin:12px 0 24px}.result-option{font-size:2rem;font-weight:750;letter-spacing:-.04em;margin:0 0 16px;overflow-wrap:anywhere}.support-row{margin:16px 0}.support-row .row{font-size:.95rem}.bar{height:6px;background:var(--soft);border-radius:10px;margin-top:8px;overflow:hidden}.bar i{display:block;height:100%;background:var(--coral)}.history-card{padding:20px 0;border-bottom:1px solid var(--line)}.history-card h3{font-size:1.1rem;overflow-wrap:anywhere}.history-card p{margin:6px 0;font-size:.875rem}.notice{padding:16px;border:1px solid var(--line);border-radius:16px;margin:16px 0;font-size:.9rem}.error-note{color:#b83128;min-height:24px;font-size:.9rem}.live .error-note{color:#ffb5a8}#feedback{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);max-width:min(90%,620px);padding:0;background:#171329;color:#fff9f0;border-radius:16px;z-index:30;font-size:.9rem;box-shadow:0 8px 24px #0002}#feedback:not(:empty){padding:14px 20px}dialog{width:min(540px,calc(100% - 32px));max-height:85dvh;overflow:auto;border:1px solid #ded6cf;border-radius:26px;background:#fff9f0;color:#171329;padding:28px;box-shadow:0 30px 100px #0005}dialog::backdrop{background:#121025aa}dialog .close{float:right}dialog p{font-size:.95rem}dialog .practice-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}dialog .practice-selected{background:#f3d9cc;border-color:#b83128}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:420px){main{padding:18px 18px 36px}.top{margin-bottom:28px}.nav{gap:0}.nav button{padding:8px}.home{padding-top:18px}.promise{grid-template-columns:1fr}.roster{gap:10px}.person{flex-basis:130px}.arena{min-height:315px;padding-top:180px}.pull-space{height:160px}.option{padding:12px}.option-grid{gap:10px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.spark{display:none}.option.accepted{outline:3px solid #f3b7a7;outline-offset:3px}}@media(min-width:800px){.home{padding-top:56px}}@media(forced-colors:active){.puck,.spark,.mini-dot,.bar i{background:Highlight}.option[aria-pressed="true"]{border:3px solid Highlight}}
.top{flex-wrap:wrap}.nav{margin-left:auto}.map-anchor{position:absolute;display:grid;place-items:center;width:24px;height:24px;margin:-12px;border:1px solid #8b7e98;background:#211d36;border-radius:50%;font-size:.75rem;font-weight:700}.choice-code{color:#c6bdd3;font-weight:500}.live .option .check{font-size:.8rem}.badge.accepted,#abstain.accepted{outline:3px solid #f3b7a7;outline-offset:3px}@media(max-width:340px){.wordmark{font-size:1rem}.top{gap:4px}.nav button{font-size:.8rem}.option-grid{grid-template-columns:1fr}.arena{padding-top:180px}}
body.backgrounded #app,body.backgrounded #sheet,body.backgrounded #feedback{visibility:hidden;}
/* This accepted-action rail survives app renders and moves into the modal top layer. */
.receipt-rail[hidden]{display:none!important}.receipt-rail{position:fixed;z-index:20;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,760px);padding:9px max(12px,env(safe-area-inset-right)) max(9px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#121025;color:#fff9f0;border:1px solid #51495f;border-bottom:0;border-radius:18px 18px 0 0;box-shadow:0 -8px 30px #0002}.receipt-heading{font-size:.72rem;line-height:1.25;font-weight:650;color:#c8bfd3;margin-bottom:6px}.receipt-rows{display:grid;gap:4px}.receipt-row{display:grid;grid-template-columns:minmax(54px,31%) minmax(0,1fr);align-items:center;gap:8px;min-height:24px}.receipt-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1.3;font-weight:650;color:var(--badge)}.receipt-chips{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;min-height:24px;align-items:center;justify-items:start}.receipt-chip{display:grid;place-items:center;min-width:0;width:100%;max-width:30px;min-height:max(24px,1.3em);font-size:.8rem;line-height:1.2;font-weight:750;border-radius:6px;background:var(--badge);color:#171329}.has-receipt-rail #app{padding-bottom:calc(var(--receipt-height,230px) + 12px)}.has-receipt-rail #feedback{bottom:calc(var(--receipt-height,230px) + 12px)}dialog>.receipt-rail{position:sticky;top:0;left:auto;bottom:auto;transform:none;width:calc(100% + 32px);margin:-12px -16px 18px;z-index:5;padding:10px 12px;border:1px solid #51495f;border-radius:14px;box-shadow:0 5px 12px #0002}.backgrounded .receipt-rail{visibility:hidden}@media(max-height:430px) and (min-width:480px){.receipt-rows{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}.receipt-row{grid-template-columns:minmax(44px,28%) minmax(0,1fr)}}@media(forced-colors:active){.receipt-rail{background:Canvas;color:CanvasText;border-color:CanvasText}.receipt-name,.receipt-heading{color:CanvasText}.receipt-chip{background:Highlight;color:HighlightText;border:1px solid CanvasText}}

.badge{position:relative}.person-number{position:absolute;right:-6px;bottom:-5px;display:grid;place-items:center;min-width:19px;height:19px;border:1px solid currentColor;border-radius:50%;background:#fff9f0;color:#171329;font-size:11px;line-height:1;font-weight:750}
