@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500&display=swap";:root{--bg:#f3f1e9;--ink:#173b31;--green:#174e3a;--lime:#dced91;--muted:#68766a}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:16px DM Sans,sans-serif}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;transition:transform .18s,background .18s}button:disabled{cursor:default;opacity:.43}:is(button:focus-visible,a:focus-visible,input:focus-visible){outline-offset:4px;outline:3px solid #e69c40}a{color:inherit}button{border:0}header{border-bottom:1px solid #173b3120;justify-content:space-between;align-items:center;gap:20px;height:94px;margin:0 5%;display:flex}.brand{letter-spacing:3px;align-items:center;gap:13px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.brand>span{background:var(--green);width:38px;height:38px;color:var(--lime);text-align:center;letter-spacing:-4px;border-radius:50%;padding-right:5px;font:italic 30px Georgia}.header-right{align-items:center;gap:38px;display:flex}.desktop,.eyebrow{letter-spacing:2px;font-size:12px;font-weight:700}.ghost{color:var(--ink);background:0 0;font-size:14px}.ghost span{border:1px solid #aaa;border-radius:50%;place-items:center;width:23px;height:23px;margin-left:8px;display:inline-grid}h1,h2{letter-spacing:-1.2px;font-family:Playfair Display,Georgia,serif;font-weight:500}h1{margin:25px 0;font-size:clamp(38px,4.5vw,68px);line-height:1.13}h1 em{color:#63816a;font-weight:500}h2{margin:15px 0 28px;font-size:32px;line-height:1.2}.welcome{grid-template-columns:1.25fr 1fr;align-items:center;gap:70px;max-width:1240px;margin:65px auto 50px;padding:0 35px;display:grid}.intro-copy{color:var(--muted);line-height:1.75}.sample-hand{padding:35px 0 24px 28px;display:flex}.sample-hand .card{opacity:1;width:103px;height:146px;margin-right:-15px;transform:rotate(-15deg)}.sample-hand .card:nth-child(2){z-index:1;transform:translateY(-10px)rotate(0)}.sample-hand .card:nth-child(3){transform:rotate(15deg)}.house-note{letter-spacing:1px;color:var(--muted);align-items:center;gap:13px;margin:16px 0;font-size:12px;display:flex}.house-note b{letter-spacing:0;color:var(--ink);font-size:14px}.entry{background:#fffdf8;border:1px solid #173b3122;border-radius:14px;padding:37px 38px;box-shadow:0 15px 45px #173b3106}.entry h2{font-size:32px}.entry label{margin:21px 0 9px;font-size:14px;font-weight:600;display:block}input{width:100%;color:var(--ink);background:#fff;border:1px solid #cdd3c8;border-radius:6px;min-width:0;padding:15px}.primary,.secondary,.call{border-radius:6px;min-height:49px;padding:15px 22px;font-weight:600}.primary{background:var(--green);color:#fff}.primary:hover:not(:disabled){background:#216047}.entry .primary,.entry .secondary{width:100%;margin-top:15px}.secondary{color:var(--ink);background:0 0;border:1px solid #b9c4b8}.secondary:hover:not(:disabled){background:#e5e9db}.divider{color:var(--muted);align-items:center;gap:12px;margin:28px 0 4px;font-size:13px;display:flex}.divider:before,.divider:after{content:"";background:#dce0d4;flex:1;height:1px}.code-input{letter-spacing:2px}.fine{color:var(--muted);margin-top:20px;font-size:13px;line-height:1.6}footer{color:var(--muted);border-top:1px solid #173b3120;justify-content:space-between;gap:18px;margin:30px 5% 0;padding:24px 0;font-size:12px;display:flex}footer b{margin:0 10px}.table-heading{justify-content:space-between;align-items:center;gap:20px;margin:34px 5% 25px;display:flex}.table-heading h1{margin:8px 0;font-size:34px}.table-heading .eyebrow{margin:0}.room-code{letter-spacing:2px;margin-top:7px;font-size:12px;font-weight:400;display:block}.game-layout{grid-template-columns:minmax(0,1fr) 260px;gap:26px;margin:0 5%;display:grid}.felt{color:#f8faed;background:radial-gradient(at 50% 30%,#235c47,#103e30);border:8px solid #c6cfb8;border-radius:24px;min-height:620px;padding:25px 27px 30px;box-shadow:inset 0 0 0 1px #e9f2d329}.players{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.seat{background:#173e3033;border:1px solid #ffffff20;border-radius:12px;flex-direction:column;align-items:center;gap:6px;min-width:100px;padding:12px 16px;display:flex;position:relative}.seat.active{border-color:var(--lime);background:#ffffff0b}.avatar{width:33px;height:33px;color:var(--green);background:#d7e1be;border-radius:50%;place-items:center;font-weight:700;display:grid}.seat strong{font-size:14px}.seat>span:last-of-type{color:#c1d2c5;font-size:12px}.seat>b{background:var(--lime);color:var(--green);letter-spacing:1px;border-radius:3px;padding:3px 7px;font-size:10px;position:absolute;bottom:-9px}.waiting{text-align:center;max-width:500px;margin:40px auto}.table-monogram{color:#dced9159;letter-spacing:-10px;padding-right:10px;font:italic 85px Georgia}.waiting h2{margin-bottom:15px;font-size:32px}.waiting p{color:#c6d7c8;line-height:1.65}.empty-seats{flex-wrap:wrap;justify-content:center;gap:8px;margin:25px 0;display:flex}.empty-seats span{color:#adc6b5;border:1px dashed #aacbb44d;border-radius:7px;padding:12px;font-size:12px}.felt .primary{background:var(--lime);color:#173b31}.felt .primary:hover:not(:disabled){background:#e5f6aa}.turn-label{text-align:center;color:var(--lime);margin:30px 0 22px;font-size:14px}.piles{justify-content:center;align-items:center;gap:48px;min-height:163px;display:flex}.piles p{color:#bbcebf;text-align:center;font-size:12px}.piles p b{color:#eff6de;padding-left:5px}.piles p span{margin-top:4px;display:block}.pile-cards{justify-content:center;gap:6px;display:flex}.card{color:#23362e;background:#fffdf4;border:2px solid #0000;border-radius:7px;flex-shrink:0;width:86px;height:121px;padding:0;position:relative;box-shadow:0 3px 1px #0002,0 7px 13px #0002}.card:disabled{opacity:1}.card.red{color:#b4463b}.corner{font-size:20px;font-weight:600;line-height:1;position:absolute;top:5px;left:7px}.corner i{margin-top:3px;font-size:17px;font-style:normal;display:block}.bottom{inset:auto 7px 5px auto;transform:rotate(180deg)}.suit{font:38px Georgia}.card.selected{border-color:#dcec8d;transform:translateY(-12px);box-shadow:0 0 0 2px #94ab48,0 10px 16px #0003}.card.back{background:repeating-linear-gradient(45deg,#163d30,#163d30 4px,#224b3a 4px 6px);border:5px solid #eceee1;box-shadow:2px 3px #acb6a2,4px 6px #f0efdd}.card.back span{color:#dce7c6;letter-spacing:-5px;font:italic 55px Georgia}.card.back.chosen{outline:2px solid var(--lime);outline-offset:5px}.hand-area{border-top:1px solid #ffffff20;margin-top:30px;padding-top:21px}.hand-heading{justify-content:space-between;font-size:14px;display:flex}.hand-heading span{color:#c8d6bf}.hand-heading b{color:var(--lime);margin-right:4px;font-size:24px}.hand{flex-wrap:wrap;justify-content:center;gap:12px;padding:27px 0 13px;display:flex}.instruction{text-align:center;color:#c1d0c3;font-size:13px;line-height:1.5}.actions{justify-content:center;gap:10px;margin-top:20px;display:flex}.call{color:#204534;background:#fcf7e5}.call span{color:#657250;margin-left:9px;font-size:12px}.score-panel{padding:15px 0}.score-panel h2{margin-top:10px;font-size:28px}.score-panel .eyebrow{font-size:11px}.scores>div{border-bottom:1px solid #173b3120;align-items:center;gap:12px;padding:16px 0;font-size:14px;display:flex}.scores>div>span{color:#8b9889;font-size:12px}.scores strong{overflow-wrap:anywhere;flex:1}.scores b{text-align:right;font-size:24px}.scores small{color:var(--muted);font-size:11px;font-weight:400;display:block}.activity{margin-top:35px}.activity h3{font-size:14px}.activity p{color:var(--muted);border-left:2px solid #bdc7b4;padding-left:12px;font-size:13px;line-height:1.5}.connection{color:#4a7056;margin-top:28px;font-size:12px;display:block}.connection:before{content:"●";margin-right:7px}.connection.offline{color:#a64434}.results{text-align:center;padding:35px 0 0}.results h2{color:var(--lime);margin:10px 0 24px;font-size:48px}.revealed{grid-template-columns:1fr 1fr;gap:24px;margin:25px 0;display:grid}.revealed strong{margin-bottom:12px;font-size:14px;display:block}.revealed strong span{color:var(--lime);margin-left:7px}.revealed>div>div{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.card.small{border-radius:4px;width:45px;height:65px}.small .corner{font-size:12px;top:3px;left:3px}.small .corner i{font-size:10px}.small .bottom{display:none}.small .suit{padding-left:9px;font-size:23px}.winner{color:var(--lime)}.toast{color:var(--ink);z-index:10;overflow-wrap:anywhere;background:#fffdf5;border:1px solid #bdc8b8;border-radius:10px;align-items:center;gap:20px;width:max-content;max-width:90%;padding:18px 22px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 35px #0002}.toast.error{color:#8a312a;border-color:#c67763}.toast button{color:inherit;background:0 0;font-size:25px}.modal-overlay{z-index:20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#082619bb;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--bg);border-radius:16px;max-width:650px;max-height:90vh;padding:35px;position:relative;overflow:auto}.modal ol{padding-left:22px}.modal li{margin:16px 0;font-size:15px;line-height:1.6}.close{color:var(--ink);background:0 0;font-size:28px;position:absolute;top:12px;right:18px}@media (max-width:1000px){.welcome{gap:30px;margin-top:45px}.entry{padding:28px}.game-layout{grid-template-columns:1fr}.score-panel{grid-template-columns:1fr 1fr;gap:0 30px;display:grid}.score-panel .scores{grid-column:1}.score-panel .activity{grid-area:1/2/5;margin-top:0}.score-panel .connection{grid-column:1}.felt{min-height:550px}}@media (max-width:680px){header{height:74px;margin:0 5%}.desktop{display:none}.brand{letter-spacing:2px;font-size:15px}.welcome{grid-template-columns:1fr;gap:26px;margin:28px auto;padding:0 22px}.intro h1{margin:15px 0;font-size:40px}.intro-copy{font-size:15px}.sample-hand{display:none}.house-note{margin-top:24px;font-size:10px}.house-note b{font-size:12px}.entry{padding:26px}.entry h2{font-size:29px}.table-heading{flex-direction:column;align-items:flex-start;margin-top:25px}.table-heading h1{font-size:29px}.table-heading .secondary{align-items:center;gap:15px;padding:11px 14px;font-size:13px;display:flex}.room-code{margin:0}.game-layout{gap:12px;margin:0 12px}.felt{border-width:5px;border-radius:18px;padding:18px 12px}.players{gap:7px}.seat{min-width:80px;padding:10px 8px}.seat strong{font-size:12px}.seat>span:last-of-type{font-size:11px}.avatar{width:27px;height:27px;font-size:13px}.piles{gap:27px}.card{width:62px;height:90px}.corner{font-size:16px;top:5px;left:5px}.corner i{font-size:13px}.suit{font-size:29px}.bottom{inset:auto 5px 5px auto}.pile-cards{flex-wrap:wrap;gap:3px;max-width:235px}.hand{gap:7px}.actions{flex-wrap:wrap}.actions button{padding:13px 16px;font-size:14px}.waiting h2{font-size:28px}.waiting{margin-top:25px}.score-panel{padding:18px;display:block}.score-panel .activity{margin-top:25px}.scores>div{padding:12px 0}.modal{padding:28px 23px}.modal h2{font-size:29px}.modal li{font-size:14px}.revealed{gap:18px 8px}.toast{font-size:14px;bottom:12px}footer{flex-direction:column;gap:8px;font-size:11px}.table-monogram{font-size:65px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.duel{text-align:center;max-width:600px;margin:50px auto 5px}.duel h2{color:var(--lime);font-size:40px}.duel p{line-height:1.65}.fine-light{color:#c4d8c8;font-size:13px;line-height:1.6}.duel .hand-area{margin-top:35px}.bot-label{letter-spacing:1px;color:#c4d8c8;margin-top:4px;font-size:10px;font-weight:400;display:block}
