:root{font-family:system-ui,-apple-system,sans-serif;color:#19372b;background:#f7f7ed;font-size:16px;line-height:1.55;--green:#174b3b;--muted:#536a5c;--line:#ccd6c2}*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--green);border-radius:10px;padding:10px 18px;background:var(--green);color:white;cursor:pointer;font-weight:650;text-decoration:none;text-align:center;white-space:normal}button:disabled{opacity:.55;cursor:wait}.secondary{background:white;color:var(--green);border-color:var(--line)}.danger{background:#8e302a;border-color:#8e302a}.shell-head{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1160px;padding:24px max(20px,env(safe-area-inset-right)) 18px max(20px,env(safe-area-inset-left));margin:auto;border-bottom:1px solid var(--line)}.wordmark{font-family:Georgia,serif;font-size:1.3rem;text-decoration:none}.private-label,.eyebrow{font-size:.7rem;font-weight:750;letter-spacing:.12em;color:var(--muted)}main{max-width:1080px;margin:auto;padding:30px 22px max(60px,env(safe-area-inset-bottom))}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.3rem,6vw,3.8rem);line-height:1.12;margin:12px 0 20px}h2{font-size:1.35rem;line-height:1.25;margin:0 0 12px}h3{font-size:1.05rem;margin:0 0 8px}.lead{font-size:1.05rem;color:var(--muted);max-width:660px}.nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.nav a{min-height:48px;display:flex;align-items:center;padding:9px 18px;text-decoration:none;border-radius:24px;border:1px solid transparent}.nav a[aria-current]{background:#e4eddb;border-color:#a7bba1}.toolbar,.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toolbar{justify-content:space-between;margin:24px 0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:18px}.card{background:#fffef7;border:1px solid var(--line);border-radius:18px;padding:24px;min-width:0;margin-bottom:18px}.card.hero{background:var(--green);color:#fff}.hero .muted{color:#d4e4cf}.metric{display:block;font-family:Georgia,serif;font-size:2.7rem;line-height:1.1;margin:16px 0 8px}.muted,.small{color:var(--muted);font-size:.86rem}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stack{display:grid;gap:14px}.field{display:grid;gap:6px;margin-bottom:14px}input,select,textarea{width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid #9eb299;border-radius:8px;background:white;color:inherit}fieldset{min-width:0;border:1px solid var(--line);border-radius:12px;padding:16px;margin:0 0 20px}legend{font-weight:700;padding:0 6px}.choice{display:flex;align-items:center;gap:12px;padding:12px;margin:6px 0;border:1px solid var(--line);border-radius:8px;min-height:52px}.choice:has(input:checked){background:#e4eddb;border-color:var(--green)}.choice input{width:22px;min-height:22px;margin:0;flex-shrink:0}.result{padding:18px 0;border-top:1px solid var(--line)}details summary{min-height:48px;padding:10px 0;cursor:pointer}.badge{display:inline-block;background:#e4eddb;border-radius:20px;padding:4px 10px;font-size:.78rem}.notice,.error{background:#f9e8dd;color:#703323;border:1px solid #d9b69f;padding:18px;border-radius:12px;margin:18px 0;overflow-wrap:anywhere}.error:empty{display:none}#message{position:fixed;bottom:0;left:0;right:0;background:#e4eddb;color:#19372b;padding:0 18px;z-index:15}#message:not(:empty){padding:14px 18px max(14px,env(safe-area-inset-bottom))}.app-status{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:#e4eddb;border-bottom:1px solid #a8b99c;padding:10px max(16px,env(safe-area-inset-left));font-family:system-ui,sans-serif;font-size:.82rem}.app-status a{min-height:44px;display:flex;align-items:center}.app-status [data-sync-status]{flex:1 1 200px}.app-status button{min-height:44px;padding:7px 12px;font-size:.8rem}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;overflow:auto;background:#f1f3eb;padding:12px;font-size:.8rem}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;vertical-align:top;padding:12px 6px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}dialog{width:min(620px,calc(100% - 28px));max-height:90dvh;overflow:auto;border:1px solid var(--line);border-radius:16px;padding:24px;color:#19372b;background:#fffef7}dialog::backdrop{background:#15372a66}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #b47b20;outline-offset:3px}[hidden]{display:none!important}.statline{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.game-number{font-size:3rem;font-family:Georgia,serif;color:var(--green)}@media(max-width:600px){.grid{grid-template-columns:1fr}.private-label{display:none}.card{padding:20px}main{padding:24px 16px 70px}.toolbar{align-items:stretch}.toolbar>*{flex:1 1 160px}.actions>*{flex:1 1 140px}.nav a{padding:8px 14px}th,td{font-size:.82rem;padding:10px 4px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
#message{max-height:45dvh;overflow:auto}
@media(max-width:600px){.nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.nav a{justify-content:center;padding:8px 4px;font-size:.9rem}#chip-result>button{width:100%}}
#chip-result + .actions{margin-block-start:16px}
#message button{margin:6px 8px 0 0}
#shared-game-update{scroll-margin-block:20px}
