:root{color-scheme:dark;--ink:#f4e5c9;--gold:#d3ae70;--line:#ddbd813d;--panel:#180d10;--paper:#211015;font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#100a0c url('./assets/salon-v1-display.webp') center top/100% auto no-repeat}a{color:inherit;text-underline-offset:4px}header,main,footer{max-width:1220px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 28px;background:#100a0ce8;border-bottom:1px solid var(--line)}.brand{font-size:12px;font-weight:800;letter-spacing:.18em;text-decoration:none}nav{display:flex;flex-wrap:wrap;gap:20px}nav a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}.skip{position:absolute;left:6px;top:4px;padding:12px;background:var(--panel);z-index:5;transform:translateY(-170%)}.skip:focus{transform:none}:focus-visible{outline:3px solid #f3cf84;outline-offset:4px}main{padding:0 28px 36px}.intro{padding:30px 0 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;text-shadow:0 2px 8px #000}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.22em;color:var(--gold);margin:0 0 8px}h1{font:clamp(40px,5vw,66px)/1.08 Georgia,serif;margin:0}h1 em{display:block;font-weight:400;color:#edd0a3}.intro p:last-child{font-size:14px;margin:10px 0 0}.balance{background:#180d10eb;border-left:2px solid var(--gold);padding:12px 20px;text-align:right;white-space:nowrap;font-size:12px}.balance strong{display:block;font-size:28px;line-height:1.3;font-variant-numeric:tabular-nums}.balance span{font-size:10px;color:#e2cba9}.game{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.9fr);border:1px solid var(--line);background:var(--panel);box-shadow:0 20px 60px #0008}.stage{position:relative;isolation:isolate;display:flex;align-items:center;min-height:480px;overflow:hidden;background:#180c10}.table-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:-1}.hands{width:100%;padding:54px 50px}.hand h2{margin:0 0 10px;font:600 11px/1.4 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.18em;text-shadow:0 1px 5px #000}.hand h2 strong{float:right;color:#fff6de;font-size:17px}.cards{display:flex;justify-content:center;gap:10px;min-height:104px}.card{position:relative;flex:0 0 66px;min-height:96px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:7px 9px;color:#202830;background:#fff1d8;border:1px solid #d7b582;border-radius:5px;box-shadow:0 4px 12px #0008;font:600 20px/1 Georgia,serif}.card.red{color:#a11f2f}.card .suit{align-self:center;font-size:29px}.card .bottom{align-self:flex-end;transform:rotate(180deg);font-size:16px}.card.back{background:#281016 url('./assets/card-back-v1-display.webp') center/100% 100% no-repeat;padding:0}.card.back span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.table-note{text-align:center;color:#efd5a5;font-size:9px;letter-spacing:.14em;margin:16px 0}.table-note span{display:block;font-size:8px;margin-top:3px}.controls{padding:24px;min-width:0;background:#180d10f5}.result{font:28px/1.2 Georgia,serif;margin:0 0 10px}#arithmetic{font-size:12px;margin:0 0 16px;min-height:38px}fieldset{border:0;padding:0;margin:0 0 13px}legend{font-size:11px;margin:0 0 7px;color:#e7d6b9}.bets,.stakes{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}button{font:inherit;cursor:pointer;min-height:44px;touch-action:manipulation;background:#28141c;color:var(--ink);border:1px solid var(--line);padding:8px 12px}button:disabled{opacity:.5;cursor:default}button[aria-pressed=true]{background:#603035;border-color:#e4b87c}.bets button{font-size:14px}.bets span{display:block;font-size:10px;line-height:1.5;color:#e8cfa8}.choice{font-size:11px;color:#e6c697;min-height:34px;margin:5px 0 10px}.primary{width:100%;background:#e3bd83;color:#24131a;border-color:#e3bd83;font-weight:750;min-height:48px}#status{font-size:12px;min-height:40px;margin:10px 0}.text-button{font-size:12px;text-decoration:underline;background:transparent;border:0;padding:8px 0;min-height:44px}button[hidden]{display:none}.preferences{display:flex;gap:15px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:8px;font-size:12px}.preferences button{font-size:12px}.preferences label{display:flex;align-items:center;gap:6px;min-height:44px}.preferences input{width:18px;height:18px;accent-color:var(--gold)}#art-status{font-size:11px;color:#dfc6a0;margin-bottom:0}.history,.rules,.drawing,.about{background:var(--panel)}.history{padding:22px 24px;border:1px solid var(--line);border-top:0}.history h2{font:26px/1.3 Georgia,serif;margin:0}.history>p,.history li{font-size:12px}.history ol{list-style:none;padding:0;margin:12px 0 0}.history li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding:10px 0}.rules{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:30px 26px;margin-top:28px}.rules h2,.about h2{font:34px/1.2 Georgia,serif;margin:0 0 14px}.rules h3,.drawing h3{font:25px/1.3 Georgia,serif;margin:0 0 15px}.rules p,.drawing p,.rules table,.drawing table,.about p{font-size:14px}table{border-collapse:collapse;width:100%;table-layout:fixed}th,td{padding:10px 5px;border-bottom:1px solid var(--line);text-align:left;overflow-wrap:anywhere}th{font-size:12px}.drawing{margin-top:1px;padding:24px 26px}.about{display:grid;grid-template-columns:1.15fr 1fr;gap:26px;align-items:center;margin-top:28px}.about img{display:block;width:100%;height:auto}.about>div{padding:24px}footer{background:#100a0c;padding:22px 28px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;border-top:1px solid var(--line)}footer p{font-size:11px;width:100%;margin:0}.policy{max-width:760px;background:var(--panel);padding:30px;margin:22px auto}.policy h1{font-size:40px}.policy p{font-size:15px}.policy a{display:inline-flex;align-items:center;min-height:44px}.policy code{overflow-wrap:anywhere}.noscript{padding:20px;background:var(--panel)}.stage.reveal .card{animation:arrive .18s ease-out both}.stage.reveal .player .card:nth-child(2){animation-delay:.2s}.stage.reveal .banker .card:nth-child(1){animation-delay:.1s}.stage.reveal .banker .card:nth-child(2){animation-delay:.3s}.stage.reveal .player .card:nth-child(3){animation-delay:.4s}.stage.reveal .banker .card:nth-child(3){animation-delay:.5s}.less-motion .stage.reveal .card{animation:none}@keyframes arrive{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}@media(max-width:760px){body{background-size:auto 680px}header{padding:8px 14px;gap:10px}.brand{font-size:10px}nav{gap:12px}nav a{font-size:11px}main{padding:0 12px 24px}.intro{padding:18px 2px 16px;gap:10px}h1{font-size:37px}.eyebrow{font-size:8px}.intro p:last-child{font-size:12px;margin-top:7px}.balance{padding:10px 12px;font-size:10px}.balance strong{font-size:24px}.game{display:block}.stage{min-height:280px}.hands{padding:24px 35px}.cards{gap:7px;min-height:70px}.card{flex-basis:51px;min-height:70px;padding:5px 7px;font-size:17px}.card .suit{font-size:23px}.card .bottom{font-size:13px}.hand h2{font-size:9px;margin-bottom:4px}.hand h2 strong{font-size:14px}.table-note{font-size:7px;margin:6px 0}.table-note span{font-size:6px}.controls{padding:14px 18px}.controls fieldset{margin-bottom:8px}.controls .choice{margin-bottom:8px}.result{font-size:25px}#arithmetic{min-height:0;margin-bottom:12px}fieldset{margin-bottom:10px}.choice{min-height:0}.rules{grid-template-columns:1fr;padding:24px 18px;gap:22px}.drawing{padding:24px 18px}.about{grid-template-columns:1fr;gap:0}.about>div{padding:22px}.history{padding:18px}.policy{margin:12px;padding:22px}.policy h1{font-size:33px}footer{padding:20px 14px}footer nav{gap:12px}}@media(max-width:350px){h1{font-size:30px}.balance{padding:8px}.balance strong{font-size:22px}header nav{gap:8px}header nav a{font-size:10px}.hands{padding:28px}.card{flex-basis:47px}.controls{padding:15px}.bets button{padding:6px;font-size:12px}}@media(min-width:580px) and (max-height:500px){.game{display:grid;grid-template-columns:1.1fr 1fr}.hands{padding:35px}.stage{min-height:400px}.controls{padding:18px}}
