@charset "UTF-8";
:root{color-scheme:dark;--ink:#fff7e3;--muted:#b4c9bc;--gold:#d9b875;--goldlight:#f4ddb0;--cardw:86px;--cardh:124px;font-family:Georgia,'Times New Roman',serif;background:#061f19;color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 30%,#14533d66,transparent 70%),linear-gradient(130deg,#061a16,#082e24 55%,#061b17)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{min-height:44px;border:1px solid #b5b69666;background:#113e30;color:var(--ink);border-radius:7px;padding:10px 17px;cursor:pointer;font-family:system-ui,sans-serif;font-size:14px;font-weight:600;transition:background .18s,transform .18s}button:hover:enabled{background:#245b44;transform:translateY(-1px)}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffe197;outline-offset:4px}.primary,.gold{background:linear-gradient(120deg,#e6c98a,#bc9653);color:#1e281e;border-color:#f6deac;box-shadow:0 3px 12px #0004}.primary:hover:enabled,.gold:hover:enabled{background:#f4d89c}.quiet{background:transparent;border-color:#ffffff25}a{color:var(--goldlight);text-decoration:none}a:hover{text-decoration:underline}.topbar{display:flex;align-items:center;justify-content:space-between;padding:19px 4vw;border-bottom:1px solid #d9b87525;gap:12px;font:14px system-ui,sans-serif}.wordmark{letter-spacing:3px;font-size:12px;color:var(--gold)}.wordmark span{display:block;text-align:center;letter-spacing:4px;font-size:9px;margin-top:6px;color:#a3b9a8}.topbar nav{display:flex;gap:8px}main{max-width:1240px;margin:auto;padding:0 30px 24px}h1,h2,h3,p{margin-top:0}h1{font-size:48px;font-weight:400;letter-spacing:-1px;margin-bottom:14px}h2{font-size:32px;font-weight:400;line-height:1.15;margin-bottom:20px}h3{font-size:21px;color:var(--goldlight);margin:26px 0 10px}.eyebrow{font:11px system-ui,sans-serif;letter-spacing:3px;color:var(--gold);margin-bottom:12px}.welcome{max-width:610px;margin:32px auto 0;text-align:center}.crest{width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;font-size:37px;color:var(--gold);margin:0 auto 22px}.welcome h1{font-size:72px;margin-bottom:12px}.intro{font-size:20px;line-height:1.5;color:#c4d7c9;margin-bottom:10px}.welcome-cards{display:flex;justify-content:center;height:130px;padding-top:14px;margin-bottom:25px}.sample{width:79px;height:111px;border-radius:8px;background:linear-gradient(120deg,#fffdf6,#e6dfc9);color:#152d25;box-shadow:0 10px 16px #0006;padding:8px;font-size:21px;text-align:left;border:1px solid #fff9}.sample span{display:block;text-align:center;font-size:42px}.sample:first-child{transform:rotate(-15deg) translate(9px,9px)}.sample:last-child{transform:rotate(15deg) translate(-9px,9px)}.sample:nth-child(2){z-index:1}.setup{padding:25px;border:1px solid #d9b87540;border-radius:13px;background:linear-gradient(140deg,#ffffff08,transparent);box-shadow:0 15px 50px #0002;text-align:left}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fields label:first-child{grid-column:1/-1}label{display:block;font:14px system-ui,sans-serif;color:#dfebdf}input:not([type=checkbox]):not([type=range]),select{display:block;width:100%;margin:8px 0 0;background:#082b22;border:1px solid #81988380;border-radius:6px;padding:12px;color:#fff6e5;font:16px system-ui,sans-serif;min-height:46px}input[type=range]{display:block;width:100%;margin:18px 0 28px}input[type=checkbox]{width:20px;height:20px;accent-color:var(--gold)}.wide{width:100%;margin-top:18px}.wide span{float:right}.fine{font:10px system-ui,sans-serif;color:#819c8b;letter-spacing:2px;margin:25px 0}.muted{color:var(--muted);font-size:15px;line-height:1.5}.table-heading{display:flex;align-items:center;justify-content:space-between;padding:25px 5px 16px}.table-heading h1{font-size:37px;margin-bottom:0}.table-heading .eyebrow{margin-bottom:6px}.table-tools{display:flex;align-items:center;gap:15px;font:14px system-ui,sans-serif;color:#c7d6c9}.table{padding:13px;border-radius:50px;background:repeating-linear-gradient(5deg,#522b1c 0,#633b24 4px,#3e251b 9px,#72442a 12px);box-shadow:0 20px 50px #0008,inset 0 2px 2px #dda96e8c,inset 0 -3px 6px #140900;border:1px solid #966d43}.rail{min-height:640px;border:2px solid #bda06588;border-radius:37px;padding:24px 30px 17px;box-shadow:inset 0 0 40px #001b13,0 0 0 5px #190d0790;background:radial-gradient(ellipse at 50% 35%,#22784f55,transparent 65%),repeating-linear-gradient(45deg,#ffffff02 0,#ffffff02 1px,transparent 1px,transparent 3px),#0b4a35}.player{display:flex;align-items:center;justify-content:center;gap:16px;font:16px system-ui,sans-serif}.player .avatar{width:42px;height:42px;background:#062d23;border:1px solid #b4b89060;border-radius:50%;display:grid;place-items:center;color:var(--gold);font:24px Georgia}.player strong{font-weight:500}.player small{display:block;font-size:12px;color:#c0d4bf;margin-top:4px}.player .score{border-left:1px solid #c4c69b55;padding-left:16px;font:30px Georgia;color:var(--goldlight)}.player .score small{font:10px system-ui;letter-spacing:1px}.opponent-cards{height:48px;display:flex;justify-content:center;margin:14px 0 3px}.mini-back{height:46px;width:31px;border:2px solid #cbbd88;border-radius:4px;background:repeating-linear-gradient(45deg,#cdb87522 0,#cdb87522 1px,transparent 1px,transparent 5px),#123e36;margin-left:-9px;box-shadow:0 2px 4px #0004;transform:rotate(-3deg)}.table-center{display:flex;align-items:center;justify-content:center;gap:45px;margin-top:14px}.pile-wrap{display:flex;flex-direction:column;align-items:center;gap:11px}.pile-wrap>span{font:11px system-ui,sans-serif;letter-spacing:1.5px;color:#c3d2b5}.card{position:relative;width:var(--cardw);height:var(--cardh);padding:7px 8px;flex-shrink:0;border:1px solid #fff8;border-radius:8px;background:linear-gradient(125deg,#fffef9,#f0ebdc);color:#122c28;box-shadow:0 5px 8px #00190e60;text-align:left;line-height:1;font:24px Georgia,serif;transition:transform .22s,box-shadow .22s;min-height:0}.card:hover:enabled{background:#fffef6;transform:translateY(-6px)}.card:disabled{opacity:1;cursor:default}.card.red{color:#b13237}.card .corner{display:flex;flex-direction:column;align-items:center;width:19px;line-height:.96}.card .corner b{font-size:19px;font-weight:400;margin-top:2px}.card .center-suit{position:absolute;left:0;right:0;text-align:center;top:37%;font-size:41px}.card .bottom{position:absolute;right:7px;bottom:7px;transform:rotate(180deg)}.card.selected{transform:translateY(-13px);outline:3px solid #eac580;box-shadow:0 14px 20px #0006}.card.meld:after{content:'M';position:absolute;bottom:5px;left:6px;background:#126045;border-radius:3px;color:#fff;font:9px system-ui;padding:2px 3px}.card.back{background:repeating-linear-gradient(45deg,#d7c38824 0,#d7c38824 1px,transparent 1px,transparent 6px),linear-gradient(135deg,#124e48,#072823);border:4px solid #e2d8b7;padding:4px;color:var(--gold)}.back-inner{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #d9b875aa;outline:1px solid #d9b87555;outline-offset:-5px;border-radius:3px;font-size:46px}.back-inner small{font:6px system-ui;letter-spacing:1px;margin-top:9px}.pile{box-shadow:2px 3px #d2cbb7,3px 5px #777462,5px 7px #d2cbb7,8px 12px 12px #00190c99}.center-mark{text-align:center;opacity:.37;color:#e7d699}.center-mark span{font-size:34px;letter-spacing:9px;border-top:1px solid;border-bottom:1px solid;padding:8px}.center-mark small{display:block;font:8px system-ui,sans-serif;letter-spacing:2px;margin-top:21px}.guidance{text-align:center;font:16px system-ui;line-height:1.4;margin:23px 0 12px;min-height:23px}.turn-actions{display:flex;justify-content:center;gap:10px;margin-bottom:18px}.self{justify-content:flex-start;border-top:1px solid #c9d1a630;padding-top:14px}.self .score{margin-left:auto}.hand-header{display:flex;justify-content:space-between;align-items:center;margin:14px 0 23px;font:14px system-ui;color:#d7e0ce;gap:10px}.sorts{display:flex;gap:5px}.sorts button{font-size:12px;min-height:38px;padding:7px 10px;background:#07352588}.hand{display:flex;justify-content:center;gap:7px;min-height:var(--cardh);padding:0 3px 5px}.actionbar{display:flex;gap:10px;align-items:center;margin-top:20px}.actionbar #selection{margin-right:auto;font:13px system-ui;color:#e2e9d7}.message{font:14px system-ui;text-align:center;margin:12px 0 0;color:#ffe4a9;min-height:18px}.table-note{display:flex;justify-content:space-between;color:#a8bbaa;font:12px system-ui;margin:18px 14px}.room-panel{display:flex;gap:12px;align-items:center;background:#12372d;border:1px solid #af9a6377;border-radius:10px;padding:15px;margin-bottom:15px;font:14px system-ui}.room-panel div{margin-right:auto}.room-panel p{margin:6px 0 0}.room-panel strong{letter-spacing:1px}#endActions{text-align:center;margin-top:12px}#endActions button{margin:4px}dialog{background:#0b3329;color:var(--ink);border:1px solid #c5a369aa;border-radius:16px;max-width:660px;width:calc(100% - 28px);max-height:90dvh;padding:0;box-shadow:0 24px 90px #000a}dialog::backdrop{background:#031811df;backdrop-filter:blur(7px)}.dialog-body{padding:32px}.dialog-body p,.dialog-body li{line-height:1.65}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.check{display:flex;align-items:center;gap:10px;margin:23px 0}.privacy-body{text-align:center;padding:48px 32px}.meld-group{border-top:1px solid #d5c68f33;padding:12px 0;font:15px system-ui;line-height:1.7}.meld-group strong{display:block;color:var(--goldlight);margin-bottom:5px}.chip{display:inline-block;background:#f8f2df;color:#162f27;padding:5px 7px;margin:3px;border-radius:4px;white-space:nowrap}.chip.red{color:#a62730}.result-total{font:23px Georgia;color:var(--goldlight)}[hidden]{display:none!important}body.larger{--cardw:96px;--cardh:140px}body.animate .card{animation:deal .3s ease-out both}body.animate .card:nth-child(2n){animation-delay:.025s}@keyframes deal{from{opacity:.5;transform:translateY(-10px) rotate(-2deg)}to{opacity:1}}@media(min-width:1000px){body.larger .hand{gap:3px}}@media(max-width:1000px){:root{--cardw:70px;--cardh:105px}.rail{padding:20px 17px}.hand{gap:4px}body.larger .hand{flex-wrap:wrap}.wordmark{display:none}.actionbar{flex-wrap:wrap}}@media(max-width:700px){:root{--cardw:58px;--cardh:86px}.topbar{padding:10px 13px}.topbar a{font-size:12px}.topbar button{padding:8px 10px;font-size:12px}main{padding:0 8px 20px}.welcome{margin-top:25px;padding:0 10px}.welcome h1{font-size:58px}.welcome .crest{margin-bottom:18px}.table-heading{padding:17px 7px 12px}.table-heading h1{font-size:30px}.table-heading .eyebrow{font-size:9px;letter-spacing:2px}.table-tools{gap:8px;font-size:12px}.table-tools button{padding:7px 10px;font-size:12px}.table{border-radius:25px;padding:7px}.rail{min-height:0;border-radius:18px;padding:14px 9px 10px}.opponent-cards{height:25px;margin:8px 0}.mini-back{height:25px;width:22px}.player{font-size:14px;gap:10px}.player .avatar{height:34px;width:34px;font-size:22px}.player .score{font-size:25px}.player small{font-size:11px}.table-center{gap:29px;margin-top:8px}.center-mark span{font-size:24px;letter-spacing:5px}.center-mark small{font-size:6px;letter-spacing:1px}.pile-wrap{gap:8px}.pile-wrap>span{font-size:10px}.guidance{font-size:14px;margin:14px 0 10px}.turn-actions{gap:6px;margin-bottom:12px}.turn-actions button{font-size:12px;padding:8px 10px}.self{padding-top:10px}.hand-header{align-items:flex-start;flex-direction:column;gap:8px;margin:10px 0 17px}.sorts{width:100%;justify-content:space-between}.sorts button{min-height:40px;flex:1;font-size:11px;padding:7px 5px}.hand{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 3px;justify-items:center;min-height:190px}.hand .card{width:100%;max-width:68px}.card{font-size:19px;padding:5px}.card .corner{width:15px}.card .corner b{font-size:16px}.card .center-suit{font-size:30px;top:35%}.card .bottom{right:5px;bottom:5px}.card.meld:after{font-size:7px;bottom:3px;left:3px}.card.selected{transform:translateY(-8px)}.back-inner{font-size:31px}.back-inner small{font-size:4px}.actionbar{display:grid;grid-template-columns:1fr 1.4fr 1fr 1fr;gap:5px;margin-top:10px}.actionbar #selection{grid-column:1/-1;grid-row:1;font-size:12px;text-align:center;margin:0 0 3px}.actionbar button{padding:9px 4px;font-size:12px}#discard{font-size:11px}.message{font-size:12px;margin-top:8px}.table-note{font-size:10px;justify-content:center;line-height:1.5}.table-note span{display:none}.room-panel{flex-wrap:wrap;padding:10px}.room-panel div{width:100%}.room-panel button{flex:1;font-size:12px}.dialog-body{padding:24px 20px}h2{font-size:29px}.fields{gap:14px 10px}.setup{padding:20px}.fine{font-size:8px}body.larger{--cardw:66px;--cardh:100px}body.larger .hand{grid-template-columns:repeat(5,minmax(0,1fr));min-height:210px}body.larger .hand .card{max-width:85px}body.larger .card{font-size:23px}body.larger .card .center-suit{font-size:35px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}body:not(.animate) *,body:not(.animate) *:before{animation:none!important;transition:none!important}
/* Keep corner indices clear of the central suit. */
.card .corner{position:absolute;top:7px;left:7px}.card .corner.bottom{top:auto;left:auto;right:7px;bottom:7px}
body.animate .card{animation:none}body.animate .card.enter-card{animation:deal .28s ease-out both}
@media(max-width:700px){.topbar{padding:7px 12px}.table-heading{padding:12px 7px 10px}.opponent-cards{display:none}.rail{padding-top:12px}.table-center{margin-top:12px}.hand-header{margin-bottom:15px}.sorts button{min-height:44px}.card .corner{top:5px;left:5px}.card .corner.bottom{top:auto;left:auto;right:5px;bottom:5px}.guidance{margin-top:12px}.table-note{margin:12px 6px}.table-heading h1{font-size:28px}}
.hand>.card{flex-shrink:1;min-width:0}
#results.celebrate{border-color:#f4d18b;background:radial-gradient(ellipse at top,#7d692b55,transparent 65%),#0b3329}#results.celebrate h2{color:#f4d69a}body.animate #results.celebrate[open]{animation:celebrate .65s ease-out}@keyframes celebrate{from{box-shadow:0 0 70px #e5c06a99;transform:scale(.97)}to{box-shadow:0 24px 90px #000a;transform:scale(1)}}
