.stage{max-width:850px;margin:auto;padding:16px;background:#e9f0ea;border:1px solid #bccdc4;border-radius:12px;color:#263b45}.turnbar{--tb-msg-lines:3}.turnbar .message{overflow-wrap:anywhere}#setup{display:flex;flex-wrap:wrap;gap:12px}#setup .field{flex:1 1 180px}#setup p{flex-basis:100%}.controls{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.btn{min-height:44px}.board-viewport{overflow-x:auto;max-width:100%;padding:4px 2px 12px;overscroll-behavior-x:contain}.tableau{display:grid;grid-template-columns:repeat(7,minmax(48px,1fr));gap:8px;min-width:384px;min-height:340px}.column{min-width:0}.pile{position:relative;min-height:76px}.pile-target{width:100%;height:44px;margin-bottom:8px;border:1px solid #7e9891;border-radius:6px;background:#f7faf6;color:#263b45;cursor:pointer}.playing-card,.back-card{position:absolute;left:0;width:100%;height:76px;padding:0;background:transparent;border:0;border-radius:6px}.playing-card svg,.back-card svg{width:100%;height:100%;display:block}.playing-card{cursor:pointer}.playing-card.selected{outline:3px solid #cf8b29;outline-offset:-2px}.playing-card:focus-visible,.pile-target:focus-visible,.foundation:focus-visible{outline:3px solid #275eae;outline-offset:2px}.foundations{display:flex;gap:12px;margin:12px 0}.foundation{width:56px;height:76px;padding:0;border:1px dashed #6b8780;border-radius:6px;background:#f7faf6;color:#263b45;font-size:25px;cursor:pointer}.foundation svg{width:100%;height:100%}#deal-label,#progress{font-size:.9rem;overflow-wrap:anywhere}#result{padding:12px;background:#fffdf6;border-radius:8px}.article img{display:block;width:100%;height:auto}.article table{width:100%;table-layout:fixed;overflow-wrap:anywhere}.ad-gap{height:150px}main{min-width:0}.paused .playing-card{visibility:hidden}ruby rt{font-size:.55em}@media(min-width:700px){.turnbar{--tb-msg-lines:2}}@media(prefers-color-scheme:dark){.stage{background:#253e39;color:#eef5ee}.pile-target,.foundation{background:#304b45;color:#eef5ee}#result{background:#304b45}}
.controls-inline dl.cc-two{grid-template-columns:minmax(0,60%) minmax(0,1fr)}.controls-inline dt,.controls-inline dd{min-width:0;overflow-wrap:anywhere}
.tableau{grid-template-columns:repeat(7,minmax(64px,1fr));min-width:496px}.pile-target{font-size:17px}.playing-card svg{filter:drop-shadow(0 1px 1px #263b4520)}

/* Pilot: seven visible columns, direct card destinations. */
.stage{background:transparent;padding:8px;max-width:720px;border:0}.foundations,.board-viewport{background:#285b46 url('assets/felt.webp');color:#fff}.foundations{padding:10px;margin:0;gap:8px;justify-content:flex-end;border-radius:8px 8px 0 0}.board-viewport{padding:12px 6px 10px;overflow:visible;border-radius:0 0 8px 8px}.tableau{grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;gap:3px;min-height:250px}.pile{min-height:74px}.playing-card,.back-card{border-radius:4px}.playing-card svg,.back-card svg{filter:drop-shadow(0 1px 1px #0005)}.pile-target{height:22px;margin:0 0 5px;min-height:0;border:0;background:transparent;color:#ffffffb0;font-size:12px}.foundation{position:relative;width:48px;height:66px;background:#ffffff12;color:#ffffff80;border:1px dashed #ffffff60}.foundation small{display:block;font-size:14px}.foundation span{font-size:25px}.playing-card.selected{outline:3px solid #ffd66d;outline-offset:-2px;filter:brightness(1.08)}.foundation.selected{outline:3px solid #ffd66d}.column.legal-target .pile,.foundation.legal-target{outline:3px solid #9debc2;outline-offset:1px;border-radius:5px;background:#ffffff15}.destination-card{box-shadow:0 0 0 2px #9debc2}.empty-slot{width:100%;height:66px;background:#ffffff12;color:#ffffff80;border:1px dashed #ffffff60;border-radius:5px;font:inherit}.play-tools{display:flex;gap:8px;margin:10px 0}.play-tools .btn{flex:1;min-width:0;padding:8px 4px}.more-tools{margin:8px 0}.more-tools summary{cursor:pointer;min-height:44px;padding:10px;color:var(--ink-sub)}#deal-label,#progress{font-size:13px;margin:6px 0}.turnbar{--tb-msg-lines:2}.playing-card{touch-action:manipulation}.ad-gap{height:160px}@media(min-width:700px){.foundation{width:64px;height:88px}.board-viewport{padding:16px 8px}.turnbar{--tb-msg-lines:2}}@media(prefers-reduced-motion:no-preference){.playing-card.selected svg{transform:translateY(-2px)}.playing-card svg{transition:transform .12s}}

.column.arrived .pile{outline:3px solid #9debc2;border-radius:5px}.column.rejected .pile{outline:3px solid #ef9488;border-radius:5px}@media(prefers-reduced-motion:no-preference){.column.arrived .pile{animation:arrival .25s ease-out}.column.rejected{animation:reject .2s ease-out}@keyframes arrival{from{transform:translateY(-4px);opacity:.75}to{transform:none;opacity:1}}@keyframes reject{25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}}

.turnbar{--tb-msg-lines:1;--tb-st-lines:1;margin:0 0 6px;padding:6px 10px;min-height:0}.turnbar .status{min-height:0;font-size:15px}.turnbar .message{font-size:15px;line-height:1.6;min-height:1.6em;height:1.6em}.column.selected-source .pile{outline:3px solid #ffd66d;outline-offset:1px;border-radius:5px}.column.selected-source.legal-target .pile{outline-color:#ffd66d}.column.legal-target:not(.selected-source) .pile{outline-color:#9debc2}#deal-label{font-size:12px;line-height:1.4;margin:4px 0}#progress{font-size:12px;line-height:1.4;margin:4px 0}.setup-section{margin-bottom:8px}.game-title{margin-top:16px}.play-tools .btn{min-height:44px}

/* Settings remain native controls, with the same tap size and type as buttons. */
#setup{padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);align-items:flex-start}
#setup .field{display:flex;flex-direction:column;gap:8px;flex:1 1 260px;min-width:0;margin:0}
#setup .field>.label{margin:0;font-size:16px;line-height:1.4}
#setup select,#setup input[type="number"]{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:16px;line-height:1.4}
#setup select{cursor:pointer;appearance:auto;padding-right:28px}
#setup select:focus-visible,#setup input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
#setup>label:not(.field){display:flex;align-items:center;gap:10px;flex-basis:100%;min-height:44px;line-height:1.5;cursor:pointer}
#setup input[type="checkbox"]{width:20px;height:20px;margin:0;flex:0 0 20px;accent-color:var(--accent)}
#setup>p{margin:0;color:var(--ink-sub);font-size:14px;line-height:1.6}
#setup .controls{margin:4px 0 0;flex-basis:100%}

/* Numbered arrows scale with the screenshot; captions stay readable on phones. */
.article .howto{max-width:672px;margin:16px auto 24px}
.howto-scene{position:relative}
.howto-scene>img{box-sizing:border-box}
.howto-marks{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.howto-arrow-halo,.howto-arrow{fill:none;stroke-linecap:round;stroke-linejoin:round}
.howto-arrow-halo{stroke:#fff;stroke-width:9}
.howto-arrow{stroke:#23465b;stroke-width:4}
.howto-highlight{fill:none;stroke:#fff;stroke-width:4;stroke-dasharray:8 5}
.howto-pin circle{fill:#23465b;stroke:#fff;stroke-width:3}
.howto-pin text{fill:#fff;font:700 30px system-ui,sans-serif;text-anchor:middle}
.howto-notes{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none;color:var(--ink);font-size:15px;line-height:1.6}
.howto-notes li{display:flex;align-items:flex-start;gap:8px;margin:0}
.howto-number{display:inline-grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;background:#23465b;color:#fff;font-size:14px;font-weight:700}

/* Isolated card motion overlay: never intercepts game input. */
.card-motion-layer{position:fixed;inset:0;pointer-events:none;z-index:1000}.motion-card{position:absolute;transform-origin:top left;pointer-events:none;border:0;background:transparent}.motion-card svg{display:block;width:100%;height:100%;filter:drop-shadow(0 3px 2px #0005)}.stage[aria-busy="true"] .playing-card,.stage[aria-busy="true"] .foundation{cursor:wait}@media(prefers-reduced-motion:reduce){.column.rejected,.column.arrived .pile,.playing-card svg{animation:none!important;transition:none!important;transform:none!important}}
