:root{font-family:PingFang SC,Microsoft YaHei,sans-serif;color:var(--ink);background:#e6e4db;font-synthesis:none;--paper:#f6f2e7;--ink:#143d36;--felt:#165848;--accent:#f7cd48}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #d59727;outline-offset:3px}button:disabled{opacity:.38;cursor:default}button{border:0}a{color:inherit;text-decoration:none}.shell{max-width:680px;margin:auto;min-height:100svh;background:var(--paper);padding:0 28px 24px;box-shadow:0 0 70px #1c3b2810}header{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #21433622;gap:10px}.brand{font-size:17px;font-weight:800;letter-spacing:1px}.brand>b{font-size:30px;color:#a57824;vertical-align:-3px;margin-right:6px}.head-right{display:flex;align-items:center;gap:13px}.head-right time{font:700 16px monospace}.edition{font:10px monospace;letter-spacing:1px;color:#869084}.icon{background:transparent;font-size:23px;padding:4px;min-width:30px;line-height:1}.help{border:2px solid var(--ink);font:700 14px monospace;width:24px;height:24px;min-width:24px;border-radius:50%;padding:0}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:8px;color:#627b6a}.eyebrow>span{width:7px;height:7px;background:#71975f}.lobby{padding-top:36px}.lobby h1{font-size:clamp(38px,8vw,58px);letter-spacing:-2px;line-height:1.13;margin:20px 0 16px}.lobby h1>span{color:#c79e38}.intro{color:#748171;font-size:14px;line-height:1.9;margin:0}.lobby-scene{height:250px;position:relative;margin:12px 0 26px}.scene-label{position:absolute;right:0;top:4px;font:10px monospace;letter-spacing:2px;color:#8b937d;writing-mode:vertical-rl}.demo-table{position:absolute;top:65px;left:5%;width:90%;height:166px;background:var(--felt);border:9px solid #9c6a3b;box-shadow:0 6px #6c492c,0 16px 25px #143d3622;transform:rotate(-3deg);display:flex;align-items:center;justify-content:center;border-radius:4px}.demo-table:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid #e6d7aa25}.demo-table>span{position:absolute;bottom:8px;font-size:10px;color:#dce4c7;letter-spacing:2px}.demo-avatar{position:absolute;top:-77px;left:14%;width:84px}.avatar{width:100%;image-rendering:pixelated;filter:drop-shadow(0 3px 0 #183e3022)}.demo-cards{display:flex;transform:rotate(7deg);margin-top:-28px}.demo-cards .card{width:76px;height:107px;margin-left:-10px}.demo-cards .card:nth-child(1){transform:rotate(-9deg) translateY(8px)}.demo-cards .card:nth-child(3){transform:rotate(7deg) translateY(5px)}.seal{position:absolute;right:8%;bottom:0;background:var(--accent);width:52px;height:52px;border:2px solid var(--ink);display:grid;place-items:center;font-size:38px;transform:rotate(10deg);box-shadow:3px 3px 0 var(--ink)}.setup{border-top:1px solid #153e3630;padding-top:19px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-title h2{font-size:22px;margin:0}.section-title>span{font:10px monospace;color:#88907f}.setup label{display:block;font-size:13px;font-weight:700}.setup label small{font-weight:400;color:#85907f;margin-left:10px;font-size:11px}.count-options{display:flex;gap:10px;margin:14px 0 18px}.count-options button{flex:1;height:58px;background:#eeeadd;border:1px solid #c7ccbc;font:700 23px monospace}.count-options small{font:11px sans-serif;margin-left:4px}.count-options .chosen{background:var(--ink);color:#fff2be;border-color:var(--ink);box-shadow:0 3px #c0a151}.setup-summary{display:flex;justify-content:space-between;font-size:11px;color:#73806d;margin-bottom:20px}.primary{background:var(--accent);color:#193e32;border:2px solid var(--ink);box-shadow:0 4px 0 var(--ink);font-weight:800}.start{width:100%;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:17px}.local-note{text-align:center;color:#939a88;font-size:10px;margin:14px 0 28px}footer{border-top:1px solid #143d3620;padding-top:17px;display:flex;justify-content:space-between;font:9px monospace;letter-spacing:1px;color:#99a08e}footer span{letter-spacing:0}.card{flex-shrink:0;position:relative;width:80px;height:114px;border:1px solid #949a89;background:#fffdf3;border-radius:4px;box-shadow:1px 3px #c3c1ad,2px 4px #102e2525;color:#143d36;padding:0;overflow:hidden}.suit-0{color:#185444}.suit-1{color:#df5b2b}.suit-2{color:#26394c}.suit-3{color:#ce3657}.corner{position:absolute;left:5px;top:4px;display:flex;flex-direction:column;font:800 19px/1 monospace;text-align:center;z-index:1}.corner small{font-size:13px}.corner.bottom{top:auto;left:auto;bottom:4px;right:5px;transform:rotate(180deg)}.pips{position:absolute;top:22%;right:14%;bottom:22%;left:14%}.pips i{position:absolute;font-size:19px;font-style:normal;line-height:1;transform:translate(-50%,-50%)}.royal{position:absolute;top:25%;right:0;bottom:15%;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:43px}.royal small{font:700 9px monospace;letter-spacing:1px}.game-meta{display:flex;justify-content:space-between;align-items:center;padding:19px 0 0;font-size:12px;font-weight:700}.game-meta i{font-weight:400;font-style:normal;color:#7e8a79}.game-meta button{font-size:11px;background:none;color:#75836f}.table-stage{position:relative;margin:76px 0 78px;height:265px}.table{position:absolute;top:0;right:40px;bottom:0;left:40px;border:9px solid #9b6739;outline:2px solid #654428;box-shadow:0 6px #67472f,0 13px 13px #15352c20;border-radius:3px;background:var(--felt)}.felt{position:absolute;top:0;right:0;bottom:0;left:0;padding:15px 17px 8px;background-image:repeating-linear-gradient(45deg,transparent 0px,transparent 3px,#ffffff02 3px,#ffffff02 4px);box-shadow:inset 0 0 0 4px #254c37,inset 0 0 0 6px #c2a35125}.table-top{height:78px;display:flex;align-items:center;justify-content:space-between}.discard{position:relative;width:95px;height:90px;margin-left:10px}.discard>div{position:absolute;left:var(--x);top:var(--y);transform:rotate(var(--r))}.discard .card{width:42px;height:59px}.discard .corner{font-size:10px;left:3px;top:3px}.discard .pips i{font-size:9px}.discard .royal{font-size:20px}.discard .royal small{font-size:4px}.discard>small{position:absolute;bottom:0;left:-5px;font-size:9px;color:#b4c8b2;white-space:nowrap}.empty-discard{font-size:66px;color:#d5dea21c}.table-wordmark{text-align:center;font:10px/1.5 monospace;letter-spacing:3px;color:#e3deb536;transform:rotate(-5deg);margin:0 12px}.table-wordmark b{display:block;font-size:13px}.table-wordmark span{display:block;font-size:7px;letter-spacing:1px;margin-top:6px}.play-zone{display:flex;align-items:flex-end;gap:17px;margin-top:2px;justify-content:center}.current-play{min-width:0;flex:1;text-align:center}.current-play label{display:block;font-size:10px;color:#ede8cb;margin-bottom:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.played-cards{display:flex;justify-content:center;padding-left:8px;animation:card-drop .3s ease-out}.played-cards .card{width:min(60px,calc(100% / var(--n) + 7px));height:82px;margin-left:-8px}.played-cards .corner{font-size:15px;left:3px}.played-cards .pips i{font-size:12px}.played-cards .royal{font-size:27px}.played-cards .royal small{font-size:7px}.draw-pile{flex-shrink:0;text-align:center}.card-back{width:39px;height:57px;border:3px solid #f5edd7;background:repeating-linear-gradient(45deg,#326956 0,#326956 3px,#245543 3px,#245543 6px);outline:1px solid #213e2b;box-shadow:2px 2px #c3c6b3,4px 4px #f5edd7;display:grid;place-items:center;color:#e3e0b8;font-size:25px}.draw-pile small{display:block;font-size:9px;margin-top:10px;color:#ced5bc}.waiting-card{width:55px;height:82px;display:grid;place-items:center;border:1px dashed #d5dec142;color:#b5c39456;border-radius:4px;font-size:32px}.table-status{text-align:center;color:#bad0b9;font-size:11px;margin-top:13px;white-space:nowrap}.table-status.your-turn{color:var(--accent);font-weight:700}.seat{position:absolute;width:69px;z-index:3;text-align:center;pointer-events:none}.chair{background:#a17649;border:3px solid #694d2d;border-radius:7px;box-shadow:0 4px #61462d;width:57px;height:51px;margin:auto;display:flex;align-items:flex-end;justify-content:center}.seat .avatar{width:59px;height:53px;flex-shrink:0;margin-bottom:3px}.seat-label{font-size:10px;background:var(--paper);padding:3px 3px 1px;white-space:nowrap;width:fit-content;margin:5px auto 0;border:1px solid #b2b6a3}.seat-label b{margin-left:4px}.seat-label small{font-size:8px;font-weight:400}.seat.active .chair{outline:3px solid var(--accent);box-shadow:0 4px #61462d,0 0 0 5px #f7cd4822}.turn-pointer{display:none;position:absolute;top:-20px;left:26px;color:var(--accent);font-size:16px}.seat.active .turn-pointer{display:block}.seat.top{top:-63px;left:calc(50% - 34px)}.seat.top-left{top:-64px;left:23%}.seat.top-right{top:-64px;right:23%}.seat.top .seat-label,.seat.top-left .seat-label,.seat.top-right .seat-label{position:absolute;top:-21px;left:0;right:0}.seat.left{left:-19px;top:37%}.seat.right{right:-19px;top:37%}.seat.left .avatar{transform:scaleX(-1)}.seat.bottom{bottom:-65px;left:calc(50% - 34px)}.seat.bottom-left{bottom:-65px;left:23%}.seat.bottom-right{bottom:-65px;right:23%}.journal{position:relative;border-top:1px solid #173e3625;border-bottom:1px solid #173e3625;padding:7px 42px 7px 0;height:67px;background:var(--paper);z-index:5}.log-lines{height:100%;overflow:auto;scrollbar-width:thin}.log-lines p{margin:0;display:flex;gap:12px;align-items:baseline;font-size:11px;line-height:25px}.log-lines time{color:#8d9688;font:10px monospace;flex-shrink:0}.log-lines span{overflow-wrap:anywhere}.chat-toggle{position:absolute;right:0;bottom:12px;width:32px;height:31px;background:var(--ink);color:var(--paper);border-radius:4px;padding:7px}.chat-toggle svg{stroke:currentColor;stroke-width:1.8;fill:none}.journal.expanded{height:260px;margin-top:-193px;border:1px solid #aab4a1;border-radius:6px;padding:12px;box-shadow:0 -12px 28px #17382a18}.journal-tabs{display:flex;gap:24px;align-items:center;height:33px;border-bottom:1px solid #173e3625}.journal-tabs button{background:none;font-size:12px;padding:0 0 8px}.journal-tabs .current{border-bottom:3px solid var(--ink);font-weight:700}.journal-tabs .collapse{margin-left:auto;font-size:21px}.expanded .log-lines{height:153px;padding:6px 0}.expanded .log-lines p{font-size:11px}#chat-form{display:flex;gap:7px;height:35px}#chat-form input{min-width:0;flex:1;border:1px solid #bbc0b1;border-radius:3px;background:transparent;padding:6px 9px;font-size:12px}#chat-form button{background:var(--ink);color:var(--paper);width:37px;border-radius:3px}.hand-area{padding-top:19px}.hand-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.hand-heading h2{margin:0;font-size:15px}.hand-heading>span{font:700 20px monospace}.hand-heading small{font:11px sans-serif}.hand{display:flex;width:100%;padding:0 2px 5px}.hand .card{width:calc((100% - 12px)/min(var(--count),10) + 12px);max-width:93px;height:129px;margin-right:-12px;transition:transform .15s,box-shadow .15s;flex-shrink:0}.hand .card:last-child{margin-right:0}.hand .card.selected{transform:translateY(-15px);outline:2px solid #d3ad32;box-shadow:1px 4px 0 var(--accent)}.hand.many{overflow-x:auto;padding-top:17px;margin-top:-17px}.hand.many .card{width:70px;margin-right:-28px}.selection-note{min-height:32px;font-size:10px;color:#7d8a77;padding:10px 0 4px;line-height:1.5}.actions{display:flex;gap:12px;margin-top:3px}.actions button{height:50px;flex:1;font-size:17px;font-weight:800;background:var(--ink);color:#fff1b5;border:2px solid #254f40;box-shadow:0 3px #0f302a}.actions .primary{background:var(--accent);color:var(--ink);flex:1.35;display:flex;align-items:center;justify-content:space-between;padding:0 17px}.modal-shade{position:fixed;top:0;right:0;bottom:0;left:0;background:#142e2466;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:30;display:flex;align-items:center;justify-content:center;padding:20px}.dialog{position:relative;background:var(--paper);width:100%;max-width:480px;padding:28px;border:1px solid #a7ae99;box-shadow:7px 7px #173d3655;max-height:90svh;overflow:auto}.dialog h2{font-size:25px;margin:15px 0}.dialog p{font-size:12px;line-height:1.8;color:#6d7e68}.dialog .close{position:absolute;right:10px;top:10px}.rules p{padding-bottom:10px;border-bottom:1px solid #123c3314}.rules b{display:block;color:var(--ink);margin-bottom:3px}.muted{color:#89937f!important}.setting-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin:30px 0}.setting-row select{border:1px solid #bac1ae;background:transparent;padding:8px;color:var(--ink)}.theme-preview{display:flex;align-items:center;gap:16px;background:#e9ebdf;padding:15px}.theme-preview>span{font-size:40px;color:#657d55}.theme-preview b{font-size:13px}.theme-preview p{margin:3px 0;font-size:10px}.theme-preview>small{font-size:10px;margin-left:auto}.dice-dialog{text-align:center}.dice-dialog .eyebrow{justify-content:center}.dice-results{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:25px 0}.dice-results>div{width:65px;padding:6px;border:1px solid transparent}.dice-results .winner{background:#f2e8b7;border-color:#d0b354}.dice-results .avatar{height:48px}.dice-results span{display:block;font-size:11px}.dice-results b{font-size:37px;line-height:1.4}.dice-dialog>.primary{width:100%;padding:12px}.result-banner{padding:20px;margin-top:22px;border:1px solid #bac3ad;display:flex;justify-content:space-between;align-items:center;gap:12px}.result-banner b{font-size:14px}.result-banner button{padding:9px 12px;font-size:12px}@keyframes card-drop{0%{opacity:0;transform:translateY(-7px) rotate(-3deg)}to{opacity:1;transform:none}}@media(max-width:480px){.shell{padding:0 17px 20px}header{height:62px}.brand{font-size:14px}.head-right{gap:9px}.edition{font-size:8px}.lobby{padding-top:28px}.lobby-scene{height:223px}.demo-table{height:146px}.demo-cards .card{width:65px;height:94px}.table-stage{height:224px;margin-top:76px}.table{top:0;right:30px;bottom:0;left:30px;border-width:7px}.felt{padding:10px 10px 6px}.seat{width:55px}.chair{width:44px;height:43px}.seat .avatar{width:47px;height:46px}.seat-label{font-size:9px}.seat.top-left{left:19%}.seat.top-right{right:19%}.seat.left{left:-18px}.seat.right{right:-18px}.seat.bottom-left{left:19%}.seat.bottom-right{right:19%}.seat.bottom{left:calc(50% - 27px)}.table-top{height:63px}.table-wordmark{font-size:7px;letter-spacing:2px;margin:0}.table-wordmark b{font-size:10px}.discard{width:65px;margin-left:4px}.play-zone{gap:10px}.played-cards .card{height:69px;width:min(49px,calc(100% / var(--n) + 7px))}.played-cards .pips i{font-size:9px}.played-cards .corner{font-size:12px}.played-cards .corner small{font-size:8px}.played-cards .royal{font-size:24px}.current-play label{font-size:9px}.card-back{width:29px;height:44px;font-size:19px}.table-status{font-size:10px;margin-top:8px}.draw-pile small{font-size:8px}.hand .card{height:105px}.hand .pips i{font-size:14px}.hand .corner{font-size:17px;left:4px}.hand .corner small{font-size:10px}.hand .royal{font-size:32px}.hand .royal small{font-size:7px}.turn-pointer{left:19px}.seat.bottom,.seat.bottom-left,.seat.bottom-right{bottom:-60px}.actions{gap:9px}.actions button{height:47px;font-size:16px}.setup-summary{font-size:10px}.log-lines p{font-size:10px;gap:8px}.head-right time{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.game{padding-top:3px}header:has(time){border-bottom:0;height:65px}header time{font:800 24px/1 monospace;letter-spacing:1px}header:has(time) .icon{width:35px;height:35px;border:2px solid var(--ink);border-radius:5px;box-shadow:inset 0 0 0 2px var(--paper);font-size:24px}header:has(time) .help{font:800 22px monospace}.game-meta{padding:5px 0;font-size:10px;color:#7b8875}.game-meta button{font-size:10px}.table-stage{height:clamp(210px,52vw,330px);margin:90px 0 106px}.table{top:0;right:42px;bottom:0;left:42px;border:10px solid #a46f3b;border-top-color:#c48a4a;border-bottom-color:#8b592f;border-radius:2px;outline:2px solid #4c3927;box-shadow:inset 0 0 0 2px #e0a767,0 5px #5f452c,0 8px #453a29,0 17px 15px #705c2b16}.table:before,.table:after{content:"";position:absolute;z-index:2;width:12px;height:12px;background:#a96e3b;border:3px solid #e4a668;outline:2px solid #684829;top:-9px;box-shadow:0 1px #4b3421}.table:before{left:-9px}.table:after{right:-9px}.felt{padding:19px 13px 30px;display:grid;grid-template-columns:30% minmax(0,1fr);gap:13px;align-items:center;background-color:#11563e;background-image:repeating-linear-gradient(45deg,transparent 0 2px,#d4ed9a03 2px 3px),repeating-linear-gradient(-45deg,transparent 0 3px,#081f1306 3px 4px);box-shadow:inset 0 0 0 3px #264a2b,inset 0 0 0 6px #76a44745,inset 0 0 22px #092c2533}.felt:before,.felt:after{content:"❖";position:absolute;color:#96af3b55;font-size:24px;line-height:1;pointer-events:none}.felt:before{left:11px;top:10px}.felt:after{right:11px;bottom:11px}.discard{height:138px;width:100%;margin:0;position:relative;align-self:center;isolation:isolate}.discard>div{left:var(--x);top:var(--y);width:57%;transform:rotate(var(--r));transform-origin:50% 65%}.discard .card{width:100%;height:auto;aspect-ratio:.7;box-shadow:1px 2px #d0ccb5,2px 3px 3px #08271d77;border-color:#a3a48a}.discard .corner{font-size:12px;left:3px;top:3px}.discard .corner small{font-size:8px}.discard .pips i{font-size:10px}.discard>small{left:0;right:0;bottom:-8px;text-align:center;font-size:11px;color:#d0dbc4;font-weight:600}.empty-discard{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:65px;color:#b7ce701c;border:1px dashed #c8d4a31b;border-radius:4px}.play-zone{display:flex;gap:10px;margin:0;align-items:center;min-width:0;position:relative;padding-top:18px}.current-play{min-width:0;flex:1}.current-play label{position:absolute;top:-6px;left:0;right:0;margin:0;text-align:center;font-size:12px;font-weight:600;color:#f4efda}.played-cards{display:flex;align-items:center;justify-content:center;padding-left:7px;animation:none;min-height:96px}.played-cards.entering{animation:card-drop .28s ease-out both}.played-cards .card{flex:0 1 65px;width:65px;min-width:0;height:92px;margin-left:-7px;border-radius:3px;overflow:hidden}.played-cards .corner{font-size:17px;left:3px;top:3px}.played-cards .corner small{font-size:10px}.played-cards .pips{top:24%;right:12%;bottom:24%;left:12%}.played-cards .pips i{font-size:15px}.played-cards .corner.bottom{right:3px;left:auto;bottom:3px;top:auto}.draw-pile{width:37px;position:relative;align-self:center;margin-top:0;flex-shrink:0}.card-back{width:34px;height:57px;border:3px solid #fff8e7;outline:1px solid #243e2e;box-shadow:2px 2px #bac4ae,3px 3px #244c35,5px 5px #f2e9cf;background:repeating-linear-gradient(45deg,transparent 0 4px,#d5e7b450 4px 5px),repeating-linear-gradient(-45deg,#2a5d45 0,#2a5d45 4px,#d5e7b450 4px,#d5e7b450 5px);color:#ede6b9;font-size:24px}.draw-pile small{position:absolute;left:-8px;right:-8px;top:65px;margin:0;font-size:10px;white-space:nowrap;color:#f1edda}.waiting-card{height:92px;width:61px;border-color:#c7d3a32b;color:#a7c17e26}.table-status{position:absolute;left:12px;right:12px;bottom:18px;margin:0;font-size:12px;letter-spacing:.3px;text-align:center}.table-status.your-turn{color:#f6d440;font-weight:800}.seat{width:76px;z-index:3}.chair{position:relative;width:65px;height:54px;border:3px solid #684326;border-bottom:6px solid #6b4526;background:linear-gradient(#aa7c48,#be8b4e);border-radius:8px 8px 6px 6px;box-shadow:inset 0 0 0 2px #d2a163,0 4px #493820}.chair:before,.chair:after{content:"";position:absolute;bottom:-12px;width:8px;height:10px;background:#614327;border:2px solid #3c3222;z-index:-1}.chair:before{left:2px}.chair:after{right:2px}.seat .avatar{width:68px;height:74px;margin-bottom:1px;position:relative;filter:drop-shadow(1px 2px 0 #302d2055)}.seat-label{font-size:11px;line-height:1.25;border:0;background:transparent;padding:0;margin:13px auto 0;display:flex;align-items:center;flex-direction:column;gap:3px}.seat-label>span{background:var(--paper);border:1px solid #bdbea7;padding:2px 7px;font-weight:700;white-space:nowrap}.seat-label b{margin:0;background:var(--paper);padding:0 3px;font:700 13px monospace}.seat-label small{font-size:9px;margin-left:2px}.seat.top,.seat.top-left,.seat.top-right{top:-58px}.seat.top{left:calc(50% - 38px)}.seat.top-left{left:22%}.seat.top-right{right:22%}.seat.top .seat-label,.seat.top-left .seat-label,.seat.top-right .seat-label{top:-17px;right:auto;left:-63px;margin:0;width:60px}.seat.top-right .seat-label{left:auto;right:-63px}.seat.left{left:-26px;top:39%}.seat.right{right:-26px;top:39%}.seat.left .seat-label,.seat.right .seat-label{position:absolute;left:0;right:0;top:-64px;margin:0}.seat.bottom{bottom:-60px;left:calc(50% - 38px)}.seat.bottom-left{left:22%;bottom:-60px}.seat.bottom-right{right:22%;bottom:-60px}.seat.bottom .seat-label,.seat.bottom-left .seat-label,.seat.bottom-right .seat-label{position:absolute;top:0;right:-65px;margin:0;width:60px}.seat.bottom-left .seat-label{right:auto;left:-65px}.seat.active .chair{outline:3px solid #f5cf3b;box-shadow:inset 0 0 0 2px #d2a163,0 4px #493820,0 0 0 5px #f7cd4830}.turn-pointer{top:-44px;left:29px;font-size:19px;color:#f8d13a;text-shadow:0 2px #6f621e}.journal{height:76px;padding:8px 48px 8px 0;border-color:#bfc6b34d}.log-lines p{font-size:13px;line-height:29px;gap:13px;font-weight:600}.log-lines time{font-size:12px;color:#8e9286;font-weight:400}.chat-toggle{width:36px;height:35px;bottom:13px;border-radius:5px;padding:8px}.journal.expanded{height:280px;margin-top:-204px;padding:12px;border:1px solid #acb29f;box-shadow:0 -6px 22px #233b2318;border-radius:7px}.journal-tabs button{font-size:14px}.journal-tabs{height:35px}.expanded .log-lines{height:167px}.expanded .log-lines p{font-size:12px}.hand-area{padding-top:16px}.hand-heading{margin-bottom:19px}.hand-heading h2{font-size:19px;font-weight:800}.hand-heading>span{font-size:23px}.hand{padding:0 1px 5px}.hand .card{width:calc((100% - 12px)/min(var(--count),10) + 12px);max-width:125px;height:155px;border-radius:4px;border-color:#6f7b69;box-shadow:1px 3px #d0ceba,2px 4px #8b938144}.hand .corner{font-size:25px;top:6px;left:7px}.hand .corner small{font-size:15px}.hand .corner.bottom{left:auto;right:7px;top:auto;bottom:6px}.hand .pips{top:25%;right:13%;bottom:25%;left:13%}.hand .pips i{font-size:25px}.face-art{width:100%;height:100%;display:block;image-rendering:pixelated}.royal{top:18%;right:14%;bottom:10%;left:14%;gap:2px}.royal small{font-size:8px}.discard .royal small{display:none}.selection-note{font-size:10px;min-height:27px;padding-top:7px}.actions{gap:13px}.actions button{height:58px;font-size:22px;letter-spacing:3px;background:#064935;color:#f4d34d;border:2px solid #124c36;box-shadow:inset 0 0 0 2px #63966c,inset 0 -5px #0b392c,0 4px #183f30;border-radius:3px}.actions .primary{background:#f5d247;color:#153d32;box-shadow:inset 0 0 0 2px #fff0a3,inset 0 -5px #d9ad32,0 4px #183f30;flex:1.15}.actions .primary span{display:none}@media(max-width:480px){.shell{padding:0 17px 22px}header:has(time){height:55px}header time{font-size:22px}header:has(time) .icon{width:30px;height:30px;font-size:21px}.table-stage{height:220px;margin-top:80px;margin-bottom:93px}.table{top:0;right:29px;bottom:0;left:29px;border-width:8px}.felt{padding:12px 7px 30px;gap:7px;grid-template-columns:29% minmax(0,1fr)}.table:before,.table:after{width:9px;height:9px;top:-7px;border-width:2px}.table:before{left:-7px}.table:after{right:-7px}.discard{height:100px}.discard>div{width:62%}.discard>small{font-size:8px;bottom:-8px}.discard .corner{font-size:10px;left:2px}.discard .corner small,.discard .pips i{font-size:7px}.current-play label{font-size:9px;top:-5px}.play-zone{gap:6px;padding-top:13px}.played-cards{min-height:70px}.played-cards .card{height:70px;width:50px;flex-basis:50px}.played-cards .corner{font-size:13px}.played-cards .corner small{font-size:8px}.played-cards .pips i{font-size:10px}.played-cards .corner.bottom{display:none}.draw-pile{width:26px}.card-back{width:24px;height:42px;border-width:2px;font-size:18px}.draw-pile small{top:50px;font-size:8px}.waiting-card{height:70px;width:45px}.table-status{bottom:16px;font-size:11px}.seat{width:56px}.chair{width:48px;height:43px;border-width:2px;border-bottom-width:5px}.seat .avatar{width:53px;height:58px}.seat.top,.seat.top-left,.seat.top-right{top:-46px}.seat.top{left:calc(50% - 28px)}.seat.top-left{left:21%}.seat.top-right{right:21%}.seat.left{left:-20px;top:40%}.seat.right{right:-20px;top:40%}.seat-label{font-size:9px}.seat-label>span{padding:2px 4px}.seat-label b{font-size:12px}.seat.top .seat-label,.seat.top-left .seat-label,.seat.top-right .seat-label{left:-46px;top:-8px;width:45px}.seat.top-right .seat-label{left:auto;right:-46px}.seat.left .seat-label,.seat.right .seat-label{top:-54px}.seat.bottom,.seat.bottom-left,.seat.bottom-right{bottom:-48px}.seat.bottom{left:calc(50% - 28px)}.seat.bottom-left{left:21%}.seat.bottom-right{right:21%}.seat.bottom .seat-label,.seat.bottom-left .seat-label,.seat.bottom-right .seat-label{right:-47px;width:45px}.seat.bottom-left .seat-label{right:auto;left:-47px}.turn-pointer{top:-34px;left:20px;font-size:17px}.journal{height:67px;padding:6px 38px 6px 0}.journal.expanded{height:271px;padding:10px}.log-lines p{font-size:11px;line-height:26px;gap:9px}.log-lines time{font-size:10px}.chat-toggle{width:31px;height:31px;padding:7px;bottom:12px}.expanded .log-lines p{font-size:11px}.journal-tabs button{font-size:13px}.hand-heading h2{font-size:17px}.hand-heading{margin-bottom:17px}.hand .card{height:113px}.hand .corner{font-size:20px;left:5px;top:5px}.hand .corner small{font-size:12px}.hand .corner.bottom{right:5px;bottom:5px}.hand .pips i{font-size:17px}.hand .royal small{font-size:6px}.hand.many .card{width:70px}.actions{gap:10px}.actions button{height:51px;font-size:20px}.selection-note{font-size:9px}}.hand{align-items:flex-end;isolation:isolate;gap:0}.hand .card{vertical-align:bottom;flex-shrink:0;margin-top:0;text-align:initial;line-height:normal}.hand .card .corner.bottom{display:none}.hand .card:last-child .corner.bottom{display:none}.card .corner{align-items:center;min-width:0}.hand .pips{top:27%;right:15%;bottom:17%;left:17%}.hand .pips i{font-family:Georgia,serif;font-weight:400}.hand .royal{top:22%;right:17%;bottom:12%;left:17%;display:flex;justify-content:center;align-items:center}.hand .royal small{display:none}.discard{height:154px}.discard>div{max-width:70px}.discard>small{bottom:-5px}.speech-bubble{position:absolute;bottom:calc(100% + 16px);left:50%;transform:translate(-50%);min-width:58px;max-width:190px;width:max-content;background:#fff9dc;border:2px solid #284d3b;box-shadow:2px 3px #183c2b30;border-radius:6px;padding:7px 12px;color:#204632;font-size:17px;font-weight:800;z-index:12;white-space:nowrap;animation:bubble-in .15s ease-out;pointer-events:none}.speech-bubble:after{content:"";position:absolute;bottom:-7px;left:calc(50% - 5px);width:10px;height:10px;transform:rotate(45deg);background:#fff9dc;border-right:2px solid #284d3b;border-bottom:2px solid #284d3b}.seat.left .speech-bubble{left:100%;bottom:80%;transform:none}.seat.right .speech-bubble{left:auto;right:100%;bottom:80%;transform:none}.flying-cards{position:fixed;z-index:45;pointer-events:none;display:flex;transform:translate(-50%,-50%);filter:drop-shadow(3px 7px 4px #18362333)}.flying-cards .card{width:47px;height:68px;margin-left:-10px}.flying-cards .corner{font-size:13px;left:3px;top:3px}.flying-cards .corner small{font-size:9px}.flying-cards .corner.bottom{display:none}.flying-cards .pips i{font-size:11px}.flying-cards .royal small{font-size:5px}.flying-cards .royal{top:22%;right:12%;bottom:8%;left:12%}.just-drawn{animation:draw-arrive .5s ease-out}.bomb-burst{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:9;pointer-events:none;overflow:hidden}.bomb-burst b{font-size:24px;color:#f9d448;text-shadow:2px 2px #293a24,-1px -1px #293a24;background:#163e30e8;border:2px solid #e6c64d;padding:9px 16px;transform:rotate(-5deg);animation:bomb-label .65s ease-out both}.bomb-burst i{position:absolute;left:50%;top:50%;width:7px;height:7px;background:#f7d348;box-shadow:0 0 0 2px #a86b33;animation:particle .6s ease-out both;transform:rotate(var(--angle))}.results{margin-top:25px;padding:23px;border:1px solid #a8b59d;background:#f0efdf;box-shadow:0 3px #d7dccb;animation:bubble-in .25s ease-out}.results h2{font-size:24px;margin:13px 0 5px}.results>p{font-size:11px;color:#6d8069;margin:0 0 20px}.results ol{padding:0;margin:0;list-style:none}.results li{display:flex;align-items:center;gap:13px;padding:9px 10px;border-bottom:1px solid #c6ceba;font-size:13px}.results .avatar{width:38px;height:40px}.results .place{width:25px;text-align:center;font:700 21px monospace}.results li>span{margin-left:auto;font-size:12px}.results li.champion{background:#f5e6a8;border:1px solid #dbc478}.results>small{display:block;color:#819078;font-size:10px;margin:13px 0}.results>.primary{width:100%;padding:12px;font-size:15px}.audio-credit{font-size:10px!important;color:#7d8a72!important}.setting-row input[type=range]{width:130px;accent-color:#275b43}.setting-row input[type=checkbox]{width:18px;height:18px;accent-color:#275b43}@keyframes bubble-in{0%{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}@keyframes draw-arrive{0%{filter:brightness(1.5);transform:translateY(-12px)}to{filter:none;transform:none}}@keyframes particle{0%{opacity:1;transform:rotate(var(--angle)) translate(10px) scale(.5)}to{opacity:0;transform:rotate(var(--angle)) translate(var(--distance)) scale(1.3)}}@keyframes bomb-label{0%{opacity:0;scale:.5}20%{opacity:1;scale:1.15}50%{scale:1}80%{opacity:1}to{opacity:0;scale:1.1}}@media(max-width:480px){.discard{height:118px}.discard>div{max-width:54px}.speech-bubble{font-size:13px;padding:5px 9px;max-width:155px}.results{padding:17px}.hand .pips i{font-size:16px}.hand .royal{top:23%;right:17%;bottom:13%;left:17%}.flying-cards .card{width:36px;height:53px}.flying-cards .pips i{font-size:8px}}@media(prefers-reduced-motion:reduce){.flying-cards,.bomb-burst i{display:none}*{animation:none!important;transition:none!important}}.played-cards .corner.bottom{display:none}@media(max-width:480px){.discard>div{width:55%;max-width:52px}}.journal:not(.expanded){height:105px;padding-top:8px;padding-bottom:8px}.journal:not(.expanded) .log-lines{overflow:hidden}.journal:not(.expanded) .log-lines p{height:29px;white-space:nowrap}.journal:not(.expanded) .log-lines p span{overflow:hidden;text-overflow:ellipsis;min-width:0}.journal.expanded{margin-top:-175px}.hand .card{border-radius:6px;background:linear-gradient(140deg,#fffef8 45%,#f4f0df);border-color:#87917a;box-shadow:inset 1px 1px #fff,inset -1px -2px #e7e4d2,0 3px #c6c7af,0 5px #9ca78b55,0 8px 10px #1639230c;transition:transform .34s cubic-bezier(.22,1.6,.4,1),box-shadow .24s ease;transform-origin:50% 80%}.hand .card.selected{transform:translateY(-18px) scale(1.015);outline:2px solid #d5ac28;box-shadow:inset 1px 1px #fff,0 3px #d2b746,0 8px 12px #36432622;z-index:2}.hand .card:active{transform:translateY(-5px) scale(.98,.95)}.hand .card.selected:active{transform:translateY(-14px) scale(.98,.95)}@media(hover:hover){.hand .card:not(.selected):hover{transform:translateY(-5px)}}.incoming-slot{visibility:hidden;pointer-events:none}.draw-settle{animation:draw-settle .28s ease-out}.discard-flight{position:fixed;z-index:46;pointer-events:none;filter:drop-shadow(2px 6px 3px #183c2933)}.discard-flight .card{width:100%;height:100%;margin:0;border-radius:4px;background:#fffdf3;box-shadow:inset 0 -2px #e9e4d0,1px 3px #b9bba3}.discard-flight .corner{font-size:14px;left:3px;top:3px}.discard-flight .corner small{font-size:9px}.discard-flight .corner.bottom{display:none}.discard-flight .pips i{font-size:12px}.discard-flight .royal small{font-size:5px}.result-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#102d256b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:18px;overscroll-behavior:contain}.result-overlay .results{position:relative;margin:0;max-width:460px;width:100%;max-height:calc(100svh - 36px);overflow-y:auto;border:2px solid #9aa988;border-radius:9px;box-shadow:0 8px #19372a40,0 20px 60px #10251a45;background:var(--paper)}.result-close{position:absolute;right:12px;top:10px;width:28px;height:28px;background:none;color:#345543;font-size:25px;line-height:1}.result-actions{display:flex;gap:12px;margin-top:17px}.result-actions>button{flex:1;padding:12px 8px;font-size:13px;border:1px solid #a8b59b;background:#e8eddd}.result-actions>.primary{background:var(--accent);flex:1.4;border:2px solid var(--ink)}.result-reopen{display:block;margin:22px auto 0;padding:9px 18px;background:#e4e9d7;border:1px solid #aeb99f;font-size:12px}body:has(.result-overlay){overflow:hidden}@keyframes draw-settle{0%{transform:scale(1.04,.96)}55%{transform:scale(.99,1.02)}to{transform:scale(1)}}@media(max-width:480px){.journal:not(.expanded){height:95px;padding-top:7px;padding-bottom:7px}.journal:not(.expanded) .log-lines p{height:26px}.journal.expanded{margin-top:-176px}.discard-flight .corner{font-size:11px}.discard-flight .pips i{font-size:9px}.result-overlay .results{padding:19px}.results li{padding:7px 8px}}@media(prefers-reduced-motion:reduce){.discard-flight{display:none}.hand .card{transition:none}.draw-settle{animation:none}}html:has(.game),body:has(.game){height:100%;overflow:hidden;overscroll-behavior:none}.shell:has(.game){height:100dvh;min-height:0;max-width:800px;padding:0 clamp(14px,4vw,32px) max(9px,env(safe-area-inset-bottom));display:grid;grid-template-rows:clamp(40px,6dvh,60px) minmax(0,1fr)}.shell:has(.game) header{height:auto;min-height:0}.game{min-height:0;display:grid;grid-template-rows:22px minmax(0,1fr) clamp(70px,10dvh,95px) auto;padding:0;position:relative}.game-meta{padding:0}.table-stage{height:auto;min-height:0;margin:clamp(58px,8dvh,80px) 0 clamp(65px,9dvh,90px)}.journal:not(.expanded){height:100%;padding:4px 44px 4px 0;min-height:0}.journal:not(.expanded) .log-lines{display:flex;flex-direction:column;justify-content:center}.journal:not(.expanded) .log-lines p{height:auto;line-height:clamp(20px,2.9dvh,29px);flex-shrink:0}.journal.expanded{position:absolute;bottom:var(--hand-space,250px);left:0;right:0;height:min(300px,55dvh);margin:0;display:flex;flex-direction:column;gap:7px;z-index:15}.journal.expanded .log-lines{height:auto;min-height:0;flex:1}.journal-tabs,#chat-form{flex-shrink:0}.hand-area{padding-top:clamp(7px,1.4dvh,16px);min-height:0}.hand-heading{margin-bottom:16px;height:23px}.hand-heading h2{font-size:clamp(15px,2.1dvh,19px)}.hand .card{height:clamp(76px,15.5dvh,155px);max-width:none}.hand.many{overflow:visible;padding-top:0;margin-top:0}.hand.many .card{width:calc((100% - 36px) / var(--count) + 36px);margin-right:-36px}.hand.many .card:last-child{margin-right:0}.hand .corner{font-size:clamp(16px,2.5dvh,25px)}.hand .pips i{font-size:clamp(12px,2.5dvh,25px)}.selection-note{min-height:22px;height:22px;padding:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actions{margin-top:0}.actions button{height:clamp(38px,5.8dvh,58px);font-size:clamp(17px,2.3dvh,22px)}.game{--hand-space: calc(clamp(7px,1.4dvh,16px) + 66px + clamp(76px,15.5dvh,155px) + clamp(38px,5.8dvh,58px)) }.discard{height:min(140px,19dvh)}.played-cards{min-height:0}.played-cards .card,.waiting-card{height:clamp(48px,10dvh,92px)}.result-reopen{position:absolute;top:24px;right:0;margin:0;z-index:6;padding:5px 10px}@media(max-height:700px){.table-stage{margin-top:53px;margin-bottom:58px}.seat .chair{width:44px;height:37px}.seat .avatar{width:48px;height:52px}.seat.top,.seat.top-left,.seat.top-right{top:-40px}.seat.bottom,.seat.bottom-left,.seat.bottom-right{bottom:-41px}.discard{height:80px}.discard>div{max-width:42px}.table-status{bottom:9px;font-size:10px}.felt{padding-top:8px;padding-bottom:22px}.played-cards .pips i{font-size:10px}.played-cards .corner{font-size:12px}.hand-heading{margin-bottom:12px}.game{--hand-space: calc(69px + clamp(76px,15.5dvh,155px) + clamp(38px,5.8dvh,58px)) }}@media(max-height:500px)and (min-width:600px){.shell:has(.game){max-width:none}.game{grid-template-columns:1.4fr 1fr;grid-template-rows:22px minmax(0,1fr) 70px;column-gap:28px}.game-meta{grid-column:1/-1}.table-stage{grid-row:2/4;margin-bottom:53px}.hand-area{grid-column:2;grid-row:2;align-self:end}.journal{grid-column:2;grid-row:3}.journal.expanded{left:58%;bottom:0;height:80dvh}}.card-flight{position:fixed;z-index:45;pointer-events:none;transform:translate(-50%,-50%);will-change:transform}.card-flight>.card{width:100%;height:100%;margin:0;transform:none!important;outline:none;animation:none;transition:none;border-radius:4px}.card-flight .corner{font-size:17px;left:3px;top:3px}.card-flight .corner small{font-size:10px}.card-flight .corner.bottom{display:none}.card-flight .pips{top:24%;right:12%;bottom:24%;left:12%}.card-flight .pips i{font-size:15px}.card-flight .royal small{display:none}.card-flight:has([data-card])>.card{border-radius:6px;background:linear-gradient(140deg,#fffef8 45%,#f4f0df)}.card-flight:has([data-card]) .corner{font-size:clamp(16px,2.5dvh,25px);left:7px;top:6px}.card-flight:has([data-card]) .pips{top:27%;right:15%;bottom:17%;left:17%}.card-flight:has([data-card]) .pips i{font-size:clamp(12px,2.5dvh,25px);font-family:Georgia,serif}.flight-back{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:5px}.card-flight .card-back{width:100%;height:100%;box-shadow:none;outline:0}@media(max-width:480px){.card-flight .corner{font-size:13px}.card-flight .corner small{font-size:8px}.card-flight .pips i{font-size:10px}.card-flight:has([data-card]) .corner{left:5px;top:5px}}@media(prefers-reduced-motion:reduce){.card-flight{display:none}}.hand{min-height:calc(clamp(76px,15.5dvh,155px) + 5px)}.card-flight.to-discard .card{border-color:#a3a48a;border-radius:4px;background:#fffdf3;box-shadow:1px 2px #d0ccb5,2px 3px 3px #08271d77}.card-flight.to-discard .corner{font-size:12px;left:3px;top:3px}.card-flight.to-discard .corner small{font-size:8px}.card-flight.to-discard .corner.bottom{display:flex;left:auto;right:5px;top:auto;bottom:4px}.card-flight.to-discard .pips{top:22%;right:14%;bottom:22%;left:14%}.card-flight.to-discard .pips i{font-size:10px}@media(max-width:480px){.card-flight.to-discard .corner{font-size:10px;left:2px}.card-flight.to-discard .corner small,.card-flight.to-discard .pips i{font-size:7px}}.hand .card{max-width:calc(clamp(76px,15.5dvh,155px)*.72)}.hand.many .card{max-width:none}.discard>small{bottom:-18px}.hand.reflowing .card{transition:none;transform:none;will-change:transform}.shell:has(.home-screen){max-width:600px;min-height:100dvh;padding:0 clamp(22px,6vw,42px) 22px;background:var(--paper);position:relative}.shell:has(.home-screen) header{height:70px;border-bottom:1px solid color-mix(in srgb,var(--ink) 13%,transparent)}.svg-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid color-mix(in srgb,var(--ink) 25%,transparent);border-radius:7px;padding:7px;background:var(--paper)}.svg-icon svg,.mode-symbol svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:square;stroke-linejoin:miter}.home-screen{padding:8px 0 0;max-width:460px;margin:auto}.home-art{height:clamp(160px,24dvh,230px);position:relative;display:grid;place-items:center}.home-orbit{position:absolute;width:76%;height:65%;bottom:8%;border-radius:50%;background:var(--panel);border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);transform:rotate(-8deg)}.home-orbit:after{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px dashed color-mix(in srgb,var(--ink) 15%,transparent);border-radius:50%}.home-cards{display:flex;z-index:2;position:relative;align-items:center;justify-content:center;transform:translateY(10px)}.home-cards .card{width:77px;height:109px;margin:0 -6px;border:2px solid #244e3a;box-shadow:0 5px #142e2530;transform:rotate(-17deg) translateY(8px)}.home-cards .card:nth-child(2){transform:translateY(-5px) rotate(-2deg);z-index:2}.home-cards .card:nth-child(3){transform:rotate(16deg) translateY(7px)}.home-cards .corner.bottom{display:none}.home-cards .pips i{font-size:27px}.home-cards .royal small{display:none}.home-avatar{position:absolute;width:66px;height:74px;z-index:3;bottom:5%}.home-avatar.fox{left:8%;transform:rotate(-7deg)}.home-avatar.cat{right:8%;transform:rotate(7deg)}.home-bolt{position:absolute;bottom:1%;right:28%;width:40px;height:44px;background:var(--accent);color:#183c31;display:grid;place-items:center;font-size:38px;font-weight:900;z-index:4;border:2px solid #224637;box-shadow:3px 3px #224637;transform:rotate(8deg)}.art-star{position:absolute;color:var(--muted);font-size:27px}.star-one{top:16%;left:17%}.star-two{top:9%;right:14%;font-size:38px;color:var(--ink)}.home-title{display:flex;justify-content:center;align-items:center;gap:20px;margin:7px 0 25px}.home-title h1{font-size:36px;letter-spacing:5px;line-height:1.2;margin:0;font-weight:900}.home-title>span{font-size:18px;color:var(--muted)}.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mode-tile{display:flex;align-items:center;gap:11px;text-align:left;padding:20px 14px;border:2px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:9px;background:transparent;box-shadow:0 3px color-mix(in srgb,var(--ink) 10%,transparent)}.mode-tile b{font-size:17px;white-space:nowrap}.mode-symbol{height:24px;width:24px;font-size:25px;line-height:1;flex-shrink:0}.mode-check{margin-left:auto;font-size:12px}.mode-tile.chosen{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:0 4px color-mix(in srgb,var(--accent) 70%,var(--ink))}.mode-tile.chosen .mode-symbol{color:var(--accent)}.home-options{margin:22px 0 20px;display:grid;gap:15px}.option-row{display:flex;gap:18px;align-items:center}.option-row>label{font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap}.home-options .count-options,.round-options{display:flex;flex:1;gap:8px;margin:0}.home-options .count-options button,.round-options button{flex:1;height:42px;min-width:0;border:1px solid color-mix(in srgb,var(--ink) 15%,transparent);border-radius:5px;background:var(--panel);font:700 19px monospace;color:var(--ink);box-shadow:none}.home-options small{font:10px sans-serif;margin-left:3px}.home-options button.chosen{background:var(--accent);color:#203d33;border-color:color-mix(in srgb,var(--accent) 60%,#263c32);box-shadow:0 2px color-mix(in srgb,var(--accent) 70%,#263c32)}.home-start{width:100%;height:60px;border:2px solid var(--ink);border-radius:7px;background:var(--accent);color:#173c31;box-shadow:inset 0 2px #ffffff80,inset 0 -4px #00000010,0 4px 0 var(--ink);display:flex;justify-content:space-between;align-items:center;padding:0 24px;font-size:21px;font-weight:900;letter-spacing:3px;transition:transform .15s}.home-start:active{transform:translateY(3px)}.home-start b{font-size:25px}.home-links{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:27px 0 5px}.home-links button{background:none;color:var(--muted);font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px;height:34px}.home-links button+button{border-left:1px solid color-mix(in srgb,var(--ink) 15%,transparent)}.home-links span{font:700 16px monospace}.resume-challenge{margin-top:16px;width:100%;display:flex;justify-content:space-between;padding:10px 14px;border:1px dashed var(--muted);border-radius:5px;background:none;font-size:12px}.resume-challenge span{color:var(--muted)}.theme-choices{display:grid;gap:13px;margin-top:25px}.theme-choice{display:flex;align-items:center;gap:17px;padding:10px;background:transparent;border:1px solid var(--muted);border-radius:8px}.theme-choice.chosen{outline:2px solid var(--accent);outline-offset:2px}.theme-choice>b{font-size:15px}.theme-choice>small{margin-left:auto;font-size:11px;color:var(--muted)}.theme-swatch{height:52px;width:80px;border:5px solid var(--swatch-paper);border-radius:4px;background:var(--swatch-felt);display:flex;justify-content:center;align-items:center;gap:6px}.theme-swatch i{font:800 25px monospace;color:var(--swatch-accent)}.modal-shade{z-index:70}.extra-dialog{max-width:520px;border-radius:10px}.extra-dialog h2{margin:0 0 22px}.dialog p{color:var(--muted)}.record-heading{display:flex;justify-content:space-between;align-items:center;margin:22px 0 10px;font-size:14px}.record-heading span{font-size:11px;color:var(--muted)}.score-list{list-style:none;margin:0;padding:0}.score-list li{display:flex;align-items:center;gap:12px;padding:8px;border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent);font-size:13px}.score-list .avatar{width:34px;height:37px}.score-list .place{width:22px;font:700 20px monospace;text-align:center}.score-list .score-value{margin-left:auto;font:700 19px monospace}.score-list .is-you{background:color-mix(in srgb,var(--accent) 18%,transparent);border-radius:5px}.score-delta{margin-left:auto;color:var(--muted);font:12px monospace}.score-list .score-delta+.score-value{margin-left:10px;min-width:36px;text-align:right}.round-details{margin:15px 0;font-size:12px}.round-details summary,.history-list summary{cursor:pointer;padding:9px 0;color:var(--muted)}.score-table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px}td,th{padding:8px 5px;border-bottom:1px solid color-mix(in srgb,var(--ink) 15%,transparent);text-align:center}.history-list details{border-bottom:1px solid color-mix(in srgb,var(--ink) 15%,transparent);padding:4px 0}.history-list summary{font-size:11px;line-height:1.8}.history-list summary>b{float:right;color:var(--ink)}.records-empty{text-align:center;padding:18px;font-size:35px;color:var(--muted)}.records-empty p{font-size:13px}.storage-note{text-align:center;font-size:10px!important;margin:22px 0 0}.theme-preview{background:var(--panel)}.theme-preview button{background:none;font-size:11px;color:var(--ink);padding:3px 0}.setting-row select{background:var(--paper)}.felt{background-color:var(--felt)}.table{border-color:var(--wood);border-top-color:color-mix(in srgb,var(--wood) 75%,#ffe3af);border-bottom-color:color-mix(in srgb,var(--wood) 75%,#302628)}html[data-theme=midnight] .mode-tile.chosen .mode-symbol{color:#284769}html[data-theme=midnight] .chair{background:#59647a;border-color:#354257;box-shadow:inset 0 0 0 2px #8894a6,0 4px #141d30}html[data-theme=midnight] .seat-label>span,html[data-theme=midnight] .seat-label b{color:var(--ink)}html[data-theme=midnight] .results,html[data-theme=midnight] .dialog{border-color:#596b88}html[data-theme=midnight] .rules b{color:var(--ink)}html[data-theme=midnight] .actions button,html[data-theme=sunset] .actions button{background:var(--felt);border-color:var(--felt);box-shadow:inset 0 0 0 2px var(--muted),0 4px #20312d;color:var(--accent)}html[data-theme=midnight] .actions .primary,html[data-theme=sunset] .actions .primary{background:var(--accent);color:#223b36}html[data-theme=midnight] .chat-toggle,html[data-theme=midnight] #chat-form button{background:var(--accent);color:#1c2539}@media(max-width:420px){.mode-tile{padding:17px 10px;gap:7px}.mode-tile b{font-size:15px}.mode-symbol{width:20px;height:20px}.home-title h1{font-size:31px}.home-title{gap:14px}.option-row{gap:12px}.home-options .count-options,.round-options{gap:6px}.home-cards .card{width:67px;height:96px}.home-avatar{width:58px}.home-avatar.fox{left:4%}.home-avatar.cat{right:4%}}@media(max-height:730px){.shell:has(.home-screen) header{height:56px}.home-art{height:145px}.home-title{margin:5px 0 19px}.home-title h1{font-size:30px}.mode-tile{padding-top:15px;padding-bottom:15px}.home-options{margin:18px 0;gap:12px}.home-start{height:53px}.home-links{margin-top:19px}}html[data-theme=midnight] .primary{color:#203b35}#app,.shell{width:100%;min-width:0}.shell:has(.game){grid-template-columns:minmax(0,1fr)}.game,.hand-area,.hand,.table-stage,header,.game-meta{min-width:0;max-width:100%}.game{grid-template-columns:minmax(0,1fr)}.seat.left{left:-16px}.seat.right{right:-16px}@media(max-width:480px){.seat.left{left:-12px}.seat.right{right:-12px}.head-right{gap:7px}header time{font-size:20px}.shell:has(.game){padding-left:18px;padding-right:18px}.seat-label>span{padding-left:3px;padding-right:3px}}@media(max-height:500px)and (min-width:600px){.game{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}.bot-setup{border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent);padding-top:14px}.bot-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.bot-heading>label{font-size:12px;color:var(--muted);font-weight:700}.bot-mode{display:flex;gap:4px;padding:3px;background:var(--panel);border-radius:5px}.bot-mode button{background:none;font-size:11px;padding:5px 12px;border-radius:3px}.bot-mode button.chosen{background:var(--ink);color:var(--paper)}.bot-roster{display:grid;grid-template-columns:1fr 1fr;gap:7px}.bot-row{display:flex;align-items:center;min-width:0;gap:6px;border:1px solid color-mix(in srgb,var(--ink) 13%,transparent);padding:5px 7px;border-radius:5px;font-size:11px}.bot-row .avatar{width:24px;height:27px;flex-shrink:0}.bot-row span{white-space:nowrap}.bot-row select{margin-left:auto;min-width:0;width:57px;padding:5px 0;border:0;background:var(--paper);color:var(--ink);font-size:11px}.bot-random{display:flex;justify-content:center;gap:22px;padding:6px}.bot-random>span{position:relative}.bot-random .avatar{height:36px;width:33px}.bot-random b{position:absolute;right:-4px;bottom:0;background:var(--accent);color:#203d33;border-radius:50%;font-size:10px;padding:1px 4px}.bot-level-tag{display:block;font-size:10px;color:var(--muted);margin-top:4px}.shell:has(.home-screen) .home-art{height:clamp(115px,19dvh,180px)}@media(max-width:370px){.bot-roster{grid-template-columns:1fr}.bot-row select{width:90px}}@media(min-width:340px)and (max-width:370px){.bot-roster{grid-template-columns:1fr 1fr}.bot-row{gap:4px;padding:5px}.bot-row .avatar{width:20px;height:24px}.bot-row span{font-size:10px}.bot-row select{width:50px;font-size:10px}}.home-screen>.home-start{margin-top:25px}.match-setup-dialog{max-width:430px;padding:25px 22px}.match-setup-dialog .home-options{margin:20px 0 22px}.match-setup-dialog .home-start{height:50px;font-size:18px}.match-setup-dialog .bot-roster{grid-template-columns:1fr}.match-setup-dialog .bot-row{padding:5px 10px;font-size:12px}.match-setup-dialog .bot-row .avatar{width:27px;height:30px}.match-setup-dialog .bot-row span{font-size:12px}.match-setup-dialog .bot-row select{width:100px;font-size:12px;padding:6px}.match-setup-dialog .bot-random{gap:14px}@media(max-width:370px){.match-setup-dialog{padding:23px 16px}.match-setup-dialog .option-row{gap:9px}}.interactive-dice{border-radius:12px;padding:25px 20px;max-width:440px}.interactive-dice .dice-results{gap:5px;margin:18px 0 6px}.interactive-dice .dice-results>div{width:57px;padding:4px 2px;border-radius:5px}.interactive-dice .dice-results .avatar{height:38px}.interactive-dice .dice-results b{font-size:30px}.dice-eliminated{opacity:.4}.dice-arena{position:relative;height:138px;display:grid;place-items:center;overflow:visible}.launch-die{position:relative;z-index:1;width:65px;height:65px;border-radius:12px;background:#fffdf1;color:#244b3a;display:grid;place-items:center;font:65px/1 Georgia,serif;box-shadow:inset 0 -5px #d4d4ba,0 6px #17382b33;-webkit-user-select:none;user-select:none;transform-origin:50% 70%}.dice-shadow{position:absolute;width:63px;height:13px;background:#193c2d20;border-radius:50%;top:102px;filter:blur(3px)}.launch-die.charging{animation:dice-charge .12s linear infinite alternate}.charge-meter{height:7px;border-radius:5px;overflow:hidden;background:var(--panel);width:76%;margin:0 auto}.charge-meter i{display:block;height:100%;width:0;background:var(--accent);box-shadow:0 0 8px var(--accent)}.dice-hold{width:100%;padding:13px;margin-top:4px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;border-radius:5px}.dice-hold.charging{transform:translateY(2px);filter:brightness(1.08)}.interactive-dice .dice-instruction{margin:12px 0 7px;font-size:12px;min-height:22px}@keyframes dice-charge{0%{transform:translate(-2px) rotate(-5deg) scale(calc(1 + var(--charge,0)*.12))}to{transform:translate(2px) rotate(5deg) scale(calc(1 + var(--charge,0)*.12))}}@media(prefers-reduced-motion:reduce){.launch-die.charging{animation:none}}.interactive-dice .dice-results>div{display:grid;grid-template-rows:38px 16px 16px 40px;justify-items:center}.interactive-dice .dice-results .avatar{grid-row:1}.interactive-dice .dice-results span{grid-row:2}.interactive-dice .dice-results small{grid-row:3}.interactive-dice .dice-results b{grid-row:4}button.launch-die{border:0;padding:0;touch-action:none;-webkit-touch-callout:none;cursor:grab}button.launch-die:disabled{opacity:1;cursor:default}button.launch-die.charging{cursor:grabbing}button.launch-die{width:84px;height:84px;background:transparent;border-radius:0;box-shadow:none;font-size:0;filter:drop-shadow(0 4px 2px #18352c22)}.dice-art{display:block;width:100%;height:100%;pointer-events:none}.interactive-dice .dice-results b{width:28px;height:28px;align-self:center}.dice-shadow{width:70px;height:12px;top:108px;background:#193c2d17;filter:blur(5px)}html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--paper)}body{position:fixed;top:0;right:0;bottom:0;left:0;margin:0}#app{position:fixed;top:0;right:0;bottom:0;left:0;height:100dvh;overflow:hidden;overscroll-behavior:none}.shell:has(.home-screen),.shell:has(.game){height:100%;min-height:0;overflow:hidden;padding-top:env(safe-area-inset-top,0px);padding-bottom:max(9px,env(safe-area-inset-bottom,0px))}.shell:has(.home-screen){display:grid;grid-template-rows:clamp(46px,8dvh,70px) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.shell:has(.home-screen) header{height:auto;min-height:0}.home-screen{width:100%;min-height:0;align-self:center;padding:0;margin:0 auto}.modal-shade,.result-overlay{overscroll-behavior:none;padding-top:max(18px,env(safe-area-inset-top,0px));padding-bottom:max(18px,env(safe-area-inset-bottom,0px))}.dialog,.result-overlay .results{max-height:calc(100dvh - max(18px,env(safe-area-inset-top,0px)) - max(18px,env(safe-area-inset-bottom,0px)));overscroll-behavior:contain;scrollbar-width:none}.dialog::-webkit-scrollbar,.results::-webkit-scrollbar,.log-lines::-webkit-scrollbar{display:none}.log-lines{overscroll-behavior:contain}@media(max-height:620px){.shell:has(.home-screen) .home-art{height:95px}.home-cards .card{width:54px;height:76px}.home-avatar{width:43px;height:50px}.home-bolt{height:30px;width:30px;font-size:26px}.home-title{margin:5px 0 12px}.home-title h1{font-size:26px}.home-screen>.home-start{margin-top:16px}.home-links{margin-top:12px}.resume-challenge{margin-top:10px}}@media(max-height:450px){.shell:has(.home-screen) .home-art{display:none}.home-title{margin:7px 0 12px}.mode-tile{padding:10px}.home-start{height:43px}.home-links{margin-top:7px}}@media(pointer:coarse){#chat-form input,.setting-row select,.bot-row select{font-size:16px}}.hand-stage{display:grid;grid-template-columns:clamp(46px,13vw,75px) minmax(0,1fr);gap:10px;align-items:end;min-width:0}.hand-portrait{height:calc(clamp(76px,15.5dvh,155px) + 5px);padding-bottom:5px;min-width:0}.character-poster{position:relative;isolation:isolate;width:100%;height:100%;overflow:hidden;border-radius:5px;background:linear-gradient(155deg,var(--poster-back),#192c2a);border:1px solid color-mix(in srgb,var(--costume) 65%,#142b25);box-shadow:0 3px #193a2933;display:flex;justify-content:center;align-items:flex-end}.character-poster:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid color-mix(in srgb,var(--costume) 25%,transparent);border-radius:2px;z-index:-1}.character-poster:after{content:"";position:absolute;width:160%;height:30%;background:#ffffff09;transform:rotate(-35deg);top:28%;left:-30%;z-index:-1}.character-poster .character-art{height:89%;width:100%;margin-bottom:12%;filter:drop-shadow(2px 3px 0 #11231e77);z-index:1}.poster-spark{position:absolute;top:6px;right:7px;font-size:12px;color:var(--costume);opacity:.7}.poster-base{position:absolute;bottom:13%;width:75%;height:8%;border-radius:50%;background:var(--costume);opacity:.45;box-shadow:0 2px #091e1a}.poster-name{position:absolute;bottom:4%;left:0;right:0;text-align:center;font-size:clamp(7px,1.7vw,10px);font-weight:700;letter-spacing:.5px;color:#f5edd9;z-index:2;white-space:nowrap}.hand-portrait.active .character-poster{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 3px #193a2933}.home-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.home-links button{font-size:12px;gap:5px}.wardrobe-dialog{max-width:460px;padding:23px}.wardrobe-dialog h2{margin-bottom:14px}.wardrobe-preview{height:190px;border-radius:8px;background:radial-gradient(ellipse at 40% 65%,var(--panel),transparent 70%);display:flex;justify-content:center;align-items:center;gap:25px}.wardrobe-preview .character-poster{height:178px;width:104px;flex-shrink:0;transform:rotate(-3deg);box-shadow:5px 7px #183b2b20}.wardrobe-preview .poster-name{font-size:12px}.wardrobe-preview .poster-spark{font-size:19px}.wardrobe-caption{display:grid;gap:7px}.wardrobe-caption b{font-size:20px}.wardrobe-caption>span{font-size:12px;color:var(--muted)}.wardrobe-label{font-size:11px;color:var(--muted);font-weight:700;margin:14px 0 8px}.wardrobe-characters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.wardrobe-characters button{background:var(--panel);border:1px solid transparent;border-radius:6px;padding:5px;display:flex;align-items:center;justify-content:center;gap:4px}.wardrobe-characters .avatar{width:31px;height:40px}.wardrobe-characters span{font-size:10px;white-space:nowrap}.wardrobe-characters .chosen,.wardrobe-outfits .chosen{border-color:var(--ink);box-shadow:0 2px 0 var(--ink)}.wardrobe-outfits{display:flex;gap:8px}.wardrobe-outfits button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;background:var(--panel);border:1px solid transparent;border-radius:5px;padding:9px 5px;font-size:12px}.wardrobe-outfits i{width:13px;height:13px;border-radius:50%;box-shadow:inset 0 0 0 1px #0002}.wardrobe-equip{height:46px;margin-top:20px;font-size:16px}@media(max-height:650px){.wardrobe-preview{height:138px}.wardrobe-preview .character-poster{height:130px;width:78px}.wardrobe-dialog{padding:19px}.wardrobe-label{margin-top:10px}.wardrobe-equip{margin-top:13px}}@media(max-width:350px){.hand-stage{gap:7px;grid-template-columns:42px minmax(0,1fr)}.wardrobe-characters button{flex-direction:column;gap:2px}.wardrobe-preview{gap:20px}.home-links button{font-size:11px}}
