:root{--paper:#f6f3e9;--ink:#223c32;--accent:#b89247;--felt:#244c3e;--back:#183c31;--chalk:#f5f0dc;--muted:#6c746a;}
@font-face{font-family:system;src:local("Georgia")}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,a,summary{touch-action:manipulation}button,select{font:inherit}button{cursor:pointer;border:1px solid #d4cec0;background:#fffdf7;color:var(--ink);border-radius:9px;min-height:44px;padding:10px 14px}button:disabled{cursor:default;opacity:.48}button:hover:not(:disabled){filter:brightness(.97)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}a{color:inherit;text-underline-offset:4px}header,main,footer{max-width:1180px;margin:auto;padding:0 28px}header{height:98px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dcd6c8}.brand{text-decoration:none;font:600 26px Georgia,serif;letter-spacing:-.04em;display:flex;gap:12px;align-items:center}.brand svg{width:36px;height:36px}header>a:last-child{font-size:14px}.skip{position:absolute;left:10px;top:-80px;padding:12px;background:white;z-index:10}.skip:focus{top:10px}.heading{display:flex;justify-content:space-between;align-items:center;padding:35px 0 24px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}h1{font:normal clamp(34px,4.8vw,58px)/1.05 Georgia,serif;letter-spacing:-.045em;margin:0}.heading-mark{font-size:60px;color:var(--accent);line-height:1}.layout{display:grid;grid-template-columns:minmax(0,1fr) 272px;gap:26px}.table{background:var(--felt);border-radius:20px;padding:22px;color:var(--chalk);box-shadow:inset 0 0 0 1px #ffffff18,0 15px 35px #17292314;min-width:0}.table-top,.hand-label{display:flex;justify-content:space-between;align-items:center;font-size:13px}.table-top{border-bottom:1px solid #ffffff22;padding-bottom:14px;margin-bottom:16px}.opponent{display:flex;gap:7px;justify-content:center;min-height:72px;margin:10px 0 18px}.card-back{display:inline-grid;place-items:center;width:44px;height:64px;border:2px solid #dacdaa;border-radius:6px;background:repeating-linear-gradient(45deg,#e4d4ac13 0 2px,transparent 2px 8px),var(--back);box-shadow:0 2px 4px #0002}.card-back span{font:30px Georgia;color:#e3d1a7}.card{position:relative;width:72px;height:104px;flex:0 0 72px;border:1px solid #e9e1cf;border-radius:8px;padding:6px;background:#fffdf6;color:#253733;box-shadow:0 3px 8px #0002;line-height:1}.card:disabled{opacity:1}.card-rank{position:absolute;top:8px;left:7px;font:700 16px Georgia}.card-suit{font:33px Georgia}.card-tail{position:absolute;bottom:8px;right:7px;transform:rotate(180deg);font:700 16px Georgia}.card.red,.red{color:#a4433a}.card.selected,.empty-pile.selected{outline:3px solid var(--accent);outline-offset:2px;transform:translateY(-5px)}.card.legal,.empty-pile.legal,.spread.legal{outline:3px solid #e9d094;outline-offset:2px}.card:disabled:not(.pile .card):not(#upcard .card){filter:saturate(.6)}.hand{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;padding-top:15px}.hand-label{border-top:1px solid #ffffff22;padding-top:17px;margin-top:18px}.hand-label h2{font:600 14px/1.3 -apple-system,sans-serif;margin:0}.piles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 9px;max-width:480px;margin:0 auto}.pile{display:flex;align-items:center;flex-direction:column;gap:7px}.pile small{font-size:10px;color:#eee4cabb}.empty-pile{height:104px;width:72px;padding:0;border:1px dashed #f3e7c26b;background:transparent;color:#eadbaf8c;font:24px Georgia}.empty-pile:first-letter{font-size:24px}.table-seal{align-self:center;text-align:center;color:#d6c38e96;display:flex;flex-direction:column;gap:6px}.table-seal>span{font:47px Georgia}.table-seal small{font-size:8px;letter-spacing:.12em}.rail{display:flex;flex-direction:column;gap:14px;padding:6px 0}.turn{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted)}.status{font-size:17px;line-height:1.5;margin:0;min-height:54px}.primary{background:var(--ink);color:#fffdf7;border-color:var(--ink)}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.controls{display:flex;flex-direction:column;gap:8px}.result{background:#e8e4d5;border:1px solid #d7cfb5;border-radius:12px;padding:17px}.result h2{font:26px Georgia;margin:0 0 8px}.result p{margin:0;font-size:14px}.save-note{font-size:11px;color:var(--muted);margin:0}.suits{border:1px solid #d9d0bc;background:#ece7d7;padding:14px;border-radius:12px}.suit-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.suit-buttons button{font-size:15px}.suits h2{font-size:14px;margin:0 0 12px}.suits>.quiet{margin-top:8px;width:100%}.center-cards{display:flex;align-items:center;justify-content:center;gap:30px;min-height:170px;padding:20px 0}.stock-art{height:104px;width:72px;display:grid;place-items:center;border:1px solid #dfceae;background:repeating-linear-gradient(45deg,#e4d4ac13 0 2px,transparent 2px 8px),var(--back);border-radius:8px;box-shadow:5px 5px 0 #ffffff22,8px 8px 0 #ffffff11;color:#e3d1a7;font:39px Georgia}.center-pile{text-align:center}.center-pile small{display:block;margin-top:12px;font-size:11px;color:#e9dfc5c9}#active-suit{text-align:center;font-size:15px;color:#f6e5b1}.points-panel{border-top:1px solid #d8d1c2;border-bottom:1px solid #d8d1c2;padding:12px 0;display:flex;justify-content:space-between;align-items:center}.points-panel strong{font:32px Georgia}.spreads{display:flex;flex-wrap:wrap;gap:8px;min-height:50px;justify-content:center}.spreads>p{font-size:12px;color:#e9dfc5aa}.spread{display:flex;gap:8px;align-items:center;background:#f9f3e2;padding:8px 10px;min-height:44px;box-shadow:0 2px 5px #0002}.spread:disabled{opacity:1}.spread span{font:700 17px Georgia}.steps{padding:25px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0;list-style:none;border-bottom:1px solid #dcd6c8}.steps li{display:flex;gap:12px;font-size:13px}.steps span{font:italic 22px Georgia;color:var(--accent)}.steps p{margin:0}.about{max-width:820px;margin:45px auto 65px}.about h2,.guide h2{font:normal 29px/1.2 Georgia;margin:26px 0 12px}.about h3{font-size:16px}.about p,.guide p,.guide li{color:#536058}.about details{padding:16px 0;border-bottom:1px solid #dcd6c8}.about summary{font-weight:600;cursor:pointer}.about details p{margin-bottom:0}.related{display:flex;gap:10px 24px;flex-wrap:wrap;margin-top:24px}.related a{font-size:14px}footer{display:flex;justify-content:space-between;border-top:1px solid #dcd6c8;padding-top:25px;padding-bottom:35px;font-size:12px;color:var(--muted)}footer nav{display:flex;gap:22px}.notice{background:#fff3d5;border:1px solid #e0ca91;border-radius:9px;padding:14px;margin:0 0 18px}.notice p{margin:0 0 10px}.notice pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.guide{max-width:780px;padding:35px 24px 70px}.guide h1{font-size:45px;margin:24px 0}.guide a{color:var(--ink)}.guide li{margin:12px 0}dialog{border:1px solid #d0c4a9;border-radius:14px;max-width:390px;padding:24px;background:#fffaf0;color:var(--ink)}dialog::backdrop{background:#172b266b}dialog h2{font:26px Georgia;margin:0 0 14px}dialog .dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}[hidden]{display:none!important}@media(max-width:800px){.layout{grid-template-columns:1fr}.rail{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:12px}.rail>.turn,.rail>.status,.rail>.result,.rail>.suits,.rail>.points-panel,.rail>.save-note{grid-column:1/-1}.status{min-height:0}.controls{grid-column:1/-1;display:flex;flex-direction:row;flex-wrap:wrap}.controls button{flex:1;min-width:110px}.steps{gap:12px}.heading{padding-top:27px}.table{padding:18px}}@media(max-width:420px){header,main,footer{padding-left:16px;padding-right:16px}header{height:78px}.brand{font-size:23px;gap:7px}header>a:last-child{font-size:12px}.heading-mark{font-size:40px}h1{font-size:34px}.table{padding:14px 10px;border-radius:13px}.piles{gap:11px 5px}.card,.empty-pile,.stock-art{width:61px;height:89px;flex-basis:61px}.card-rank,.card-tail{font-size:14px}.card-suit{font-size:28px}.hand{gap:7px}.opponent{gap:4px}.card-back{width:30px;height:48px}.card-back span{font-size:22px}.steps{grid-template-columns:1fr;gap:10px;padding:20px 0}.steps li{align-items:center}.about{margin-top:30px}.table-top{font-size:11px}.center-cards{gap:26px;min-height:145px}.rail{gap:9px}footer{gap:16px;align-items:flex-start}.heading{gap:12px}.about h2{font-size:26px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
