@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Fraunces:opsz,wght,SOFT,WONK@9..144,700,70,1&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#f9efda;background:#111420;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,select,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}select,input{outline:none}button:focus-visible,select:focus-visible,input:focus-visible,.playing-card:focus-visible{outline:3px solid #ffe18d;outline-offset:3px}#app{min-height:100svh}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.22em;color:#d9ae69}.muted{color:#b7b8bf}.primary-button{border:1px solid #ffe4a8;background:linear-gradient(180deg,#f8dfaa,#d49b51);color:#302016;box-shadow:inset 0 2px 4px #fff7,0 7px #694823,0 16px 26px #0006;border-radius:18px;font-weight:900;letter-spacing:.08em;transition:transform .15s,box-shadow .15s}.primary-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:inset 0 2px 4px #fff7,0 10px #694823,0 20px 30px #0007}.primary-button:active:not(:disabled){transform:translateY(5px);box-shadow:inset 0 2px 4px #fff7,0 2px #694823,0 6px 15px #0008}.secondary-button{border:1px solid #b7976c;background:#322b2a;color:#f9e6bf;border-radius:14px;font-weight:800;padding:15px 22px}.playing-card{--card-tilt-x:0deg;--card-tilt-y:0deg;--holo-x:50%;--holo-y:50%;position:relative;flex:none;aspect-ratio:511/710;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;isolation:isolate;-webkit-user-select:none;user-select:none;touch-action:none;transform-style:preserve-3d;transition:transform .18s ease,filter .18s ease}.playing-card img{position:relative;z-index:1;width:100%;height:100%;display:block;object-fit:contain;pointer-events:none;filter:drop-shadow(0 13px 11px #0009)}.playing-card:after{content:"";position:absolute;z-index:2;inset:0;border-radius:8%;padding:5.2%;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--holo-x) var(--holo-y),#fff 0 4%,transparent 23%),conic-gradient(from 20deg,#ff4fbc,#786dff,#4ee9ff,#7dff8e,#fff26c,#ff824f,#ff4fbc);background-size:150% 150%;background-position:center;mix-blend-mode:screen;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.playing-card.selected{transform:translateY(-16px) perspective(850px) rotateX(var(--card-tilt-x)) rotateY(var(--card-tilt-y))!important}.playing-card.selected img{filter:drop-shadow(0 18px 13px #000b) drop-shadow(0 0 7px #ffd86eaa)}.playing-card.dragging{z-index:80;transition:none}.playing-card.dragging img{filter:drop-shadow(0 25px 17px #000c)}.flying-card{z-index:90!important;pointer-events:none}.event-toast{position:fixed;z-index:120;left:50%;top:22%;transform:translate(-50%);padding:14px 28px;border-radius:15px;background:#1b1b25ed;border:1px solid #d9b26d;box-shadow:0 20px 50px #000b,0 0 35px #e5bb6a88;color:#fff0c6;font-weight:900;font-size:clamp(1rem,3vw,2rem);letter-spacing:.08em;text-align:center;white-space:nowrap;animation:toast-in .3s ease-out}.event-toast.exact{color:#fff5bd;background:#5b401dec}.event-toast.bust{color:#ffd1b6;background:#5d1d22ed}.event-toast.seven{color:#e5b7ff}.event-toast.reverse{color:#b2d9ff}.event-toast.minus{color:#acdcff}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-24px) scale(.8)}to{opacity:1;transform:translate(-50%) scale(1)}}.setup-page{min-height:100svh;display:grid;grid-template-columns:minmax(340px,.95fr) minmax(500px,1.05fr);background:radial-gradient(circle at 12% 68%,#70512b66,transparent 34%),radial-gradient(circle at 84% 4%,#243c6466,transparent 35%),#111420}.setup-hero{min-height:100svh;position:relative;overflow:hidden;padding:42px clamp(30px,5vw,84px);background:linear-gradient(180deg,#10131db3,#10131de8),linear-gradient(#070b13,#070b13) center/cover}.setup-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 85%,#111420),radial-gradient(circle at 50% 70%,#d69f401d,transparent 40%)}.setup-hero>*{position:relative;z-index:1}.brand-mark{display:flex;align-items:flex-start;position:relative;width:max-content;color:#fff2c4;text-shadow:0 4px 20px #d6a26099}.brand-mark strong{font-family:Fraunces,Georgia,serif;font-size:clamp(5rem,9vw,9rem);line-height:.95;letter-spacing:-.1em;font-style:italic}.brand-mark .crown{font-size:2.5rem;color:#eec36e;position:absolute;top:-25px;left:41px;transform:rotate(-12deg)}.setup-hero .eyebrow{margin-top:12px}.setup-hero h1{font-family:Fraunces,Georgia,serif;font-size:clamp(2.6rem,4.6vw,5.3rem);line-height:1.08;letter-spacing:-.035em;margin:30px 0 18px}.setup-hero h1 em{color:#f2c576;font-style:italic}.setup-hero p{font-size:clamp(1rem,1.3vw,1.25rem);line-height:1.55;color:#d0c8bd;max-width:400px}.hero-cards{position:absolute;left:14%;right:0;bottom:9%;height:36%;display:flex;align-items:end;justify-content:center;transform:rotate(-7deg)}.hero-cards .playing-card{height:min(29vw,320px);border-radius:13px;border:3px solid #e9e1cf}.hero-card.one{transform:translate(30px,10px) rotate(-18deg)}.hero-card.two{z-index:2;transform:translateY(-20px) rotate(2deg)}.hero-card.three{transform:translate(-30px,10px) rotate(19deg)}.hero-footer{position:absolute;bottom:30px;left:clamp(30px,5vw,84px);font-size:.8rem;letter-spacing:.2em;font-weight:800;color:#e9c185}.setup-panel{max-width:760px;width:100%;margin:auto;padding:38px clamp(25px,4vw,68px) 50px}.panel-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.top-links{display:flex;gap:8px}.top-links button{border:0;background:transparent;color:#c7bbad;font-size:.78rem;font-weight:700;white-space:nowrap}.top-links button:hover{color:#ffe0a2}.setup-panel h2{font-family:Fraunces,Georgia,serif;font-size:clamp(2.4rem,4vw,4rem);margin:22px 0 6px;letter-spacing:-.04em}.setup-panel>p{margin:0 0 22px}.setup-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0}.setup-controls label{display:flex;flex-direction:column;gap:9px;color:#bfae98;font-size:.68rem;letter-spacing:.15em;font-weight:900}.setup-controls select,.seat-row select,.seat-row input,.mood-label select,.modal-setting select{border:1px solid #76634c;background:#20232e;color:#f9e9cc;border-radius:11px;padding:11px 12px;min-width:0}.setup-controls select{font-size:.9rem;letter-spacing:normal}.seat-editor{display:flex;flex-direction:column;gap:9px;max-height:43vh;overflow:auto;padding:2px 5px 5px 0;scrollbar-color:#826840 transparent}.seat-row{display:grid;grid-template-columns:28px 38px minmax(70px,1fr) 83px 80px 104px;align-items:center;gap:8px;padding:7px 9px;background:#ffffff0b;border:1px solid #ffffff19;border-radius:13px}.seat-number{font-family:Fraunces,serif;color:#d9ad68}.avatar-tiny{width:36px;height:36px;border:2px solid #b88d54;border-radius:50%;overflow:hidden;background:#202a39}.avatar-tiny img{width:100%;height:160%;object-fit:cover;object-position:center 17%}.seat-row input,.seat-row select{font-size:.79rem;padding:8px 5px}.seat-row select{appearance:none;text-align:center}.seat-row input{width:100%}.start-button{margin-top:23px;width:100%;padding:18px 23px;display:flex;justify-content:space-between;font-size:1.05rem}.setup-note{text-align:center;color:#999ca4;font-size:.78rem;margin:20px 0 0!important}.game-page{height:100svh;min-height:650px;display:flex;flex-direction:column;overflow:hidden;position:relative;background:radial-gradient(ellipse at 50% 10%,#5e4c4533,transparent 45%),linear-gradient(90deg,#12131d,#1b1c26 50%,#11121b)}.game-page:before{content:"";position:absolute;inset:0;background:linear-gradient(#070b13,#070b13) center/cover;opacity:.11;filter:blur(8px);pointer-events:none}.game-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:10px clamp(15px,2.3vw,35px);position:relative;z-index:5;background:linear-gradient(180deg,#10121bec,#11131ba3);border-bottom:1px solid #d6ad5d28}.game-logo{display:flex;align-items:center;gap:4px}.game-logo strong{font-family:Fraunces,serif;font-size:2.6rem;line-height:1;font-style:italic;color:#ffe6a8;letter-spacing:-.1em}.game-logo span{align-self:flex-start;color:#e6b767}.game-logo small{margin-left:14px;color:#b4a998;font-size:.56rem;letter-spacing:.15em;max-width:115px}.header-status{display:flex;align-items:center;gap:10px}.round-pill,.turn-pill{border:1px solid #bca16b5c;border-radius:30px;padding:8px 13px;font-size:.74rem;font-weight:800;letter-spacing:.08em}.turn-pill{background:#dcc08020;color:#ffdf9c}.header-actions{display:flex;gap:8px}.header-actions button{width:38px;height:38px;border:1px solid #c8af7a55;background:#1d2029;color:#e6d0a6;border-radius:50%;font-size:1.1rem}.header-actions button:hover{background:#34323a}.game-layout{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 260px;flex:1;min-height:0;padding:0 20px 0 10px;z-index:2}.arena{position:relative;min-height:0}.arena-glow{position:absolute;left:50%;top:50%;width:70%;height:65%;transform:translate(-50%,-50%);background:#d2984530;filter:blur(80px);border-radius:50%}.table-rim{position:absolute;left:50%;top:50%;width:min(72%,770px);height:min(73%,500px);min-width:430px;min-height:290px;transform:translate(-50%,-50%) rotateX(10deg);border-radius:50%;border:14px solid #5a3627;box-shadow:0 0 0 3px #bb8650,0 0 0 8px #34251d,0 36px 45px #000b,inset 0 0 0 2px #d9ad71,inset 0 0 25px #000a;background:#1b2a37;overflow:hidden}.table-felt{width:100%;height:100%;position:relative;border-radius:50%;background:radial-gradient(ellipse at 50% 40%,#31475b,#172533 70%,#0d1927);border:2px solid #a1794e;box-shadow:inset 0 0 45px #050a12}.table-felt:before,.table-felt:after{content:"";position:absolute;inset:8%;border:1px solid #d3a55e40;border-radius:50%;pointer-events:none}.table-felt:after{inset:19%;border-color:#d4ad694a}.table-lines{position:absolute;inset:0;opacity:.16;background:repeating-linear-gradient(115deg,transparent 0 20px,#d9c7a4 21px,transparent 22px 45px)}.direction-indicator{position:absolute;z-index:2;top:12%;width:100%;text-align:center;color:#e6be76;font-size:.65rem;font-weight:900;letter-spacing:.19em;transition:transform .5s}.direction-indicator span{display:inline-block;font-size:1.15rem;margin-right:7px}.direction-indicator.ccw span{transform:scaleX(-1)}.total-wrap{position:absolute;z-index:2;top:25%;left:50%;transform:translate(-50%);text-align:center;min-width:150px;text-shadow:0 5px 18px #000a}.total-caption{color:#eacb96;font-size:.68rem;letter-spacing:.2em;font-weight:900}.total-number{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:clamp(4rem,7vw,7rem);line-height:.95;color:#fff5d6;transition:color .2s,text-shadow .2s}.total-max{font-size:.7rem;color:#c0b09c;letter-spacing:.3em}.total-wrap.warning-1 .total-number{color:#ffdda1;text-shadow:0 0 14px #eca76366}.total-wrap.warning-2 .total-number{color:#ffc68a;text-shadow:0 0 22px #e0833baa}.total-wrap.danger .total-number{color:#ff9c7e;text-shadow:0 0 24px #ff633bbb;animation:tension 1s ease-in-out infinite}.total-wrap.at100 .total-number{color:#fff5aa;text-shadow:0 0 36px #ffd148;animation:tension .5s ease-in-out infinite}.total-wrap.busted .total-number{color:#ff6d65;text-shadow:0 0 33px #e62425}@keyframes tension{50%{transform:scale(1.07)}}.table-cards{position:absolute;z-index:2;left:50%;bottom:11%;transform:translate(-50%);display:flex;align-items:end;gap:32px}.pile-wrap{text-align:center;color:#c3b9aa;font-size:.62rem;font-weight:900;letter-spacing:.1em;white-space:nowrap}.draw-stack,.played-slot{width:70px;height:103px;margin:0 auto 7px;position:relative}.draw-stack img{height:100%;width:100%;border-radius:6px;box-shadow:3px 4px #dac7a555,6px 7px #07101b,9px 10px 14px #0008}.played-slot{border:2px dashed #caa97989;border-radius:7px;display:grid;place-items:center}.played-slot .playing-card{width:70px;height:103px}.empty-slot{color:#caa979;font-size:.55rem;letter-spacing:.12em}.seat-layer{position:absolute;inset:0;pointer-events:none}.seat{position:absolute;left:var(--seat-x);top:var(--seat-y);transform:translate(-50%,-50%);width:105px;height:150px;padding:0;border:0;background:transparent;color:#fff;pointer-events:auto;text-align:center;filter:drop-shadow(0 7px 10px #000b);transition:transform .25s,filter .25s}.seat:hover{transform:translate(-50%,-53%)}.seat.active{filter:drop-shadow(0 0 14px #ffd080b0) drop-shadow(0 8px 10px #000)}.seat.targetable{cursor:pointer;filter:drop-shadow(0 0 17px #f0c46c) drop-shadow(0 8px 10px #000);animation:target-pulse 1s infinite}.seat.targetable:after{content:"CHOOSE";position:absolute;top:-5px;left:50%;transform:translate(-50%);background:#f7d587;color:#38221c;border-radius:15px;padding:3px 8px;font-size:.6rem;font-weight:900}.seat.reacting .character-head{animation:react-bounce .45s ease-in-out 2}@keyframes react-bounce{50%{transform:translateY(-10px) rotate(6deg)}}@keyframes target-pulse{50%{filter:drop-shadow(0 0 26px #ffe08c) drop-shadow(0 8px 10px #000)}}.reaction-bubble{position:absolute;z-index:8;top:-23px;left:50%;transform:translate(-50%);white-space:nowrap;border-radius:12px;background:#fff4ca;color:#342119;font-weight:900;font-size:.7rem;padding:4px 7px;box-shadow:0 6px 10px #0007}.reaction-bubble:empty{display:none}.character{height:86px;position:relative}.character-head{position:relative;z-index:2;margin:auto;width:67px;height:67px;border-radius:50%;border:3px solid #d5ad75;background:#253d53;overflow:hidden;box-shadow:0 4px 10px #0009}.character-head img{width:100%;height:155%;object-fit:cover;object-position:center 13%}.character-body{position:absolute;width:80px;height:39px;border-radius:42% 42% 20% 20%;background:linear-gradient(150deg,#776050,#2d2530);left:50%;bottom:0;transform:translate(-50%);border:2px solid #b48653}.seat:nth-child(4n+2) .character-body{background:linear-gradient(150deg,#2d719a,#23314a)}.seat:nth-child(4n+3) .character-body{background:linear-gradient(150deg,#456b4e,#1b3632)}.seat:nth-child(4n+4) .character-body{background:linear-gradient(150deg,#a36a3e,#47302c)}.seat-info{position:relative;z-index:3;padding:3px 3px 4px;margin-top:-6px;background:linear-gradient(90deg,#10151df0,#2a2021f0);border:1px solid #c49a5c88;border-radius:10px;box-shadow:0 4px 10px #0009}.seat.active .seat-info{border-color:#ffdf94;box-shadow:0 0 10px #edbd6a66}.seat-name{display:block;font-weight:900;font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat-meta{display:block;font-size:.52rem;color:#c5b7a7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opponent-hand{display:flex;justify-content:center;margin-top:1px}.opponent-hand img{width:23px;height:32px;object-fit:fill;border-radius:2px;box-shadow:0 2px 3px #000a}.opponent-hand img:first-child{transform:translate(4px) rotate(-13deg)}.opponent-hand img:last-child{transform:translate(-4px) rotate(13deg)}.target-hint{position:absolute;z-index:7;bottom:5px;left:50%;transform:translate(-50%);background:#251d2be9;border:1px solid #daaf7d;color:#f9e6bd;border-radius:25px;padding:8px 18px;font-size:.8rem;font-weight:800;white-space:nowrap}.side-panel{position:relative;z-index:3;display:flex;flex-direction:column;gap:13px;justify-content:center;padding:18px 0 20px}.side-card{background:#151923d9;border:1px solid #d2ac704e;border-radius:16px;padding:18px;box-shadow:0 15px 30px #0005;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.side-card h3{font-family:Fraunces,serif;margin:8px 0 12px;font-size:1.2rem;line-height:1.15}.side-direction{color:#b9a58c;font-size:.75rem}.card-heading{display:flex;align-items:baseline;justify-content:space-between}.card-heading h3{margin:0}.card-heading span{font-size:.55rem;color:#a8a1a0;letter-spacing:.1em}.log-card ul{list-style:none;padding:0;margin:12px 0 0;max-height:300px;overflow:auto}.log-card li{border-top:1px solid #ffffff18;color:#d7ccc0;font-size:.7rem;line-height:1.4;padding:9px 0}.side-foot{text-align:center;color:#997a58;font-size:.64rem;letter-spacing:.16em;font-weight:800}.hand-dock{position:relative;z-index:5;height:215px;flex:none;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;padding:8px clamp(22px,3vw,55px);background:linear-gradient(180deg,#171923ed,#0d1017f7);border-top:1px solid #d0a9674f;box-shadow:0 -16px 35px #0008}.dock-prompt{display:flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:270px}.dock-prompt strong{font-family:Fraunces,serif;font-size:1.35rem;line-height:1.1}.dock-prompt small{color:#b5aa9c;line-height:1.4}.local-hand{display:flex;gap:17px;justify-content:center;align-items:center;min-width:240px}.hand-card{height:177px;cursor:grab;transition:transform .22s,filter .2s,box-shadow .2s}.hand-card:hover:not(.dragging){transform:translateY(-10px)}.hand-card:active{cursor:grabbing}.waiting-cards{display:flex;gap:12px}.waiting-cards img{height:155px;box-shadow:0 9px 18px #0009;border-radius:8px}.dock-controls{justify-self:end;display:flex;flex-direction:column;gap:15px;width:min(100%,240px)}.play-button{padding:15px 18px;display:flex;justify-content:space-between}.mood-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.7rem;color:#b8a995;font-weight:900;letter-spacing:.15em}.mood-label select{font-size:.75rem;padding:8px;flex:1;letter-spacing:normal}.overlay{position:fixed;inset:0;z-index:100;background:#060811d9;display:grid;place-items:center;padding:20px;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.modal-panel,.result-panel{position:relative;width:min(100%,600px);max-height:90svh;overflow:auto;border:1px solid #c9a56c;background:radial-gradient(circle at 50% -10%,#59452e66,transparent 42%),#20212a;border-radius:24px;box-shadow:0 30px 70px #000b,inset 0 0 0 4px #191923;padding:clamp(24px,4vw,44px)}.modal-panel h2,.result-panel h2{font-family:Fraunces,serif;font-size:2.5rem;margin:0 0 15px}.modal-panel p,.result-panel p{line-height:1.55;color:#d1c6b7}.close-button{position:absolute;right:19px;top:15px;background:transparent;border:0;color:#e8d1a2;font-size:2rem}.rules-grid,.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:23px 0}.rules-grid div,.stats-grid div{background:#ffffff0b;border:1px solid #ffffff1d;border-radius:11px;padding:12px;display:flex;flex-direction:column;gap:4px}.rules-grid strong,.stats-grid strong{color:#f6d597}.rules-grid span,.stats-grid span{color:#c3b7a6;font-size:.81rem}.modal-setting{display:flex;flex-direction:column;gap:10px;margin:24px 0}.modal-setting label{display:flex;justify-content:space-between}.modal-setting input{accent-color:#ebbd76}.stats-grid div{flex-direction:row;justify-content:space-between}.result-panel{text-align:center}.result-icon{font-size:3.5rem;color:#f69776;text-shadow:0 0 25px #e4744d}.result-panel h2{color:#ffe1ac}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left;margin:26px 0}.result-grid div{border:1px solid #b69b7566;border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:8px;background:#ffffff0a}.result-grid span{font-size:.63rem;color:#b7a98d;letter-spacing:.13em;font-weight:900}.result-grid strong{font-size:.9rem;line-height:1.4}.rating-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.rating-list span{background:#ffffff12;border-radius:20px;padding:5px 9px;font-size:.75rem}.rating-list strong{color:#bcef9a}.rating-list strong.negative{color:#ff9b8d}.result-actions{display:flex;gap:11px;justify-content:center;margin-top:27px}.result-actions button{min-width:150px;padding:15px}@media(max-width:1050px){.game-layout{grid-template-columns:1fr;padding:0 10px}.side-panel{position:absolute;right:5px;top:5px;width:190px;justify-content:flex-start}.side-panel>.side-card:first-child,.side-foot{display:none}.log-card{padding:10px}.log-card ul{max-height:105px}.log-card li{font-size:.62rem;padding:5px}.table-rim{width:68%;height:65%}.seat{width:90px;transform:translate(-50%,-50%) scale(.88)}.seat:hover{transform:translate(-50%,-50%) scale(.9)}.hand-dock{height:195px}.hand-card{height:160px}.setup-page{grid-template-columns:.8fr 1.2fr}.setup-hero{padding:35px}.setup-panel{padding:35px 25px}.hero-cards .playing-card{height:24vw}}@media(max-width:720px){.setup-page{display:block}.setup-hero{min-height:270px;padding:22px 25px}.brand-mark strong{font-size:4rem}.brand-mark .crown{font-size:1.4rem;top:-14px;left:22px}.setup-hero h1{font-size:2.15rem;margin:14px 0 7px}.setup-hero p{font-size:.82rem;max-width:250px}.hero-cards{left:auto;right:0;bottom:38px;height:auto;transform:rotate(-7deg)}.hero-cards .playing-card{height:130px}.hero-footer{bottom:10px;left:25px;font-size:.55rem}.setup-panel{padding:25px 17px 35px}.setup-panel h2{font-size:2.5rem;margin-top:15px}.panel-top{align-items:start}.top-links{flex-wrap:wrap;justify-content:end}.top-links button{font-size:.67rem}.setup-controls{margin:18px 0}.seat-editor{max-height:none}.seat-row{grid-template-columns:21px 32px minmax(60px,1fr) 72px 72px;gap:4px;padding:6px}.seat-row .avatar-tiny{height:30px;width:30px}.seat-row select,.seat-row input{font-size:.68rem;padding:7px 3px}.seat-row select[data-seat-avatar]{display:none}.game-page{min-height:0}.game-header{height:57px;padding:6px 11px}.game-logo strong{font-size:2rem}.game-logo small,.round-pill{display:none}.turn-pill{font-size:.63rem;padding:6px 9px}.header-actions button{width:30px;height:30px;font-size:.9rem}.game-layout{padding:0}.arena{height:100%}.table-rim{min-width:0;min-height:0;width:86%;height:52%;top:50%;border-width:8px}.direction-indicator{top:10%;font-size:.5rem}.direction-indicator span{font-size:.8rem}.total-wrap{top:25%}.total-caption{font-size:.54rem}.total-number{font-size:3.8rem}.table-cards{bottom:7%;gap:20px}.draw-stack,.played-slot,.played-slot .playing-card{width:46px;height:68px}.pile-wrap{font-size:.5rem}.seat{width:72px;height:112px;left:calc(50% + (var(--seat-x) - 50%) * .95);top:calc(50% + (var(--seat-y) - 50%) * .97);transform:translate(-50%,-50%) scale(.78)}.seat:hover{transform:translate(-50%,-50%) scale(.78)}.character{height:72px}.character-head{height:57px;width:57px}.character-body{height:31px;width:68px}.seat-info{margin-top:-3px}.seat-name{font-size:.74rem}.seat-meta{font-size:.5rem}.opponent-hand img{width:20px;height:28px}.side-panel{right:6px;top:5px;width:120px}.log-card{padding:7px}.card-heading h3{font-size:.8rem}.card-heading span{display:none}.log-card ul{max-height:55px;margin-top:4px}.log-card li{font-size:.53rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding:3px 0}.target-hint{bottom:2px;font-size:.61rem;padding:6px 10px}.hand-dock{height:185px;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;gap:1px 7px;padding:7px 10px 9px}.dock-prompt{grid-column:1 / -1;align-items:center;text-align:center;gap:2px;max-width:none}.dock-prompt .eyebrow{font-size:.56rem}.dock-prompt strong{font-size:.99rem}.dock-prompt small{font-size:.6rem}.local-hand{min-width:0;gap:9px}.hand-card{height:123px}.waiting-cards img{height:103px}.dock-controls{gap:9px;width:130px}.play-button{padding:11px;font-size:.64rem;border-radius:11px}.mood-label{font-size:.55rem}.mood-label select{min-width:0;width:73px;font-size:.65rem;padding:5px}.result-panel h2{font-size:2rem}.result-grid{grid-template-columns:1fr}}@media(max-width:430px){.seat-row{grid-template-columns:18px 27px minmax(52px,1fr) 65px 70px}.seat-row .avatar-tiny{height:27px;width:27px}.table-rim{width:88%;height:48%}.seat{top:calc(50% + (var(--seat-y) - 50%) * 1.08)}.side-panel{display:none}.total-number{font-size:3.25rem}.hand-card{height:117px}.dock-controls{width:115px}}.setup-panel{min-width:0}.setup-page{overflow-x:hidden}.hero-cards .playing-card{height:min(22vw,250px)}.hero-cards .playing-card{height:min(19vw,220px)}.direction-indicator{top:4%}.total-wrap{top:12%}.total-number{font-size:clamp(3.8rem,6vw,5.4rem)}.table-cards{bottom:6%}.menu-actions{display:grid;gap:10px;margin-top:25px}.menu-actions button{text-align:left}@media(max-width:720px){.direction-indicator{top:10%}.total-wrap{top:20%}.total-number{font-size:3.8rem}.table-cards{bottom:7%}}@media(max-width:430px){.total-number{font-size:3.25rem}}@media(max-width:720px){.setup-hero p{max-width:220px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.waiting-hand{cursor:default;filter:saturate(.82) brightness(.9)}.waiting-hand:hover:not(.dragging){transform:none}.avatar-tiny img,.character-head img{width:100%;height:100%;object-fit:cover;object-position:center}.online-entry{display:block;width:100%;margin-top:11px;padding:15px 20px}.online-page{min-height:100svh;display:grid;place-items:center;padding:30px 16px;background:radial-gradient(circle at 15% 15%,#7b532852,transparent 36%),radial-gradient(circle at 87% 73%,#27537b55,transparent 40%),linear-gradient(135deg,#171925,#10131c)}.online-panel{width:min(100%,800px);padding:clamp(22px,4vw,46px);border:1px solid #a8814b78;border-radius:24px;background:linear-gradient(155deg,#292937f5,#151923f7);box-shadow:0 30px 80px #0009}.online-panel .brand-mark strong{font-size:4.5rem}.online-panel h1{font:italic 700 clamp(2.5rem,5vw,4rem) "Fraunces",Georgia,serif;color:#ffe4aa;margin:12px 0}.online-panel p{color:#c8bdac;line-height:1.45}.online-tabs{display:flex;gap:8px;margin:22px 0}.online-tabs button{flex:1;padding:12px;border:1px solid #8e744f;background:#202633;color:#d8c9ad;border-radius:12px;font-weight:800}.online-tabs .current{background:#61472e;color:#fff0cd;border-color:#eac080}.online-field{display:flex;flex-direction:column;gap:8px;margin:16px 0;color:#d9bb80;font-size:.72rem;letter-spacing:.12em;font-weight:900}.online-field input,.online-field select,.invite-box input{min-width:0;padding:12px;border:1px solid #877356;border-radius:11px;background:#171c28;color:#fff0d7;font:600 .95rem system-ui}.online-avatar-heading{display:flex;justify-content:space-between;gap:10px;margin:23px 0 10px;color:#d9bb80;font-size:.72rem;letter-spacing:.12em;font-weight:900}.online-avatar-heading span{color:#fff0d7;letter-spacing:0}.avatar-picker{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.avatar-choice{min-width:0;padding:4px;border:2px solid transparent;border-radius:12px;background:#ffffff0d;color:#d5cbbb;cursor:pointer}.avatar-choice.chosen{border-color:#ffd07a;background:#5e472a}.avatar-choice img{width:100%;aspect-ratio:1;display:block;border-radius:8px;object-fit:cover}.avatar-choice span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;margin-top:3px}.online-panel .start-button{margin-top:20px}.text-button{display:block;margin:18px auto 0;padding:6px 10px;border:0;background:transparent;color:#d1b581;text-decoration:underline}.invite-box{display:flex;gap:9px;margin:20px 0}.invite-box input{flex:1}.invite-box button{padding:0 16px;border:1px solid #d8ac64;border-radius:10px;background:#6a482b;color:#fff1d0;font-weight:800}.lobby-seats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:22px 0}.lobby-seats>div{display:flex;align-items:center;gap:9px;min-width:0;border:1px solid #ffffff2b;border-radius:12px;padding:8px;background:#ffffff0c}.lobby-seats img{width:42px;height:42px;object-fit:cover;border-radius:50%;border:2px solid #c79c60}.lobby-seats strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}.lobby-seats span{margin-left:auto;color:#b5a78e;font-size:.6rem}.shared-turn{position:absolute;z-index:12;left:50%;bottom:235px;transform:translate(-50%);width:min(95vw,500px);padding:16px;display:flex;align-items:center;flex-direction:column;gap:7px;border:2px solid #e6bb74;border-radius:20px;background:#1d2430f7;box-shadow:0 20px 70px #000b;text-align:center}.shared-turn strong{font:700 1.2rem Fraunces,Georgia,serif}.shared-turn span{font-size:.8rem;color:#d6c4a9}.shared-hand{display:flex;gap:12px}.shared-hand .hand-card{height:130px}.shared-turn .primary-button{padding:10px 22px}@media(max-width:720px){.avatar-picker{grid-template-columns:repeat(4,minmax(0,1fr))}.avatar-choice span{font-size:.62rem}.online-panel{padding:22px 16px}.online-panel .brand-mark strong{font-size:3.5rem}.invite-box{flex-direction:column}.invite-box button{padding:12px}.shared-turn{bottom:196px;padding:10px}.shared-hand .hand-card{height:95px}.shared-turn strong{font-size:1rem}.shared-turn .primary-button{padding:8px 18px}}.card-departing,.receiving-card{visibility:hidden!important;pointer-events:none!important}.draw-flight{position:fixed;z-index:110;pointer-events:none;transform-style:preserve-3d;filter:drop-shadow(0 18px 14px #000b)}.draw-flight .draw-face{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;backface-visibility:hidden;-webkit-backface-visibility:hidden}.draw-flight .draw-front{transform:rotateY(180deg)}.playing-card.flick-ready img{filter:drop-shadow(0 24px 17px #000c) drop-shadow(0 0 11px #ffe07acc) brightness(1.06)}.online-alert{position:relative;z-index:3;margin:0 auto;padding:10px 18px;max-width:850px;border:1px solid #d8ac64;border-radius:10px;background:#392a23;color:#fff1d0;text-align:center;font-weight:700}.game-page{height:100svh;min-height:620px;background:#10131b linear-gradient(#070b13,#070b13) center / cover no-repeat}.game-page:before{opacity:1;filter:none;background:linear-gradient(180deg,#080b15a6 0%,#080b1530 19%,transparent 38%,transparent 69%,#090b15b5 100%)}.game-page:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#0709127a,transparent 25%,transparent 75%,#07091255)}.game-header{position:absolute;inset:0 0 auto;z-index:8;height:112px;align-items:flex-start;padding:22px 28px;background:none;border:0;pointer-events:none}.game-header button{pointer-events:auto}.game-logo{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:0;width:170px}.game-logo strong{font-size:clamp(3.5rem,6vw,5.3rem);line-height:.81;color:#ffe8b6;text-shadow:0 4px 12px #140d16d9}.game-logo .game-crown{position:absolute;left:57px;top:-19px;font-size:2rem;color:#ffcf6f;transform:rotate(-11deg)}.game-logo small{margin:9px 0 0;max-width:none;color:#fff0d2;font-size:.66rem;line-height:1.25;font-style:italic;letter-spacing:.11em;text-shadow:0 2px 8px #000}.header-status{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.round-pill{border:0;padding:0;color:#fff6e8;font-size:.91rem;letter-spacing:.01em;text-transform:none;text-shadow:0 2px 8px #000}.turn-pill{border:1px solid #d1b58777;padding:5px 11px;background:#0a101ac9;color:#f4d395;font-size:.66rem;letter-spacing:.02em;box-shadow:0 4px 15px #0007}.header-actions{margin-left:20px;gap:7px}.header-actions button{width:39px;height:39px;border-color:#e5d6b467;background:#121622cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff1d3}.header-actions button:last-child{width:46px;height:46px;margin-top:-3px}.game-layout{position:absolute;inset:0;z-index:2;display:block;min-height:0;padding:0}.arena{position:absolute;inset:0;min-height:0}.arena-glow,.table-lines{display:none}.table-rim,.table-felt{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;transform:none;border:0;border-radius:0;box-shadow:none;background:none;overflow:visible}.table-felt:before,.table-felt:after{display:none}.direction-indicator{top:21.5%;font-size:.64rem;letter-spacing:.12em;color:#f6d195;text-shadow:0 2px 7px #000}.direction-indicator span{font-size:.9rem;margin-right:5px}.total-wrap{top:25%;min-width:130px;text-shadow:0 3px 13px #000,0 0 24px #ffa54599}.total-caption{color:#fff6e8;font-size:.85rem;font-weight:700;letter-spacing:.14em}.total-number{font-size:clamp(3.6rem,5.2vw,5.4rem);line-height:.93;color:#fff2c8}.total-max{margin-top:1px;font-size:.65rem;color:#f3ddbb;letter-spacing:.17em}.table-cards{top:38%;bottom:auto;gap:clamp(25px,3vw,48px);align-items:start}.pile-wrap{color:#fff4e8;font-size:.83rem;font-weight:600;letter-spacing:.02em;text-transform:none;text-shadow:0 2px 9px #000}.pile-wrap small{color:#f2e4d5;font-size:.72rem}.draw-stack,.played-slot,.played-slot .playing-card{width:clamp(77px,7.2vw,114px);height:min(clamp(115px,10.8vw,171px),17vh)}.draw-stack,.played-slot{margin-bottom:12px}.draw-stack img{border-radius:8px;border:2px solid #d7aa68;box-shadow:3px 4px #d5b786,7px 9px #141824,11px 17px 16px #000b}.played-slot{border:2px dashed #d3b786a8;border-radius:10px}.played-slot:has(.playing-card){border:0}.played-slot .playing-card{box-shadow:0 0 0 2px #ffe1a1,0 0 20px #ffb547bb,0 15px 25px #000b}.empty-slot{color:#ffe4aa;font-size:.7rem}.seat-layer{z-index:4}.seat{display:flex;align-items:center;gap:7px;width:clamp(135px,12.3vw,190px);height:54px;padding:4px 9px 4px 5px;border:1px solid #d5a7659e;border-radius:27px;background:linear-gradient(100deg,#0b1019f2,#22202be0);box-shadow:0 7px 19px #000b,inset 0 1px #fff2;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);text-align:left;filter:none;transition:transform .2s,box-shadow .2s,border-color .2s}.seat:hover{transform:translate(-50%,-55%)}.seat.active{border-color:#ffe294;box-shadow:0 0 19px #ffc36e99,0 7px 19px #000b;filter:none}.seat.targetable{border-color:#ffe697;box-shadow:0 0 24px #ffe18dbb,0 7px 19px #000b;filter:none;animation:target-pulse 1s infinite}.seat.targetable:after{top:-21px}.seat.local-seat{display:none}.seat .character{flex:none;width:44px;height:44px}.seat .character-head{width:44px;height:44px;border:2px solid #e2bd78;box-shadow:0 2px 9px #000c}.seat .character-head img{width:100%;height:100%;object-fit:cover;object-position:center}.seat-info{flex:1;min-width:0;padding:0;margin:0;border:0;background:none;box-shadow:none}.seat.active .seat-info{border:0;box-shadow:none}.seat-name{color:#fff8ed;font-size:.82rem;line-height:1.2}.seat-meta{color:#dfd7cf;font-size:.61rem;margin-top:2px}.seat-suit{flex:none;color:#ffcb7d;font-size:1.27rem;line-height:1;text-shadow:0 0 10px currentColor}.seat.suit-fire .seat-suit,.log-suit.suit-fire{color:#ff7358}.seat.suit-water .seat-suit,.log-suit.suit-water{color:#70c7ff}.seat.suit-leaf .seat-suit,.log-suit.suit-leaf{color:#8bd768}.seat.suit-sun .seat-suit,.log-suit.suit-sun{color:#ffd36c}.reaction-bubble{top:-32px}.target-hint{bottom:43%;background:#171b29ed;font-size:.74rem}.side-panel{position:absolute;top:54%;right:1.6%;bottom:auto;width:min(20vw,306px);min-width:230px;padding:0;display:block;z-index:5}.side-panel>.side-card:first-child,.side-foot{display:none}.side-card.log-card{padding:13px 15px;border:1px solid #ddb986a3;border-radius:14px;background:#0c1019d9;box-shadow:0 16px 28px #000a;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}.log-card h3{margin:0;font:700 1rem DM Sans,system-ui,sans-serif}.log-card .card-heading span{display:none}.log-card ul{max-height:min(26vh,250px);margin:6px 0 0}.log-card li{display:flex;gap:8px;align-items:flex-start;padding:5px 0;color:#f2e5d7;font-size:.72rem;line-height:1.3}.log-suit{width:17px;flex:none;font-size:.92rem;line-height:1;text-align:center}.hand-dock{position:absolute;inset:0;z-index:6;display:block;height:auto;padding:0;background:none;border:0;box-shadow:none;pointer-events:none}.dock-prompt{position:absolute;left:2.4%;bottom:9%;display:flex;flex-direction:row;align-items:center;gap:10px;max-width:250px;min-width:200px;padding:5px 12px 5px 5px;border:1px solid #67b6eaab;border-radius:40px 15px 15px 40px;background:#09121ddf;box-shadow:0 8px 20px #000a;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.dock-avatar{width:60px;height:60px;flex:none;border-radius:50%;border:2px solid #78c7ff;object-fit:cover;box-shadow:0 0 13px #58bfff77}.dock-person{display:flex;flex-direction:column;gap:2px;min-width:0}.dock-person .eyebrow{color:#88cff6;font-size:.54rem;letter-spacing:.13em}.dock-person strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 1rem DM Sans,sans-serif}.dock-person small{color:#e3dfdc;font-size:.68rem;white-space:nowrap}.local-hand{position:absolute;left:50%;top:60%;transform:translate(-50%);min-width:0;gap:clamp(12px,1.4vw,24px);pointer-events:auto}.local-hand .hand-card{height:clamp(145px,20vh,212px);border-radius:10px;box-shadow:0 0 0 2px #f6e8c6,0 0 17px #72c2ff8c,0 16px 25px #000c}.local-hand .hand-card.special{box-shadow:0 0 0 2px #f6e8c6,0 0 20px #ed83e8bb,0 16px 25px #000c}.local-hand .hand-card.selected{box-shadow:0 0 0 3px #fff7bd,0 0 27px #ffd665,0 19px 30px #000c}.waiting-hand{opacity:.88}.waiting-cards img{height:clamp(135px,18vh,190px);border:2px solid #edd9aa}.dock-controls{position:absolute;top:81%;left:50%;transform:translate(-50%);width:min(23vw,280px);display:flex;align-items:center;gap:7px;pointer-events:auto}.dock-controls .play-button{width:100%;min-height:59px;display:flex;align-items:center;justify-content:center;gap:14px;padding:9px 19px;border:2px solid #ffe1a1;border-radius:35px;background:linear-gradient(180deg,#f9dc8c,#bb782b 58%,#efc067);color:#fff7e8;font-size:1.25rem;letter-spacing:.02em;text-shadow:0 2px 3px #704010;box-shadow:inset 0 1px 3px #fff9,0 3px #342012,0 8px 24px #000c,0 0 0 3px #261b15}.dock-controls .play-button span{font-size:.9rem}.dock-controls .play-button:disabled{opacity:.65}.dock-hint{color:#fff3e3;font-size:.72rem;text-align:center;text-shadow:0 2px 6px #000}.hand-dock>.mood-label{position:absolute;left:2.4%;bottom:3.1%;width:230px;padding:0;color:#f2dfb8;font-size:.6rem;pointer-events:auto}.hand-dock>.mood-label select{padding:5px 8px;border-color:#e4bc8099;background:#101927d9;color:#fff3db}.dock-quote{position:absolute;right:2.2%;bottom:2.8%;color:#ffdc8b;font:italic 700 1rem Fraunces,Georgia,serif;letter-spacing:.05em;text-align:right;text-shadow:0 2px 10px #000}.shared-turn{bottom:auto;top:52%;max-width:430px}.online-alert{position:absolute;top:12%;left:50%;transform:translate(-50%);z-index:12;width:max-content;max-width:85vw}@media(max-width:1050px){.game-header{height:96px;padding:15px 20px}.game-logo strong{font-size:3.7rem}.game-logo .game-crown{left:39px;top:-14px;font-size:1.5rem}.game-logo small{font-size:.5rem;margin-top:6px}.seat{width:142px;height:46px;transform:translate(-50%,-50%)}.seat:hover{transform:translate(-50%,-53%)}.seat .character,.seat .character-head{width:36px;height:36px}.seat-name{font-size:.73rem}.seat-meta{font-size:.54rem}.side-panel{width:205px;min-width:0;top:56%;right:1%}.log-card li{font-size:.62rem}.dock-controls{width:240px}}@media(max-width:720px){.game-page{min-height:600px;background-position:center top}.game-page:before{background:linear-gradient(180deg,#080b16df 0%,#080b1666 20%,transparent 40%,#090b145c 65%,#090b16e0 100%)}.game-page:after{background:linear-gradient(90deg,#0609147a,transparent 30%,transparent 70%,#0609147a)}.game-header{height:76px;padding:13px 12px}.game-logo{width:84px}.game-logo strong{font-size:2.7rem}.game-logo .game-crown{left:27px;top:-12px;font-size:1.1rem}.game-logo small{display:none}.round-pill{font-size:.65rem;white-space:nowrap}.round-pill{display:block}.turn-pill{font-size:.55rem;padding:4px 7px}.header-actions{margin-left:8px;gap:3px}.header-actions button{width:29px;height:29px;font-size:.8rem}.header-actions button:last-child{width:33px;height:33px;margin-top:-2px}.seat-layer{inset:78px 6px auto;height:61px;display:flex;gap:5px;overflow-x:auto;pointer-events:auto;scrollbar-width:none}.seat-layer::-webkit-scrollbar{display:none}.seat{position:relative;left:auto!important;top:auto!important;transform:none!important;flex:0 0 113px;width:113px;height:46px;padding:3px;gap:4px}.seat .character,.seat .character-head{width:32px;height:32px}.seat-name{font-size:.66rem}.seat-meta{font-size:.47rem}.seat-suit{font-size:.85rem}.seat.targetable:after{top:40px;font-size:.46rem}.direction-indicator{top:24%;font-size:.52rem}.direction-indicator span{font-size:.7rem}.total-wrap{top:28%}.total-caption{font-size:.61rem}.total-number{font-size:3.8rem}.total-max{font-size:.52rem}.table-cards{top:40%;gap:24px}.draw-stack,.played-slot,.played-slot .playing-card{width:65px;height:96px}.pile-wrap{font-size:.63rem}.pile-wrap small{font-size:.56rem}.local-hand{top:58%;gap:10px}.local-hand .hand-card{height:clamp(115px,18vh,155px)}.waiting-cards img{height:120px}.dock-controls{top:79%;width:180px;gap:4px}.dock-controls .play-button{min-height:45px;padding:7px 12px;font-size:.86rem}.dock-hint{font-size:.54rem;white-space:nowrap}.dock-prompt{bottom:2%;left:7px;min-width:0;max-width:130px;gap:4px;padding:3px;border-radius:28px 9px 9px 28px}.dock-avatar{width:38px;height:38px}.dock-person .eyebrow{font-size:.42rem}.dock-person strong{font-size:.69rem;max-width:75px}.dock-person small{font-size:.45rem}.hand-dock>.mood-label{left:145px;bottom:2.5%;width:96px;font-size:.48rem;gap:2px}.hand-dock>.mood-label select{width:66px;padding:3px;font-size:.52rem}.dock-quote{display:none}.side-panel{display:block;top:auto;bottom:2%;right:6px;width:120px}.side-card.log-card{padding:5px 7px;border-radius:9px}.log-card h3{font-size:.66rem}.log-card ul{max-height:42px;margin-top:3px;overflow:hidden}.log-card li{padding:2px 0;font-size:.47rem;line-height:1.15}.log-card li:nth-child(n+3){display:none}.log-suit{width:11px;font-size:.55rem}.target-hint{bottom:41%;font-size:.57rem}.shared-turn{top:43%;bottom:auto;width:min(96vw,360px)}.online-alert{top:15%;font-size:.7rem}}@media(max-width:430px){.game-header{padding:12px 8px}.header-actions button:not(:last-child){display:none}.total-number{font-size:3.5rem}.side-panel{display:none}.hand-dock>.mood-label{left:auto;right:8px;bottom:2%}}.world3d-canvas{position:fixed;inset:0;z-index:0;width:100vw;height:100svh;pointer-events:none}.foreground-cards-canvas{position:fixed;inset:0;z-index:30;width:100vw;height:100svh;pointer-events:none}.foreground-cards-canvas[hidden],.world3d-canvas[hidden]{display:none!important}.world3d-active body{background:#080a17}.world3d-active #app{position:relative;z-index:1}.world3d-active #app:has(.modal-overlay){z-index:31}.world3d-active #app:has(.result-overlay){z-index:31}.world3d-active .game-page{background:transparent}.world3d-active .game-page:before{opacity:1;filter:none;z-index:1;background:linear-gradient(180deg,#0809147d 0%,transparent 22%,transparent 68%,#0809149e 100%)}.world3d-active .game-page:after{background:radial-gradient(ellipse at center,transparent 42%,#0506105e 83%,#04050db5 100%)}.world3d-active .energy-ring,.world3d-active .cauldron{opacity:0}.world3d-active .energy-system{filter:none}.header-wallet{margin-left:auto;display:flex;gap:9px;pointer-events:auto}.wallet-pill{display:flex;align-items:center;gap:7px;min-width:92px;height:37px;padding:4px 12px 4px 5px;border:1px solid #e6c8807d;border-radius:20px;background:#0d1220df;color:#fff7e8;font-size:.83rem;font-weight:900;box-shadow:0 5px 15px #0008}.wallet-pill b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:linear-gradient(145deg,#fff17a,#e68b20);color:#fff9c8;text-shadow:0 1px 2px #9b521a;box-shadow:inset 0 0 0 2px #ffe994,0 0 8px #ffb22a88}.wallet-pill.gem b{clip-path:polygon(50% 0,91% 24%,78% 83%,50% 100%,21% 82%,9% 24%);border-radius:0;background:linear-gradient(135deg,#f6b9ff,#766bff 45%,#41eaff);box-shadow:none}.header-status{margin-left:4px}.dock-prompt.my-turn{border-color:#ffd767;box-shadow:0 0 0 3px #ffbb3442,0 0 26px #ffbd4b8c,0 8px 20px #000a}.your-turn-bubble{position:absolute;left:50%;top:-27px;transform:translate(-50%);padding:5px 11px;border-radius:13px;background:#fff1a8;color:#382513;font-size:.6rem;font-weight:1000;white-space:nowrap;box-shadow:0 0 16px #ffc13e}.emote-menu{position:absolute;left:2.5%;bottom:2.7%;z-index:16;pointer-events:auto}.emote-trigger,.info-fab{display:flex;flex-direction:column;align-items:center;justify-content:center;width:72px;height:72px;padding:0;border:3px solid #9271c5;border-radius:50%;background:radial-gradient(circle at 40% 30%,#323145,#10131f 73%);color:#fff;font-size:1.75rem;font-weight:900;box-shadow:0 8px 18px #000b,inset 0 0 0 2px #121220}.emote-trigger small,.info-fab small{margin-top:1px;font-size:.55rem;letter-spacing:.08em}.emote-wheel{position:absolute;left:36px;bottom:36px;width:1px;height:1px;opacity:0;pointer-events:none;transition:opacity .18s}.emote-menu.open .emote-wheel{opacity:1;pointer-events:auto}.emote-wheel button{position:absolute;width:42px;height:42px;border:2px solid #ffd982;border-radius:50%;background:#171b28f2;color:#fff;font-size:1.15rem;box-shadow:0 5px 13px #000c}.emote-wheel button:nth-child(1){transform:translate(7px,-104px)}.emote-wheel button:nth-child(2){transform:translate(54px,-84px)}.emote-wheel button:nth-child(3){transform:translate(75px,-37px)}.emote-wheel button:nth-child(4){transform:translate(-40px,-84px)}.emote-wheel button:nth-child(5){transform:translate(-62px,-37px)}.emote-wheel button:nth-child(6){transform:translate(-17px,-118px)}.info-fab{position:absolute;right:2.5%;bottom:2.7%;z-index:16;width:72px;height:72px;pointer-events:auto;font-family:Georgia,serif;font-size:1.65rem}.dock-prompt{bottom:11.5%}.dock-quote{bottom:3.2%}.history-list{list-style:none;margin:20px 0 0;padding:0}.history-list li{display:flex;gap:10px;padding:11px 4px;border-top:1px solid #ffffff18;color:#eee1cf}@media(max-width:1050px){.header-wallet{gap:4px}.wallet-pill{min-width:76px;height:32px;padding-right:8px;font-size:.7rem}.wallet-pill b{width:23px;height:23px}}@media(max-width:720px){.game-header{height:76px}.match-plaque{min-width:0;width:170px;padding:7px 14px 7px 10px;gap:7px}.plaque-crown{font-size:1.45rem}.match-plaque strong{font-size:.75rem}.match-plaque small{font-size:.5rem;white-space:nowrap}.header-wallet{position:absolute;right:49px;top:9px}.wallet-pill{min-width:66px;height:29px;padding:3px 7px 3px 3px;gap:4px;font-size:.62rem}.wallet-pill b{width:21px;height:21px;font-size:.6rem}.header-status{position:absolute;top:46px;right:50px;gap:4px}.round-pill{font-size:.5rem}.turn-pill{display:none}.header-actions{margin-left:auto}.header-actions button:not(:last-child){display:none}.header-actions button:last-child{display:block}.world3d-active .game-page:before{background:linear-gradient(180deg,#07081382 0%,transparent 18%,transparent 70%,#070813a8 100%)}.energy-system{top:31%}.energy-system .total-wrap{top:-8%}.table-cards{top:56%}.seat-layer{top:79px;height:57vh}.seat{width:72px}.seat .character,.seat .character-head{width:57px;height:57px}.seat .seat-info{min-width:69px}.local-hand{bottom:-15%}.dock-controls{right:81px;bottom:2.7%}.dock-prompt{display:none}.emote-menu{left:7px;bottom:2%}.info-fab{right:7px;bottom:2%}.emote-trigger,.info-fab{width:58px;height:58px;font-size:1.3rem}.emote-trigger small,.info-fab small{font-size:.45rem}.dock-quote{display:none}}@media(orientation:portrait)and (max-width:720px){.seat-layer{top:78px;height:53vh}.seat{left:calc(50% + (var(--seat-x) - 50%) * .9)!important;top:calc(50% + (var(--seat-y) - 31%) * .88)!important}.energy-system{top:29%}.energy-system .total-number{font-size:4.25rem}.table-cards{top:50.5%}.local-hand{bottom:-12%}.local-hand .hand-card{height:clamp(245px,36vh,335px)}}@media(max-width:390px){.match-plaque{width:145px}.match-plaque small{display:none}.wallet-pill{min-width:58px}.header-wallet{right:43px}.local-hand .hand-card{height:clamp(225px,34vh,295px)}}@media(max-height:700px)and (min-width:721px){.table-cards{top:36%}.draw-stack,.played-slot,.played-slot .playing-card{width:75px;height:112px}.local-hand{top:58%}.local-hand .hand-card{height:145px}.dock-controls{top:82%}.dock-controls .play-button{min-height:45px;font-size:1rem}.dock-hint{display:none}}.game-logo{display:none}.match-plaque{pointer-events:auto;display:flex;align-items:center;gap:12px;min-width:276px;padding:9px 24px 9px 13px;color:#fff5d5;background:linear-gradient(145deg,#141927f5,#090d18e8);border:2px solid #f0cb70;clip-path:polygon(4% 0,96% 0,100% 50%,96% 100%,4% 100%,0 50%);filter:drop-shadow(0 7px 12px #0008)}.plaque-crown{color:#ffd86c;font-size:2.25rem;line-height:1}.match-plaque div{display:flex;flex-direction:column}.match-plaque strong{font:800 1.05rem DM Sans,sans-serif;letter-spacing:.03em}.match-plaque small{color:#fff;font-size:.68rem}.energy-system{--energy-angle: 0deg;--energy-level: 0;position:absolute;z-index:3;left:50%;top:21%;width:clamp(205px,20vw,300px);height:clamp(205px,20vw,300px);transform:translate(-50%);pointer-events:none;filter:drop-shadow(0 18px 20px #0008)}.energy-ring{position:absolute;inset:26% -10% 1%;border-radius:50%;transform:rotateX(63deg);background:radial-gradient(ellipse,transparent 52%,#1a1120 53% 61%,transparent 62%),conic-gradient(from -90deg,#ffef92 0deg,#ff9c32 var(--energy-angle),#392241 var(--energy-angle),#20192b 360deg);box-shadow:0 0 calc(15px + 35px * var(--energy-level)) #ff9a3d99,inset 0 0 24px #ffd26d8c;opacity:calc(.7 + var(--energy-level) * .3)}.energy-ring:before,.energy-ring:after{content:"";position:absolute;inset:12%;border:2px dashed #ffd9809c;border-radius:50%;animation:energy-turn 14s linear infinite}.energy-ring:after{inset:-6%;border-style:dotted;opacity:.52;animation-direction:reverse;animation-duration:20s}.direction-spark{position:absolute;left:50%;top:-8px;width:13px;height:13px;border-radius:50%;background:#fff7c7;box-shadow:0 0 8px #fff,0 0 22px #ffc04c;transform-origin:0 calc(50% + 92px);animation:direction-travel 4.5s linear infinite}.direction-spark.ccw{animation-direction:reverse}@keyframes energy-turn{to{transform:rotate(360deg)}}@keyframes direction-travel{to{transform:rotate(360deg)}}.cauldron{position:absolute;z-index:3;left:50%;bottom:5%;width:64%;height:49%;transform:translate(-50%);animation:cauldron-idle 3.2s ease-in-out infinite}.cauldron-body{position:absolute;inset:14% 5% 0;border:3px solid #160f17;border-radius:42% 42% 48% 48%/28% 28% 70% 70%;background:radial-gradient(circle at 50% 19%,#7b5361,#362a39 45%,#171722 83%);box-shadow:inset 0 9px 9px #c08c8757,inset 0 -15px 18px #090911aa,0 8px 13px #0009}.cauldron-body:before{content:"";position:absolute;z-index:3;left:-4%;right:-4%;top:-15%;height:29%;border:4px solid #1b141d;border-radius:50%;background:linear-gradient(#664552,#211a25 53%,#0b0c13 55%);box-shadow:0 0 calc(10px + 24px * var(--energy-level)) #ffad44aa}.cauldron-liquid{position:absolute;z-index:5;left:8%;right:8%;top:4%;height:24%;border-radius:50%;background:radial-gradient(circle at 50% 30%,#fff6a8,#ffc847 45%,#f07a2d 77%);box-shadow:0 0 calc(12px + 34px * var(--energy-level)) #ffbd3edb;animation:liquid-pulse calc(2.3s - var(--energy-level) * 1s) ease-in-out infinite}.cauldron-eye{position:absolute;z-index:4;top:43%;width:8%;height:17%;border-radius:50%;background:#fff0a2;box-shadow:0 0 8px #ffcc53}.cauldron-eye.left{left:29%}.cauldron-eye.right{right:29%}.cauldron-mouth{position:absolute;z-index:4;left:50%;top:53%;width:18%;height:19%;transform:translate(-50%);border-radius:8% 8% 50% 50%;background:#120e18;border-bottom:5px solid #f08c8d}.cauldron-handle{position:absolute;z-index:1;top:42%;width:24%;height:32%;border:8px solid #1a1420;border-radius:50%}.cauldron-handle.left{left:-9%}.cauldron-handle.right{right:-9%}.cauldron-foot{position:absolute;z-index:1;bottom:-4%;width:25%;height:14%;border-radius:50%;background:#15131c}.cauldron-foot.left{left:14%;transform:rotate(-12deg)}.cauldron-foot.right{right:14%;transform:rotate(12deg)}.cauldron-steam{position:absolute;z-index:6;inset:-23% 18% auto;height:50%}.cauldron-steam i{position:absolute;bottom:0;width:7px;height:60%;border-radius:50%;background:linear-gradient(transparent,#ffe9a8);filter:blur(2px);opacity:calc(.2 + var(--energy-level) * .6);animation:steam 1.9s ease-in-out infinite}.cauldron-steam i:nth-child(1){left:16%}.cauldron-steam i:nth-child(2){left:48%;height:90%;animation-delay:-.7s}.cauldron-steam i:nth-child(3){right:16%;animation-delay:-1.2s}@keyframes cauldron-idle{50%{transform:translate(-50%,-3px) scale(1.012)}}@keyframes liquid-pulse{50%{transform:scale(1.04);filter:brightness(1.18)}}@keyframes steam{0%{transform:translateY(9px) scaleX(.7);opacity:0}45%{opacity:.7}to{transform:translateY(-13px) scaleX(1.25);opacity:0}}.energy-system .total-wrap{top:-5%;z-index:8;min-width:170px}.energy-system .total-caption{font-size:.64rem}.energy-system .total-number{font-size:clamp(3.7rem,5.4vw,5.5rem);color:#fff8d8;-webkit-text-stroke:2px #30200f;paint-order:stroke fill}.energy-system .total-max{display:none}.energy-system .direction-indicator{top:auto;bottom:-4%;font-size:.51rem;opacity:.88}.game-page[data-event=exact] .cauldron{animation:cauldron-celebrate .52s ease-in-out 3}.game-page[data-event=exact] .energy-system{filter:drop-shadow(0 0 38px #ffdb61)}.game-page[data-event=bust] .cauldron{animation:cauldron-bust .17s linear 8}.game-page[data-event=bust] .cauldron-mouth{height:25%;border-radius:50%;border:4px solid #f3a09f}.game-page[data-event=minus] .cauldron-liquid{animation:energy-drain .7s ease-out}.energy-system.warning-1 .cauldron-liquid{filter:brightness(1.12) saturate(1.12)}.energy-system.warning-2 .cauldron{animation-duration:2.15s}.energy-system.warning-2 .cauldron-steam i{animation-duration:1.25s}.energy-system.danger .cauldron{animation:cauldron-danger .48s ease-in-out infinite}.energy-system.danger .cauldron-liquid{filter:brightness(1.35) saturate(1.3)}.energy-system.at100 .energy-ring{box-shadow:0 0 60px #ffe06bcc,inset 0 0 34px #fff3ad}@keyframes cauldron-celebrate{50%{transform:translate(-50%,-18px) rotate(3deg) scale(1.08)}}@keyframes cauldron-bust{25%{transform:translate(calc(-50% - 4px)) rotate(-2deg)}75%{transform:translate(calc(-50% + 4px)) rotate(2deg)}}@keyframes cauldron-danger{25%{transform:translate(calc(-50% - 1px))}75%{transform:translate(calc(-50% + 1px))}}@keyframes energy-drain{50%{transform:scale(.7);filter:brightness(.6)}}.table-cards{top:43%;width:clamp(330px,38vw,555px);justify-content:space-between;gap:0}.draw-stack,.played-slot,.played-slot .playing-card{width:clamp(76px,7vw,108px);height:auto;aspect-ratio:511 / 710}.draw-stack{position:relative}.draw-stack:before,.draw-stack:after{content:"";position:absolute;inset:6px -7px -6px 7px;z-index:-1;border-radius:9px;background:#171520;border:1px solid #b98d56;box-shadow:0 4px #12111a}.draw-stack:after{inset:3px -4px -3px 4px}.draw-stack .card-back{width:100%;height:100%;border-radius:9px}.draw-stack img{border:0;box-shadow:none}.played-slot{min-height:106px}.pile-wrap{min-width:110px;font-size:.88rem}.pile-wrap small{font-size:.62rem}.seat .character-head img{animation:portrait-idle 3.7s ease-in-out infinite;transform-origin:50% 75%}.seat:nth-child(2n) .character-head img{animation-delay:-1.8s}.seat.active{animation:active-player 1.45s ease-in-out infinite}.seat.active:before{content:"";position:absolute;inset:-5px;border:2px solid #ffe48b;border-radius:inherit;box-shadow:0 0 20px #ffbd4b}.seat.mood-angry .character-head img{filter:saturate(1.2) contrast(1.07) hue-rotate(-8deg)}.seat.mood-sad .character-head img,.seat.mood-tired .character-head img{filter:saturate(.72) brightness(.88)}.seat.mood-excited .character-head img,.seat.mood-happy .character-head img{animation-duration:2.2s}@keyframes portrait-idle{50%{transform:translateY(-2px) scale(1.025)}}@keyframes active-player{50%{box-shadow:0 0 28px #ffc95ec9,0 8px 20px #000c}}@media(max-width:720px){.match-plaque{min-width:0;width:175px;padding:6px 13px 6px 9px;gap:7px}.plaque-crown{font-size:1.45rem}.match-plaque strong{font-size:.72rem}.match-plaque small{font-size:.46rem}.energy-system{top:24%;width:205px;height:205px}.energy-system .total-wrap{top:-1%}.energy-system .total-caption{font-size:.53rem}.energy-system .total-number{font-size:3.4rem}.table-cards{top:43%;width:285px}.draw-stack,.played-slot,.played-slot .playing-card{width:64px;height:auto}.played-slot{min-height:89px}.pile-wrap{min-width:72px;font-size:.63rem}.pile-wrap small{font-size:.48rem}.local-hand{top:62%}.local-hand .hand-card{height:clamp(125px,19vh,165px)}.dock-controls{top:82%}}@media(max-width:430px){.match-plaque{width:160px}.header-status{position:absolute;top:69px;right:8px}.seat-layer{top:108px}.energy-system{top:25%;width:190px;height:190px}.table-cards{top:44%;width:270px}.local-hand{top:65%}.local-hand .hand-card{height:135px}.dock-controls{top:84%}}@media(prefers-reduced-motion:reduce){.energy-ring:before,.energy-ring:after,.direction-spark,.cauldron,.cauldron-liquid,.cauldron-steam i,.seat .character-head img,.seat.active{animation:none!important}}.side-panel{display:none}.played-slot,.played-slot:has(.playing-card),.played-slot .playing-card,.local-hand .hand-card,.local-hand .hand-card.special,.local-hand .hand-card.selected,.draw-stack .card-back{border:0;border-radius:0;background:transparent;box-shadow:none}.playing-card img{filter:drop-shadow(0 12px 10px #0009)}.played-slot .playing-card img{filter:drop-shadow(0 9px 8px #000a)}.energy-system{top:22%;width:clamp(250px,23vw,350px);height:clamp(250px,23vw,350px)}.energy-system .total-wrap{top:-7%}.energy-system .total-caption{display:none}.energy-system .total-number{font:900 clamp(4.8rem,7vw,7rem)/.82 "DM Sans",system-ui,sans-serif;color:#fff7cf;-webkit-text-stroke:4px #20170c;text-shadow:0 5px 0 #d99b2b,0 10px 18px #000b,0 0 26px #ffd24e}.energy-system .direction-indicator{bottom:-7%}.cauldron{width:72%;height:54%;bottom:1%}.cauldron-body{background:radial-gradient(circle at 50% 24%,#594355,#261e2d 48%,#11111b 83%);border-width:4px;box-shadow:inset 0 10px 10px #bb768c4f,inset 0 -16px 20px #05060dbb,0 11px 18px #000b}.cauldron-liquid{left:7%;right:7%;background:radial-gradient(circle at 50% 30%,#fffbd0,#ffe767 33%,#ffb52f 63%,#ef6c25 88%)}.cauldron-eye{width:9%;height:19%;top:42%}.cauldron-mouth{top:54%;width:21%;height:21%;background:#160c19;border-bottom-color:#ff858e}.table-cards{top:48%;width:clamp(390px,39vw,590px)}.draw-stack,.played-slot,.played-slot .playing-card{width:clamp(82px,7.2vw,112px)}.draw-stack:before,.draw-stack:after{border-radius:7%}.pile-wrap{min-width:120px;font-size:.9rem}.seat{width:clamp(92px,8.2vw,124px);height:auto;padding:0;display:flex;flex-direction:column;gap:0;border:0;border-radius:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;text-align:center;filter:drop-shadow(0 7px 10px #000b)}.seat:hover{transform:translate(-50%,-54%) scale(1.025)}.seat.active,.seat.targetable{border:0;background:none;box-shadow:none;filter:drop-shadow(0 0 14px #ffc04b) drop-shadow(0 8px 10px #000b)}.seat.active:before{inset:-5px auto auto 50%;width:calc(clamp(74px,7vw,108px) + 8px);height:calc(clamp(74px,7vw,108px) + 8px);transform:translate(-50%);border-radius:50%}.seat .character{display:block;position:relative;width:clamp(74px,7vw,108px);height:clamp(74px,7vw,108px)}.seat .character-head{display:block;width:100%;height:100%;border:4px solid #17131e;outline:3px solid #f4cf70;box-shadow:inset 0 0 0 2px #fff5,0 6px 14px #000b}.seat .character-head img{width:100%;height:100%;object-fit:cover}.seat .seat-info{min-width:94px;margin:-5px 0 0;padding:5px 9px 4px;border:0;border-radius:17px;background:linear-gradient(180deg,#2b1e22e8,#120f19ee);box-shadow:0 5px 9px #0008;text-align:center}.seat-name{font-size:clamp(.68rem,.9vw,.9rem)}.seat-meta{margin-top:1px;color:#ffe28d;font-size:.57rem}.seat-suit{display:none}.seat-count{position:absolute;right:-10px;bottom:2px;z-index:5;min-width:27px;padding:8px 6px 5px;border:2px solid #f2d88f;border-radius:5px;background:linear-gradient(145deg,#292036,#0d1020);color:#fff;font-size:.78rem;font-weight:900;line-height:1;transform:rotate(5deg);box-shadow:0 3px 7px #0009}.seat.targetable:after{top:-20px}.local-hand{top:auto;bottom:-12%;gap:0;align-items:flex-end;perspective:1000px}.local-hand .hand-card{height:clamp(285px,39vh,430px)}.local-hand .hand-card:first-child{z-index:1;transform:translate(9%,9%) rotate(-7deg)}.local-hand .hand-card:nth-child(2){z-index:2;transform:translate(-9%,1%) rotate(7deg)}.local-hand .hand-card:first-child:hover:not(.dragging){transform:translate(9%,4%) rotate(-7deg)}.local-hand .hand-card:nth-child(2):hover:not(.dragging){transform:translate(-9%,-4%) rotate(7deg)}.local-hand .hand-card.selected{z-index:4}.dock-controls{inset:auto 2.5% 5% auto;width:88px;transform:none;z-index:14}.dock-controls .play-button{width:88px;min-height:88px;padding:10px;border-radius:50%;font-size:.72rem;line-height:1.1;text-align:center}.dock-controls .play-button span,.dock-hint{display:none}.dock-prompt{z-index:14}@media(max-width:720px){.game-page{min-height:560px}.seat-layer{inset:70px 0 auto;width:100%;height:62vh;display:block;overflow:visible;pointer-events:none}.seat{position:absolute;left:var(--seat-x)!important;top:var(--seat-y)!important;width:76px;height:auto;transform:translate(-50%,-50%)!important;pointer-events:auto}.seat .character,.seat .character-head{width:64px;height:64px}.seat .character-head{border-width:3px;outline-width:2px}.seat .seat-info{min-width:72px;padding:3px 5px}.seat-name{font-size:.62rem}.seat-meta{font-size:.43rem}.seat-count{right:-3px;min-width:22px;padding:6px 4px 4px;font-size:.62rem}.seat.active:before{width:70px;height:70px}.energy-system{top:28%;width:235px;height:235px}.energy-system .total-wrap{top:-5%}.energy-system .total-number{font-size:4.6rem;-webkit-text-stroke-width:3px}.table-cards{top:51%;width:215px}.draw-stack,.played-slot,.played-slot .playing-card{width:72px}.pile-wrap{min-width:80px;font-size:.69rem}.local-hand{top:auto;bottom:-13%}.local-hand .hand-card{height:clamp(245px,36vh,320px)}.dock-controls{right:8px;bottom:2%;width:62px}.dock-controls .play-button{width:62px;min-height:62px;padding:7px;font-size:.55rem}.dock-prompt{left:7px;bottom:2%}.hand-dock>.mood-label{display:none}}@media(max-width:430px){.match-plaque{width:158px}.header-status{top:65px}.seat-layer{top:75px;height:60vh}.energy-system{top:29%;width:220px;height:220px}.table-cards{top:52%;width:205px}.local-hand{top:auto;bottom:-15%}.local-hand .hand-card{height:clamp(240px,35vh,295px)}}.world3d-active .local-hand{top:auto;bottom:-12%}.world3d-active .dock-controls{inset:auto 2.5% 13% auto}.world3d-active .dock-controls .play-button:disabled{visibility:hidden}@media(max-width:720px){.world3d-active .local-hand{top:auto;bottom:1%}.world3d-active .dock-controls{inset:auto 73px 10% auto;width:62px}}@media(orientation:portrait)and (max-width:720px){.world3d-active .dock-prompt{display:flex;left:auto;right:6px;bottom:31%;min-width:72px;width:72px;padding:0;flex-direction:column;gap:2px;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;text-align:center}.world3d-active .dock-prompt .dock-avatar{width:62px;height:62px;border:3px solid #ffd46b;box-shadow:0 0 19px #ffc13d}.world3d-active .dock-prompt .eyebrow,.world3d-active .dock-prompt small{display:none}.world3d-active .dock-prompt strong{display:block;max-width:72px;font-size:.65rem;text-shadow:0 2px 5px #000}.world3d-active .your-turn-bubble{top:-25px;font-size:.48rem;padding:4px 7px}}@media(max-width:390px){.world3d-active .local-hand .hand-card{height:clamp(230px,33vh,280px)}}.world3d-active .draw-stack .card-back,.world3d-active .played-slot .playing-card{opacity:0}.world3d-active .draw-stack:before,.world3d-active .draw-stack:after{display:none}.world3d-active .hand-card:before{content:"";position:absolute;inset:2.7% 3.8%;z-index:0;border-radius:7%;background:#11121b;transform:translate3d(6px,8px,-7px);box-shadow:0 10px 14px #0009;pointer-events:none}.world3d-active .hand-card img{transform:translateZ(2px)}.world3d-active .playing-card:after,.world3d-active .hand-card:before{display:none!important}.world3d-active .hand-card{background:transparent!important;border:0!important;box-shadow:none!important;transform-style:preserve-3d;will-change:transform}.world3d-active .hand-card img{filter:drop-shadow(0 16px 12px #000b);transform:none}.world3d-active .seat{left:var(--seat-chair-x, var(--seat-x))!important;top:var(--seat-chair-y, var(--seat-y))!important}.world3d-active .energy-system .total-wrap{top:0}.world3d-active .energy-system .total-number{font-size:clamp(9.6rem,14vw,14rem);line-height:.75;letter-spacing:-.09em;transform:translate(-.045em)}@media(max-width:720px){.world3d-active .energy-system .total-wrap{top:-2%}.world3d-active .energy-system .total-number{font-size:clamp(7.6rem,30vw,9rem);line-height:.76}}:root{--ui-scale: 1}.world3d-active .hand-card.mesh-ready img{opacity:0!important;filter:none!important}.world3d-active .hand-card.mesh-ready{outline:0;filter:none!important}.world3d-active .hand-card{aspect-ratio:var(--card-aspect, .719718);height:clamp(310px,47vh,530px);width:auto;touch-action:none}.crisp-mobile-hand.world3d-active .hand-card{transform-style:preserve-3d;backface-visibility:hidden}.crisp-mobile-hand.world3d-active .local-hand .hand-card:not(.dragging):not(.inspecting)>img,.crisp-mobile-hand.world3d-active .local-hand .hand-card:not(.dragging):not(.inspecting)>.card-print,.crisp-mobile-hand.world3d-active .local-hand .hand-card:not(.dragging):not(.inspecting):after{transform:perspective(850px) rotateX(var(--gyro-x,0deg)) rotateY(var(--gyro-y,0deg));transform-origin:center center;backface-visibility:hidden}.world3d-active .hand-card img{width:100%;height:100%;object-fit:contain}.world3d-active .local-hand{bottom:-18%;gap:0}.world3d-active .hand-card.inspecting{z-index:25;transform:translateY(calc(-18vh - 72px)) scale(1.08)!important}.world3d-active .hand-card.dragging{transition:none!important;z-index:30}.world3d-active .hand-card.selected:not(.dragging){transform:translateY(-25px) rotate(0)}.world3d-active .hand-card:focus-visible{outline:2px solid #ffe3a4;outline-offset:8px;border-radius:8%}.world3d-active .seat .character-head{border:3px solid #242035;outline:2px solid #bea471;box-shadow:0 4px 12px #15101c88}.world3d-active .seat .character-head:after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;background:linear-gradient(175deg,#91adff17,transparent 55%,#f5b34919);mix-blend-mode:soft-light}.world3d-active .seat .character-head img{animation:portrait-life 7s ease-in-out infinite;animation-delay:calc(var(--seat-index,0)*-.73s)}.world3d-active .seat .seat-info{border:0;background:linear-gradient(#302637d9,#161622ed);box-shadow:0 4px 12px #100c1844}.world3d-active .seat.active{filter:drop-shadow(0 0 5px #f2b65888)}.world3d-active .seat.active .character-head{outline:3px solid #ffdd96;box-shadow:0 0 8px #ffbd64,0 0 20px #ffb95255}.world3d-active .seat.active .seat-name{color:#ffe2a1}.world3d-active .seat.reacting .character-head{animation:portrait-react .6s ease-in-out 2}.world3d-active .direction-indicator{font-size:.52rem;opacity:.65;letter-spacing:.14em}.world3d-active .direction-indicator span{display:none}.world3d-active .game-header{padding:max(12px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right));height:90px;background:linear-gradient(#090b16a6,transparent)}.world3d-active .match-plaque{background:linear-gradient(120deg,#191928ed,#11141dec);border:0;box-shadow:0 8px 28px #0003;clip-path:polygon(4% 0,97% 0,100% 50%,97% 100%,4% 100%,0 50%)}.world3d-active .match-plaque strong{font:700 calc(1.03rem * var(--ui-scale)) Georgia,serif;letter-spacing:.025em}.world3d-active .match-plaque small{font-size:calc(.6rem * var(--ui-scale));color:#c8bda9}.world3d-active .header-wallet{gap:8px}.world3d-active .wallet-pill{border-color:#bda36d66;background:#141520d9;box-shadow:inset 0 1px #d4bf8533,0 5px 14px #0003;font-size:calc(.85rem * var(--ui-scale))}.world3d-active .header-actions button{border:1px solid #baa37466;background:linear-gradient(145deg,#242235,#12141f);box-shadow:0 5px 14px #0004}.world3d-active .round-pill{font-size:calc(.66rem * var(--ui-scale));color:#d8cebb}.world3d-active .turn-pill{font-size:calc(.64rem * var(--ui-scale))}.world3d-active .table-cards .pile-wrap{font-weight:600;letter-spacing:.04em;color:#eedfc8;text-shadow:0 2px 7px #0d0817;font-size:.77rem}.world3d-active .table-cards .pile-wrap small{font-size:.58rem;color:#c6b99e}.world3d-active .dock-prompt{border:1px solid #b09c6744;background:#141521c9;box-shadow:0 8px 24px #0004;padding:9px 14px;border-radius:22px}.world3d-active .dock-prompt.my-turn{border-color:#f2cf83;box-shadow:0 0 18px #ebb15133}.world3d-active .dock-prompt strong{font:700 1rem Georgia,serif}.world3d-active .dock-controls{right:calc(50% - 250px);bottom:7%}.world3d-active .dock-controls .play-button{min-height:52px;width:120px;border-radius:28px;line-height:1;box-shadow:0 7px 24px #0007}.world3d-active .game-tagline{opacity:.5}button{-webkit-tap-highlight-color:transparent}button:active{translate:0 1px}.modal-setting small{color:#c4b9a7;line-height:1.45}.modal-setting output{color:#f3dca4;font-variant-numeric:tabular-nums}.setting-toggle{display:flex;gap:12px;align-items:center;margin:18px 0;color:#ecdfc4}.setting-toggle input{width:20px;height:20px;accent-color:#ceaa67}.setup-page{background:radial-gradient(ellipse at 14% 35%,#83522f40,transparent 52%),radial-gradient(ellipse at 65% 80%,#35326355,transparent 50%),#11121d}.setup-panel{background:linear-gradient(130deg,#292532ed,#121721f5);border-left:1px solid #cfb17a33}.setup-panel h2{color:#eedab5;font-family:Georgia,serif}.setup-hero{background:linear-gradient(#13121a50,#141520d9),linear-gradient(#070b13,#070b13) center/cover}.seat-row{background:linear-gradient(90deg,#e0caa40b,#c4bad505);border-color:#bfb28c1c;border-radius:12px}.seat-row input,.seat-row select{border-color:#a08a653d;background:#1118239c}.primary-button{background:linear-gradient(#eacb88,#ba8744);border:1px solid #e9ca8a;color:#291e17;box-shadow:inset 0 1px #fff1cc99,0 8px 20px #0003}.emote-wheel{background:none!important;border:0!important;box-shadow:none!important}.emote-wheel button{box-shadow:0 6px 18px #0007}@keyframes portrait-life{0%,to{transform:scale(1.025) translate(0)}40%{transform:scale(1.04) translate(.8%,-.7%)}70%{transform:scale(1.025) translate(-.6%)}}@keyframes portrait-react{35%{transform:translateY(-5px) rotate(-3deg)}65%{transform:translateY(-1px) rotate(2deg)}}@media(orientation:portrait){.world3d-active .game-header{height:82px;padding:12px 10px}.world3d-active .match-plaque{width:145px;min-height:46px;padding:8px 10px}.world3d-active .match-plaque strong{font-size:.83rem}.world3d-active .header-wallet{right:56px;top:14px;gap:4px}.world3d-active .wallet-pill{min-width:51px;padding:3px 6px;font-size:.68rem;gap:3px}.world3d-active .wallet-pill b{width:21px;height:21px;font-size:.9rem}.world3d-active .header-actions{right:8px;top:12px}.world3d-active .header-actions button{width:34px;height:34px}.world3d-active .header-actions button[data-action=history]{display:block;position:fixed;right:9px;top:61px}.world3d-active .header-status{top:65px;left:12px;right:auto}.world3d-active .turn-pill{display:none}.world3d-active .local-hand{bottom:-10%;gap:0}.world3d-active .local-hand .hand-card{height:min(50svh,75vw);max-width:none}.world3d-active .hand-card.inspecting{transform:translateY(calc(-10svh - 64px)) scale(1.08)!important}.world3d-active .dock-prompt{left:12px;right:auto;bottom:44%;min-width:0;width:auto;flex-direction:row;gap:6px;padding:5px 8px;background:#151521b8;border:1px solid #ccb68144}.world3d-active .dock-prompt .dock-avatar{width:36px;height:36px;border-width:1px;box-shadow:none}.world3d-active .dock-prompt strong{font-size:.65rem}.world3d-active .your-turn-bubble{top:-19px;font-size:.45rem}.world3d-active .dock-controls{right:12px;left:auto;bottom:43%;width:80px}.world3d-active .dock-controls .play-button{width:80px;min-height:42px;font-size:.57rem}.world3d-active .seat .character,.world3d-active .seat .character-head{width:57px;height:57px}.world3d-active .seat .seat-name{font-size:calc(.65rem * var(--ui-scale))}.world3d-active .seat .seat-meta{font-size:.46rem}.world3d-active .seat .seat-info{min-width:62px;padding:3px 5px}.world3d-active .emote-menu{left:max(10px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom))}.world3d-active .info-fab{right:max(10px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}}@media(orientation:landscape)and (max-height:520px){.world3d-active .local-hand .hand-card{height:clamp(180px,58vh,295px)}.world3d-active .local-hand{bottom:-23%}.world3d-active .hand-card.inspecting{transform:translateY(calc(-23vh - 58px)) scale(1.08)!important}.world3d-active .seat .character,.world3d-active .seat .character-head{width:43px;height:43px}.world3d-active .seat .seat-info{min-width:54px;padding:2px 4px}.world3d-active .seat .seat-name{font-size:.57rem}.world3d-active .seat .seat-meta{font-size:.4rem}.world3d-active .game-header{height:56px;padding:8px 12px}.world3d-active .match-plaque{width:190px;min-height:40px}.world3d-active .header-status{top:12px}.world3d-active .dock-prompt{bottom:24%;padding:4px 8px}.world3d-active .dock-controls{right:21%;bottom:15%}}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.emote-wheel button{width:38px;height:38px;border-width:1px;font-size:1rem}.emote-wheel button:nth-child(1){transform:translate(-20px,-95px)}.emote-wheel button:nth-child(2){transform:translate(23px,-88px)}.emote-wheel button:nth-child(3){transform:translate(60px,-62px)}.emote-wheel button:nth-child(4){transform:translate(78px,-21px)}.emote-wheel button:nth-child(5){transform:translate(-20px,-144px)}.emote-wheel button:nth-child(6){transform:translate(32px,-137px)}.emote-wheel button:nth-child(7){transform:translate(82px,-112px)}.emote-wheel button:nth-child(8){transform:translate(116px,-68px)}.event-toast{top:auto;bottom:32%;max-width:80vw;padding:8px 18px;font-size:.8rem;letter-spacing:.08em;border-width:1px;border-radius:20px;background:#191823e8;pointer-events:none}@media(orientation:portrait){.event-toast{top:12%;bottom:auto;font-size:.7rem}}.world3d-active .game-page{min-height:0;height:100svh}.world3d-active .game-page:before{background:linear-gradient(180deg,#08091455,transparent 23%)}.world3d-active .game-page:after{background:radial-gradient(ellipse at 50% 42%,transparent 67%,#0909161c 100%)}[data-avatar-pose=anticipation] img{transform-origin:50% 70%}[data-avatar-pose=thinking] img{animation:portrait-think 6s ease-in-out infinite!important}[data-avatar-pose=celebration]{animation:portrait-react .7s ease-in-out 3}[data-avatar-pose=defeat] img{filter:saturate(.7)}@keyframes portrait-think{50%{transform:scale(1.035) rotate(-2deg)}}.reduce-motion [data-avatar-pose] img{animation:none!important}.world3d-active .table-cards{inset:0;width:100%;height:100%;transform:none;display:block;pointer-events:none}.world3d-active .table-cards .pile-wrap{position:absolute;left:var(--pile-label-x);top:var(--pile-label-y);transform:translate(-50%);min-width:70px}.world3d-active .pile-wrap .draw-stack,.world3d-active .pile-wrap .played-slot{position:absolute;left:50%;top:-70px;transform:translate(-50%)}.world3d-active .empty-slot{display:none}.world3d-active .energy-system{inset:0;width:100%;height:100%;transform:none}.world3d-active .direction-indicator{top:var(--direction-y);bottom:auto;left:50%;width:max-content;transform:translate(-50%)}@media(orientation:portrait){.world3d-active .direction-indicator{width:80px;font-size:.42rem;letter-spacing:.03em;white-space:normal;line-height:1.2;text-align:center}}@media(orientation:landscape)and (max-height:520px){.world3d-active .match-plaque{width:200px!important;min-width:0;max-width:200px}.world3d-active .header-wallet{position:absolute;right:174px;top:10px}.world3d-active .header-status{position:absolute;right:179px;top:50px}.world3d-active .header-status .round-pill{display:none}.world3d-active .dock-prompt{bottom:8px;left:92px;width:125px;min-width:0;padding:5px 7px}.world3d-active .dock-prompt .dock-avatar{width:32px;height:32px}.world3d-active .dock-prompt small,.world3d-active .dock-prompt .eyebrow{display:none}.world3d-active .dock-prompt strong{font-size:.72rem}.world3d-active .your-turn-bubble{font-size:.42rem;top:-18px;padding:3px 7px}.world3d-active .emote-trigger,.world3d-active .info-fab{width:52px;height:52px;font-size:1.2rem}.world3d-active .direction-indicator{font-size:.4rem}.world3d-active .table-cards .pile-wrap{font-size:.6rem}.world3d-active .table-cards .pile-wrap small{font-size:.46rem}.world3d-active .dock-quote{display:none}}@media(orientation:landscape)and (max-height:520px){.world3d-active .seat.active:before{width:50px;height:50px}}.playing-card,.playing-card:is(.special,.selected,.flick-ready,.dragging,.inspecting),.playing-card:hover,.world3d-active .hand-card,.world3d-active .hand-card:is(.selected,.flick-ready,.dragging,.inspecting){border:0!important;box-shadow:none!important;filter:none!important}.playing-card img,.playing-card:is(.special,.selected,.flick-ready,.dragging,.inspecting) img,.playing-card:hover img,.world3d-active .hand-card img,.world3d-active .hand-card:is(.selected,.flick-ready,.dragging,.inspecting) img{filter:none!important;box-shadow:none!important;border:0!important}.draw-face,.flying-card img,.waiting-cards img{border-radius:5.5%/3.95%}.playing-card:before,.world3d-active .hand-card:before{display:none!important}.world3d-active .game-page:before,.world3d-active .game-page:after{background:none!important}.game-page .seat .character-head,.game-page .seat .character-head img,.game-page .seat.active,.game-page .seat.reacting .character-head,.game-page .dock-avatar{animation:none!important}.game-page .seat{transition:none!important}.game-page .seat:hover{transform:translate(-50%,-50%)!important}.game-page .seat.active:before,.game-page .seat .character-head:after{display:none!important}.game-page .seat .character-head{border:3px solid #302239!important;outline:2px solid #e5be6d!important;background:#191622!important;box-shadow:inset 0 0 0 1px #fff1bc66,0 5px 12px #000b!important}.game-page .seat.active .character-head{border-color:#fff3bb!important;outline:3px solid #ffc342!important;box-shadow:0 0 0 3px #ffe19c,0 0 16px 6px #ffd34d,0 0 34px 13px #ffad3ba8,0 5px 12px #000b!important}.game-page .dock-avatar{border:3px solid #e5be6d!important;box-shadow:0 0 0 2px #322638,0 5px 12px #000b!important}.game-page .dock-prompt.my-turn .dock-avatar{border-color:#fff3bb!important;box-shadow:0 0 0 3px #ffc342,0 0 16px 6px #ffd34d,0 0 34px 13px #ffad3ba8,0 5px 12px #000b!important}.game-page .energy-ring{display:none!important}.game-page .cauldron-liquid{animation:none!important}@font-face{font-family:Luckiest Guy;src:url(/assets/fonts/LuckiestGuy-Regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}.playing-card:not(.card-back){--card-accent:#ecc26a;--foil-dark:#342009;--foil-mid:#ba6716;--foil-bright:#ffdb69;--foil-motif:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M16 6v20M6 16h20M9 9l14 14M23 9 9 23' stroke='%23ffe5a0' stroke-width='1.5' opacity='.55'/%3E%3Ccircle cx='16' cy='16' r='3' fill='%23ffe5a0' opacity='.55'/%3E%3C/svg%3E");position:relative;container-type:inline-size;overflow:hidden;border-radius:5.5%/3.95%!important;background:var(--card-accent)!important}.playing-card.suit-fire{--card-accent:#f09069;--foil-dark:#351016;--foil-mid:#b72d14;--foil-bright:#ffab42;--foil-motif:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M16 4c4 7-1 7 4 13 3-2 4-4 4-6 4 8 2 17-8 17S4 20 9 11c0 4 2 5 4 5-1-5 3-8 3-12Z' fill='%23ffd27a' opacity='.54'/%3E%3C/svg%3E")}.playing-card.suit-water{--card-accent:#83d0e9;--foil-dark:#082440;--foil-mid:#1877b9;--foil-bright:#7eeeff;--foil-motif:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M16 5c4 6 8 10 8 14a8 8 0 0 1-16 0c0-4 4-8 8-14Z' fill='none' stroke='%23b5f6ff' stroke-width='1.6' opacity='.62'/%3E%3Cpath d='M5 27q5-3 11 0t11 0' fill='none' stroke='%23b5f6ff' stroke-width='1.2' opacity='.48'/%3E%3C/svg%3E")}.playing-card.suit-leaf{--card-accent:#a5cc82;--foil-dark:#102b16;--foil-mid:#318a35;--foil-bright:#a5f46b;--foil-motif:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M6 25C5 12 15 7 27 6c-1 12-7 21-21 19Z' fill='none' stroke='%23c9ffa1' stroke-width='1.5' opacity='.65'/%3E%3Cpath d='M7 24 25 8M13 18l-2-7m7 2 7 2' fill='none' stroke='%23c9ffa1' stroke-width='1' opacity='.55'/%3E%3C/svg%3E")}.playing-card.suit-sun{--card-accent:#f0c66a}.playing-card:not(.card-back)>img{position:absolute;z-index:1;top:3.65%;left:5.1%;width:89.8%;height:92.7%;object-fit:cover;border-radius:4%/2.8%!important}.playing-card .card-print{position:absolute;inset:0;z-index:3;pointer-events:none}.playing-card .card-index{position:absolute;display:block;color:#fffdf4;font:400 24.9cqw/.95 Luckiest Guy,system-ui,sans-serif;letter-spacing:-.035em;-webkit-text-stroke:.9cqw #191525;paint-order:stroke fill;text-shadow:0 .7cqw .8cqw #140d1a9a;white-space:nowrap}.playing-card .card-index.top{top:4.8%;left:7.3%}.playing-card .card-index.bottom{right:7.3%;bottom:4.8%;transform:rotate(180deg)}.playing-card.special .card-index.bottom{color:#211927;-webkit-text-stroke:.55cqw #fff9e9;text-shadow:none}.playing-card.special .card-index{font-size:20.5cqw}.playing-card.special .card-index.word-index{font-size:9.5cqw;letter-spacing:0;-webkit-text-stroke:.5cqw #191525}.playing-card.special .card-index[data-index=ZERO]{font-size:14cqw}.playing-card.special .card-index.bottom:not(.word-index){font-size:13.94cqw}.playing-card.special .card-index.bottom.word-index{-webkit-text-stroke:.4cqw #fff9e9}.playing-card .card-action{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;left:5.1%;right:5.1%;bottom:3.65%;height:18.5%;padding:.8% 47% .8% 2%;border-top:.9cqw solid var(--card-accent);background:#fff9e9;color:#211927;text-align:center;white-space:normal}.playing-card .card-action strong{font:400 6cqw/1 Luckiest Guy,system-ui,sans-serif;letter-spacing:.015em}.playing-card .card-action small{font:700 4cqw/1.15 system-ui,sans-serif;color:#322938;margin-top:1cqw}.playing-card:not(.card-back):after,.world3d-active .hand-card:not(.card-back):after{content:"";display:block!important;position:absolute;z-index:4;inset:0;border-radius:5.5%/3.95%;padding:5.1%;pointer-events:none;background:radial-gradient(circle at var(--holo-x,50%) var(--holo-y,50%),rgb(255 255 230 / var(--foil-motion,0)) 0,transparent 27%),var(--foil-motif) 0 0/32px 32px repeat,repeating-linear-gradient(119deg,#080b1d30 0 1px,#ffffff18 1px 2px,transparent 2px 8px),conic-gradient(from var(--foil-angle,35deg) at 48% 52%,var(--foil-dark),var(--foil-mid) 17%,var(--foil-bright) 27%,var(--foil-mid) 39%,var(--foil-dark) 52%,var(--foil-bright) 70%,var(--foil-mid) 83%,var(--foil-dark));background-blend-mode:screen,screen,soft-light,normal;mix-blend-mode:normal;opacity:.96!important;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:none!important}.playing-card.special:after,.world3d-active .hand-card.special:after{opacity:1!important;filter:saturate(1.23) contrast(1.12);animation:none!important}.playing-card[data-foil-moving]:after{filter:saturate(1.38) brightness(1.18)}.playing-card:is(.flying-card,.draw-front):after{--foil-motion:.82}.world3d-active .hand-card.mesh-ready{background:transparent!important;overflow:visible}.world3d-active .hand-card.mesh-ready .card-print{visibility:hidden}.world3d-active .hand-card.mesh-ready:after{display:none!important}.reduce-motion .playing-card:after{--foil-motion:0!important}.draw-flight .playing-card.draw-front{width:100%;height:100%}:root{--observatory-gold:#b9a078;--observatory-ink:#070a11;--observatory-light:#e6dfcb}:is(.world3d-active,.observatory-mode) .game-page{color:var(--observatory-light);background:none!important;overflow:hidden}:is(.world3d-active,.observatory-mode) .game-layout,:is(.world3d-active,.observatory-mode) .arena,:is(.world3d-active,.observatory-mode) .table-rim,:is(.world3d-active,.observatory-mode) .table-felt,:is(.world3d-active,.observatory-mode) .seat-layer{position:fixed;inset:0;width:100%;height:100%;transform:none!important;margin:0;border:0!important;border-radius:0;box-shadow:none!important;background:none!important}:is(.world3d-active,.observatory-mode) .table-rim:before,:is(.world3d-active,.observatory-mode) .table-rim:after,:is(.world3d-active,.observatory-mode) .table-felt:before,:is(.world3d-active,.observatory-mode) .table-felt:after,:is(.world3d-active,.observatory-mode) .arena:before,:is(.world3d-active,.observatory-mode) .arena:after{display:none!important}:is(.world3d-active,.observatory-mode) .seat-layer,:is(.world3d-active,.observatory-mode) .energy-system{pointer-events:none}:is(.world3d-active,.observatory-mode) .energy-system{position:fixed;inset:0;z-index:6}:is(.world3d-active,.observatory-mode) .table-rim{z-index:6;pointer-events:none}:is(.world3d-active,.observatory-mode) .energy-system .total-wrap{position:fixed!important;left:var(--total-x,50vw)!important;top:var(--total-y,49vh)!important;transform:translate(-50%,-100%)!important;opacity:1!important;visibility:visible!important;display:flex!important;align-items:center;flex-direction:column;min-width:180px;pointer-events:none;text-shadow:none}:is(.world3d-active,.observatory-mode) .energy-system .total-number{display:block!important;visibility:visible!important;font:400 clamp(148px,17.5vw,264px)/.78 "Luckiest Guy",sans-serif!important;letter-spacing:-.025em!important;transform:none!important;color:#f6ecd2;-webkit-text-stroke:1px #bdab83;text-shadow:0 3px 0 #6a5a40,0 9px 20px #0009;filter:none!important}:is(.world3d-active,.observatory-mode) .total-caption{display:block!important;font:500 9px/1.3 system-ui;letter-spacing:.28em;color:#b7b2c5;opacity:.72;margin-bottom:12px}:is(.world3d-active,.observatory-mode) .total-event{position:absolute;top:100%;font:600 10px/1.6 system-ui;letter-spacing:.22em;color:#bcb6dc;min-height:16px;margin-top:5px}:is(.world3d-active,.observatory-mode) .busted .total-number{color:#ffd6ac;-webkit-text-stroke-color:#c88a63}:is(.world3d-active,.observatory-mode) .busted .total-event{color:#ffb88b;letter-spacing:.4em}.ring-direction{position:absolute;top:calc(100% + 26px);font:500 15px/1 system-ui;letter-spacing:.45em;color:#9f92b8;opacity:.65;margin-top:10px}:is(.world3d-active,.observatory-mode) .game-header{height:82px;padding:22px 30px;background:linear-gradient(#03050a66,transparent);z-index:12}:is(.world3d-active,.observatory-mode) .match-plaque{clip-path:none;background:none;border:0!important;box-shadow:none;padding:0;width:auto;min-height:0;gap:12px}:is(.world3d-active,.observatory-mode) .plaque-crown{font-size:28px;color:#bea678}:is(.world3d-active,.observatory-mode) .match-plaque strong{font:400 30px/1 Luckiest Guy;letter-spacing:.02em;color:#e5d6b7}:is(.world3d-active,.observatory-mode) .match-plaque strong span{font:500 10px/1 system-ui;letter-spacing:.25em;vertical-align:middle;padding-left:8px}:is(.world3d-active,.observatory-mode) .match-plaque small{font:400 10px/1.5 system-ui;letter-spacing:.07em;color:#888b9d;margin-top:5px}:is(.world3d-active,.observatory-mode) .header-wallet{position:absolute;top:24px;right:194px;gap:10px}:is(.world3d-active,.observatory-mode) .wallet-pill{border:1px solid #b7a47730;background:#0c1019aa;box-shadow:none;border-radius:6px;font-size:12px;min-width:62px;padding:4px 9px}:is(.world3d-active,.observatory-mode) .wallet-pill b{background:none;box-shadow:none;width:18px;height:20px;font-size:16px;color:#c6aa71}:is(.world3d-active,.observatory-mode) .wallet-pill.gem b{color:#8f93c9}:is(.world3d-active,.observatory-mode) .header-actions{position:absolute;right:26px;top:22px;gap:8px}:is(.world3d-active,.observatory-mode) .header-actions button{width:34px;height:34px;border-radius:50%;background:#0b101a;border:1px solid #a799742f;box-shadow:none;font-size:14px;color:#bdb8ad}:is(.world3d-active,.observatory-mode) .header-status{position:absolute;left:50%;top:28px;transform:translate(-50%);right:auto;gap:7px;align-items:center}:is(.world3d-active,.observatory-mode) .header-status .round-pill{display:none}:is(.world3d-active,.observatory-mode) .turn-pill{font:500 10px system-ui;letter-spacing:.06em;background:none;border:0;color:#cbb991;padding:5px 10px}:is(.world3d-active,.observatory-mode) .seat{pointer-events:auto;isolation:isolate;width:110px;padding:0;background:none!important;filter:none!important;transition:transform .18s ease!important}.game-page .seat:hover,.game-page .seat:focus-visible{transform:translate(-50%,-50%) scale(1.035)!important}:is(.world3d-active,.observatory-mode) .seat .character,:is(.world3d-active,.observatory-mode) .seat .character-head{width:clamp(56px,5.7vw,84px);height:clamp(56px,5.7vw,84px)}.game-page .seat .character-head{border:2px solid #10131e!important;outline:1px solid #a398747d!important;box-shadow:0 4px 18px #000a!important}.game-page .seat:hover .character-head,.game-page .seat:focus-visible .character-head{outline-color:#d4b478!important;box-shadow:0 0 16px #c6a35c3b!important}.game-page .seat.active .character-head{border-color:#1e2028!important;outline:2px solid #d3b982!important;box-shadow:0 0 14px #c6a35c4a,0 6px 18px #000a!important}:is(.world3d-active,.observatory-mode) .seat.active .seat-name:before{content:"•";color:#d9bd82;margin-right:5px}:is(.world3d-active,.observatory-mode) .seat .seat-info{background:none!important;box-shadow:none!important;min-width:90px;padding:9px 0 0}:is(.world3d-active,.observatory-mode) .seat .seat-name{font:500 12px/1.2 system-ui;letter-spacing:.02em;color:#dcd7cb;text-shadow:0 2px 6px #000}:is(.world3d-active,.observatory-mode) .seat .seat-meta{font:400 9px/1.7 system-ui;color:#9094a5}:is(.world3d-active,.observatory-mode) .seat-count{border:1px solid #b29b704a;background:#101622;border-radius:5px;box-shadow:none;transform:none;right:-2px;bottom:0;width:21px;height:25px;font:500 11px/23px system-ui}:is(.world3d-active,.observatory-mode) .seat-count:before,:is(.world3d-active,.observatory-mode) .seat-count:after,:is(.world3d-active,.observatory-mode) .seat-suit{display:none!important}:is(.world3d-active,.observatory-mode) .targetable .character-head{animation:none!important}:is(.world3d-active,.observatory-mode) .targetable{cursor:pointer}:is(.world3d-active,.observatory-mode) .target-hint{position:fixed;top:60px;bottom:auto;left:50%;transform:translate(-50%);background:none;border:none;box-shadow:none;font:400 11px system-ui;color:#bdaf8d;padding:4px;z-index:8}:is(.world3d-active,.observatory-mode) .reaction-bubble{background:#111624;border:1px solid #b6a77c44;color:#d9c799;font:600 11px system-ui;box-shadow:none;padding:5px 10px}:is(.world3d-active,.observatory-mode) .hand-dock{position:fixed;inset:0;transform:none;pointer-events:none;z-index:10}:is(.world3d-active,.observatory-mode) .local-hand{position:absolute;top:auto;bottom:-11%;left:50%;transform:translate(-50%);display:flex;gap:0;width:max-content;pointer-events:auto}:is(.world3d-active,.observatory-mode) .local-hand .hand-card{height:clamp(260px,42vh,460px);width:auto;aspect-ratio:1063/1480;max-width:none}:is(.world3d-active,.observatory-mode) .dock-prompt{position:absolute;left:30px;bottom:105px;right:auto;width:auto;min-width:0;display:flex;flex-direction:row;gap:12px;padding:0;background:none!important;border:none!important;box-shadow:none!important;text-align:left}:is(.world3d-active,.observatory-mode) .dock-prompt .dock-avatar{width:48px;height:48px;border:1px solid #b6a078!important;box-shadow:0 4px 18px #0008!important}:is(.world3d-active,.observatory-mode) .dock-prompt.my-turn .dock-avatar{border:2px solid #e0c184!important;box-shadow:0 0 16px #d7b36c44!important}:is(.world3d-active,.observatory-mode) .dock-person .eyebrow{font-size:8px;letter-spacing:.18em;color:#868a9a}:is(.world3d-active,.observatory-mode) .dock-prompt strong{font:500 13px/1.6 system-ui;color:#dbd7cc}:is(.world3d-active,.observatory-mode) .dock-prompt small{display:block;font:400 9px system-ui;color:#8f93a3}:is(.world3d-active,.observatory-mode) .your-turn-bubble{position:absolute;top:-22px;left:0;background:none;border:0;border-radius:0;box-shadow:none;padding:0;color:#e1c183;font:600 9px system-ui;letter-spacing:.16em;white-space:nowrap}:is(.world3d-active,.observatory-mode) .your-turn-bubble:after{display:none}:is(.world3d-active,.observatory-mode) .dock-controls{position:fixed;left:50%;right:auto;bottom:48%;transform:translate(-50%);width:max-content;max-width:80vw;background:none}:is(.world3d-active,.observatory-mode) .dock-hint{font:400 10px system-ui;letter-spacing:.07em;color:#a5a0af}:is(.world3d-active,.observatory-mode) .emote-menu{position:fixed;left:30px;bottom:max(22px,env(safe-area-inset-bottom))}:is(.world3d-active,.observatory-mode) .info-fab{position:fixed;right:30px;bottom:max(22px,env(safe-area-inset-bottom))}:is(.world3d-active,.observatory-mode) .emote-trigger,:is(.world3d-active,.observatory-mode) .info-fab{width:48px;height:48px;border:1px solid #bca77c44;background:#0b101cdd;box-shadow:0 4px 16px #0004;color:#b9b5c4;font-size:19px;pointer-events:auto}:is(.world3d-active,.observatory-mode) .emote-trigger small,:is(.world3d-active,.observatory-mode) .info-fab small{font:500 7px system-ui;letter-spacing:.08em}:is(.world3d-active,.observatory-mode) .dock-quote,:is(.world3d-active,.observatory-mode) .game-tagline{display:none}:is(.world3d-active,.observatory-mode) .seat-score{display:block;margin-top:5px;font:500 15px Luckiest Guy;color:#d1c39b;animation:score-arrive .5s .8s both}:is(.world3d-active,.observatory-mode) .seat-score.negative{color:#dc9a7c}.result-overlay{position:fixed;inset:auto 0 18px;z-index:20;display:flex;justify-content:center;pointer-events:none;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;animation:score-arrive .45s .8s both}.result-panel{pointer-events:auto;width:min(480px,92vw);max-height:38vh;overflow:auto;background:linear-gradient(135deg,#161b27f5,#090e18fa);border:1px solid #b69b654d;border-radius:12px;padding:18px 24px;box-shadow:0 20px 60px #0009;text-align:left}.score-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.score-heading .eyebrow{font:500 8px system-ui;letter-spacing:.19em;color:#8e91a4}.result-panel h2{font:500 15px/1.4 system-ui;color:#e3d4b9;margin:7px 0 12px}.score-mark{font-size:26px;color:#a68c64}.rating-list{display:grid;grid-template-columns:1fr 1fr;gap:9px 18px;margin:0}.score-entry{display:flex;justify-content:space-between;gap:12px;font:500 11px system-ui;border-bottom:1px solid #8c7d611e;padding:5px 0}.score-entry small{display:block;font-size:8px;font-weight:400;color:#898ea3;margin-top:3px}.score-entry strong{color:#ddc796;font-size:15px}.score-entry strong.negative{color:#de9675}.result-actions{display:flex;align-items:center;gap:14px;margin-top:14px}.result-actions .primary-button{flex:1;border-radius:6px;min-height:36px;padding:8px 15px;font:600 11px system-ui;background:#bda577;border:1px solid #d1b783;box-shadow:none}.result-actions .text-button{font-size:10px;color:#a19faf}.game-page[data-phase=ended] .local-hand{visibility:hidden;pointer-events:none}.game-page[data-phase=ended] .shared-turn{display:none}.game-page[data-phase=ended] .dock-controls{visibility:hidden}@keyframes score-arrive{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}.setup-hero{background:radial-gradient(ellipse at 50% 65%,#32304366,transparent 64%),repeating-radial-gradient(circle at 50% 65%,transparent 0 89px,#a9916330 90px,transparent 91px 105px),#070b13}.setup-page,.online-page{background:radial-gradient(ellipse at top,#20223566,transparent 60%),#070b13}.setup-panel,.online-panel{background:linear-gradient(130deg,#141927f5,#080d17f5)}@media(orientation:portrait){:is(.world3d-active,.observatory-mode) .game-header{padding:18px 14px}:is(.world3d-active,.observatory-mode) .match-plaque{width:auto;max-width:190px}:is(.world3d-active,.observatory-mode) .match-plaque strong{font-size:26px}:is(.world3d-active,.observatory-mode) .match-plaque strong span{font-size:7px;letter-spacing:.18em;padding-left:3px}:is(.world3d-active,.observatory-mode) .match-plaque small{font-size:8px}:is(.world3d-active,.observatory-mode) .plaque-crown{display:none}:is(.world3d-active,.observatory-mode) .header-wallet{right:56px;top:18px;gap:5px}:is(.world3d-active,.observatory-mode) .wallet-pill{min-width:40px;padding:3px 5px;font-size:10px;gap:3px}:is(.world3d-active,.observatory-mode) .wallet-pill b{width:12px;font-size:12px}:is(.world3d-active,.observatory-mode) .header-actions{right:12px;top:16px}:is(.world3d-active,.observatory-mode) .header-actions button{width:32px;height:32px}:is(.world3d-active,.observatory-mode) .header-actions button[data-action=settings],:is(.world3d-active,.observatory-mode) .header-actions button[data-action=history]{display:none}:is(.world3d-active,.observatory-mode) .header-status{top:85px;left:50%;right:auto}:is(.world3d-active,.observatory-mode) .turn-pill{display:block;font-size:10px}:is(.world3d-active,.observatory-mode) .target-hint{top:108px;font-size:9px;width:80%;text-align:center}:is(.world3d-active,.observatory-mode) .seat{width:80px}:is(.world3d-active,.observatory-mode) .seat .character,:is(.world3d-active,.observatory-mode) .seat .character-head{width:52px;height:52px}:is(.world3d-active,.observatory-mode) .seat .seat-info{min-width:72px;padding-top:6px}:is(.world3d-active,.observatory-mode) .seat .seat-name{font-size:10px}:is(.world3d-active,.observatory-mode) .seat .seat-meta{font-size:8px}:is(.world3d-active,.observatory-mode) .seat-count{width:17px;height:20px;font-size:9px;line-height:18px;right:-4px}:is(.world3d-active,.observatory-mode) .energy-system .total-number{font-size:clamp(126px,40vw,200px)!important}:is(.world3d-active,.observatory-mode) .total-caption{font-size:7px;margin-bottom:8px}:is(.world3d-active,.observatory-mode) .total-event{font-size:8px;letter-spacing:.14em}:is(.world3d-active,.observatory-mode) .ring-direction{font-size:12px;margin-top:7px}:is(.world3d-active,.observatory-mode) .energy-system .total-wrap{top:calc(var(--total-y,49vh) + max(8svh,72px))!important}:is(.world3d-active,.observatory-mode) .local-hand{bottom:-2svh;gap:0}:is(.world3d-active,.observatory-mode) .local-hand .hand-card{height:min(45svh,64vw);max-height:none;min-height:0}:is(.world3d-active,.observatory-mode) .dock-prompt{left:14px;bottom:38%;padding:0;width:auto;flex-direction:row;gap:7px}:is(.world3d-active,.observatory-mode) .dock-prompt .dock-avatar{width:28px;height:28px}:is(.world3d-active,.observatory-mode) .dock-prompt strong{font-size:9px;max-width:65px}:is(.world3d-active,.observatory-mode) .dock-prompt small,:is(.world3d-active,.observatory-mode) .dock-prompt .eyebrow{display:none}:is(.world3d-active,.observatory-mode) .your-turn-bubble{font-size:7px;top:-15px}:is(.world3d-active,.observatory-mode) .dock-controls{bottom:37%;left:auto;right:14px;transform:none;max-width:180px;width:auto;text-align:right}:is(.world3d-active,.observatory-mode) .dock-hint{font-size:8px;letter-spacing:0}:is(.world3d-active,.observatory-mode) .emote-menu{left:12px;bottom:max(14px,env(safe-area-inset-bottom))}:is(.world3d-active,.observatory-mode) .info-fab{right:12px;bottom:max(14px,env(safe-area-inset-bottom))}:is(.world3d-active,.observatory-mode) .emote-trigger,:is(.world3d-active,.observatory-mode) .info-fab{width:43px;height:43px}.result-overlay{bottom:max(12px,env(safe-area-inset-bottom))}.result-panel{max-height:34vh;padding:14px 17px}.result-panel h2{font-size:13px}.score-entry{font-size:10px}.rating-list{gap:4px 15px}}@media(orientation:landscape)and (max-height:520px){:is(.world3d-active,.observatory-mode) .game-header{padding:10px 16px}:is(.world3d-active,.observatory-mode) .header-actions{top:10px;right:16px}:is(.world3d-active,.observatory-mode) .header-wallet{top:10px;right:152px}:is(.world3d-active,.observatory-mode) .match-plaque{width:auto!important;max-width:230px}:is(.world3d-active,.observatory-mode) .match-plaque strong{font-size:22px}:is(.world3d-active,.observatory-mode) .header-status{top:12px}:is(.world3d-active,.observatory-mode) .seat .character,:is(.world3d-active,.observatory-mode) .seat .character-head{width:40px;height:40px}:is(.world3d-active,.observatory-mode) .seat .seat-name{font-size:9px}:is(.world3d-active,.observatory-mode) .seat .seat-meta{font-size:7px}:is(.world3d-active,.observatory-mode) .seat .seat-info{padding-top:3px}:is(.world3d-active,.observatory-mode) .energy-system .total-number{font-size:124px!important}:is(.world3d-active,.observatory-mode) .total-caption{font-size:7px;margin-bottom:5px}:is(.world3d-active,.observatory-mode) .total-event{font-size:7px}:is(.world3d-active,.observatory-mode) .local-hand{bottom:-20%}:is(.world3d-active,.observatory-mode) .local-hand .hand-card{height:55vh}:is(.world3d-active,.observatory-mode) .dock-prompt{bottom:18px;left:82px}:is(.world3d-active,.observatory-mode) .dock-prompt .dock-avatar{width:30px;height:30px}:is(.world3d-active,.observatory-mode) .dock-prompt small,:is(.world3d-active,.observatory-mode) .dock-prompt .eyebrow{display:none}:is(.world3d-active,.observatory-mode) .dock-controls{bottom:44%}:is(.world3d-active,.observatory-mode) .emote-menu{left:16px;bottom:16px}:is(.world3d-active,.observatory-mode) .info-fab{right:16px;bottom:16px}.result-panel{max-height:43vh;padding:12px 18px}.result-overlay{bottom:8px}}.game-page[data-event=exact] .total-event,.game-page[data-event=zero] .total-event,.game-page[data-event=minus] .total-event{animation:event-whisper 1.4s both}@keyframes event-whisper{0%{opacity:0;translate:0 3px}20%,70%{opacity:1;translate:0 0}to{opacity:0}}:is(.world3d-active,.observatory-mode) .your-turn-bubble{transform:none!important}.observatory-mode:not(.world3d-active) .game-page{background:radial-gradient(ellipse at 50% 58%,#1b1c2c,#04060b 70%)!important}.observatory-mode:not(.world3d-active) .table-felt:before{content:"";display:block!important;position:absolute;inset:33% 6% 21%;border:2px solid #826c4566;border-radius:50%;background:repeating-radial-gradient(ellipse,#151a25 0 14%,#83745666 14.2%,#151a25 14.5% 16%);box-shadow:0 0 0 5px #171620,0 30px 80px #000}.observatory-mode:not(.world3d-active) .total-wrap{top:56vh!important}.observatory-mode:not(.world3d-active) .sprite-seat{--table-seat-y:35svh!important;--table-seat-clip:polygon(-24px -24px, calc(100% + 24px) -24px, calc(100% + 24px) 86%,-24px 86%)!important}.observatory-mode:not(.world3d-active) .table-cards{position:fixed;inset:0;transform:none;display:block;pointer-events:none}.observatory-mode:not(.world3d-active) .pile-wrap{position:absolute;transform:translate(-50%,-50%)}.observatory-mode:not(.world3d-active) .pile-wrap:first-child{left:25%;top:56%}.observatory-mode:not(.world3d-active) .pile-wrap:nth-child(2){left:75%;top:56%}@media(orientation:portrait){.observatory-mode:not(.world3d-active) .table-felt:before{inset:38% -45% 21%}.observatory-mode:not(.world3d-active) .sprite-seat{--table-seat-y:39svh!important}.observatory-mode:not(.world3d-active) .total-wrap{top:66.5svh!important}.observatory-mode:not(.world3d-active) .pile-wrap{top:58.5%!important}}.result-panel .rating-list .score-entry>span{display:block;background:none;border:0;border-radius:0;padding:0;margin:0;text-align:left}.result-panel .rating-list .score-entry{min-width:0;align-items:center}.result-panel .result-actions{position:sticky;bottom:-1px;padding-top:8px;background:#0e1420}.result-panel{max-height:44vh}@media(orientation:portrait){.result-panel{max-height:35vh}.score-entry small{font-size:7px}.score-entry{padding:3px 0}}.observatory-mode .seat.targetable:before,.observatory-mode .seat.targetable:after{display:none!important}.observatory-mode .match-plaque small{display:block!important}.observatory-mode .playing-card.standard:after{opacity:.64!important}.observatory-mode .seat-layer .seat{display:flex!important;flex-direction:column;align-items:center;width:min(110px,calc(88vw / var(--player-count)));height:auto;transform:translate(-50%,-50%)!important}.observatory-mode .seat-layer .seat .seat-info{width:100%;min-width:0}.observatory-mode .seat-layer .seat .seat-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.observatory-mode .seat.local-seat .seat-meta{color:#d5bf8d}.observatory-mode .game-page .dock-prompt{display:none!important}.observatory-mode .game-page .seat.active .character-head{border:3px solid #fff1b6!important;outline:2px solid #ffc743!important;box-shadow:0 0 0 3px #ffe29b,0 0 17px 6px #ffd34d,0 0 34px 12px #ffb13b9e,0 5px 12px #000a!important}.observatory-mode .game-page .seat.active .seat-name{color:#ffe7ac}.observatory-mode .local-hand .hand-card:is(:hover,.selected,.dragging,.inspecting){z-index:5}@media(orientation:portrait){.observatory-mode .seat-layer .seat{width:calc(90vw / var(--player-count))}.observatory-mode .seat-layer .seat .character,.observatory-mode .seat-layer .seat .character-head{width:clamp(28px,calc(86vw / var(--player-count) - 8px),54px);height:clamp(28px,calc(86vw / var(--player-count) - 8px),54px)}.observatory-mode .seat-layer .seat .seat-info{padding-top:7px}.observatory-mode .seat-layer .seat .seat-name{font-size:clamp(7px,calc(60vw / var(--player-count) / 4),10px)}.observatory-mode .seat-layer .seat .seat-meta{font-size:6px;white-space:nowrap}.observatory-mode .seat-layer .seat .seat-count{width:13px;height:16px;font-size:7px;line-height:14px;right:-2px;bottom:-2px}.observatory-mode .game-page .seat.active .character-head{border:2px solid #fff1b6!important;outline:1px solid #ffc743!important;box-shadow:0 0 0 2px #ffe29b,0 0 11px 4px #ffd34d,0 0 21px 7px #ffb13b9e!important}}.observatory-mode .seat-layer .seat.targetable .character-head{border-color:#fff!important;outline:2px solid #fff!important;box-shadow:0 0 0 3px #fff,0 0 18px 7px #fffd,0 0 38px 14px #d6edff88!important}.observatory-mode .seat-layer .seat.targetable .seat-name{color:#fff}.total-number{position:relative}.total-value{display:inline-block;position:relative;top:.13em}.total-shard{position:absolute;inset:.13em 0 -.13em;pointer-events:none;opacity:0}.observatory-mode .at100 .total-value{color:#ff5637;animation:total-critical .14s linear infinite;transform-origin:50% 70%;text-shadow:0 3px 0 #8a1e10,0 0 20px #ff3d1677}@keyframes total-critical{0%,to{translate:-3px 1px;rotate:-3deg;scale:1.01}25%{translate:3px -3px;rotate:2deg;scale:1.03}50%{translate:-2px -1px;rotate:-1deg;scale:1}75%{translate:4px 2px;rotate:3deg;scale:1.02}}.observatory-mode .busted .total-value{animation:total-detonate 2.4s both;color:#ff653b}.observatory-mode .busted .total-shard{color:#ffce70;animation:total-fragment 1.4s cubic-bezier(.12,.65,.3,1) both}.shard-0{clip-path:polygon(0 0,50% 0,35% 50%,0 40%);--burst-x:-120px;--burst-y:-110px;--burst-r:-35deg}.shard-1{clip-path:polygon(50% 0,100% 0,100% 40%,35% 50%);--burst-x:115px;--burst-y:-135px;--burst-r:40deg}.shard-2{clip-path:polygon(0 40%,35% 50%,50% 72%,0 75%);--burst-x:-180px;--burst-y:10px;--burst-r:-65deg}.shard-3{clip-path:polygon(35% 50%,100% 40%,100% 75%,50% 72%);--burst-x:180px;--burst-y:-10px;--burst-r:55deg}.shard-4{clip-path:polygon(0 75%,50% 72%,45% 100%,0 100%);--burst-x:-90px;--burst-y:125px;--burst-r:-28deg}.shard-5{clip-path:polygon(50% 72%,100% 75%,100% 100%,45% 100%);--burst-x:95px;--burst-y:130px;--burst-r:38deg}@keyframes total-detonate{0%{scale:1;opacity:1}8%{scale:1.16;opacity:1}12%,75%{scale:1.3;opacity:0}to{scale:1;opacity:1}}@keyframes total-fragment{0%,8%{opacity:0;translate:0 0;rotate:0deg;scale:1}12%{opacity:1}to{opacity:0;translate:var(--burst-x) var(--burst-y);rotate:var(--burst-r);scale:.6}}.reduce-motion .total-value,.reduce-motion .total-shard{animation:none!important}.reduce-motion .total-shard{display:none!important}@media(prefers-reduced-motion:reduce){.total-value,.total-shard{animation:none!important}.total-shard{display:none!important}}.observatory-mode .energy-system .total-number{animation:none!important}.observatory-mode .seat-layer.player-ring{inset:10svh 0 auto!important;height:41svh!important;overflow:visible;pointer-events:auto;touch-action:pan-y;z-index:5}.observatory-mode .seat-layer .sprite-seat{position:fixed!important;left:var(--ring-x)!important;top:var(--table-seat-y,var(--ring-y))!important;width:min(29vw,33svh,390px)!important;height:auto!important;transform:translate(-50%,-86%) scale(var(--ring-scale,1))!important;transition:none!important;pointer-events:auto;cursor:grab}.observatory-mode .seat-layer .sprite-seat[hidden]{display:none!important}.observatory-mode .seat-layer .sprite-seat:is(:hover,:focus-visible){transform:translate(-50%,-86%) scale(var(--ring-scale,1))!important}.observatory-mode .seat-layer .sprite-seat:focus-visible{outline:1px solid #edd297;outline-offset:4px;border-radius:8px}.observatory-mode .seat-layer .sprite-seat .character{position:relative;width:100%!important;height:auto!important;aspect-ratio:1;display:block;clip-path:var(--table-seat-clip,none)}.character-sprite{position:absolute;inset:0;display:block;background-size:300% 300%;background-repeat:no-repeat;background-position:0 0;opacity:0;contain:paint}.character-sprite.sprite-ready{opacity:1}.character-tumble{position:absolute;inset:0;display:block;background-size:300% 300%;background-repeat:no-repeat;opacity:0;pointer-events:none;contain:paint;translate:0 calc(var(--tumble-drop,0) * 78%)}.tumbling .character-tumble{opacity:calc(1 - var(--tumble-drop,0))}.tumbling .character-sprite,.tumbling .sprite-fallback{opacity:0!important}.tumble-fallback .character-sprite{translate:0 calc(var(--tumble-progress,0) * 20% + var(--tumble-drop,0) * 78%);scale:calc(1 - var(--tumble-progress,0) * .22);opacity:calc(1 - var(--tumble-drop,0))}.observatory-mode .seat-layer .sprite-seat.overflow-support{filter:brightness(.24)!important;pointer-events:none}.observatory-mode .seat-layer .sprite-seat.overflow-culprit .character{filter:drop-shadow(0 0 6px #fff9) drop-shadow(0 0 18px #ffd98488)}.observatory-mode .seat-layer .sprite-seat.overflow-culprit{width:min(32vw,33svh,390px)!important}.game-page[data-overflow-stage=focus] .total-number,.game-page[data-overflow-stage=fall] .total-number{opacity:.22;transition:opacity .3s}.game-page[data-overflow-stage=focus] .seat-score,.game-page[data-overflow-stage=fall] .seat-score{visibility:hidden}.game-page[data-overflow-stage=complete] .result-overlay,.game-page[data-overflow-stage=complete] .seat-score{animation-delay:0s}.sprite-fallback{width:50%;height:50%;object-fit:cover;border-radius:50%;position:absolute;left:25%;top:18%;border:1px solid #bd9b69}.sprite-ready+.sprite-fallback{display:none}.sprite-hand-anchor{position:absolute;left:26%;top:59%;width:17%;height:24%;pointer-events:none}.observatory-mode .seat-layer .sprite-seat .seat-info{position:absolute;top:88%;left:0;min-width:0;width:100%;margin:0;padding:0!important}.observatory-mode .seat-layer .sprite-seat .seat-name{font:600 clamp(10px,1vw,16px)/1.2 system-ui;overflow:visible;text-shadow:0 2px 7px #000}.observatory-mode .seat-layer .sprite-seat .seat-meta{font-size:clamp(7px,.64vw,10px);margin-top:3px}.observatory-mode .seat-layer .sprite-seat .seat-count{position:static;display:inline-block;vertical-align:middle;width:auto;height:auto;min-width:17px;padding:2px 5px;margin-left:5px;border-radius:4px;font:500 10px/1.3 system-ui;border:1px solid #b9a27866}.observatory-mode .seat-layer .sprite-seat.active .character{filter:drop-shadow(0 0 5px #fff0a9) drop-shadow(0 0 12px #ffb62ba6)}.observatory-mode .seat-layer .sprite-seat.targetable .character{filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 10px #ffffffb0)}.observatory-mode .seat-layer .sprite-seat.targetable{cursor:pointer}.observatory-mode .seat-layer .sprite-seat .reaction-bubble{top:auto;bottom:2%;font-size:10px}.ring-controls{position:fixed;left:50%;top:1.5svh;transform:translate(-50%);display:flex;align-items:center;gap:12px;z-index:7;pointer-events:auto}.ring-controls>button{height:26px;width:26px;border:1px solid #b8a17255;border-radius:50%;padding:0;background:#10141ecf;color:#d2bc8f;font:22px/1 system-ui}.ring-controls button[hidden]{display:none}.ring-markers{display:flex;gap:7px}.ring-marker{width:21px;height:21px;padding:0;border:1px solid #b3a07d44;border-radius:50%;background:#111521;color:#9296a4;font:9px system-ui}.ring-marker.in-view{border-color:#b9a277;color:#ddd0b5}.ring-marker.current{background:#e9c682;color:#271808;box-shadow:0 0 9px #ffbb4688}.ring-marker.eligible{border-color:#fff;color:#fff;box-shadow:0 0 7px #fff8}.ring-marker:focus-visible,.ring-controls>button:focus-visible{outline:2px solid #fff;outline-offset:3px}.observatory-mode .target-hint{top:6.5svh!important;max-width:90vw;text-align:center;font-size:10px}.reduce-motion .sprite-seat .character{filter:none!important}@media(orientation:portrait){.observatory-mode .seat-layer.player-ring{top:15svh!important;height:35svh!important}.observatory-mode .seat-layer .sprite-seat{width:28vw!important}.observatory-mode .seat-layer .sprite-seat.overflow-culprit{width:43vw!important}.observatory-mode .seat-layer .sprite-seat:is(:hover,:focus-visible){transform:translate(-50%,-86%) scale(var(--ring-scale,1))!important}.observatory-mode .seat-layer .sprite-seat .seat-name{font-size:10px}.observatory-mode .seat-layer .sprite-seat .seat-meta{font-size:7px}.observatory-mode .seat-layer .sprite-seat .seat-count{font-size:8px;min-width:12px;padding:1px 3px;margin-left:2px}.ring-controls{top:14svh;gap:10px}.ring-markers{gap:6px}.ring-marker{width:20px;height:20px}.observatory-mode .target-hint{top:18svh!important;font-size:9px}.observatory-mode .total-caption{display:none!important}}@media(orientation:landscape)and (max-height:520px){.ring-controls{top:15svh}.ring-markers{display:none}.observatory-mode .seat-layer.player-ring{top:17svh!important;height:27svh!important}.observatory-mode .seat-layer .sprite-seat{width:min(26vw,40svh)!important}.observatory-mode .seat-layer .sprite-seat .seat-meta{display:none}.observatory-mode .target-hint{top:10svh!important;font-size:9px}}.observatory-backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:#081327}.observatory-backdrop[hidden]{display:none!important}.observatory-backdrop>img{width:100%;height:100%;object-fit:cover;object-position:center}.observatory-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(#04071145,transparent 28%,#02060b12 65%,#02060b55)}.observatory-mode .world3d-canvas{z-index:1}.observatory-mode #app{position:relative;z-index:2}.observatory-mode #app:has(.modal-overlay),.observatory-mode #app:has(.result-overlay){z-index:31}.observatory-mode .game-header{background:linear-gradient(#04080cbf,transparent)!important;text-shadow:0 2px 5px #000}.observatory-mode .wallet-pill,.observatory-mode .header-actions button,.observatory-mode .ring-marker,.observatory-mode .ring-controls>button{background:#08121fe6;border-color:#c7a16680}.observatory-mode .ring-marker.current{background:#e9c682;color:#271808;border-color:#ffe3a0;box-shadow:0 0 9px #ffbb4688}.observatory-mode .header-status{color:#f7df9e;text-shadow:0 2px 6px #000}.observatory-mode .seat-layer .sprite-seat .seat-info{background:transparent!important;padding:3px 5px!important}.observatory-mode .seat-layer .sprite-seat .seat-name{color:#f5e8c9;text-shadow:0 1px 3px #000,0 2px 8px #000}.observatory-mode .seat-layer .sprite-seat .seat-meta{color:#cfbf9e}.observatory-mode .energy-system .total-number{font-size:clamp(140px,min(19vw,26svh),380px)!important;text-shadow:0 3px 0 #6a5a40,0 10px 20px #0009}.observatory-mode .energy-system .total-wrap{top:calc(var(--total-y,49vh) + 6svh)!important}.observatory-mode .total-caption{color:#eee1c4;opacity:.86}.observatory-mode .local-hand{bottom:6svh!important}.observatory-mode .local-hand .hand-card{height:clamp(190px,32svh,370px)!important}.observatory-mode .emote-trigger,.observatory-mode .info-fab{background:#07111fec!important;border-color:#d0b37b99!important;color:#e2d7c3!important}.observatory-mode:not(.world3d-active) .game-page{background:linear-gradient(#03070c44,#03070c66),url(/assets/scene/celestial-v1/room-desktop.webp) center/cover!important}.observatory-mode:not(.world3d-active) .table-felt:before{border:12px solid #754a2c!important;background:repeating-radial-gradient(ellipse,#12243b 0 14%,#9d7e4855 14.2%,#12243b 14.5% 16%);box-shadow:0 5px 0 4px #3e2518,0 16px 22px #0008}.observatory-mode:not(.world3d-active) .draw-stack{outline:none!important;border:0!important;box-shadow:0 5px 9px #0008!important}@media(orientation:portrait){.observatory-mode .game-header{padding:16px 12px!important}.observatory-mode .match-plaque strong{font-size:25px!important}.observatory-mode .match-plaque strong span{font-size:6px!important;letter-spacing:.14em!important}.observatory-mode .energy-system .total-number{font-size:min(27vw,14svh,180px)!important}.observatory-mode .energy-system .total-wrap{top:var(--total-y,49svh)!important;transform:translate(-50%,-50%)!important}.observatory-mode .total-caption{position:absolute;bottom:calc(100% + 6px);margin:0;white-space:nowrap}.observatory-mode .local-hand{bottom:4svh!important}.observatory-mode .local-hand .hand-card{height:min(39svh,57vw)!important}.observatory-mode .seat-layer .sprite-seat .seat-meta{font-size:6px}.observatory-mode .seat-layer .sprite-seat{width:26vw!important}.observatory-mode .seat-layer .sprite-seat .seat-info{padding:2px 0!important}.observatory-mode:not(.world3d-active) .game-page{background-image:linear-gradient(#03070c44,#03070c66),url(/assets/scene/celestial-v1/room-mobile.webp)!important}.observatory-mode:not(.world3d-active) .energy-system .total-wrap{top:58.5svh!important}}@media(orientation:landscape)and (max-height:520px){.observatory-mode .local-hand{bottom:3svh!important}.observatory-mode .local-hand .hand-card{height:35svh!important}.observatory-mode .energy-system .total-number{font-size:clamp(80px,28svh,145px)!important}}
