/* © 2026 18cores, LLC. All rights reserved. */
@font-face{font-family:Atkinson Hyperlegible;font-weight:400;font-display:swap;src:url(./fonts/atkinson-400.woff2) format("woff2")}@font-face{font-family:Atkinson Hyperlegible;font-weight:700;font-display:swap;src:url(./fonts/atkinson-700.woff2) format("woff2")}:root{--felt: #0f3d2e;--felt-dark: #0a2b20;--felt-mid: #0b3226;--felt-light: #124634;--line: #1d5a45;--line-strong: #3f7a63;--pf-accent: var(--amber);--pf-accent-ink: var(--amber-ink);--panel: var(--felt-dark);--bg: var(--felt);--pf-font: var(--font);--ink: #f3efe2;--muted: #b9cfc4;--amber: #ffc14d;--amber-ink: #2a1d00;--card: #fbf8ef;--card-edge: #cfc6b0;--card-ink: #1a1a1a;--card-red: #b3122e;--back: #8f3a33;--font: "Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;--suit: "Segoe UI Symbol", "Apple Symbols", "DejaVu Sans", "Noto Sans Symbols 2", sans-serif;--cw: 66px;--ch: calc(var(--cw) * 1.4);color-scheme:dark}*{box-sizing:border-box}*,*:before,*:after{touch-action:manipulation}html,body{margin:0;height:100%;background:var(--felt);color:var(--ink);font-family:var(--font);-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}[hidden]{display:none!important}.app{height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px)}.header{display:flex;align-items:center;gap:8px;padding:max(8px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) 8px max(12px,env(safe-area-inset-left,0px));background:var(--felt-dark);border-bottom:1px solid var(--line)}.back-link{display:inline-flex;align-items:center;gap:0;min-height:44px;padding:0 6px 0 0;color:var(--amber);font-weight:700;font-size:17px;text-decoration:none}.back-link svg{width:28px;height:28px;margin-left:-6px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.brand{flex:1;min-width:0;margin:0;text-align:center;font-size:clamp(15px,4.4vw,20px);font-weight:700;letter-spacing:.05em;white-space:nowrap}@media(min-width:900px){.brand{letter-spacing:.08em}}.header-right{display:flex;gap:8px}.icon-button{display:inline-flex;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:0 10px;justify-content:center;border-radius:22px;border:2px solid var(--line-strong);background:transparent;cursor:pointer;font-weight:700;font-size:15px}.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.icon-button[aria-pressed=true] .waves,.wide-only{display:none}@media(min-width:900px)and (min-height:600px){.wide-only{display:inline}}.scorebar{display:flex;justify-content:space-between;padding:8px 16px;font-size:14px;font-weight:700;letter-spacing:.06em;color:var(--muted);background:var(--felt-mid)}.scorebar b{color:var(--ink);font-size:16px}@media(min-width:900px)and (min-height:600px){.scorebar{justify-content:center;gap:32px;font-size:15px}}.label{font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--muted)}.label.accent{color:var(--amber)}.note{margin:2px 0 0!important;font-size:15px!important;color:var(--muted)!important}.card{position:relative;width:var(--cw);height:var(--ch);border-radius:calc(var(--cw) * .1);background:var(--card);border:1px solid var(--card-edge);color:var(--card-ink);box-shadow:0 2px 4px #00000059;padding:0;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none}.card.red{color:var(--card-red)}.card .corner{position:absolute;left:6%;top:3%;display:flex;align-items:baseline;line-height:1;font-weight:700;font-size:var(--corner, max(13px, calc(var(--cw) * .3)));letter-spacing:-.02em;white-space:nowrap}.card .corner .s{font-family:var(--suit);font-size:max(12px,.8em);margin-left:.06em}.card .pip{position:absolute;right:8%;bottom:6%;line-height:1;font-family:var(--suit);font-size:calc(var(--cw) * .48)}.card.back{background:repeating-linear-gradient(45deg,#9b443c 0 6px,var(--back) 6px 12px);border:2px solid var(--ink);cursor:default}.card.mini{width:30px;height:42px;border-radius:4px;cursor:default;box-shadow:none}.card.mini .corner{font-size:13px;left:3px}.card.mini .pip{font-size:16px}.card.selected{outline:3px solid var(--amber);outline-offset:0;box-shadow:0 0 0 5px var(--felt),0 8px 16px #00000080;transform:translateY(-6px);z-index:5}.target{outline:3px solid var(--amber)!important;box-shadow:0 0 14px var(--amber)!important}.card.shake{animation:shake .4s}@keyframes shake{20%{translate:-6px 0}40%{translate:6px 0}60%{translate:-4px 0}80%{translate:3px 0}}.card.landed{animation:land .25s ease-out}@keyframes land{0%{scale:1.12}to{scale:1}}.space{width:var(--cw);height:var(--ch);border-radius:calc(var(--cw) * .1);border:2px dashed var(--line-strong);display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;color:var(--muted);padding:0;background:transparent}.space.target{border-style:solid;color:var(--amber);font-weight:700}.fan{position:relative;min-height:var(--ch)}.fan>.card{position:absolute;left:0;top:0}.drag{position:fixed;left:0;top:0;pointer-events:none;z-index:50}.drag .card{position:absolute;box-shadow:0 12px 24px #0000008c}.hint{position:relative;z-index:0;margin:0;min-height:22px;font-size:15px;line-height:1.4;text-align:center;color:#e3eadf}.banner{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);padding:14px 22px;border-radius:12px;background:#05140eeb;border:2px solid var(--amber);color:var(--ink);font-size:20px;font-weight:700;text-align:center;pointer-events:none;opacity:0;transition:opacity .2s;z-index:20;max-width:calc(100% - 32px)}.banner.show{opacity:1}.banner small{display:block;font-size:15px;font-weight:400;color:var(--muted);margin-top:4px}.overlay{position:fixed;inset:var(--header-h, 61px) 0 0 0;z-index:30;display:flex;padding:16px max(16px,env(safe-area-inset-right,0px)) 16px max(16px,env(safe-area-inset-left,0px));background:#061a13db;overflow-y:auto}.panel{width:min(560px,100%);display:grid;gap:16px;padding:24px;border-radius:14px;background:var(--felt-dark);border:2px solid var(--line);margin:auto}@media(max-width:380px){.panel{padding:18px 14px}}.panel h2{margin:0;font-size:clamp(28px,7vw,38px);line-height:1.1;text-wrap:balance}.panel p{margin:0;font-size:17px;line-height:1.5;color:#e3eadf}.choices{display:grid;gap:12px}fieldset{margin:0;padding:0;border:0;display:grid;gap:6px}legend{padding:0;margin-bottom:6px;font-size:14px;font-weight:700;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}.segmented{display:flex;gap:8px;flex-wrap:wrap}.segmented button{flex:1 1 auto;min-height:48px;padding:0 14px;border-radius:10px;border:2px solid var(--line-strong);background:transparent;font-size:17px;font-weight:700;cursor:pointer}.segmented button[aria-pressed=true]{background:var(--amber);border-color:var(--amber);color:var(--amber-ink)}.primary-button{min-height:56px;border:0;border-radius:12px;background:var(--amber);color:var(--amber-ink);font-size:22px;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:0 22px}.quit-button{min-height:56px;border:2px solid var(--line-strong);border-radius:12px;background:transparent;color:var(--ink);font-size:22px;font-weight:700;cursor:pointer}.quit-button:hover{border-color:var(--ink)}.text-link{justify-self:center;min-height:44px;border:0;background:none;color:var(--amber);font-size:17px;font-weight:700;cursor:pointer}.how-foot{display:grid;gap:12px}.score-table-wrap{overflow-x:auto}.score-table{width:100%;border-collapse:collapse;font-size:16px}.score-table th{font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--muted);text-align:right;padding:6px}.score-table th:first-child,.score-table td:first-child{text-align:left}.score-table td{padding:10px 6px;text-align:right;border-top:1px solid var(--line)}.score-table tr.me td{color:var(--amber);font-weight:700}@media(prefers-reduced-motion:reduce){.card.shake,.card.landed{animation:none}}
