:root{color:#18231f;font-synthesis:none;--ivory:#f6efde;--paper:#fffbf2;--green:#124a3b;--red:#b62d2b;--line:#d8ccb5;--gold:#bb8731;background:#f6efde;font-family:Arial,Helvetica,sans-serif;font-weight:400}.control-icon{width:18px;height:18px}.light .control-icon{filter:brightness(0)invert()}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}button:focus-visible{outline-offset:4px;outline:3px solid #bb8731}a:focus-visible{outline-offset:4px;outline:3px solid #bb8731}input:focus-visible{outline-offset:4px;outline:3px solid #bb8731}select:focus-visible{outline-offset:4px;outline:3px solid #bb8731}h1,h2,h3,p{margin:0}h1,h2{letter-spacing:-.055em;font-family:Georgia,Times New Roman,serif;font-weight:600}h1{font-size:clamp(2.7rem,4.2vw,4.8rem);line-height:1.02}h2{font-size:2.1rem;line-height:1.1}h3{letter-spacing:-.02em;font-size:1.05rem}p{line-height:1.55}.muted,.fine{color:#746c5c}.fine{font-size:.76rem;line-height:1.6}.eyebrow{letter-spacing:.17em;text-transform:uppercase;font-size:.64rem;font-weight:800;line-height:1.8}.connection{text-align:center;letter-spacing:.04em;color:var(--green);background:#e5d9bd;min-height:25px;padding:6px 10px;font-size:.65rem}.connection.connected{background:var(--green);color:#c7d4b6}.notice{z-index:20;background:var(--paper);border:2px solid var(--red);border-radius:8px;align-items:center;gap:15px;width:min(92vw,650px);padding:16px;font-size:.9rem;display:flex;position:fixed;top:36px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0003}.notice button{color:var(--red);background:0 0;border:none;font-size:1.5rem}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:22px;height:98px;margin:0 5%;display:flex}.wordmark{width:210px;max-width:40vw;height:auto}.topbar-right{align-items:center;gap:20px;display:flex}.quiet{color:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:10px 4px;font-size:.78rem;line-height:1.2;text-decoration:none;display:inline-flex}.quiet:hover{opacity:.7}.primary,.secondary,.danger-button{border:1px solid var(--green);letter-spacing:.01em;border-radius:5px;justify-content:center;align-items:center;gap:8px;min-height:45px;padding:13px 18px;font-size:.8rem;font-weight:700;text-decoration:none;display:inline-flex}.primary{background:var(--green);color:var(--paper)}.primary:hover:not(:disabled){background:#0a372b}.secondary{color:var(--green);background:0 0;border-color:#b7b79e}.secondary:hover:not(:disabled){background:#e9e2cf}.danger-button{background:var(--red);color:#fff;border-color:var(--red)}.full{width:100%}.danger{color:var(--red)}.pill{white-space:nowrap;border:1px solid;border-radius:99px;padding:7px 12px;font-size:.7rem}.home{background:var(--ivory) url(/assets/patterns/papel.svg)}.home-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:7%;max-width:1440px;min-height:730px;margin:0 auto;padding:64px 5% 56px;display:grid}.hero{min-height:650px;position:relative}.hero h1{max-width:600px;margin:22px 0;font-size:clamp(3.5rem,6.3vw,6.5rem)}.hero h1 em{color:var(--red);font-weight:500}.hero-copy{color:#5b5f51;max-width:440px;font-size:.92rem;line-height:1.7}.hero-art{max-width:530px;height:230px;margin:14px 0 0 6px;position:relative}.hero-jar{object-fit:contain;width:200px;height:245px;position:absolute;top:0;left:0;transform:rotate(-9deg)}.fan{filter:drop-shadow(2px 4px 4px #271c1525);border-radius:7px;width:128px;position:absolute;top:35px}.fan-one{left:180px;transform:rotate(-19deg)}.fan-two{left:245px;transform:rotate(4deg)}.fan-three{left:310px;transform:rotate(22deg)}.stamp{letter-spacing:.14em;color:var(--red);border:1px solid var(--red);text-align:center;border-radius:50%;padding:18px;font-size:.7rem;font-weight:900;line-height:1.5;position:absolute;top:90px;left:445px;transform:rotate(-10deg)}.hero-bottom{border-top:1px solid var(--line);letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;gap:22px;margin-top:25px;padding-top:18px;font-size:.65rem;font-weight:700;display:flex}.hero-bottom span:before{content:"✳";color:var(--red);margin-right:10px}.entry-card{background:var(--paper);border:1px solid var(--line);margin-top:10px;padding:35px;position:relative;box-shadow:7px 7px #ded4bd}.entry-card:before{content:"";background:repeating-linear-gradient(90deg, var(--green) 0 14px, var(--paper) 14px 18px);height:5px;display:block;position:absolute;top:0;left:0;right:0}.entry-card h2{margin:12px 0 4px;font-size:2.6rem}.entry-card>p{color:#756c5c;font-size:.85rem}.tabs{border-bottom:1px solid var(--line);margin:27px 0 24px;display:flex}.tabs button{color:#867a65;background:0 0;border:0;border-bottom:3px solid #0000;flex:1;padding:13px;font-size:.85rem}.tabs button.active{border-color:var(--green);color:var(--green);font-weight:700}label{flex-direction:column;gap:9px;margin-bottom:18px;font-size:.76rem;font-weight:700;display:flex}input,select{background:var(--paper);color:#18231f;border:1px solid #cfc5af;border-radius:4px;width:100%;min-height:46px;padding:13px 12px;font-size:.9rem}input::placeholder{color:#a69b87}.code-input{text-transform:uppercase;letter-spacing:.25em}.avatar-picker{border:0;margin:23px 0 26px;padding:0}.avatar-picker legend{margin-bottom:12px;font-size:.76rem;font-weight:700}.avatar-picker>div{justify-content:space-between;gap:6px;display:flex}.avatar-picker button{background:#f5f0e3;border:1px solid #0000;border-radius:50%;width:56px;height:56px;padding:4px}.avatar-picker button.selected{border:2px solid var(--green);background:#e9eedb}.avatar{object-fit:contain;width:100%;height:100%;max-height:65px}.avatar.small{width:45px;height:45px}.avatar-picker>span{text-align:center;color:#7c7566;margin-top:12px;font-size:.65rem;display:block}.entry-card>.fine{text-align:center;margin-top:22px;font-size:.7rem}.footer{border-top:1px solid var(--line);background:var(--ivory);letter-spacing:.08em;color:#736c5f;justify-content:space-between;gap:20px;padding:23px 5%;font-size:.6rem;display:flex}.how-to{background:var(--green);color:var(--ivory);padding:40px 5% 70px}.how-to>div{grid-template-columns:repeat(3,1fr);gap:35px;margin-top:35px;display:grid}.how-to b{font-size:.85rem}.how-to p{color:#d7ddc6;margin-top:13px;font-size:.85rem}.lobby-grid{grid-template-columns:minmax(0,1fr) 320px;gap:65px;max-width:1440px;margin:auto;padding:55px 5% 70px;display:grid}.lobby-main h1{margin:15px 0}.subtitle{color:#746c5c;font-size:.9rem}.players{flex-wrap:wrap;gap:10px;margin:30px 0;display:flex}.player{border:1px solid var(--line);background:var(--paper);color:#18231f;border-radius:5px;flex:1;align-items:center;gap:10px;min-width:140px;padding:12px 15px;display:flex;position:relative}.player b{word-break:break-word;font-size:.82rem}.player small{color:#777364;margin-top:5px;font-size:.65rem;display:block}.player.offline{opacity:.65;border-style:dashed}.host-dot{color:var(--gold)}.configuration{border-top:1px solid var(--line);padding-top:25px}.mode-picker{grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0 25px;display:grid}.mode-picker button{border:1px solid var(--line);background:var(--paper);text-align:left;border-radius:5px;padding:17px 13px}.mode-picker button.selected{border:2px solid var(--green);background:#e9eedf;padding:16px 12px}.mode-picker b{font-size:.8rem;display:block}.mode-picker small{margin-top:8px;font-size:.65rem;line-height:1.5;display:block}.fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px;display:grid}.fields label:last-child:nth-child(odd){grid-column:1/-1}.fields select{font-size:.78rem}.house-rules{border-left:3px solid var(--gold);background:#eee5ce;margin:4px 0 17px;padding:15px 18px;font-size:.73rem}.house-rules p+p{margin-top:10px}.check{flex-direction:row;align-items:center;font-size:.8rem;font-weight:400;display:flex}.check input{width:18px;height:18px;min-height:18px;accent-color:var(--green)}.invite-panel{border:1px solid var(--line);background:var(--paper);text-align:center;align-self:start;padding:26px}.room-code{letter-spacing:.1em;color:var(--green);margin:10px 0 15px;font-size:2.75rem;font-weight:800}.qr{width:170px;height:170px;margin:0 auto 12px;display:block}.invite-link{word-break:break-all;margin-bottom:15px;font-size:.6rem;display:block}.invite-panel>.fine{margin-top:12px}.pair-form{border-top:1px solid var(--line);text-align:left;margin:25px 0;padding-top:24px}.pair-form p{color:#746c5c;margin:10px 0 15px;font-size:.72rem}.pair-form form{gap:8px;display:flex}.pair-form input{width:calc(100% - 90px);font-size:.75rem}.pair-form button{min-height:45px;padding:10px;font-size:.7rem}.storage-note{border-top:1px solid var(--line);padding-top:17px}.rules-summary{border:1px solid var(--line);background:var(--paper);color:#18231f;border-radius:5px;padding:22px;font-size:.83rem}.rules-summary p{margin-top:10px}.rules-summary small{color:#746c5c;margin-top:10px;display:block}.display-shell,.game-shell{background:var(--green) url(/assets/backgrounds/mesa-tv.svg) center/cover fixed;color:var(--paper);min-height:calc(100vh - 90px)}.topbar.light{border-color:#ffffff25}.topbar.light .quiet{color:var(--ivory)}.display-shell .subtitle,.display-shell .lobby-main .muted{color:#ccd7c0}.pairing{text-align:center;max-width:1100px;margin:auto;padding:70px 25px 90px}.pairing h1{margin:25px 0 30px}.pairing p{color:#d3d9c3;font-size:.9rem}.pair-code{letter-spacing:.14em;max-width:800px;color:var(--gold);border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30;margin:40px auto;padding:25px;font-size:clamp(3.5rem,10vw,8rem);font-weight:800}.pairing .secondary{color:var(--ivory);margin-top:25px}.end-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:30px;min-height:80vh;padding:30px;display:flex}.game-main{max-width:1900px;margin:auto;padding:30px 4% 45px}.game-shell .topbar{height:74px;margin:0 4%}.game-shell .wordmark{width:175px}.table-heading{justify-content:space-between;align-items:center;gap:25px;display:flex}.table-heading h1{margin:10px 0;font-size:clamp(2rem,3vw,3.4rem)}.table-heading p{color:#d0d8c3;font-size:.78rem}.deck-info{text-align:center;min-width:110px;padding-left:58px;position:relative}.deck-info img{border-radius:4px;width:45px;position:absolute;top:0;left:0;transform:rotate(-7deg)}.deck-info b{color:#ddbb70;font-size:2rem;display:block}.deck-info small{color:#cccfb8;font-size:.65rem}.game-shell .players{margin:25px 0 22px}.game-shell .player{color:var(--ivory);background:#123e32;border-color:#ffffff26;max-width:280px}.game-shell .player small{color:#bec8b0}.game-shell .active-player{background:#205542;border-color:#ddbb70;box-shadow:inset 3px 0 #ddbb70}.turn-tag{text-transform:uppercase;color:#ddbb70;white-space:nowrap;margin-left:auto;font-size:.55rem}.board{flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:22px;min-height:300px;padding:25px 0 35px;display:flex}.empty-table{text-align:center;color:#e4e5ce;width:100%;padding:25px 0 40px;position:relative}.empty-table img{object-fit:contain;opacity:.9;width:82px;height:100px;margin-bottom:20px}.empty-table h2{font-size:2rem;line-height:1.1}.empty-table p{max-width:350px;margin:15px auto;font-size:.78rem}.meld{background:#0f3e3255;border:1px solid #ffffff26;border-radius:8px;min-width:210px;max-width:100%;padding:12px}.meld-heading{color:#e0d6b9;letter-spacing:.03em;justify-content:space-between;align-items:center;gap:15px;margin-bottom:10px;font-size:.65rem;display:flex}.meld-heading>div{gap:9px;display:flex}.mini{color:inherit;text-underline-offset:3px;background:0 0;border:0;padding:5px 0;font-size:.62rem;text-decoration:underline}.meld-cards{gap:5px;max-width:calc(90vw - 30px);padding:5px 2px 8px;display:flex;overflow-x:auto}.card{aspect-ratio:5/7;width:86px;min-width:86px;height:auto;color:var(--green);background:0 0;border:0;border-radius:5px;flex:none;padding:0;transition:transform .15s,box-shadow .15s;display:block;position:relative}.card img{pointer-events:none;border-radius:5px;width:100%;height:100%;display:block}.card:disabled{opacity:1;cursor:default}.card-selected{transform:translateY(-5px);box-shadow:0 0 0 3px #d8ac4d,0 6px 12px #0003}.card-selected:after{content:"✓";background:var(--green);color:#fff;border:1px solid #d8ac4d;border-radius:50%;width:20px;height:20px;font-size:.7rem;line-height:20px;position:absolute;top:-4px;right:-4px}.joker-role{color:#fff;background:#124a3b;border-radius:3px;padding:4px;font-size:.65rem;position:absolute;bottom:12px;left:12px;right:12px}.meld.invalid{border-style:dashed;border-color:#e9a58e}.meld-error{color:#ffd6bb;max-width:330px;margin-top:7px;font-size:.63rem}.add-to-meld{color:#e9efd9;background:0 0;border:1px dashed #b1c3a4;border-radius:4px;width:100%;margin-top:6px;padding:10px;font-size:.7rem}.new-meld-drop{text-align:center;color:#bbcbb7;border:1px dashed #fff5;border-radius:5px;flex-direction:column;justify-content:center;align-self:stretch;padding:30px 20px;font-size:.75rem;line-height:1.5;display:flex}.new-meld-drop small{font-size:.65rem}.hand-panel{background:var(--paper);color:#18231f;border:1px solid var(--line);border-radius:8px;margin-top:5px;padding:20px 22px}.hand-heading{justify-content:space-between;align-items:center;gap:15px;font-size:.8rem;display:flex}.hand-heading span{color:#7c7566;font-size:.7rem}.hand-cards{scrollbar-color:#b0b29b transparent;gap:9px;padding:20px 4px 14px;display:flex;overflow:auto hidden}.hand-cards .card{width:96px;min-width:96px}.selection-tools{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 0;display:flex}.selection-tools>span{color:#746c5c;margin-right:auto;font-size:.68rem}.selection-tools button{min-height:37px;padding:9px 12px;font-size:.7rem}.turn-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:15px;margin-top:17px;display:flex}.hand-panel>.fine{text-align:right;margin-top:12px}.game-admin{color:#b7cbb8;justify-content:flex-end;gap:25px;margin-top:20px;display:flex}.pause-message{color:#ffe5a7;border:1px solid #d0a34e;border-radius:4px;padding:12px 18px;font-size:.8rem}.joker-picker{flex-wrap:wrap;align-items:flex-end;gap:15px;margin-top:20px;display:flex}.joker-picker label{margin-bottom:0}.joker-picker select{min-width:120px}.result{text-align:center;margin:30px 0;padding:35px;position:relative;overflow:hidden}.result>img{pointer-events:none;opacity:.5;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.result h2,.result p{position:relative}.result p{margin-top:15px;font-size:.85rem}.tv .card{width:110px;min-width:110px}.tv .board{justify-content:center;gap:25px}.tv .players{justify-content:center}.tv .table-heading{padding:10px 0}.modal-backdrop{z-index:30;background:#00170dc9;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.dialog{background:var(--paper);color:#18231f;border:1px solid var(--line);border-radius:9px;max-width:520px;padding:35px}.dialog h2{font-size:2rem}.dialog p{margin:20px 0;font-size:.9rem}.actions{flex-wrap:wrap;gap:15px;display:flex}@media (min-width:1550px){.home-grid{padding-top:75px}.hero h1{font-size:6.2rem}.entry-card{padding:40px}.hero-art{margin-top:30px}.game-shell .card{width:100px;min-width:100px}.game-shell.tv .card{width:125px;min-width:125px}}@media (max-width:1100px){.home-grid{grid-template-columns:1.2fr 1fr;gap:5%;padding-top:40px}.entry-card{padding:26px}.hero h1{font-size:4.9rem}.hero-art{transform-origin:0 0;margin-top:25px;margin-bottom:-35px;transform:scale(.83)}.stamp{display:none}.hero-bottom{gap:12px}.hero-bottom span{font-size:.55rem}.lobby-grid{grid-template-columns:minmax(0,1fr) 300px;gap:30px}.mode-picker{grid-template-columns:1fr}.mode-picker button{justify-content:space-between;align-items:center;gap:10px;display:flex}.mode-picker small{margin-top:0}.fields{grid-template-columns:1fr}.fields label{grid-column:auto!important}}@media (max-width:760px){.topbar{height:75px;margin:0 6%}.wordmark{width:175px}.topbar-right{gap:13px}.topbar-right .quiet{font-size:.66rem}.topbar-right .quiet span{display:none}.home-grid{flex-direction:column;gap:22px;padding:35px 6% 45px;display:flex}.hero{width:100%;min-height:0}.hero .eyebrow{letter-spacing:.13em;font-size:.55rem}.hero h1{margin:17px 0;font-size:clamp(3.7rem,11vw,5.5rem)}.hero-copy{max-width:95%;font-size:.82rem}.hero-art{height:190px;margin-top:10px;margin-bottom:-30px;transform:scale(.75)}.hero-jar{width:155px;height:200px}.fan{width:110px;top:25px}.fan-one{left:150px}.fan-two{left:205px}.fan-three{left:260px}.hero-bottom{gap:14px;margin-top:0;padding:15px 0}.hero-bottom span{font-size:.56rem}.hero-bottom span:before{margin-right:6px}.entry-card{align-self:center;width:100%;max-width:500px;margin:0;padding:28px}.entry-card h2{font-size:2.3rem}.avatar-picker>div{justify-content:center;gap:10px}.avatar-picker button{width:52px;height:52px}.how-to>div{grid-template-columns:1fr;gap:23px}.footer{text-align:center;flex-wrap:wrap;justify-content:center;gap:12px;font-size:.5rem}.footer span:last-child{display:none}.lobby-grid{flex-direction:column;gap:28px;padding:35px 6%;display:flex}.lobby-main h1{font-size:2.8rem}.players{gap:8px}.player{min-width:130px;padding:10px}.avatar.small{width:34px;height:38px}.player b{font-size:.72rem}.player small{font-size:.6rem}.invite-panel{width:100%}.fields{grid-template-columns:1fr 1fr}.fields label:last-child:nth-child(odd){grid-column:1/-1!important}.mode-picker{grid-template-columns:repeat(3,1fr);gap:5px}.mode-picker button{padding:12px 8px;display:block}.mode-picker button.selected{padding:11px 7px}.mode-picker b{font-size:.65rem}.mode-picker small{margin-top:8px;font-size:.58rem}.configuration>h3{font-size:1rem}.pairing{padding:55px 20px}.pairing h1{font-size:2.5rem}.pair-code{letter-spacing:.12em;padding:20px 8px;font-size:3rem}.game-main{padding:25px 4%}.game-shell .topbar{height:62px}.game-shell .wordmark{width:135px;max-width:32vw}.game-shell .topbar-right{gap:9px}.game-shell .pill{padding:6px 8px;font-size:.54rem}.game-shell .topbar .quiet{font-size:.6rem}.table-heading{gap:12px}.table-heading h1{max-width:290px;font-size:2.1rem}.table-heading p{font-size:.68rem}.table-heading .eyebrow{font-size:.5rem}.deck-info{min-width:55px;padding-left:0}.deck-info img{width:33px;margin:0 auto;position:static}.deck-info b{font-size:1.3rem}.deck-info small{font-size:.55rem}.game-shell .players{margin:20px 0 12px}.game-shell .player{min-width:44%;max-width:none;padding:8px}.turn-tag{font-size:.46rem}.board{gap:14px;min-height:240px;padding-top:15px}.empty-table{padding:15px 10px 25px}.empty-table img{width:55px;height:65px;margin-bottom:12px}.empty-table h2{font-size:1.7rem}.empty-table p{font-size:.69rem}.meld{max-width:100%;padding:9px}.meld-cards{gap:4px;max-width:calc(88vw - 24px)}.card{width:73px;min-width:73px}.new-meld-drop{width:100%;min-height:80px;padding:18px}.hand-panel{padding:16px 12px}.hand-heading{gap:10px;font-size:.75rem}.hand-heading span{font-size:.57rem}.hand-heading .mini{font-size:.56rem}.hand-cards{gap:8px;padding:18px 4px 14px}.hand-cards .card{width:88px;min-width:88px}.selection-tools{gap:8px}.selection-tools>span{width:100%;margin-bottom:3px;font-size:.65rem}.selection-tools button{padding:9px 8px;font-size:.62rem}.turn-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.turn-actions button{padding:12px 7px;font-size:.65rem}.hand-panel>.fine{text-align:left;font-size:.6rem}.joker-picker{gap:10px}.joker-picker label{flex:1}.joker-picker select{min-width:90px}.dialog{padding:25px}.dialog h2{font-size:1.7rem}.notice{padding:13px;font-size:.8rem}.tv .card{width:82px;min-width:82px}.home.invited .hero{display:none}.home.invited .home-grid{min-height:0}.home .hero h1{font-size:clamp(3.1rem,9.5vw,4.5rem)}.home .topbar-right{gap:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
