.stage{max-width:600px;margin:12px auto;padding:0;border:0;min-width:0}.turnbar{--tb-msg-lines:2;--tb-st-lines:1;--tb-rt:0px;margin:0 0 8px;padding:8px 12px}.turnbar .status{font-size:14px}.turnbar .message{font-size:16px;line-height:24px;height:48px;min-height:48px;margin:2px 0 0;overflow-wrap:anywhere}.table{background:#285b46 url('assets/felt.webp');border-radius:6px;color:#fff;padding:8px}.table-top{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:8px}.reserve{display:flex;align-items:center;gap:12px;padding:4px 8px;border:1px solid #ffffff80;border-radius:6px;background:#ffffff0a;color:#fff;font:600 15px system-ui;cursor:pointer;min-height:66px}.reserve:disabled{cursor:default;opacity:.65;border-style:dashed}.reserve small{display:block;font-size:14px;font-weight:400;line-height:1.5}.reserve-cards{position:relative;width:56px;height:56px;display:block}.reserve-cards>span{position:absolute;width:36px;left:0;top:0}.reserve-cards>span:nth-child(2){left:8px;top:2px}.reserve-cards>span:nth-child(3){left:16px;top:4px}.reserve svg{width:100%;display:block}.reserve .used-reserve{width:54px;height:56px;display:grid;place-items:center;border:1px dashed #ffffff70;border-radius:4px;font-size:24px}.selected-info{font-size:14px;line-height:1.5;min-width:0;max-width:45%;margin:0}.selected-info.holding{color:#ffe29b;font-weight:600}.board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:4px 0 8px}.column{min-width:0}.column-label{height:24px;font:14px/24px system-ui;text-align:center;color:#fff;position:relative}.column.done .column-label{color:#cbf4dd;font-weight:700}.stack{position:relative;min-height:60px;border-radius:4px}.tile{position:absolute;left:0;width:100%;padding:0;border:0;border-radius:4px;background:transparent;box-shadow:0 1px 2px #0005;touch-action:none;cursor:pointer}.tile:disabled{opacity:1;cursor:default}.tile svg{display:block;width:100%;height:100%;pointer-events:none}.tile.chosen{outline:3px solid #ffd66d;outline-offset:-2px;box-shadow:0 2px 3px #0006}.source .stack{outline:2px solid #ffd66d;outline-offset:2px}.target .stack{outline:3px solid #9debc2;outline-offset:1px;background:#ffffff10}.drop-mark{position:absolute;right:1px;color:#cbf4dd;font-weight:bold}.target .tile:last-child{outline:3px solid #9debc2;outline-offset:-2px}.empty-space{width:100%;padding:0;border:1px dashed #ffffff80;border-radius:4px;color:#fff;background:#ffffff0a;font:600 20px system-ui;cursor:pointer}.empty-space span{display:block;font-size:18px}.tile:focus-visible,.reserve:focus-visible,.empty-space:focus-visible{outline:3px solid #ffe29b;outline-offset:1px}.done .stack{border-bottom:3px solid #9debc2}.play-tools{display:flex;gap:8px;margin:10px 0 0;flex-wrap:wrap}.play-tools .btn{flex:1;min-width:0;min-height:44px;padding:8px}.play-tools [hidden]{display:none}.more-tools{margin:8px 0}.more-tools summary{min-height:44px;padding:10px 0;cursor:pointer;color:var(--ink-sub)}.utility,.controls,.result-tools{display:flex;gap:8px;flex-wrap:wrap}.utility .btn,.result-tools .btn{min-height:44px}.records{font-size:14px}.panel{padding:16px;border:1px solid var(--line);background:var(--surface);border-radius:6px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.field label{font-size:16px}#setup select,#setup input{width:100%;min-width:0;min-height:44px;font:inherit;font-size:16px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:6px;color:var(--ink);background:var(--surface)}#setup select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}#result{border:2px solid var(--ok);border-radius:6px;padding:16px;margin:12px 0}#result h2{font-size:20px;margin:0 0 8px}.paused .tile svg{visibility:hidden}.motion-layer{position:fixed;inset:0;pointer-events:none;z-index:1000}.motion-card{position:absolute;pointer-events:none}.motion-card svg{width:100%;height:100%;display:block;filter:drop-shadow(0 2px 2px #0006)}.stage[aria-busy='true'] .tile{cursor:wait}.hinted{outline:3px solid #ffd66d}.rejected .stack{outline:3px solid #efa094}.ad-gap{height:160px}.article{max-width:800px;margin:auto}.article p{line-height:1.85}.article figure{max-width:600px;margin:24px auto}.article img{display:block;width:100%;height:auto}.article figcaption{font-size:15px;line-height:1.7;margin-top:8px}.howto-scene{position:relative}.howto-marks{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.howto-marks path{fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.howto-marks circle{fill:#23465b;stroke:#fff;stroke-width:3}.howto-marks text{fill:#fff;font:bold 22px system-ui;text-anchor:middle}.howto-marks rect{fill:none;stroke:#fff;stroke-width:3;stroke-dasharray:7 4}@media(max-width:640px){.stage{margin-left:-8px;margin-right:-8px}.table{padding:6px}.board{gap:3px}.reserve{gap:8px;padding:4px 6px}.selected-info{max-width:43%}.game-title{margin-top:12px}.game-lead{margin-bottom:12px}.column-label{font-size:12px}}@media(prefers-reduced-motion:no-preference){.rejected{animation:reject .2s ease-out}@keyframes reject{25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}}.controls-inline dt,.controls-inline dd{min-width:0;overflow-wrap:anywhere}.controls-inline dl.cc-two{grid-template-columns:minmax(0,60%) minmax(0,1fr)}
/* Keep the game compact enough for a 720px desktop window. */
.stage{max-width:520px}.turnbar{min-height:0}.turnbar .status{min-height:0;line-height:20px}.turnbar .message{height:48px;min-height:48px}.table-top{margin-bottom:4px}.reserve{min-height:60px}.reserve-cards{height:52px}.column-label{height:20px;line-height:20px}.play-tools .btn{font-size:16px;line-height:24px;padding:8px 4px;min-height:44px}@media(min-width:700px){.turnbar .message{height:24px;min-height:24px}}
.play-tools{margin:0 0 8px}.win-next{min-height:44px}.table-top [hidden]{display:none}
.table .play-tools .btn{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}
