:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#15191d;background:#f3f4f2;font-synthesis:none;--ink: #15191d;--page: #f3f4f2;--surface: #ffffff;--primary: #156064;--primary-hover: #0e4d50;--primary-tint: #e4f1ef;--primary-tint-hover: #d2e8e5;--secondary: #853149;--secondary-hover: #6f273d;--secondary-tint: #f9eef1;--muted: #4f5b57;--subtle: #64706c;--border: #d8ddda;--divider: #e6e9e7;--field-border: #aeb8b4;--danger: #7a2418;--danger-bg: #f9edeb;--font-city-state: Georgia, "Times New Roman", serif;--radius-control: 7px;--radius-panel: 8px;--z-sticky: 10}*{box-sizing:border-box}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}html{min-width:320px;background:var(--page)}body{min-width:320px;min-height:100vh;margin:0;background:var(--page)}button,input,select,textarea{font:inherit}button{min-height:44px;border:0;border-radius:var(--radius-control);padding:10px 14px;color:#fff;background:var(--primary);font-weight:800;cursor:pointer;transition:background-color .18s ease-out,color .18s ease-out}button:hover:not(:disabled){background:var(--primary-hover)}button:disabled{cursor:not-allowed;opacity:.52}input,select,textarea{width:100%;min-height:44px;border:1px solid var(--field-border);border-radius:var(--radius-control);padding:10px 12px;color:var(--ink);background:var(--surface)}input::placeholder,textarea::placeholder{color:#5d6864;opacity:1}input[type=color]{padding:4px}textarea{min-height:104px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:3px solid rgb(21 96 100 / 20%)}button:focus-visible,summary:focus-visible{outline:3px solid rgb(21 96 100 / 24%);outline-offset:2px}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);letter-spacing:0;text-wrap:balance}h1,h2{line-height:1.08}h3{line-height:1.2}.city-state-name{font-family:var(--font-city-state);font-weight:700;letter-spacing:0}p{color:var(--muted);line-height:1.5;text-wrap:pretty}.login-screen{display:grid;min-height:100vh;place-items:center;padding:18px;background:var(--ink)}.login-panel{width:min(100%,410px);border-radius:var(--radius-panel);padding:26px;background:var(--surface);box-shadow:0 4px 8px #0000003d}.login-panel h1{margin-bottom:24px;font-size:2.35rem}.login-form,.setup-form,.transfer-form{display:grid;gap:16px}label,fieldset{display:grid;gap:7px;min-width:0;margin:0;border:0;padding:0;color:#313a37;font-size:.92rem;font-weight:750}legend{margin-bottom:10px;padding:0}.app-shell{width:min(100%,1040px);margin:0 auto;padding:14px 16px 48px}.topbar{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border)}.topbar h1{margin:0;font-size:1.2rem;font-weight:850}.account{display:flex;min-width:0;align-items:center;gap:10px;color:var(--muted);font-size:.88rem;font-weight:750}.account span{max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-action{flex:0 0 auto;min-height:44px;padding-inline:8px 0;color:var(--secondary);background:transparent;white-space:nowrap}.account-action:hover:not(:disabled){color:var(--secondary-hover);background:transparent}.banner,.screen-status,.form-error{border-radius:var(--radius-panel);padding:12px}.banner{margin:16px 0 0}.banner.error,.form-error{margin-bottom:0;color:var(--danger);background:var(--danger-bg)}.screen-status{margin:16px auto;color:var(--muted);background:var(--surface)}.setup-flow,.active-game{display:grid;gap:22px;padding-top:24px}.page-heading,.game-heading,.section-heading,.waiting-panel{display:flex;align-items:center;justify-content:space-between;gap:16px}.page-heading h2,.game-heading h2{margin-bottom:5px;font-size:1.75rem}.page-heading p,.game-heading p,.waiting-panel p{margin-bottom:0}.city-preview{position:sticky;z-index:var(--z-sticky);top:8px;align-self:start}.city-state-card{display:block;min-width:0;border:1px solid var(--border);border-radius:var(--radius-panel);overflow:hidden;background:var(--surface)}.city-state-card>.city-state-flag{margin-bottom:0;border-radius:0}.city-state-card-copy{padding:8px 12px;text-align:center}.city-state-card-copy>.city-state-name{padding-block:8px;font-size:2rem}.city-state-flag{position:relative;display:grid;width:100%;min-height:96px;place-items:center;overflow:hidden;margin-bottom:12px;border-radius:var(--radius-panel);color:var(--symbol);background:linear-gradient(90deg,var(--primary) 0 50%,var(--secondary) 50% 100%);box-shadow:inset 0 0 0 1px #00000024}.city-state-flag>svg{position:relative;z-index:1;width:64px;height:64px;transform:scale(2.5);filter:drop-shadow(0 2px 3px rgb(0 0 0 / 32%));stroke-width:2.4}.banner-pattern{position:absolute;inset:0}.pattern-left-diagonal{background-image:linear-gradient(135deg,transparent 0 43%,var(--accent) 43% 57%,transparent 57% 100%)}.pattern-cross{background-image:linear-gradient(90deg,transparent 0 43%,var(--accent) 43% 57%,transparent 57% 100%),linear-gradient(0deg,transparent 0 40%,var(--accent) 40% 60%,transparent 60% 100%)}.pattern-x{background-image:linear-gradient(135deg,transparent 0 45%,var(--accent) 45% 55%,transparent 55% 100%),linear-gradient(45deg,transparent 0 45%,var(--accent) 45% 55%,transparent 55% 100%)}.pattern-vertical-stripes{background-image:linear-gradient(90deg,transparent 0 12%,var(--accent) 12% 22%,transparent 22% 45%,var(--accent) 45% 55%,transparent 55% 78%,var(--accent) 78% 88%,transparent 88% 100%)}.pattern-horizontal-stripe{background-image:linear-gradient(0deg,transparent 0 39%,var(--accent) 39% 61%,transparent 61% 100%)}.pattern-circle{background-image:radial-gradient(circle at center,var(--accent) 0 29%,transparent 30% 100%)}.pattern-triangle{inset:10% 20%;clip-path:polygon(50% 4%,96% 92%,4% 92%);background:var(--accent)}.city-state-card h2,.city-state-card h3{margin-bottom:0;font-size:1.5rem}.city-state-card h2:not(:last-child),.city-state-card h3:not(:last-child){margin-bottom:8px}.ruler,.motto{line-height:1.5}.ruler{margin-bottom:8px;color:#313a37;font-weight:800}.motto{margin-bottom:0;color:var(--secondary);font-size:.94rem;font-weight:500;font-style:italic;line-height:1.35}.city-state-card .ruler{margin-bottom:2px;line-height:1.25}.city-state-card .motto{line-height:1.25;text-wrap:balance}.field-grid{display:grid;gap:14px}.field-group{display:grid;gap:7px}.field-with-action{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px}.quote-actions{display:flex;flex-direction:column;gap:8px}.icon-button{display:grid;width:44px;min-height:44px;place-items:center;padding:0;color:var(--primary);background:var(--primary-tint)}.icon-button:hover:not(:disabled){color:var(--primary-hover);background:var(--primary-tint-hover)}.icon-button svg{width:22px;height:22px}button>*{pointer-events:none}.portrait-button{overflow:hidden;padding:2px;background:var(--ink)}.portrait-button:hover:not(:disabled){background:var(--secondary)}.portrait-button img{width:100%;height:40px;border-radius:5px;object-fit:cover}.ayn-rand-button img{object-position:center 24%}.cycle-field{gap:0}.cycle-control{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:4px;width:100%;border-radius:var(--radius-control);padding:4px;background:#e5e9e7}.cycle-selection{display:flex;min-width:0;min-height:44px;align-items:center;justify-content:center;gap:9px;padding:6px 10px;color:var(--ink);background:var(--surface);font-size:.9rem;font-weight:800;text-align:center}.cycle-selection>svg{flex:0 0 auto;width:23px;height:23px;color:var(--secondary)}.cycle-selection>span:last-child{min-width:0;overflow-wrap:anywhere}.pattern-swatch{position:relative;flex:0 0 auto;width:34px;height:26px;overflow:hidden;border-radius:4px;background-color:var(--primary-banner);box-shadow:inset 0 0 0 1px #0000002e}.pattern-swatch.pattern-triangle{inset:auto;clip-path:polygon(50% 4%,96% 92%,4% 92%);background:var(--accent);box-shadow:none}.color-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.color-field input{height:auto;aspect-ratio:1}.primary-action{background:var(--secondary)}.primary-action:hover:not(:disabled){background:var(--secondary-hover)}.setup-submit{display:grid}.ghost-action{color:var(--primary);background:var(--primary-tint)}.ghost-action:hover:not(:disabled){color:var(--primary-hover);background:var(--primary-tint-hover)}.waiting-panel{align-items:flex-start;border-block:1px solid var(--border);padding:16px 0}.waiting-panel h3{margin-bottom:5px}.disclosure{min-width:0;border-block:1px solid var(--border);background:transparent}.disclosure+.disclosure{border-top:0}.disclosure summary{min-height:52px;padding:15px 2px;color:var(--ink);font-weight:800;line-height:1.35;cursor:pointer}.disclosure summary::marker{color:var(--primary)}.disclosure-content{padding:0 2px 18px}.secret-goal-disclosure{border-block:0}.customization-fields{padding-top:4px}.game-heading{position:relative;align-items:flex-start}.endgame-trigger{position:absolute;z-index:2;top:10px;right:10px;color:var(--ink);background:#ffffffe5;box-shadow:0 2px 7px #15191d2e}.endgame-trigger:hover:not(:disabled){color:var(--secondary);background:var(--surface)}.endgame-trigger span{position:absolute;top:-5px;right:-5px;display:grid;width:20px;height:20px;place-items:center;border:2px solid var(--surface);border-radius:50%;color:#fff;background:var(--secondary);font-size:.7rem;line-height:1}.approval-panel{--approval-color: #81701b;display:grid;grid-template-columns:84px minmax(0,1fr);grid-template-areas:"character label" "character bar" "character taxes";align-items:center;gap:7px 12px;min-width:0}.approval-crying{--approval-color: #8a2635}.approval-upset{--approval-color: #a3471f}.approval-neutral{--approval-color: #81701b}.approval-positive{--approval-color: #156064}.approval-happy{--approval-color: #2f6f45}.approval-character{grid-area:character;display:block;width:84px;height:104px;object-fit:contain;object-position:left bottom}.approval-heading{grid-area:label;display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px}.approval-label{align-self:flex-end;padding-inline-start:8px;color:var(--subtle);font-size:1rem;font-weight:850;line-height:1;text-transform:uppercase}.approval-boost-trigger{flex:0 0 44px;color:#fff;background:var(--primary)}.approval-boost-trigger:hover:not(:disabled){color:#fff;background:var(--primary-hover)}.approval-bar{grid-area:bar;position:relative;width:100%;height:28px;overflow:hidden;border:2px solid var(--approval-color);border-radius:999px;background:#525b57}.approval-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--approval-color);transition:width .18s ease-out}.approval-bar strong{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:.86rem;line-height:1;text-shadow:0 1px 2px rgb(0 0 0 / 70%)}.approval-taxes{grid-area:taxes;align-self:start;display:flex;align-items:center;gap:3px;margin:0;padding-inline-start:8px;color:var(--muted);font-size:.9rem}.approval-taxes svg{width:17px;height:17px;color:var(--approval-color)}.approval-taxes strong{color:var(--ink)}.approval-boost-modal{display:flex;min-height:calc(100dvh - 120px);width:min(100%,520px);flex-direction:column;gap:20px;margin:0 auto;border-top:1px solid var(--border);padding-top:20px}.approval-boost-balance{display:flex;align-items:center;gap:3px;margin:0;color:var(--ink);font-size:1.4rem;font-weight:800}.approval-boost-balance svg{width:18px;height:18px;color:var(--secondary)}.approval-boost-balance strong{color:var(--ink)}.approval-boost-explainer{margin:0}.approval-boost-change{display:grid;flex:1;place-items:center;margin:0;color:var(--ink);font-size:3rem;font-weight:800;line-height:1.1;text-align:center}.approval-boost-change strong{color:#2f6f45}.approval-boost-change-content{display:grid;justify-items:center;gap:8px}.approval-boost-eyebrow{justify-self:start;color:var(--subtle);font-size:.76rem;font-weight:850;line-height:1;text-transform:uppercase}.approval-boost-footer{display:grid;gap:12px;margin-top:auto}.approval-boost-note{margin:0;color:var(--subtle);font-size:.85rem;line-height:1.4}.approval-boost-note svg{width:16px;height:16px;margin-inline:3px 1px;vertical-align:-3px}.approval-boost-footer button{display:flex;width:100%;min-width:0;align-items:center;justify-content:center;gap:6px;overflow-wrap:anywhere}.approval-boost-footer button svg{flex:0 0 auto;width:18px;height:18px}.approval-boost-price{display:inline-flex;align-items:center}.wallet-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-block:1px solid var(--border)}.wallet-summary div{display:grid;gap:5px;min-width:0;padding:16px 0}.wallet-summary div+div{border-left:1px solid var(--border)}.wallet-summary span{color:var(--subtle);font-size:.76rem;font-weight:850;text-align:center}.wallet-summary strong{display:flex;align-items:center;justify-content:center;font-size:1.65rem;line-height:1;white-space:nowrap}.wallet-summary strong svg{width:1em;height:1em}.mining-panel{display:grid;justify-items:center;gap:16px;border-bottom:1px solid var(--border);padding-bottom:22px}.mining-heading{justify-content:flex-start;width:100%}.mining-heading h3{margin:0;color:var(--secondary);font-size:1.15rem}.mining-heading .mining-yield{display:flex;width:100%;align-items:center;justify-content:center;gap:.16em;white-space:nowrap}.mining-yield svg{width:1.1em;height:1.1em}.mining-yield-amount{display:inline-block;width:4ch;font-variant-numeric:tabular-nums;text-align:left}.mining-heading .mining-complete-summary{display:flex;width:100%;flex-wrap:wrap;justify-content:center;gap:2px 8px;color:var(--ink);font-size:.86rem;line-height:1.4;text-align:center}.mining-complete-summary span{display:inline-flex;align-items:center;white-space:nowrap}.mining-complete-summary span+span:before{margin-right:8px;content:"|";color:var(--subtle)}.mining-complete-summary svg{width:17px;height:17px;color:var(--secondary)}.mining-complete-summary time{margin-left:4px}.mining-button{--mining-progress: 0deg;--mining-segment: 15deg;--mining-gap: 2deg;display:grid;width:min(176px,52vw);min-height:0;aspect-ratio:1;place-items:stretch;border-radius:50%;padding:8px;background:repeating-conic-gradient(transparent 0 calc(var(--mining-segment) - var(--mining-gap)),var(--page) 0 var(--mining-segment)),conic-gradient(var(--secondary) var(--mining-progress),var(--divider) 0);box-shadow:inset 0 0 0 1px #15191d1a}.mining-button:hover:not(:disabled){background:repeating-conic-gradient(transparent 0 calc(var(--mining-segment) - var(--mining-gap)),var(--page) 0 var(--mining-segment)),conic-gradient(var(--secondary-hover) var(--mining-progress),#d8ddda 0)}.mining-button:disabled{cursor:default;opacity:.7;background:conic-gradient(var(--secondary) var(--mining-progress),var(--divider) 0)}.mining-button-face{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;border-radius:50%;color:#fff;background:var(--primary);box-shadow:0 2px 6px #15191d3d;transition:transform .1s ease-out}.mining-button:active:not(:disabled) .mining-button-face{transform:scale(.96)}.mining-button:disabled .mining-button-face{background:var(--secondary)}.mining-button-face strong{font-size:1.45rem;line-height:1.05;text-align:center}.mining-button-face strong span{display:block}.mining-countdown{font-size:1.55rem;font-variant-numeric:tabular-nums;font-weight:800}.mining-panel .form-error{width:100%}.game-actions{display:flex;flex-wrap:wrap;gap:8px}.game-actions button{flex:1 1 120px}.endgame-declaration-panel{display:grid;gap:18px}.endgame-consequence{margin-bottom:0}.endgame-declaration-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.endgame-declaration-list li{display:grid;grid-template-columns:58px minmax(0,1fr) 24px;align-items:center;gap:12px;min-height:60px;border-top:1px solid var(--divider)}.endgame-declaration-list li>svg{width:23px;height:23px;color:var(--subtle)}.endgame-declaration-list li>svg[aria-label=Ready]{color:var(--primary)}.endgame-mini-flag,.goal-result-flag,.final-ranking-flag{width:58px;min-height:38px;aspect-ratio:3 / 2;margin:0;border-radius:4px}.endgame-mini-flag>svg,.goal-result-flag>svg,.final-ranking-flag>svg{width:24px;height:24px;transform:none}.endgame-toggle{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;min-height:56px;cursor:pointer}.endgame-toggle input{position:absolute;width:1px;height:1px;min-height:0;opacity:0}.endgame-toggle>span{position:relative;width:48px;height:28px;border-radius:14px;background:#c8cfcc;transition:background-color .18s ease-out}.endgame-toggle>span:after{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px #15191d3d;content:"";transition:transform .22s cubic-bezier(.32,.72,0,1)}.endgame-toggle input:checked+span{background:var(--secondary)}.endgame-toggle input:checked+span:after{transform:translate(20px)}.endgame-toggle input:focus-visible+span{outline:3px solid rgb(21 96 100 / 24%);outline-offset:2px}.endgame-toggle:has(input:disabled){cursor:wait;opacity:.62}.goal-scoring,.final-standings{padding-top:12px}.goal-scoring-heading,.final-heading{padding:22px 2px 20px}.goal-scoring-heading p,.final-heading p{margin-bottom:5px;color:var(--secondary);font-size:.76rem;font-weight:850;text-transform:uppercase}.goal-scoring-heading h1,.final-heading h1{margin-bottom:8px;font-family:var(--font-city-state);font-size:2rem}.goal-scoring-heading span{color:var(--muted);font-size:.9rem;font-weight:750}.goal-result-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.goal-result-list>li{display:grid;gap:14px;min-width:0;border:1px solid var(--border);border-radius:var(--radius-panel);padding:14px;background:var(--surface)}.goal-result-player{display:grid;grid-template-columns:58px minmax(0,1fr) 28px;align-items:center;gap:12px}.goal-result-player>div{display:grid;min-width:0;gap:2px}.goal-result-player>div span{overflow-wrap:anywhere;color:var(--subtle);font-size:.82rem}.goal-result-player>svg{width:27px;height:27px;color:var(--subtle)}.goal-result-succeeded .goal-result-player>svg{color:#2f6f45}.goal-result-failed .goal-result-player>svg{color:var(--danger)}.goal-result-copy h2{margin-bottom:5px;font-size:1.08rem}.goal-result-copy p{margin-bottom:8px}.goal-result-copy .goal-evidence{margin-bottom:0;color:var(--ink);font-weight:750}.goal-award{display:block;margin-top:8px;color:#2f6f45}.goal-vote{max-width:420px}.final-heading{text-align:center}.winner-list{display:grid;gap:26px}.final-winner{display:grid;gap:18px;padding-bottom:30px;animation:final-rise .7s cubic-bezier(.32,.72,0,1) both}.champion-flag-stage{position:relative;width:min(92%,700px);margin:0 auto;padding-left:13px;perspective:800px}.flagpole{position:absolute;z-index:2;top:-9px;bottom:-16px;left:4px;width:8px;border-radius:4px;background:linear-gradient(90deg,#8d7555,#e0c18d 48%,#6e583e);box-shadow:2px 2px 4px #15191d3d}.champion-flag{min-height:0;aspect-ratio:3 / 1.45;margin:0;border-radius:2px 7px 7px 2px;transform-origin:left center;animation:champion-flag-wave 2.7s cubic-bezier(.37,0,.63,1) infinite;box-shadow:inset 0 0 0 1px #00000029,0 12px 22px #15191d2e}.champion-flag:after{position:absolute;z-index:2;inset:0;background:linear-gradient(100deg,transparent 0 32%,rgb(255 255 255 / 18%) 43%,rgb(0 0 0 / 12%) 55%,transparent 68%);content:"";transform:translate(-55%);animation:flag-light 2.7s cubic-bezier(.37,0,.63,1) infinite;pointer-events:none}.champion-flag>svg{width:clamp(72px,18%,120px);height:auto;aspect-ratio:1}.final-winner-copy{display:grid;justify-items:center;text-align:center}.final-winner-copy>svg{width:38px;height:38px;margin-bottom:6px;color:#b78a16}.final-winner-copy h2{margin-bottom:3px;font-size:2rem}.final-winner-copy p{margin-bottom:7px}.final-winner-copy blockquote{max-width:620px;margin:8px 0 14px;color:var(--muted);font-family:var(--font-city-state);font-size:1.1rem;font-style:italic;line-height:1.45}.final-winner-copy>strong{color:var(--ink);font-size:1.65rem}.final-winner-copy>span{color:#2f6f45;font-size:.86rem;font-weight:800}.final-ranking{display:grid;margin:0;border-top:1px solid var(--border);padding:0;list-style:none}.final-ranking li{display:grid;grid-template-columns:36px 58px minmax(0,1fr);gap:8px 10px;align-items:center;min-width:0;border-bottom:1px solid var(--divider);padding:14px 2px}.rank-medal,.rank-number{display:grid;width:32px;place-items:center;color:var(--subtle)}.rank-medal svg{width:30px;height:30px}.rank-1{color:#b78a16}.rank-2{color:#7b858b}.rank-3{color:#a55b2d}.final-ranking-identity,.final-ranking-score{display:grid;min-width:0;gap:2px}.final-ranking-identity span,.final-ranking-identity small,.final-ranking-score span,.final-ranking-score small{color:var(--subtle);font-size:.78rem;line-height:1.35;overflow-wrap:anywhere}.final-ranking-score{grid-column:3 / -1;padding-left:0}.final-ranking-score strong{font-size:1.05rem}@keyframes champion-flag-wave{0%,to{transform:rotateY(1deg) skewY(0) scaleX(.995)}35%{transform:rotateY(-5deg) skewY(.7deg) scaleX(1)}70%{transform:rotateY(4deg) skewY(-.5deg) scaleX(.985)}}@keyframes flag-light{0%,to{opacity:.52;transform:translate(-52%)}50%{opacity:.9;transform:translate(48%)}}@keyframes final-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.full-screen-modal{position:fixed;inset:0;width:100dvw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;padding:0;overflow-y:auto;scrollbar-gutter:stable;color:var(--ink);background:var(--page)}.full-screen-modal::backdrop{background:#15191d9e}.modal-shell{min-height:100%}.modal-toolbar{position:sticky;z-index:var(--z-sticky);top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;background:var(--page)}.modal-toolbar h2{margin:0;font-size:1.2rem}.modal-content{width:min(100%,1040px);margin:0 auto;padding:8px 16px 48px}.leaderboard-table{width:100%;border-collapse:collapse;background:var(--surface)}.leaderboard-table th,.leaderboard-table td{border-bottom:1px solid var(--divider);padding:12px;text-align:left}.leaderboard-table thead th{color:var(--subtle);font-size:.76rem;text-transform:uppercase}.leaderboard-table th:first-child{width:1%;text-align:center}.leaderboard-table td:nth-child(2){display:flex;align-items:center;gap:12px}.leaderboard-table th:last-child,.leaderboard-table td:last-child{width:1%;text-align:right;white-space:nowrap}.leaderboard-table .leaderboard-flag{width:64px;min-width:64px;min-height:40px;margin:0}.leaderboard-table .leaderboard-flag>svg{width:28px;height:28px;transform:none}.private-goal{display:grid;gap:7px}.private-goal strong{font-size:1.05rem;line-height:1.3}.private-goal p{max-width:70ch;margin-bottom:0}.challenges-panel h3,.action-panel h3,.activity-panel h3{margin-bottom:0;font-size:1.15rem}.record-list,.activity-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.record-list>li,.activity-list>li{display:grid;gap:10px;border-top:1px solid rgb(133 49 73 / 16%);padding:14px 0}.record-list>li:first-child,.activity-list>li:first-child{border-top:0;padding-top:0}.record-list>li:last-child,.activity-list>li:last-child{padding-bottom:0}.record-list strong,.activity-list strong{display:block;margin-bottom:4px;line-height:1.28;overflow-wrap:anywhere}.record-list span,.activity-list span,.activity-list time{color:var(--muted);font-size:.88rem;line-height:1.4;overflow-wrap:anywhere}.record-list p{margin:7px 0 0}.action-panel,.challenges-panel,.activity-panel{display:grid;gap:16px;border-top:1px solid var(--border);padding-top:22px}.challenges-panel{display:grid;gap:18px}.active-attempts{display:grid;gap:12px;border-radius:var(--radius-panel);padding:16px;background:var(--secondary-tint)}.active-attempts h4{margin:0;font-size:.78rem;font-weight:850;text-transform:uppercase}.attempt-list,.challenge-list{display:grid;margin:0;padding:0;list-style:none}.attempt-list>li,.challenge-list>li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;border-top:1px solid rgb(133 49 73 / 16%);padding:15px 0}.attempt-list>li:first-child,.challenge-list>li:first-child{border-top:0;padding-top:0}.attempt-list>li:last-child,.challenge-list>li:last-child{padding-bottom:0}.challenge-list>li{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;border-top-color:var(--divider)}.challenge-topline{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;gap:12px;margin-bottom:-10px}.challenge-list .challenge-copy,.attempt-list .challenge-copy,.attempt-votes,.attempt-list .verdict-actions{grid-column:1 / -1}.challenge-reward{border-radius:6px;padding:6px 9px;color:var(--secondary);background:var(--secondary-tint);font-size:1rem;font-weight:850;line-height:1}.challenge-copy{min-width:0}.challenge-copy strong,.challenge-copy span,.challenge-copy p{display:block;overflow-wrap:anywhere}.challenge-copy strong{margin:4px 0;line-height:1.3}.challenge-copy p{max-width:70ch;margin:0 0 7px}.challenge-copy span:not(.challenge-stars){color:var(--muted);font-size:.86rem;line-height:1.4}.challenge-copy span.challenge-failures{margin-bottom:6px;color:var(--danger);font-weight:800}.challenge-stars{display:flex;gap:3px;color:var(--secondary)}.challenge-stars svg{width:16px;height:16px}.challenge-block{margin-top:5px;color:var(--danger)!important;font-weight:750}.attempt-votes{color:var(--muted);font-size:.86rem;font-weight:750}.attempt-spend svg{width:1em;height:1em;vertical-align:-.14em}.verdict-actions{display:flex;flex-wrap:wrap;gap:8px}.verdict-prompt{flex-basis:100%;color:var(--muted);font-size:.8rem;font-weight:750}.verdict-actions button{display:grid;flex:1;place-items:center;width:auto;height:44px;padding:0}.verdict-actions svg{width:22px;height:22px}.complete-verdict{background:#28734b}.complete-verdict:hover:not(:disabled),.complete-verdict[aria-pressed=true]{background:#175c38}.failed-verdict{background:var(--danger)}.failed-verdict:hover:not(:disabled),.failed-verdict[aria-pressed=true]{background:#5f1b12}.verdict-actions button[aria-pressed=true]{box-shadow:0 0 0 3px var(--surface),0 0 0 6px currentcolor}.challenge-tools{display:grid;gap:12px}.challenge-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#313a37;font-size:.92rem;font-weight:750}.challenge-list>li>button{display:flex;grid-column:1 / span 2;align-items:center;justify-content:center;gap:3px;width:100%}.challenge-list>li>button svg{width:1.1em;height:1.1em}.challenge-list>li>button del{opacity:.72}.search-field{position:relative}.search-field svg{position:absolute;top:50%;left:12px;width:18px;height:18px;color:var(--subtle);transform:translateY(-50%);pointer-events:none}.search-field input{width:100%;padding-left:40px}.rating-filter{display:grid;grid-template-columns:repeat(4,44px);gap:3px;border-radius:var(--radius-control);padding:3px;background:#e5e9e7}.rating-filter button{min-width:44px;min-height:44px;padding:0;color:#3e4945;background:transparent}.rating-filter button.active{color:var(--primary);background:var(--surface);box-shadow:0 1px 2px #15191d24}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;width:100%;border-radius:var(--radius-control);padding:3px;background:#e5e9e7}.segmented-control button{min-height:44px;border-radius:5px;padding:8px 12px;color:#3e4945;background:transparent;font-size:.9rem}.segmented-control button:hover:not(:disabled){color:var(--ink);background:#ffffffa3}.segmented-control button.active{color:var(--primary);background:var(--surface);box-shadow:0 1px 2px #15191d24}.transfer-form{padding-top:2px}.note-field,.form-error,.transfer-form>button{grid-column:1 / -1}.reference-disclosure .record-list>li,.activity-list>li{border-top-color:var(--divider)}.section-heading{align-items:flex-start}.activity-list li{grid-template-columns:minmax(0,1fr)}.activity-list time{display:block}.activity-list>li.ledger-transfer-row{grid-template-columns:minmax(0,1fr)}.ledger-transfer-copy{display:grid;gap:2px;min-width:0}.activity-list .ledger-transfer-copy strong{margin-bottom:0;line-height:1.1}.activity-list .ledger-transfer-meta,.activity-list .ledger-transfer-meta time{display:inline;color:var(--muted);font-size:.86rem;line-height:1.15}.empty-state{margin-bottom:0}.text-action{justify-self:start;min-height:44px;padding:6px 0;color:var(--primary);background:transparent}.text-action:hover:not(:disabled){color:var(--primary-hover);background:transparent}@media(min-width:600px){.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.transfer-form{grid-template-columns:minmax(0,1.2fr) minmax(120px,.6fr)}.activity-list>li{grid-template-columns:minmax(0,1fr) auto;align-items:start}.activity-list time{text-align:right}}@media(min-width:760px){.app-shell{padding:18px 28px 64px}.setup-flow{grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);align-items:start;column-gap:28px}.setup-flow>.page-heading,.setup-flow>.reference-disclosure{grid-column:1 / -1}.setup-flow>.city-preview{grid-column:1}.setup-flow>.setup-form,.setup-flow>.waiting-panel{grid-column:2}.city-preview{top:18px}.city-state-card-copy{padding:20px}.city-state-flag{min-height:124px;margin-bottom:16px}.wallet-summary div{padding-block:18px}.goal-result-list{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-result-list>li{align-content:start;padding:18px}.final-ranking li{grid-template-columns:36px 64px minmax(0,1fr) auto;gap:14px;padding-block:18px}.final-ranking-score{grid-column:4;justify-items:end;padding-left:20px;text-align:right}}@media(max-width:759px){.app-shell:has(.setup-flow),.app-shell:has(.active-game){padding-top:0}.app-shell:has(.setup-form){padding-bottom:108px}.setup-flow,.active-game{padding-top:0}.city-preview{top:0}.city-state-card{margin-inline:-16px;border-inline:0;border-radius:0;box-shadow:0 4px 8px #15191d1a}.city-state-card .city-state-flag{min-height:0;aspect-ratio:3 / 1.33}.city-state-card-copy{padding-inline:28px}.setup-submit{position:fixed;z-index:calc(var(--z-sticky) + 1);inset-inline:0;bottom:0;border-top:1px solid var(--border);padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--surface);box-shadow:0 -6px 18px #15191d1a}.setup-submit .primary-action{min-height:52px;font-size:1rem}}@media(max-width:380px){.app-shell{padding-inline:12px}.city-state-card{margin-inline:-12px}.city-state-card-copy{padding-inline:24px}.setup-submit{padding-inline:12px}.account{gap:7px}.account span{max-width:7rem}.page-heading h2,.game-heading h2{font-size:1.55rem}.page-heading,.game-heading,.waiting-panel,.section-heading{align-items:stretch;flex-direction:column}.segmented-control.compact{width:100%}.challenge-tools,.attempt-list>li{grid-template-columns:minmax(0,1fr)}.rating-filter{grid-template-columns:repeat(4,minmax(44px,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.champion-flag,.champion-flag:after,.final-winner{animation:none}}
