@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Libre+Baskerville:wght@400;700&family=Work+Sans:wght@400;500;600;700&display=swap');
:root{--night:#211812;--wood:#39261b;--wood2:#523622;--paper:#f0e3c6;--paper2:#d9c59d;--ink:#28251e;--muted:#aa9a7e;--wine:#8d302b;--red:#a63d35;--gold:#d6b36b;--green:#1d4b38;--green2:#153828;--mono:'DM Mono',monospace;--serif:'Libre Baskerville',Georgia,serif;--sans:'Work Sans',Arial,sans-serif;color-scheme:dark}*{box-sizing:border-box}html{min-height:100%;background:#1b1510}body{margin:0;min-height:100vh;color:var(--paper);font-family:var(--sans);background:radial-gradient(ellipse at 48% -25%,#60432a 0,#2a1e16 45%,#18130f 100%);overflow-x:hidden}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid #f3ce7b;outline-offset:3px}.paper-noise{position:fixed;inset:0;z-index:4;pointer-events:none;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.masthead{height:74px;max-width:1320px;padding:0 40px;margin:auto;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d2b17624;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--paper);font:700 18px var(--serif);letter-spacing:.09em;text-shadow:0 2px 2px #000}.brand>span:last-child>span{color:var(--gold)}.brand small{display:block;margin-top:4px;color:#b69e71;font:7px var(--mono);letter-spacing:.15em}.brand-spade{width:38px;height:42px;display:grid;place-items:center;border:1px solid #bb9651;color:var(--gold);font-size:23px;background:linear-gradient(140deg,#563a23,#251810);box-shadow:inset 0 0 0 4px #2d1e14,inset 0 0 0 5px #8d6735;transform:rotate(-4deg)}.mast-actions{display:flex;gap:12px;align-items:center}.edition,.small-button{font:9px var(--mono);letter-spacing:.1em;color:#c3b38f}.small-button{padding:9px 11px;border:1px solid #705535;background:#2b2018;border-radius:3px}.small-button:hover{border-color:var(--gold);color:var(--gold)}.screen{width:min(1320px,100%);margin:auto;padding:0 40px}.home-screen{min-height:calc(100vh - 74px);position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding-top:25px;padding-bottom:80px;overflow:hidden}.home-copy{position:relative;z-index:2;max-width:580px;padding:10px 0}.overline{color:var(--gold);font:9px var(--mono);letter-spacing:.14em;margin:0 0 15px}.home-copy h1{font:700 clamp(58px,9vw,116px)/.92 var(--serif);letter-spacing:-.075em;margin:0;color:#f5e7c9;text-shadow:3px 4px #44291b,0 0 28px #d6b36b30}.home-copy h1 span{color:var(--gold)}.subtitle{font:italic clamp(17px,2vw,22px) var(--serif);color:#d4c19d;margin:16px 0 18px}.intro{max-width:440px;color:#b7aa92;font-size:14px;line-height:1.7;margin:0}.home-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:29px}.button{border:1px solid #85643b;padding:13px 17px;border-radius:2px;font:10px var(--mono);letter-spacing:.08em;transition:transform .18s,filter .18s}.button:hover{transform:translateY(-2px);filter:brightness(1.12)}.button.primary{background:linear-gradient(#e2c57e,#c19b53);color:#291c10;border-color:#f1d999;font-weight:500;box-shadow:0 4px #644522}.button.primary span{font-size:17px;margin-left:20px}.button.secondary{background:#2a2017;color:#e0c784}.text-button{border:0;background:none;color:#baaa8d;font:9px var(--mono);letter-spacing:.1em;padding:10px}.text-button:hover{color:var(--gold)}.home-note{display:flex;gap:12px;align-items:center;margin-top:42px;color:#968365;font:8px var(--mono);letter-spacing:.09em}.home-note i{font-style:normal;color:#b58949}.home-art{height:min(72vh,610px);min-height:390px;position:relative;display:grid;place-items:center;isolation:isolate}.sun-disc{position:absolute;width:min(35vw,390px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 44%,#8d5732 0,#5a3826 61%,#36251b 62%,transparent 63%);filter:drop-shadow(0 18px 25px #0007)}.sun-disc:before,.sun-disc:after{content:'';position:absolute;inset:-22px;border:1px dashed #c69c5755;border-radius:50%}.sun-disc:after{inset:12px;border-style:solid;opacity:.5}.portrait-frame{position:relative;width:min(29vw,310px);height:min(42vw,450px);min-height:315px;border:2px solid #c09b58;background:linear-gradient(170deg,#a77a48 0,#725032 52%,#322319 53%);clip-path:polygon(0 0,100% 0,100% 87%,50% 100%,0 87%);box-shadow:0 20px 35px #0007;transform:rotate(3deg);display:flex;justify-content:center;align-items:center}.portrait-frame:before{content:'✦  ✳  ✦';position:absolute;top:13px;color:#ead29c;font:12px var(--serif);letter-spacing:.45em}.portrait-hat{position:absolute;top:20%;width:75%;height:70px;border-radius:80% 80% 20% 20%;background:linear-gradient(#30231b 0 26%,#60422b 27% 53%,#251a14 54%);border-bottom:6px solid #c39852;color:#d0a961;text-align:center;font-size:22px;padding-top:14px;z-index:2;box-shadow:0 6px 7px #0005}.portrait-face{position:absolute;top:32%;width:51%;height:37%;border-radius:46% 46% 44% 44%;background:linear-gradient(110deg,#e0b77d,#b87c4e 65%,#734832);box-shadow:inset -12px -3px 0 #603c2d55;z-index:1}.portrait-face:before{content:'';position:absolute;width:115%;height:34px;left:-7%;top:0;border-radius:40%;background:#33241b;border-bottom:5px solid #d8b36c}.eyebrow-left{position:absolute;top:42%;left:24%;font-size:19px;color:#392319}.portrait-eye{position:absolute;top:49%;left:29%;font-size:8px;color:#241812}.moustache{position:absolute;top:56%;left:28%;width:52%;height:25px;color:#342119;font-size:39px;font-weight:bold;transform:rotate(-4deg)}.portrait-scarf{position:absolute;top:66%;width:66%;height:47px;background:repeating-linear-gradient(0deg,#8e302a 0 9px,#e0c581 9px 12px,#8e302a 12px 20px);clip-path:polygon(0 0,100% 0,83% 100%,53% 70%,21% 100%);z-index:3}.portrait-card{position:absolute;z-index:4;right:12%;bottom:13%;width:62px;height:88px;background:linear-gradient(140deg,#f2e4c6,#d5c098);border:3px double #553922;border-radius:5px;color:#302319;padding:5px;font:18px var(--serif);transform:rotate(11deg);box-shadow:0 5px 12px #0007}.portrait-card b{display:grid;place-items:center;height:50px;font-size:32px}.art-star{position:absolute;color:var(--gold);text-shadow:0 0 15px #e6bd6a88}.star-one{font-size:25px;top:14%;right:12%}.star-two{font-size:17px;bottom:23%;left:10%}.art-caption{position:absolute;bottom:4%;right:5%;border-left:2px solid var(--gold);padding:6px 0 6px 11px;color:#f0d59b;font:9px var(--mono);letter-spacing:.12em;line-height:1.7}.art-caption small{color:#b7a582;font:italic 9px var(--serif);letter-spacing:0}.cover-stamp{position:absolute;right:3%;top:8%;border:1px solid #b38b4f;color:#d4af69;transform:rotate(8deg);padding:8px 10px;text-align:center;font:8px var(--mono);line-height:1.5;letter-spacing:.1em}.cover-stamp b{font-weight:500;color:#edd99c}.home-footer{position:absolute;bottom:24px;left:40px;right:40px;padding-top:13px;border-top:1px solid #d2b17624;display:flex;justify-content:space-between;color:#847355;font:8px var(--mono);letter-spacing:.09em}.game-screen{padding-top:24px;padding-bottom:42px}.game-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.back-button{border:0;background:none;padding:0 0 12px;color:#b2a383;font:9px var(--mono);letter-spacing:.1em}.back-button:hover{color:var(--gold)}.game-header .overline{margin:0 0 6px}.game-header h2{font:700 clamp(25px,3vw,37px) var(--serif);margin:0 0 5px}.game-header p:last-child{font-size:11px;color:#aa9e85;margin:0}.scoreboard{display:flex;align-items:center;gap:14px;padding:9px 15px;border:1px solid #70573a;background:#2b2119;box-shadow:inset 0 0 0 3px #201811}.scoreboard div{display:grid;gap:3px;text-align:center;min-width:42px}.scoreboard small{font:8px var(--mono);letter-spacing:.1em;color:#b09b70}.scoreboard b{font:700 25px var(--serif);color:#f2d68c}.scoreboard>span{color:#766446}.scoreboard .coin-box{border-left:1px solid #5b4931;padding-left:14px}.scoreboard .coin-box b{font:13px var(--mono);color:#d9bf7e}.game-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:18px;align-items:start}.table-column{min-width:0}.felt-table{min-height:300px;padding:17px 20px 14px;border:9px solid #593d27;border-radius:17px;background:radial-gradient(ellipse at center,#2d6849,#1e4d37 58%,#153828);box-shadow:inset 0 0 0 1px #bec18b66,0 14px 35px #0006;position:relative;overflow:hidden}.felt-table:after{content:'';position:absolute;inset:11px;border:1px solid #dacb9433;border-radius:8px;pointer-events:none}.table-top,.table-bottom{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:10px}.rival{display:flex;align-items:center;gap:10px}.rival-face{width:45px;height:45px;display:grid;place-items:center;border:1px solid #d1b376;border-radius:50%;background:radial-gradient(circle at 40% 32%,#805739,#302219);font-size:23px;box-shadow:0 0 0 3px #1b4536}.rival small,.rival b{display:block}.rival small{font:8px var(--mono);color:#d8c7a2;letter-spacing:.1em}.rival b{margin-top:4px;font:11px var(--serif);color:#fff0d2}.backs{display:flex;margin-top:5px}.card-back{width:23px;height:32px;margin-left:-7px;border:2px solid #ead7a8;border-radius:4px;background:repeating-linear-gradient(45deg,#8c322d 0 3px,#d4ad72 3px 4px);box-shadow:0 2px 2px #111}.card-back:first-child{margin-left:0}.table-speech{max-width:210px;color:#f0ddb1;text-align:right;font:italic 11px var(--serif)}.trick-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-width:650px;margin:12px auto 15px;position:relative;z-index:1}.trick-box{height:121px;position:relative;display:flex;justify-content:center;align-items:center;gap:4px;border:1px solid #d8d1aa3d;border-radius:8px;background:#0a21172d}.trick-box.current{border-color:#dfc27c;background:#d6bd5d12;box-shadow:0 0 0 2px #e3cb7222}.trick-box small{position:absolute;left:8px;top:7px;color:#e1d5b5a6;font:7px var(--mono)}.trick-result{position:absolute;bottom:6px;color:#e7cd83;font:7px var(--mono)}.table-bottom{font:8px var(--mono);letter-spacing:.09em;color:#e1d6bb}.table-bottom span:last-child{color:#d7bd80}.table-bottom b{color:white}.hand-head{display:flex;align-items:end;justify-content:space-between;margin:15px 3px 8px}.hand-head small,.hand-head b{display:block}.hand-head small{font:8px var(--mono);color:var(--gold);letter-spacing:.13em;margin-bottom:4px}.hand-head b{font:11px var(--sans);color:#e0d4b6}.hand-head>span{color:#a7997d;font:8px var(--mono);letter-spacing:.1em}.hand{min-height:151px;display:flex;justify-content:center;align-items:flex-start;gap:9px;flex-wrap:wrap;padding:7px 3px 12px}.playing-card{position:relative;width:105px;height:143px;flex:none;padding:9px 8px;border:1px solid #fdf2d6;border-radius:8px;background:linear-gradient(145deg,#fff7e3,#e4d6b5);box-shadow:0 7px 16px #0006;color:#292820;display:flex;flex-direction:column;justify-content:space-between;user-select:none;transition:transform .15s,box-shadow .15s}.playing-card.red{color:#9a3029}.playing-card.selectable{cursor:pointer}.playing-card.selectable:hover{transform:translateY(-4px)}.playing-card.selected{transform:translateY(-10px);box-shadow:0 14px 22px #0008,0 0 0 2px #e0bd71}.card-rank{font:700 17px var(--serif);line-height:1}.card-suit{font-size:13px}.card-center{align-self:center;font:40px var(--serif);opacity:.88}.card-word{position:absolute;left:2px;right:2px;bottom:42px;text-align:center;font:6px var(--mono);letter-spacing:.05em;opacity:.62}.actions{min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin:3px 0 8px}.action-button{padding:10px 13px;border:1px solid #e2c277;border-radius:3px;background:linear-gradient(#e2c57e,#c19b53);color:#2b1d12;font:9px var(--mono);letter-spacing:.07em;box-shadow:0 2px #77542c}.action-button.secondary{border-color:#61755d;background:#273e30;color:#eee5ce;box-shadow:none}.action-button.danger{border-color:#a75c4f;background:#75332f;color:#fff0d8;box-shadow:none}.action-button:disabled{opacity:.4;cursor:not-allowed}.event-log{min-height:39px;padding:10px 12px;border-left:2px solid #b48b4b;background:#241e17;color:#c8b998;font:9px/1.5 var(--mono)}.event-log strong{color:#f0d389}.sidebar{display:flex;flex-direction:column;gap:10px}.side-panel{padding:13px;border:1px solid #5b4932;border-radius:4px;background:linear-gradient(145deg,#30271d,#241d16)}.side-panel>small{font:8px var(--mono);letter-spacing:.12em;color:#b99e68}.boss-panel>b{display:block;margin:7px 0 4px;font:700 16px var(--serif);color:#efdaa5}.side-panel p{margin:0;font-size:9px;line-height:1.55;color:#a99d85}.support-list{margin-top:9px;display:grid;gap:8px}.support{display:flex;align-items:center;gap:8px;font-size:10px;color:#ecdfc2}.support-mark{width:25px;height:29px;display:grid;place-items:center;border:1px solid #b58b4c;border-radius:3px;color:#e2c476;background:#493723;font-size:15px}.support small{display:block;margin-top:3px;color:#ac9c7d;font:7px var(--mono)}.empty{font-size:9px!important;color:#94886e!important}.music-panel label{display:flex;align-items:center;justify-content:space-between;margin-top:10px;color:#d2c3a1;font-size:9px}.music-panel input[type=range]{width:108px;accent-color:#d7b462}.music-panel input[type=checkbox]{accent-color:#d7b462}.check-label{justify-content:flex-start!important;gap:7px}.restart-button{padding:10px;border:1px solid #5b4932;border-radius:3px;background:#231b15;color:#b5a27e;font:8px var(--mono);letter-spacing:.08em}.restart-button:hover{color:#f5dfa0;border-color:#a78348}.dialog-scrim{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:18px;background:#0a0806ce;backdrop-filter:blur(5px)}.dialog-scrim[hidden]{display:none}.dialog{width:min(560px,100%);max-height:min(88vh,780px);overflow:auto;position:relative;padding:26px 28px 23px;border:1px solid #8b6d3c;border-radius:6px;background:linear-gradient(145deg,#30271e,#211a14);box-shadow:0 25px 90px #000c}.dialog-x{position:absolute;right:12px;top:8px;border:0;background:none;color:#c5b594;font-size:24px}.dialog-kicker{color:#d7b86e;font:8px var(--mono);letter-spacing:.14em}.dialog h2{margin:8px 30px 10px 0;color:#f0deb2;font:700 24px var(--serif)}.dialog p,.dialog li{color:#c4b99f;font-size:11px;line-height:1.65}.dialog-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:18px}.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}.shop-item{padding:11px;border:1px solid #69583d;background:#362b1e;border-radius:3px}.shop-item b{color:#f0d286;font:700 12px var(--serif)}.shop-item p{min-height:42px;margin:6px 0}.shop-item button{width:100%;padding:8px;border:0;border-radius:2px;background:#d2ad62;color:#271d12;font:8px var(--mono)}.shop-item button:disabled{opacity:.38}.rules-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rules-columns h3{margin:12px 0 5px;color:#e4c57b;font:700 13px var(--serif)}.result-score{text-align:center;margin:14px 0;color:#edce7d;font:700 30px var(--serif)}.toggle-row{display:flex;align-items:center;gap:8px;color:#d4c39e;font-size:10px}.dialog .note{padding:9px 11px;border-left:2px solid #aa8048;background:#201a14}.dialog select{background:#211a14;border:1px solid #79613d;padding:8px;color:#f1e1bd}.dialog-actions .action-button{min-width:100px}.dialog-actions .action-button.secondary{background:#344a39;border-color:#60795e;color:#eee5ce}.reduced *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}[hidden]{display:none!important}
@media(max-width:900px){.home-screen{grid-template-columns:1.05fr .95fr}.home-art{transform:scale(.9)}.screen{padding-left:26px;padding-right:26px}.home-footer{left:26px;right:26px}.game-grid{grid-template-columns:minmax(0,1fr) 205px}.felt-table{padding-left:13px;padding-right:13px}.playing-card{width:94px}.trick-row{gap:5px}}
@media(max-width:650px){.masthead{height:62px;padding:0 13px}.brand{font-size:14px;gap:7px}.brand-spade{width:30px;height:34px;font-size:18px}.brand small{font-size:5px}.mast-actions{gap:5px}.edition{display:none}.small-button{padding:8px;font-size:8px}.screen{padding-left:13px;padding-right:13px}.home-screen{min-height:calc(100svh - 62px);display:block;padding-top:55px;padding-bottom:78px}.home-copy{max-width:390px}.home-copy h1{font-size:clamp(58px,17vw,90px)}.intro{max-width:320px;font-size:12px}.home-art{position:absolute;right:-110px;top:60px;width:65vw;height:65vw;min-height:0;transform:scale(.75);opacity:.45}.sun-disc{width:72vw}.portrait-frame{width:58vw;height:80vw;min-height:0}.home-copy{z-index:2}.home-note{margin-top:31px;gap:8px;font-size:7px}.cover-stamp{right:13px;top:20px;font-size:6px}.home-footer{left:13px;right:13px;bottom:14px;font-size:6px;gap:8px}.game-screen{padding-top:14px}.game-header{align-items:center;gap:10px;margin-bottom:13px}.game-header h2{font-size:22px}.game-header p:last-child{font-size:9px;max-width:240px}.back-button{font-size:8px}.scoreboard{gap:8px;padding:7px 9px}.scoreboard div{min-width:27px}.scoreboard small{font-size:6px}.scoreboard b{font-size:19px}.scoreboard .coin-box{padding-left:8px}.scoreboard .coin-box b{font-size:10px}.game-grid{display:flex;flex-direction:column;gap:11px}.table-column,.sidebar{width:100%}.felt-table{min-height:270px;padding:12px 9px 11px;border-width:5px;border-radius:12px}.felt-table:after{inset:7px}.rival{gap:6px}.rival-face{width:34px;height:34px;font-size:18px}.rival small{font-size:6px}.rival b{font-size:9px}.backs{margin-top:4px}.card-back{width:18px;height:25px;margin-left:-6px;border-width:1px}.table-speech{font-size:8px;max-width:120px}.trick-row{margin:10px auto 12px;gap:4px}.trick-box{height:104px}.trick-box small{left:4px;top:5px;font-size:6px}.trick-result{font-size:6px}.table-bottom{font-size:7px}.hand-head{margin-top:11px}.hand{min-height:122px;gap:5px;padding:6px 0 9px}.playing-card{width:min(17vw,78px);height:117px;padding:6px;border-radius:6px}.card-rank{font-size:14px}.card-center{font-size:30px}.card-suit{font-size:11px}.card-word{font-size:5px;bottom:34px}.actions{gap:5px}.action-button{padding:9px 8px;font-size:7px}.event-log{font-size:8px;min-height:34px}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:7px}.side-panel{padding:9px}.side-panel>small{font-size:7px}.boss-panel>b{font-size:13px}.side-panel p{font-size:8px}.music-panel{grid-column:span 2}.music-panel label{display:inline-flex;gap:6px;margin-right:10px;font-size:8px}.music-panel input[type=range]{width:82px}.restart-button{grid-column:span 2}.dialog{padding:23px 16px 17px}.dialog h2{font-size:20px}.dialog p,.dialog li{font-size:10px}.shop-grid,.rules-columns{grid-template-columns:1fr}.shop-item p{min-height:0}.dialog-actions{justify-content:center}.dialog-actions .action-button{flex:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
.mechanics{max-width:1240px;margin:0 auto;padding:52px 40px 25px;border-top:1px solid #d2b1762b}.mechanics-heading{text-align:center;max-width:600px;margin:0 auto 24px}.mechanics-heading .overline{margin-bottom:9px}.mechanics-heading h2{margin:0;color:#f0e0bd;font:700 clamp(25px,4vw,38px) var(--serif)}.mechanics-heading h2 span{color:var(--gold)}.mechanics-heading>p:last-child{color:#a99c82;font-size:11px}.mechanics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mechanic{position:relative;min-height:178px;padding:18px 17px 15px;border:1px solid #604a30;background:linear-gradient(145deg,#30251a,#241b14);box-shadow:inset 0 0 0 3px #271d15}.mechanic-number{position:absolute;right:13px;top:12px;color:#9b8156;font:9px var(--mono)}.mechanic-mark{width:31px;height:31px;display:grid;place-items:center;margin-bottom:10px;border:1px solid #a37b43;color:#e0c478;background:#493422;font-size:17px}.mechanic h3{margin:0 0 7px;color:#ebd49b;font:700 13px var(--serif)}.mechanic p{margin:0;color:#b9ad93;font-size:10px;line-height:1.65}.mechanics-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid #d2b17622;color:#8e7d5d;font:7px var(--mono);letter-spacing:.08em}.mechanics-foot a{color:#d0ae67;text-decoration:none}.mechanics-foot a:hover{color:#f3dd9b}
@media(max-width:900px){.mechanics{padding:42px 26px 22px}.mechanics-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.mechanics{padding:35px 13px 18px}.mechanics-grid{grid-template-columns:1fr;gap:8px}.mechanic{min-height:0;padding:15px}.mechanic p{font-size:10px}.mechanics-foot{flex-wrap:wrap;font-size:6px}.mechanics-foot span{max-width:47%}.mechanics-foot a{margin-left:auto}}
.playing-card{isolation:isolate;overflow:hidden;border:1px solid #ba9b61;outline:1px solid #fff7e0;outline-offset:-4px;background:radial-gradient(ellipse at 49% 47%,#fff9e9 0,#eee0c1 74%,#d6c49b 100%)}.playing-card:before{content:'✦';position:absolute;z-index:-1;left:50%;top:50%;transform:translate(-50%,-50%);font-size:82px;opacity:.045;color:#5d452b}.card-border{position:absolute;inset:4px;border:1px solid #9473458c;border-radius:5px;pointer-events:none}.card-border:before,.card-border:after{content:'❧';position:absolute;color:#9874438a;font:10px var(--serif)}.card-border:before{top:1px;left:3px}.card-border:after{right:3px;bottom:1px;transform:rotate(180deg)}.playing-card>span{z-index:1}.playing-card .card-corner{font:700 16px var(--serif);line-height:.9}.card-caption{position:absolute;z-index:2;left:4px;right:4px;bottom:8px;text-align:center;color:#6f5735;font:6px var(--mono);letter-spacing:.09em}.pip-art{position:absolute;z-index:0;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:63px;height:73px;border:1px solid #9a7b4d66;border-radius:50% 50% 46% 46%;color:#292820;font:40px var(--serif);text-shadow:1px 1px #fff9}.pip-art:before,.pip-art:after{content:'✧';position:absolute;color:#8b6d3c7a;font-size:9px}.pip-art:before{top:5px}.pip-art:after{bottom:5px}.playing-card.red .pip-art{color:#a63d35}.pip-art.oro{color:#a16d25}.pip-art.basto{color:#31513e}.figure-art{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:62px;height:78px;overflow:hidden;border:1px solid #98764c;border-radius:36% 36% 27% 27%;background:linear-gradient(145deg,#e7d4ae,#baa075);box-shadow:inset 0 0 0 3px #f4e8cc,inset 0 0 0 4px #9d7b4a}.figure-art:after{content:'✦  ✦';position:absolute;left:0;right:0;bottom:3px;text-align:center;color:#80603b;font-size:7px;letter-spacing:7px}.figure-art .hat{position:absolute;z-index:2;left:7px;top:8px;width:46px;height:15px;border-radius:70% 70% 16% 16%;background:#35271c;border-bottom:3px solid #9c713a}.figure-art .hat:before{content:'';position:absolute;left:-5px;right:-5px;bottom:-4px;height:5px;background:#513823;border-radius:50%}.figure-art .head{position:absolute;left:18px;top:21px;width:27px;height:31px;border-radius:45% 45% 40% 40%;background:linear-gradient(90deg,#d5a371,#af744b);box-shadow:inset -4px -1px #784c3650}.figure-art .head:before{content:'•';position:absolute;top:8px;left:6px;color:#30221b;font-size:7px;text-shadow:10px 0 #30221b}.figure-art .moustache{position:absolute;z-index:2;top:40px;left:21px;width:23px;height:7px;border-radius:40% 40% 65% 65%;background:#39251a}.figure-art .poncho{position:absolute;z-index:1;left:8px;bottom:-8px;width:47px;height:35px;background:repeating-linear-gradient(0deg,#8d302b 0 6px,#d8bb74 6px 8px,#46372b 8px 11px);clip-path:polygon(18% 0,82% 0,100% 100%,0 100%)}.figure-art .prop{position:absolute;z-index:3;right:4px;top:38px;color:#a27b3e;font:12px var(--serif)}.figure-art.paisana{background:linear-gradient(145deg,#e8d5b1,#b09b76)}.figure-art.paisana .hat{height:11px;top:10px;background:#7d302b;border-bottom-color:#d6b36b}.figure-art.paisana .head:after{content:'';position:absolute;left:-3px;top:-1px;width:32px;height:15px;border-radius:80% 80% 15% 15%;background:#39251a}.figure-art.paisana .moustache{display:none}.figure-art.payador{background:linear-gradient(145deg,#e7d7b8,#c6a77b)}.figure-art.payador .hat{transform:rotate(-7deg);background:#213f32}.figure-art.payador .prop{color:#8d302b}.figure-art.oro{box-shadow:inset 0 0 0 3px #f4e8cc,inset 0 0 0 5px #be984a}.figure-art.copa{box-shadow:inset 0 0 0 3px #f4e8cc,inset 0 0 0 5px #a44a42}.trick-box .playing-card{width:40px;height:66px;padding:5px 4px;border-radius:5px;outline-offset:-3px}.trick-box .card-border{inset:3px}.trick-box .card-corner{font-size:9px}.trick-box .card-caption{display:none}.trick-box .pip-art{width:22px;height:25px;font-size:17px}.trick-box .pip-art:before,.trick-box .pip-art:after{font-size:5px}.trick-box .figure-art{width:25px;height:35px;top:49%}.trick-box .figure-art .hat{left:3px;top:4px;width:19px;height:7px;border-bottom-width:1px}.trick-box .figure-art .head{left:7px;top:11px;width:12px;height:14px}.trick-box .figure-art .head:before{top:4px;left:2px;font-size:5px;text-shadow:5px 0 #30221b}.trick-box .figure-art .moustache{top:20px;left:8px;width:11px;height:4px}.trick-box .figure-art .poncho{left:3px;width:19px;height:15px}.trick-box .figure-art .prop{right:1px;top:17px;font-size:6px}.trick-box .figure-art:after{display:none}
.art-caption{max-width:240px;padding:9px 12px;border:1px solid rgba(214,179,107,.75);border-left:3px solid #e5c579;border-radius:3px;background:rgba(25,17,12,.9);color:#fff0cf;font-size:10px;letter-spacing:.1em;line-height:1.7;text-shadow:0 1px 2px #000,0 0 8px #000}
.art-caption small{display:block;margin-top:2px;color:#fff5df;font-size:10px;line-height:1.5;text-shadow:0 1px 3px #000}
.playing-card{border:2px solid #a47e42;outline:1px solid #fff5d7;outline-offset:-5px;background:linear-gradient(135deg,#fff8e6 0,#f2e5ca 42%,#e8d7b4 100%);box-shadow:0 8px 16px #0008,inset 0 0 0 3px #dfc990,inset 0 0 0 5px #fff8e3}.playing-card:after{content:'';position:absolute;z-index:0;inset:8px;border:1px solid #aa895866;border-radius:4px;pointer-events:none}.card-border{inset:4px;border:1px solid #866536}.card-border:before,.card-border:after{color:#8b642f;font-size:12px}.playing-card .card-corner{z-index:2;font-size:19px;text-shadow:0 1px #fff}.card-corner i{display:none}.card-caption{left:5px;right:5px;bottom:6px;min-height:23px;gap:5px;padding:3px 4px;border:1px solid #bd9b5d;box-shadow:inset 0 0 0 1px #ffffff20;background:linear-gradient(180deg,#29231d,#100e0c);color:#fff2cf;font-size:7px;letter-spacing:.07em;text-shadow:0 1px #000}.card-caption b{font-size:12px;color:var(--suit-mark);text-shadow:0 0 5px #fff3}.pip-art{width:auto;height:auto;border:0;border-radius:0;background:none;box-shadow:none;font-size:54px;line-height:1;text-shadow:0 2px #fff8,0 5px 6px #4a351d66}.pip-art:before,.pip-art:after{display:none}.playing-card.espada .pip-art{color:#25251f}.playing-card.basto .pip-art{color:#24593d}.playing-card.oro .pip-art{color:#956318}.playing-card.copa .pip-art{color:#9c3035}.figure-art{width:68px;height:84px;top:47%;overflow:hidden;border:2px solid #9c733d;border-radius:35% 35% 20% 20%;background:radial-gradient(ellipse at 50% 35%,#f5dfb6 0 35%,#d1ad79 72%,#997044 100%);box-shadow:inset 0 0 0 3px #fff1d5,inset 0 0 0 4px #986e3e,0 2px 5px #50341977}.figure-art:before{content:'';position:absolute;inset:5px;border:1px dashed #77583288;border-radius:35% 35% 18% 18%;z-index:1;pointer-events:none}.figure-art:after{content:'✦ · ✦';bottom:2px;font-size:6px;letter-spacing:3px;color:#60472a}.figure-art .halo{position:absolute;left:13px;top:7px;width:38px;height:38px;border:1px solid #b98e4d66;border-radius:50%;background:radial-gradient(circle,#f4d98d66,#d0ab6644 70%,transparent 72%)}.figure-art .hat{z-index:5;left:6px;top:10px;width:52px;height:17px;border-radius:75% 75% 15% 15%;background:linear-gradient(180deg,#38281c,#17120e 76%);border-bottom:4px solid #a77a38;box-shadow:0 3px 2px #422d1b66}.figure-art .hat:before{left:-5px;right:-5px;bottom:-5px;height:5px;background:#5b4024}.figure-art .hat-band{position:absolute;left:3px;right:3px;bottom:2px;height:3px;background:repeating-linear-gradient(90deg,#d9b66c 0 4px,#7d302b 4px 6px);border-radius:2px}.figure-art .ear{position:absolute;z-index:2;top:31px;width:9px;height:13px;border:1px solid #9c6040;border-radius:50%;background:#c88d61}.figure-art .ear-left{left:11px}.figure-art .ear-right{right:11px}.figure-art .head{z-index:3;left:18px;top:25px;width:30px;height:36px;border:1px solid #aa7149;border-radius:44% 44% 48% 48%;background:linear-gradient(100deg,#e3b47a,#c98553 72%,#9e603e);box-shadow:inset -4px -2px #784c3633}.figure-art .head:before{content:none}.figure-art .head:after{content:none}.figure-art .brow{position:absolute;top:10px;width:8px;height:2px;border-radius:50%;background:#39251b}.figure-art .brow-left{left:5px;transform:rotate(-8deg)}.figure-art .brow-right{right:5px;transform:rotate(8deg)}.figure-art .eye{position:absolute;top:14px;width:3px;height:4px;border-radius:50%;background:#241912;box-shadow:0 0 0 1px #f3d7ac}.figure-art .eye-left{left:8px}.figure-art .eye-right{right:8px}.figure-art .nose{position:absolute;top:16px;left:12px;width:5px;height:8px;border-right:1px solid #8e5539;border-bottom:1px solid #8e5539;transform:rotate(24deg)}.figure-art .moustache{z-index:4;top:47px;left:20px;width:27px;height:8px;border-radius:40% 40% 65% 65%;background:#36231a;box-shadow:0 1px #f0c98f66}.figure-art .neck{position:absolute;z-index:2;left:27px;top:56px;width:13px;height:12px;background:linear-gradient(90deg,#9c5e40,#d39761,#9c5e40)}.figure-art .poncho{z-index:3;left:5px;bottom:-7px;width:55px;height:28px;background:repeating-linear-gradient(0deg,#8d302b 0 5px,#e0c77e 5px 7px,#31513e 7px 9px,#30241b 9px 11px);clip-path:polygon(12% 0,88% 0,100% 100%,0 100%)}.figure-art .prop{z-index:6;right:4px;top:42px;color:#f7e7c4;font-size:11px;text-shadow:0 1px 2px #28180e}.figure-art .suit-mark{position:absolute;z-index:7;left:50%;bottom:5px;transform:translateX(-50%);color:#fff0cf;font:700 10px var(--serif);text-shadow:0 1px 2px #1b120b}.figure-art.paisana .hat{top:13px;left:9px;width:46px;height:13px;border-radius:80% 80% 20% 20%;background:linear-gradient(#7d302b,#3b211b);border-bottom-color:#d6b36b}.figure-art.paisana .hat-band{height:2px;background:#e2c478}.figure-art.paisana .head:after{content:'';position:absolute;left:-3px;top:-6px;width:34px;height:14px;border-radius:80% 80% 15% 15%;background:#39251a}.figure-art.paisana .poncho{background:repeating-linear-gradient(0deg,#a33b3b 0 5px,#f1d9a0 5px 7px,#593827 7px 10px)}.figure-art.payador .hat{transform:rotate(-7deg);background:linear-gradient(#264b3b,#16251e);border-bottom-color:#d6b36b}.figure-art.payador .prop{color:#e4c57b}.trick-box .card-caption{display:none}.trick-box .card-corner{font-size:10px}.trick-box .pip-art{font-size:25px}.trick-box .figure-art{width:25px;height:35px;top:49%;border-width:1px}.trick-box .figure-art:before,.trick-box .figure-art:after,.trick-box .figure-art .halo,.trick-box .figure-art .ear,.trick-box .figure-art .brow,.trick-box .figure-art .eye,.trick-box .figure-art .nose,.trick-box .figure-art .neck,.trick-box .figure-art .suit-mark{display:none}.trick-box .figure-art .hat{left:3px;top:4px;width:19px;height:7px;border-bottom-width:1px}.trick-box .figure-art .hat:before{height:2px;bottom:-2px}.trick-box .figure-art .hat-band{display:none}.trick-box .figure-art .head{left:7px;top:11px;width:12px;height:14px}.trick-box .figure-art .moustache{top:21px;left:8px;width:10px;height:4px}.trick-box .figure-art .poncho{left:3px;width:19px;height:13px}.trick-box .figure-art .prop{right:1px;top:18px;font-size:5px}.@media(max-width:650px){.playing-card .card-corner{font-size:16px}.card-caption{left:2px;right:2px;bottom:5px;min-height:20px;gap:3px;padding:2px;font-size:5px}.card-caption b{font-size:9px}.pip-art{font-size:44px}.figure-art{width:60px;height:76px}.figure-art .hat{left:4px;width:48px}.figure-art .head{left:15px}.figure-art .ear-left{left:8px}.figure-art .ear-right{right:8px}.figure-art .moustache{left:17px}.figure-art .neck{left:24px}.figure-art .poncho{left:3px;width:50px}.trick-box .playing-card .card-corner{font-size:10px}.trick-box .pip-art{font-size:23px}}
.playing-card.espada{--suit-mark:#fff0cc}.playing-card.basto{--suit-mark:#96c988}.playing-card.oro{--suit-mark:#f0ca72}.playing-card.copa{--suit-mark:#f08b8b}.playing-card.espada .pip-art{color:#25251f}.playing-card.basto .pip-art{color:#24593d}.playing-card.oro .pip-art{color:#956318}.playing-card.copa .pip-art{color:#9c3035}.card-caption{display:flex;align-items:center;justify-content:center;gap:4px;left:5px;right:5px;bottom:7px;padding:3px 2px;border:1px solid #a8884e;border-radius:2px;background:#302519ed;color:#fff1d3;font:600 7px var(--mono);letter-spacing:.04em;white-space:nowrap;pointer-events:none}.card-caption b{color:var(--suit-mark);font:700 11px var(--serif);line-height:1}.trick-box .card-caption{display:none}@media(max-width:650px){.card-caption{left:2px;right:2px;bottom:6px;gap:2px;padding:2px 1px;font-size:5px;letter-spacing:0}.card-caption b{font-size:8px}}
/* Portada: retrato criollo y ancho de espadas dibujados en CSS. */
.portrait-frame{overflow:visible;isolation:isolate;background:linear-gradient(155deg,#c39a60 0%,#9b7042 38%,#6d492e 69%,#37271d 70%);box-shadow:0 25px 48px #0009,inset 0 0 0 5px #513722,inset 0 0 0 7px #d1ad6a;}
.portrait-frame:after{content:"";position:absolute;inset:11px 10px 13%;border:1px solid #f2d79688;clip-path:polygon(0 0,100% 0,100% 87%,50% 100%,0 87%);pointer-events:none;z-index:0}
.portrait-frame:before{top:18px;z-index:6;text-shadow:0 1px 2px #3c2817}
.portrait-hat{top:20%;width:78%;height:78px;border-radius:80% 80% 16% 16%;background:linear-gradient(180deg,#211914 0 28%,#493324 29% 46%,#17120f 47% 76%,#302116 77%);border-bottom:7px solid #d4ad61;box-shadow:0 10px 12px #27170f88,inset 0 -2px #f2d38a;transform:perspective(180px) rotateX(-5deg);color:transparent;padding:0}
.portrait-hat:before{content:"";position:absolute;left:5%;right:5%;top:43%;height:14px;border-top:2px solid #a77f43;border-bottom:2px solid #c49c54;background:repeating-linear-gradient(90deg,#d2ae68 0 8px,#623d2b 8px 12px)}
.portrait-hat:after{content:"";position:absolute;left:-4%;right:-4%;bottom:-12px;height:14px;border-radius:50%;border-bottom:4px solid #d7b568;box-shadow:0 5px 3px #38251c66}
.hat-pin{position:absolute;z-index:2;top:25%;left:50%;transform:translateX(-50%);color:#f0cf7e;font-size:16px;text-shadow:0 1px #17100b}
.portrait-face{top:34%;width:53%;height:36%;border-radius:47% 47% 43% 43%;background:radial-gradient(ellipse at 36% 35%,#efc991 0 12%,transparent 50%),linear-gradient(105deg,#dcae76 0%,#c98a58 58%,#915c3d 100%);box-shadow:inset -17px -4px 0 #633c2d44,inset 5px 0 8px #f3d4a244,0 8px 12px #39221744}
.portrait-face:before{content:none}
.portrait-ear{position:absolute;top:42%;width:13%;height:20%;border:2px solid #9c6040;border-radius:50%;background:linear-gradient(90deg,#c58153,#e2ae75);z-index:0}
.portrait-ear.ear-left{left:-8%}.portrait-ear.ear-right{right:-8%}
.portrait-brow{position:absolute;top:39%;width:18%;height:7px;border-top:3px solid #3b261b;border-radius:50%}
.portrait-brow.brow-left{left:20%;transform:rotate(-8deg)}.portrait-brow.brow-right{top:39%;right:20%;transform:rotate(8deg)}
.portrait-eye{position:absolute;top:47%;width:7px;height:9px;border-radius:50%;background:#241812;box-shadow:none;z-index:1}
.portrait-eye.eye-left{left:27%}.portrait-eye.eye-right{left:auto;right:27%}
.portrait-nose{position:absolute;left:47%;top:48%;width:12px;height:19px;border-right:2px solid #9c5c3d;border-bottom:2px solid #9c5c3d;border-radius:0 0 60% 0;transform:rotate(13deg)}
.portrait-moustache{position:absolute;left:32%;top:60%;width:38%;height:15px;border-radius:40% 40% 55% 55%;background:#302019;box-shadow:0 2px 0 #e8b97866}
.portrait-moustache:before,.portrait-moustache:after{content:"";position:absolute;top:-1px;width:60%;height:12px;background:#302019;border-radius:100% 10% 90% 20%}
.portrait-moustache:before{left:-22%;transform:rotate(14deg)}.portrait-moustache:after{right:-22%;transform:scaleX(-1) rotate(14deg)}
.portrait-chin{position:absolute;left:42%;top:80%;width:16%;height:3px;border-radius:50%;background:#985a3d88}
.portrait-scarf{top:67%;width:71%;height:58px;background:repeating-linear-gradient(0deg,#762823 0 8px,#dfc17c 8px 11px,#96362f 11px 20px);filter:drop-shadow(0 7px 3px #29170f77);clip-path:polygon(0 0,100% 0,84% 100%,55% 71%,49% 63%,43% 71%,17% 100%);z-index:3}
.portrait-scarf:before{content:"";position:absolute;inset:5px 9% auto;height:2px;background:#f1d995;opacity:.9}
.scarf-knot{position:absolute;top:27%;left:50%;transform:translate(-50%,-50%);color:#f1d995;font-size:13px;text-shadow:0 1px 2px #4c241c}
.portrait-card{right:6%;bottom:12%;width:84px;height:128px;padding:8px 7px;background:linear-gradient(135deg,#fff4d8,#e8d6b0 65%,#d0b98a);border:4px double #584029;border-radius:7px;color:#281d15;transform:rotate(12deg);box-shadow:0 12px 18px #1e130e99,0 0 0 2px #e3c27a,inset 0 0 0 3px #fff8df;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;overflow:hidden}
.portrait-card:before{content:"";position:absolute;inset:5px;border:1px solid #a18455;border-radius:3px;pointer-events:none}
.portrait-card:after{content:"✦  ✦  ✦";position:absolute;top:5px;left:0;right:0;text-align:center;color:#b08b4a;font-size:7px;letter-spacing:4px}
.ace-index{position:absolute;top:7px;left:10px;font:700 17px var(--serif);color:#332417}.ace-suit{font:45px/1 var(--serif);color:#24231e;text-shadow:0 2px #c4a265}.ace-label{margin-top:4px;padding:3px 8px;border-top:1px solid #8f7040;border-bottom:1px solid #8f7040;color:#654923;font:700 7px var(--mono);letter-spacing:.16em}
.ace-corner{position:absolute;right:8px;bottom:8px;color:#9a7136;font-size:10px}
.portrait-seal{position:absolute;left:8%;bottom:18%;z-index:4;padding:5px 7px;border:1px solid #dfc17c;border-radius:50%;color:#f0d396;background:#642d26;transform:rotate(-13deg);text-align:center;font:6px/1.35 var(--mono);letter-spacing:.08em;box-shadow:0 3px 6px #24160f88}.portrait-seal b{font-size:7px}
.art-caption{right:1%;bottom:4%;z-index:5;max-width:260px;padding:8px 11px;border:1px solid #d5b66c;border-left:3px solid #e4c477;border-radius:3px;background:linear-gradient(110deg,#1e1712f2,#302219eF);box-shadow:0 6px 16px #0006;color:#ffdfa0;font-size:9px;line-height:1.5;letter-spacing:.08em}
.art-caption b,.art-caption small{display:block}.art-caption small{margin-top:2px;color:#f1e5ca;font:italic 11px/1.35 var(--serif);letter-spacing:0}
@media(max-width:850px){.portrait-frame{width:min(36vw,290px);height:min(54vw,410px)}.portrait-card{width:72px;height:112px}.portrait-hat{height:65px}.portrait-scarf{height:49px}.art-caption{max-width:225px}}
@media(max-width:650px){.portrait-frame{width:220px;height:330px;min-height:0}.portrait-hat{height:54px}.portrait-card{width:62px;height:96px;right:5%;bottom:12%}.ace-suit{font-size:34px}.ace-index{font-size:14px}.portrait-scarf{height:43px}.portrait-seal{font-size:5px;bottom:17%}.art-caption{max-width:190px;right:0;bottom:3%;font-size:7px;padding:6px 8px}.art-caption small{font-size:9px}.portrait-eye{width:5px;height:7px}.portrait-moustache{height:11px}}

/* El gaucho reacciona cuando el puntero se acerca: se ladea y guiña una vez. */
.portrait-face{transform-origin:55% 65%;transition:transform .38s cubic-bezier(.2,.75,.25,1)}
@keyframes portrait-wink{0%,100%{width:7px;height:9px;top:47%;border:0;border-radius:50%;background:#241812;box-shadow:none;transform:rotate(0)}24%,45%{width:15px;height:6px;top:50%;border:0;border-bottom:3px solid #241812;border-radius:0 0 70% 70%;background:transparent;box-shadow:none;transform:rotate(-10deg)}}
@media(hover:hover) and (pointer:fine){.home-art:hover .portrait-face{transform:rotate(4deg) translate(3px,1px) scale(1.015)}.home-art:hover .portrait-eye.eye-right{animation:portrait-wink .72s ease-in-out 1}.home-art:hover .portrait-brow.brow-right{transform:translateY(-2px) rotate(13deg);transition:transform .3s ease-out}}
@media(prefers-reduced-motion:reduce){.portrait-face{transition:none}.home-art:hover .portrait-face{transform:none}.home-art:hover .portrait-eye.eye-right{animation:none}}

/* Movimiento suave para la portada, los textos y las acciones de la mesa. */
@keyframes parchment-rise{from{opacity:0;transform:translateY(12px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes deal-card{from{opacity:0;transform:translateY(24px) rotate(3deg) scale(.94)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}
@keyframes card-land{from{opacity:0;transform:translateY(-16px) scale(.92) rotate(5deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes log-arrive{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@keyframes score-flash{0%{transform:scale(1);color:var(--paper);text-shadow:none}45%{transform:scale(1.2);color:#ffe397;text-shadow:0 0 16px #e7bf65aa}100%{transform:scale(1);color:var(--paper);text-shadow:none}}
@keyframes felt-breathe{0%,100%{filter:brightness(1)}50%{filter:brightness(1.07)}}
@keyframes rival-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes dialog-arrive{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.home-copy>.overline,.home-copy>h1,.home-copy>.subtitle,.home-copy>.intro,.home-copy>.home-actions,.home-copy>.home-note{animation:parchment-rise .58s cubic-bezier(.2,.7,.25,1) both}
.home-copy>.overline{animation-delay:.05s}.home-copy>h1{animation-delay:.12s}.home-copy>.subtitle{animation-delay:.19s}.home-copy>.intro{animation-delay:.25s}.home-copy>.home-actions{animation-delay:.32s}.home-copy>.home-note{animation-delay:.4s}
.game-screen:not([hidden]) .game-header{animation:parchment-rise .42s ease-out both}
.game-screen:not([hidden]) .felt-table{animation:parchment-rise .48s .06s ease-out both}
.game-screen:not([hidden]) .hand-head{animation:parchment-rise .42s .12s ease-out both}
.game-screen:not([hidden]) .side-panel{animation:parchment-rise .42s ease-out both}
.game-screen:not([hidden]) .side-panel:nth-child(2){animation-delay:.07s}.game-screen:not([hidden]) .side-panel:nth-child(3){animation-delay:.14s}
.playing-card.selectable{transform-origin:50% 100%;transition:transform .2s cubic-bezier(.2,.7,.25,1),filter .2s,box-shadow .2s}
.playing-card.deal-in{animation:deal-card .42s cubic-bezier(.2,.75,.25,1) both}
.playing-card.deal-in:nth-child(2){animation-delay:.045s}.playing-card.deal-in:nth-child(3){animation-delay:.09s}.playing-card.deal-in:nth-child(4){animation-delay:.135s}.playing-card.deal-in:nth-child(5){animation-delay:.18s}
.trick-box .playing-card.played-in{animation:card-land .32s cubic-bezier(.2,.8,.25,1) both}
.event-log.message-pop{animation:log-arrive .24s ease-out both}
.score-bump{animation:score-flash .42s ease-out both}
.trick-box.current{animation:felt-breathe 2.8s ease-in-out infinite}
.rival-face{animation:rival-float 4.4s ease-in-out infinite}
.dialog-scrim:not([hidden]) .dialog{animation:dialog-arrive .28s cubic-bezier(.2,.7,.25,1) both}
.action-button,.mechanic,.side-panel,.support{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,filter .2s ease}
.action-button:not(:disabled):hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 5px 13px #0005}
@media(hover:hover) and (pointer:fine){.playing-card.selectable:not(.selected):hover{transform:translateY(-5px) rotate(-1deg);filter:brightness(1.04)}.mechanic:hover,.side-panel:hover{transform:translateY(-2px);border-color:#9b7742;box-shadow:0 8px 18px #0003}}
.text-enter{animation:parchment-rise .34s ease-out both}
@media(prefers-reduced-motion:reduce){.home-copy>.overline,.home-copy>h1,.home-copy>.subtitle,.home-copy>.intro,.home-copy>.home-actions,.home-copy>.home-note,.game-screen:not([hidden]) .game-header,.game-screen:not([hidden]) .felt-table,.game-screen:not([hidden]) .hand-head,.game-screen:not([hidden]) .side-panel,.playing-card.deal-in,.trick-box .playing-card.played-in,.event-log.message-pop,.score-bump,.text-enter,.trick-box.current,.rival-face,.dialog-scrim:not([hidden]) .dialog{animation:none}.playing-card.selectable,.action-button,.mechanic,.side-panel,.support{transition:none}}
.reduced *{animation:none!important;transition:none!important;scroll-behavior:auto!important}

/* Identidad visual de baraja española: palos propios y cantidad real de pips. */
.suit-icon{display:block;width:100%;height:100%;overflow:visible;fill:currentColor}
.card-caption b .suit-icon{width:12px;height:12px}
.figure-art .suit-mark .suit-icon{width:10px;height:10px}
.pip-art{position:absolute;inset:31px 9px 29px;transform:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));place-items:center;width:auto;height:auto;border:0;border-radius:0;background:none;box-shadow:none;text-shadow:none}
.pip-art>i{display:grid;place-items:center;width:100%;height:100%;font-style:normal}
.pip-art .suit-icon{width:15px;height:15px}
.pip-art.count-1 .suit-icon{width:34px;height:34px}
.pip-art.count-2 .suit-icon,.pip-art.count-3 .suit-icon{width:23px;height:23px}
.trick-box .pip-art{inset:16px 3px 14px}
.trick-box .pip-art .suit-icon{width:8px;height:8px}
.trick-box .pip-art.count-1 .suit-icon{width:16px;height:16px}
.trick-box .pip-art.count-2 .suit-icon,.trick-box .pip-art.count-3 .suit-icon{width:11px;height:11px}
.ace-suit{display:block;width:38px;height:43px;color:#24231e}
.ace-suit .suit-icon{width:100%;height:100%;filter:drop-shadow(0 2px 1px #c4a265)}
@media(max-width:650px){.pip-art{inset:27px 7px 26px}.pip-art .suit-icon{width:12px;height:12px}.pip-art.count-1 .suit-icon{width:28px;height:28px}.pip-art.count-2 .suit-icon,.pip-art.count-3 .suit-icon{width:18px;height:18px}.trick-box .pip-art{inset:16px 3px 14px}.ace-suit{width:32px;height:36px}}

/* Las cartas de las bazas deben aprovechar el espacio de cada casillero. */
.trick-row{width:min(100%,650px);padding-inline:4px;gap:9px}
.trick-box{height:158px;min-width:0;padding:22px 7px 23px;gap:8px;row-gap:5px;flex-wrap:wrap;align-content:center;overflow:visible}
.trick-box .playing-card{width:clamp(36px,10vw,64px);height:auto;aspect-ratio:105/143;flex:0 0 clamp(36px,10vw,64px);padding:7px 5px;z-index:1}
.trick-box small,.trick-box .trick-result{z-index:2;line-height:1.2}
.trick-box small{left:9px;top:8px;font-size:8px}
.trick-box .trick-result{bottom:7px;font-size:8px}
.trick-box .card-corner{font-size:14px}
.trick-box .pip-art{inset:20px 4px 17px}
.trick-box .pip-art .suit-icon{width:12px;height:12px}
.trick-box .pip-art.count-1 .suit-icon{width:30px;height:30px}
.trick-box .pip-art.count-2 .suit-icon,.trick-box .pip-art.count-3 .suit-icon{width:20px;height:20px}
.trick-box .figure-art{width:68px;height:84px;top:49%;transform:translate(-50%,-50%) scale(.72);border-width:2px}
.trick-box .figure-art:before,.trick-box .figure-art:after,.trick-box .figure-art .halo,.trick-box .figure-art .ear,.trick-box .figure-art .brow,.trick-box .figure-art .eye,.trick-box .figure-art .nose,.trick-box .figure-art .neck,.trick-box .figure-art .suit-mark{display:block}
.trick-box .figure-art:before{content:' ';position:absolute;inset:5px;border:1px dashed #77583288;border-radius:35% 35% 18% 18%;z-index:1;pointer-events:none}
.trick-box .figure-art:after{content:'✦ · ✦';position:absolute;left:0;right:0;bottom:2px;text-align:center;font-size:6px;letter-spacing:3px;color:#60472a}
.trick-box .figure-art .halo{left:13px;top:7px;width:38px;height:38px}
.trick-box .figure-art .hat{left:6px;top:10px;width:52px;height:17px;border-bottom-width:4px}
.trick-box .figure-art .hat:before{left:-5px;right:-5px;bottom:-5px;height:5px}
.trick-box .figure-art .hat-band{left:3px;right:3px;bottom:2px;height:3px;display:block}
.trick-box .figure-art .ear{top:31px;width:9px;height:13px}
.trick-box .figure-art .ear-left{left:11px}
.trick-box .figure-art .ear-right{right:11px}
.trick-box .figure-art .head{left:18px;top:25px;width:30px;height:36px}
.trick-box .figure-art .brow{top:10px;width:8px;height:2px}
.trick-box .figure-art .brow-left{left:5px}
.trick-box .figure-art .brow-right{right:5px}
.trick-box .figure-art .eye{top:14px;width:3px;height:4px}
.trick-box .figure-art .eye-left{left:8px}
.trick-box .figure-art .eye-right{right:8px}
.trick-box .figure-art .nose{top:16px;left:12px;width:5px;height:8px}
.trick-box .figure-art .moustache{top:47px;left:20px;width:27px;height:8px}
.trick-box .figure-art .neck{left:27px;top:56px;width:13px;height:12px}
.trick-box .figure-art .poncho{left:5px;bottom:-7px;width:55px;height:28px}
.trick-box .figure-art .prop{right:4px;top:42px;font-size:11px}
.trick-box:has(.playing-card:nth-of-type(3)){height:228px}
.hand,.backs{position:relative;z-index:1}

@media(max-width:900px){
  .trick-box .playing-card{width:clamp(40px,7vw,54px);flex-basis:clamp(40px,7vw,54px)}
  .trick-box:has(.playing-card:nth-of-type(3)){height:208px}
}
@media(max-width:650px){
  .trick-row{gap:5px;padding-inline:2px}
  .trick-box{height:122px;padding:19px 4px 20px;gap:5px;row-gap:3px}
  .trick-box .playing-card{width:clamp(36px,10vw,64px);flex-basis:clamp(36px,10vw,64px);padding:5px 4px}
  .trick-box small{left:5px;top:6px;font-size:6px}
  .trick-box .trick-result{bottom:5px;font-size:6px}
  .trick-box .card-corner{font-size:11px}
  .trick-box .pip-art{inset:16px 3px 14px}
  .trick-box .pip-art .suit-icon{width:9px;height:9px}
  .trick-box .pip-art.count-1 .suit-icon{width:22px;height:22px}
  .trick-box .pip-art.count-2 .suit-icon,.trick-box .pip-art.count-3 .suit-icon{width:15px;height:15px}
  .trick-box .figure-art{transform:translate(-50%,-50%) scale(.55)}
  .trick-box:has(.playing-card:nth-of-type(3)){height:142px}
}

/* Una única escala para todos los naipes de la partida. */
:root{--card-width:clamp(56px,6.3vw,64px)}
.playing-card{width:var(--card-width);height:auto;aspect-ratio:105/143;flex:0 0 var(--card-width);padding:6px 5px}
.playing-card .card-corner,.card-corner{margin:2px 1px 0;font-size:14px;line-height:1;z-index:3}
.hand{min-width:0;position:relative;z-index:2}
.trick-row{width:min(100%,650px);padding-inline:4px;gap:9px;align-items:stretch}
.trick-box{height:auto;min-height:158px;min-width:0;padding:22px 8px 23px;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;align-items:center;gap:8px;row-gap:7px;overflow:visible}
.trick-box .playing-card{width:var(--card-width);height:auto;aspect-ratio:105/143;flex-basis:var(--card-width);padding:6px 5px;z-index:1}
.trick-box .card-corner{font-size:14px;margin:2px 1px 0}
.playing-card .pip-art{inset:20px 4px 21px}
.playing-card .pip-art .suit-icon{width:9px;height:9px}
.playing-card .pip-art.count-1 .suit-icon{width:20px;height:20px}
.playing-card .pip-art.count-2 .suit-icon,.playing-card .pip-art.count-3 .suit-icon{width:12px;height:12px}
.playing-card .figure-art{width:68px;height:84px;top:49%;transform:translate(-50%,-50%) scale(.72)}
.trick-box:has(.playing-card:nth-of-type(3)){min-height:202px}
.trick-box small,.trick-box .trick-result{z-index:2;line-height:1.2}
.trick-box small{left:9px;top:8px;font-size:8px}
.trick-box .trick-result{bottom:7px;font-size:8px}
.playing-card .card-caption{left:3px;right:3px;bottom:4px;min-height:14px;gap:2px;padding:1px;font-size:5px;letter-spacing:0}
.playing-card .card-caption b{font-size:8px;line-height:1}
.playing-card .card-caption b .suit-icon{width:8px;height:8px}
.card-back{width:var(--card-width);height:auto;aspect-ratio:105/143;margin-left:0;flex:0 0 var(--card-width)}
.card-back+.card-back{margin-left:calc(22px - var(--card-width))}

@media(max-width:650px){
  .playing-card,.trick-box .playing-card,.card-back{width:var(--card-width);flex-basis:var(--card-width)}
  .hand{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:7px;padding:16px 8px 15px;scroll-padding-inline:8px;scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .hand .playing-card{scroll-snap-align:center}
  .trick-row{width:100%;max-width:650px;padding-inline:2px;grid-template-columns:minmax(0,1fr);gap:8px;margin:10px auto 12px}
  .trick-box{min-height:122px;padding:19px 8px 20px;gap:8px;row-gap:6px}
  .trick-box .card-corner{font-size:14px}
  .trick-box small{left:8px;top:7px;font-size:7px}
  .trick-box .trick-result{bottom:6px;font-size:7px}
  .playing-card .pip-art{inset:18px 4px 21px}
  .playing-card .pip-art .suit-icon{width:9px;height:9px}
  .playing-card .pip-art.count-1 .suit-icon{width:19px;height:19px}
  .playing-card .pip-art.count-2 .suit-icon,.playing-card .pip-art.count-3 .suit-icon{width:11px;height:11px}
  .trick-box:has(.playing-card:nth-of-type(3)){min-height:158px}
}

/* El área de ilustración es la misma para la mano y para las cartas jugadas. */
:root{--hand-card-width:clamp(82px,10.5vw,105px)}
.hand .playing-card{width:var(--hand-card-width);height:auto;aspect-ratio:105/143;flex:0 0 var(--hand-card-width);padding:8px 7px}
.card-art{position:absolute;inset:15px 5px 18px;z-index:1;display:grid;place-items:center;pointer-events:none}
.playing-card .pip-art{position:relative;inset:auto;left:auto;top:auto;transform:none;width:100%;height:100%;place-self:stretch}
.playing-card .figure-art{position:relative;left:auto;top:auto;width:60px;height:76px;margin:auto;transform:none}
.trick-box .figure-art{transform:scale(.68)}
.trick-box .pip-art .suit-icon{width:11px;height:11px}
.trick-box .pip-art.count-1 .suit-icon{width:20px;height:20px}
.trick-box .pip-art.count-2 .suit-icon,.trick-box .pip-art.count-3 .suit-icon{width:12px;height:12px}
@media(max-width:650px){
  .hand .playing-card{width:82px;flex-basis:82px}
  .card-art{inset:14px 4px 17px}
}

/* El rótulo inferior debe leerse al tamaño grande de la mano. */
.hand .playing-card .card-caption{left:3px;right:3px;bottom:4px;min-height:22px;gap:4px;padding:3px 4px;font-size:8px;letter-spacing:.02em}
.hand .playing-card .card-caption b{font-size:11px}
.hand .playing-card .card-caption b .suit-icon{width:10px;height:10px}
@media(max-width:650px){
  .hand .playing-card .card-caption{min-height:20px;gap:3px;padding:2px;font-size:7px;letter-spacing:0}
  .hand .playing-card .card-caption b{font-size:10px}
  .hand .playing-card .card-caption b .suit-icon{width:9px;height:9px}
}

/* Pulpería de mejoras: ofertas con brillo propio y remate visible al comprarlas. */
.shop-grid{gap:12px;margin-top:16px}
.shop-item{position:relative;isolation:isolate;overflow:hidden;min-height:156px;padding:15px 13px 12px;border:1px solid #80683d;background:radial-gradient(ellipse at 88% 0%,#8a642b38,transparent 46%),linear-gradient(145deg,#46311f,#2a2119 72%);box-shadow:inset 0 0 0 3px #1d1711,0 5px 12px #100b0870;transition:transform .22s,border-color .22s,box-shadow .22s;animation:offer-arrive .42s both;animation-delay:calc(var(--offer-index,0)*55ms)}
.shop-item:before{content:"✦";position:absolute;z-index:-1;right:9px;top:23px;color:#f1d17d21;font-size:72px;line-height:1;transform:rotate(14deg);transition:transform .3s,color .3s}
.shop-item:hover{transform:translateY(-4px) rotate(-.3deg);border-color:#e6c779;box-shadow:inset 0 0 0 3px #1d1711,0 8px 24px #090704aa,0 0 17px #dfb75525}
.shop-item:hover:before{transform:rotate(35deg) scale(1.12);color:#f1d17d48}
.shop-ribbon{position:absolute;right:9px;top:8px;padding:3px 5px;border:1px solid #c39e5c75;color:#cbb374;font:6px var(--mono);letter-spacing:.12em}
.shop-title{display:flex;align-items:center;gap:8px;min-height:33px;padding-right:48px}
.shop-item .shop-title>i{flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;border:1px solid #c8a458;border-radius:50%;background:radial-gradient(circle at 38% 30%,#775b31,#302216);box-shadow:0 0 0 3px #201910;color:#f2d482;font:normal 15px var(--serif);text-shadow:0 0 9px #f8d47788}
.shop-item .shop-title>span{color:#f4dfa9;font:700 12px/1.25 var(--serif)}
.shop-item p{position:relative;min-height:44px;margin:11px 0;color:#c9b995;font-size:10px;line-height:1.5}
.shop-item button{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;overflow:hidden;padding:9px 10px;border:1px solid #f2d991;background:linear-gradient(110deg,#f0d48c,#be9350 48%,#eed18a);box-shadow:0 3px #76552b;color:#2b1d12;font:700 8px var(--mono);letter-spacing:.05em;transition:filter .2s,transform .2s,box-shadow .2s}
.shop-item button:after{content:"";position:absolute;inset:-80% auto -80% -45%;width:35%;background:#fff9;transform:rotate(25deg);transition:left .45s}
.shop-item button:hover{filter:brightness(1.13);transform:translateY(-1px);box-shadow:0 4px #76552b,0 0 15px #f1d17d55}
.shop-item button:hover:after{left:120%}
.shop-item button b{color:#33200f;font:700 9px var(--mono)}
.shop-item button:disabled{border-color:#84785f;background:#81755e;color:#d2c8b0;box-shadow:none;opacity:.55;cursor:not-allowed}
.shop-item button:disabled:after{display:none}
.shop-receipt{display:flex;align-items:center;gap:12px;margin:0 0 13px;padding:11px 13px;border:1px solid #efcf79;background:radial-gradient(ellipse at 12% 50%,#edcb6e44,transparent 50%),linear-gradient(100deg,#4d351e,#2a2118);box-shadow:inset 0 0 0 3px #251b12,0 4px 16px #05030270;animation:receipt-pop .58s cubic-bezier(.17,.89,.32,1.35) both}
.shop-receipt>span:nth-child(2){display:grid;gap:3px;flex:1}
.shop-receipt small{color:#e6c571;font:7px var(--mono);letter-spacing:.16em}
.shop-receipt b{color:#fff0bd;font:700 14px var(--serif);text-shadow:0 0 12px #e9c36688}
.receipt-spark{color:#ffe69a;font-size:22px;animation:receipt-spark .7s ease-out both}
.receipt-seal{display:grid;place-items:center;width:42px;height:42px;border:1px solid #e2bd69;border-radius:50%;color:#f1d482;font:6px var(--mono);transform:rotate(12deg);box-shadow:0 0 0 3px #7c603340,inset 0 0 10px #e9c77b24}
@keyframes offer-arrive{from{opacity:0;transform:translateY(9px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes receipt-pop{0%{opacity:0;transform:translateY(-8px) scale(.94)}65%{transform:translateY(2px) scale(1.015)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes receipt-spark{0%{transform:rotate(-45deg) scale(.3);filter:brightness(1)}65%{transform:rotate(30deg) scale(1.35);filter:brightness(1.7)}100%{transform:rotate(0) scale(1);filter:brightness(1)}}
@media(max-width:650px){.shop-grid{gap:9px}.shop-item{min-height:0;padding:13px 12px 11px}.shop-item p{min-height:0;margin:9px 0}.shop-item .shop-title>span{font-size:13px}.shop-item button{min-height:37px}.shop-receipt{gap:9px;padding:10px}.shop-receipt b{font-size:12px}.receipt-seal{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.shop-item,.shop-receipt,.receipt-spark{animation:none!important;transition:none!important}}

/* Sellos de mejora: se ven en todas las zonas sin invadir índices ni franja del palo. */
.playing-card{position:relative}
.card-seal{position:absolute;z-index:4;top:18px;right:4px;width:16px;height:16px;display:grid;place-items:center;border:1px solid #f0d28b;border-radius:50%;background:radial-gradient(circle at 35% 28%,#f8e2a4,#9c702f 72%);box-shadow:0 1px 4px #1a1009c9,inset 0 0 0 2px #714d24;color:#30200f;font:700 9px var(--serif);text-shadow:0 1px #fff4;pointer-events:none}
.playing-card.seal-trick .card-seal{background:radial-gradient(circle at 35% 28%,#ffeab2,#9c3028 75%);color:#fff0c9}
.playing-card.seal-discard .card-seal{background:radial-gradient(circle at 35% 28%,#d9efc6,#39704c 75%);color:#fff2c8}
.playing-card.seal-keep .card-seal{background:radial-gradient(circle at 35% 28%,#e5d7ae,#596e4a 75%);color:#fff2c8}
.playing-card.has-seal{box-shadow:0 0 0 1px #f5d483,0 0 12px #e6bc5d42}
.hand .playing-card .card-seal{top:21px;right:5px;width:19px;height:19px;font-size:10px}
.trick-box .playing-card .card-seal{top:17px;right:3px;width:13px;height:13px;font-size:7px}
.shop-reroll{width:100%;margin:0 0 2px;padding:10px;border:1px dashed #b79657;background:linear-gradient(100deg,#46331e,#30261a);color:#f0d28b;font:8px var(--mono);letter-spacing:.09em;transition:background .18s,box-shadow .18s}
.shop-reroll:hover{background:linear-gradient(100deg,#68502b,#3b2c1d);box-shadow:0 0 14px #e2bd6944}
.shop-reroll:disabled{opacity:.55;cursor:default}
@media(max-width:650px){.card-seal{top:16px;right:3px;width:14px;height:14px;font-size:8px}.hand .playing-card .card-seal{top:19px;right:4px;width:17px;height:17px}.trick-box .playing-card .card-seal{top:15px;right:2px;width:12px;height:12px;font-size:6px}}
.playing-card.has-seal.selected{transform:translateY(-10px);box-shadow:0 14px 22px #0008,0 0 0 2px #e0bd71,0 0 14px #e6bc5d75}
