/* Interface v3: a partida ocupa o viewport; somente painéis auxiliares rolam. */
:root{--ink:#0d2020;--gold:#ffd16e;--mint:#67e1c5;--text:#fff5de;--muted:#a3bcb4}
body{background:radial-gradient(ellipse at 12% 20%,#24575166,transparent 50%),radial-gradient(ellipse at 90% 80%,#57326444,transparent 50%),#101e22}button{touch-action:manipulation}header{border-color:#65857b33}.entry{background:linear-gradient(145deg,#2b4545dd,#172e35ee);border-color:#86b1a144;border-radius:26px}.entry h2{font-size:34px}.entry>p{color:#c0d5cb}.entry input{background:#102629;border-color:#56807866;border-radius:11px}.entry .primary{font-size:15px;border-radius:12px}.secondary{background:#315151;border-color:#77a99866;color:#ecffe9}.color{transition:transform .2s}.color:hover{transform:scale(1.15)}.color.selected{outline:2px solid #ffe7a4}.home{position:relative;gap:70px;min-height:calc(100svh - 180px);padding:35px 0;isolation:isolate}.home .intro{z-index:1}.home h1{font-size:clamp(42px,5vw,72px);letter-spacing:-3px;line-height:1.02;margin:22px 0}.home h1 em{color:#ffd68b}.home .intro>p{font-size:15px;color:#b9d1c7;line-height:1.8}.entry-top{display:flex;gap:9px;align-items:center}.entry-suit{display:grid;place-items:center;width:30px;height:30px;background:#ffcf7722;border:1px solid #ffcf7744;border-radius:10px;font-size:22px;color:var(--gold)}.entry-top .eyebrow{font-size:9px}.home-scene{position:relative;height:245px;max-width:425px;margin:20px 0 4px;perspective:600px}.scene-felt{position:absolute;inset:32px 0 10px;border-radius:50%;background:radial-gradient(ellipse,#40896c,#1d5347);border:8px solid #9e6c46;box-shadow:0 0 0 2px #efbe76,0 0 0 7px #493a32,0 25px 30px #0004;transform:rotateX(25deg) rotate(-7deg)}.scene-felt:after{content:'';position:absolute;inset:12px;border:1px dashed #bbddaa55;border-radius:50%}.scene-felt>span{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-size:8px;font-weight:900;letter-spacing:3px;color:#d6efcb77;white-space:nowrap}.scene-cards{position:absolute;left:50%;top:15px;width:260px;height:190px;transform:translateX(-50%)}.scene-card{position:absolute;width:104px;height:147px;border-radius:10px;padding:10px 12px;background:linear-gradient(135deg,#fff7e3,#e3d6b6);font-family:Georgia,serif;box-shadow:0 16px 20px #0004;animation:scene-float 5s ease-in-out infinite}.scene-card b{font-size:19px}.scene-card span{display:block;text-align:center;font-size:63px;margin-top:6px}.scene-back{top:15px;left:15px;rotate:-24deg;background:repeating-linear-gradient(45deg,#b74b61 0 3px,#8a354e 3px 7px);border:5px solid #f9ddb0;color:#ffe2b1;text-align:center;padding-top:38px;font-size:56px;animation-delay:-1s}.scene-red{left:77px;rotate:-5deg;top:0;color:#c74159;animation-delay:-2s}.scene-black{left:147px;top:16px;rotate:17deg;color:#233f36}.scene-chip{position:absolute;z-index:2;border-radius:50%;width:48px;height:48px;border:4px dashed #fff3cc;box-shadow:0 4px 0 #392841,0 10px 15px #0004;display:grid;place-items:center;font-weight:900;animation:chip-bob 4s ease-in-out infinite}.chip-one{left:14px;bottom:20px;background:#c94865;font-size:24px;rotate:-15deg}.chip-two{right:3px;top:37px;background:#6c4f98;font-size:14px;rotate:15deg;animation-delay:-2s}.scene-caption{position:absolute;bottom:0;left:50%;transform:translateX(-50%);background:#182b2c;color:#ffe1a1;border:1px solid #9c8a5655;padding:7px 12px;border-radius:8px;font-size:8px;letter-spacing:2px;font-weight:900;white-space:nowrap}.scene-star{position:absolute;color:#ffdb8b;font-style:normal;font-size:28px;animation:star-twinkle 3s infinite}.star-a{left:25px;top:10px}.star-b{right:42px;bottom:34px;animation-delay:-1s}.home-features{display:flex;gap:40px;margin-top:20px}.home-features>span{font-size:20px;font-weight:900;color:#ffdf97}.home-features small{display:block;margin-top:5px;font-size:8px;letter-spacing:1.3px;color:#a6c0b4}.home-sparkles{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.home-sparkles span{position:absolute;opacity:.035;font:150px Georgia,serif;animation:ambient-drift 15s ease-in-out infinite}.home-sparkles span:nth-child(1){top:0;left:0}.home-sparkles span:nth-child(2){bottom:0;left:45%;animation-delay:-5s}.home-sparkles span:nth-child(3){top:0;right:0;animation-delay:-8s}.home-sparkles span:nth-child(4){bottom:20%;right:5%;animation-delay:-10s}
body.in-game{position:fixed;inset:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:#0c2927}.in-game>header,.in-game>footer{display:none}.in-game main{position:fixed;inset:0;max-width:none;width:100%;height:100%;padding:0;margin:0;overflow:hidden}#game{--toolbar:50px;--dock:166px;position:absolute;inset:0;height:100%;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);display:grid;grid-template-rows:var(--toolbar) minmax(0,1fr) var(--dock);overflow:hidden;background:radial-gradient(ellipse at 50% 42%,#315f4f33,transparent 70%),#102d2a;isolation:isolate}
.game-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:0 18px;background:linear-gradient(180deg,#112728,#0c2324);border-bottom:1px solid #a6c3a82b;z-index:15;min-width:0}.game-identity{display:flex;align-items:center;gap:15px;min-width:0;flex:1}.mini-brand{font:700 23px Fraunces,Georgia,serif;color:#ffe3a6;letter-spacing:-1px;white-space:nowrap}#copyCode{font-size:11px;font-weight:900;letter-spacing:1px;background:#ffffff0b;border:1px solid #b3cdbb22;border-radius:7px;color:#c2d8c9;padding:7px 9px;min-height:32px}#phaseLabel{font-size:9px;font-weight:900;letter-spacing:1.3px;color:#9fbdad;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-tools{display:flex;gap:7px;flex-direction:row;align-items:center}.icon-button{display:grid;place-items:center;width:38px;height:38px;min-width:38px;min-height:38px;border:1px solid #aac0b328;border-radius:10px;background:linear-gradient(145deg,#2a4440,#1b3433);color:#fff0c9;font-size:21px;box-shadow:0 2px 0 #071c1b}.icon-button:active{transform:translateY(2px);box-shadow:none}.game-tools .icon-button:hover{border-color:#e5c78377}
#arena.arena{--seat-w:74px;--avatar-h:44px;--seat-font:10px;--heart-size:17px;--play-w:42px;--play-h:60px;position:relative;width:100%;height:100%;min-height:0;max-width:none;margin:0;overflow:hidden;container-type:size;isolation:isolate;background:radial-gradient(ellipse at 50% 50%,#2c7a57 0,#1f6049 45%,#144336 83%);background-image:repeating-linear-gradient(45deg,#ffffff02 0 1px,transparent 1px 5px),radial-gradient(ellipse,#32765a,#0c3b2f)}
#arena .table{position:absolute;inset:20px 35px;border:2px solid #c9aa6144;box-shadow:inset 0 0 0 6px #072e2733,inset 0 0 70px #062c2733,0 0 0 7px #082c2522;border-radius:47%;background:transparent;min-height:0;max-width:none;padding:0;width:auto;display:block}.felt-stitch{inset:11px;border-color:#d4e0a922}.table-mark{top:48%;font-size:clamp(28px,4vw,57px);opacity:.09;color:#e5e7bd}.table-mark span{font-size:6px;letter-spacing:2px;margin-top:8px}.felt-suit{font-size:40px;opacity:.05}.round-strip{position:absolute;top:9px;left:10px;display:block;padding:7px 10px;background:#062a24bb;border:1px solid #e8d9a52b;border-radius:9px;z-index:8;max-width:38%;box-shadow:none}#roundInfo{font-size:9px;gap:12px;display:flex;color:#c1d4bc}#roundInfo b{color:#ffe5a5}.manilha-order{position:absolute;top:9px;right:10px;z-index:8;background:#f9f0d9;border:1px solid #fff5d0;border-radius:8px;padding:5px 9px;display:flex;gap:7px;align-items:center;color:#5b6554;font-size:7px;font-weight:900;box-shadow:0 2px 5px #0002}.manilha-order>span{font-size:14px;font-family:Georgia,serif;line-height:1}.manilha-order b{font:800 9px Nunito,sans-serif;display:block}.manilha-order .red{color:#c63e52}.manilha-order .black{color:#254134}
.seat{width:var(--seat-w);pointer-events:none}.avatar-wrap{height:var(--avatar-h);width:calc(var(--avatar-h)*.9);margin:auto;filter:drop-shadow(0 3px 3px #0004)}.avatar{width:100%;height:100%}.seat-info{padding:4px 3px 3px;border-radius:9px;border:1px solid #c4d4b94d;background:linear-gradient(135deg,#1c433b,#0d2e29);margin-top:-2px;box-shadow:0 3px 5px #001b2255}.seat.active .seat-info{border-color:#ffdf82;box-shadow:0 0 0 2px #ffdb7a33,0 0 15px #ffe38d33}.player-name{font-size:var(--seat-font);color:#fff7de;font-weight:900;line-height:1.15;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-name span{display:none}.my-seat .player-name:after{content:' · eu';color:#a0e5c7;font-size:7px}.hearts{font-size:var(--heart-size);line-height:1.05;gap:2px;margin:2px 0 1px}.hearts .alive{color:#ff7483;text-shadow:0 1px #90304c}.hearts .lost{color:#536956}.seat-score{font-size:7px;margin-top:2px;color:#c4d9c7;line-height:1.2}.seat-score b{font-size:8px;color:#ffdf8b}.thinking{font-size:11px;line-height:1;padding:2px 5px 4px;right:-8px;top:0;background:#ffe092}.closed-hand{top:calc(var(--avatar-h) - 12px);width:30px;height:19px}.mini-back{width:12px;height:17px;border:1px solid #fff2c8;background:repeating-linear-gradient(45deg,#db6f74 0 2px,#b74c62 2px 4px);left:calc(50% + (var(--i) - (var(--total) - 1)/2)*6px);border-radius:2px}.closed-hand b{font-size:7px;min-width:13px;height:13px;line-height:11px;bottom:-3px;right:-8px;background:#123b30;border:1px solid #ecd498;color:#ffe9bc}.won-pile{top:calc(var(--avatar-h) + 4px);right:-17px;width:18px;height:31px}.won-back{width:14px;height:20px;left:calc(var(--i)*1px);top:calc(var(--i)*-2px);background:repeating-linear-gradient(45deg,#d59b47 0 2px,#9e723d 2px 4px)}.won-pile strong{width:15px;min-width:15px;height:15px;line-height:13px;font-size:8px;top:7px;right:-3px}.won-pile small{font-size:6px;top:24px;color:#fff0b8}.seat.out .seat-info{background:#1c342d;opacity:.65}.seat.active .avatar{animation:avatar-breathe 2s infinite}
#tableContent.table-content{position:absolute;inset:0;width:auto;height:auto}.table-play{width:var(--play-w);text-align:center;pointer-events:none}.table-play>.card{width:var(--play-w)!important;height:var(--play-h)!important;font-size:calc(var(--play-w)*.65);transform:rotate(var(--tilt));border-radius:5px}.table-play .corner{font-size:calc(var(--play-w)*.23);top:3px;left:3px}.table-play .bottom{top:auto;left:auto;right:3px;bottom:3px}.table-play small{display:none}#vira.center-vira{top:48%;gap:4px}#vira.center-vira .card{width:var(--play-w)!important;height:var(--play-h)!important;font-size:calc(var(--play-w)*.65);border-radius:5px;box-shadow:0 3px 7px #0004,0 0 0 3px #efe5a718}#vira.center-vira .corner{font-size:calc(var(--play-w)*.23);top:3px;left:3px}#vira.center-vira .bottom{top:auto;left:auto;right:3px;bottom:3px}.vira-tag{font-size:7px;letter-spacing:1.5px;color:#e1efca}.trump-tag{font-size:7px;padding:2px 5px;border-radius:5px;background:#e7efcf}.trump-tag b{font-size:9px}.table-message{width:230px;max-width:55%;top:49%}.table-message h2{font-size:24px;margin:9px 0}.table-message p{font-size:11px;margin:7px 0;line-height:1.5}.lobby-symbol{font-size:17px;letter-spacing:5px}.invite-code{font-size:20px;letter-spacing:4px;margin-top:10px}.round-announcement{position:absolute;z-index:12;left:50%;top:40%;transform:translate(-50%,-50%);font:700 clamp(23px,5vw,44px) Fraunces,serif;color:#ffdf8f;text-shadow:0 4px 18px #001f22;pointer-events:none;white-space:nowrap}
.game-dock{min-height:0;overflow:hidden;position:relative;z-index:12;background:linear-gradient(180deg,#183a33,#0d2727);border-top:1px solid #c7c99444;box-shadow:0 -9px 35px #07282077;display:grid;grid-template-rows:40px minmax(0,1fr);padding:0 16px}.decision{max-width:none;min-height:0;height:40px;margin:0;padding:4px 0;gap:8px;border:0;border-bottom:1px solid #b3d6b51a;border-radius:0;background:none;box-shadow:none;overflow:hidden}.timer-ring{width:29px;height:29px;flex-shrink:0}.timer-ring:before{inset:3px;background:#15352e}.timer-ring span{font-size:13px}.decision strong{font-size:12px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:#fff0c8}.decision #decisionHint{font-size:9px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.turn-badge{font-size:7px;letter-spacing:.7px;padding:4px 5px;border-radius:4px}.my-turn{border-color:#ffce6f33;box-shadow:none}.urgent.my-turn{animation:decision-glow 1s infinite}.dock-score{margin-left:auto;background:#ffffff08;border:1px solid #d8d39a22;border-radius:8px;padding:5px 8px;font-weight:900;color:#ff8096;font-size:12px;white-space:nowrap;min-height:30px}.dock-score #myScore{color:#ffe6ae;font-size:10px;padding-left:6px;border-left:1px solid #ffffff22;margin-left:5px}.dock-body{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:16px;min-height:0;max-width:1000px;width:100%;justify-self:center}.hand-section{min-width:0;min-height:0;max-width:none;margin:0;padding:0;border:0;background:none;border-radius:0;position:relative;display:grid;grid-template-rows:20px minmax(0,1fr) 19px}.hand-title{height:20px;margin:0;padding:0 2px;display:flex;align-items:center;justify-content:space-between}.hand-title .eyebrow{font-size:8px;letter-spacing:1px;color:#b7d2c0}#handCount{color:#ffe2a0;font-size:9px;margin-left:5px}#toggleHand{min-height:20px;height:20px;padding:0 5px;line-height:20px;color:#b7cfbf;font-size:14px}.hand{display:flex;align-items:flex-end;justify-content:center;gap:7px;min-height:0;height:100%;overflow:visible;margin:0;padding:10px 4px 0;scroll-snap-type:none;max-width:100%;width:100%}.hand-card{margin:0;flex:0 0 auto;transition:transform .15s;animation:hand-deal .35s both;animation-delay:calc(var(--deal-index)*30ms)}.hand-card .card,.private-backs .card{width:53px;height:76px;font-size:31px;min-height:0;box-shadow:0 3px 5px #0003;border-radius:6px}.hand-card .corner{font-size:11px;top:4px;left:5px}.hand-card .bottom{top:auto;left:auto;bottom:4px;right:5px}.hand-card .card:disabled[aria-label]{opacity:.95}.hand-card.selected{transform:translateY(-8px);filter:drop-shadow(0 0 5px #ffd66a88)}.private-backs{display:flex;gap:7px;height:100%;align-items:flex-end}.private-backs .card{position:relative}.private-backs .card span{font-size:28px}.hand-pager{height:19px;display:flex;justify-content:center;align-items:center;gap:8px;font-size:8px;font-weight:900;color:#a8c9b7}.hand-pager button{min-width:36px;height:19px;padding:0;font-size:20px;line-height:16px;background:none;color:#f5d58d}.hand-pager button:disabled{opacity:.18}.control-zone{display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-height:0;min-width:0;gap:4px}.action-area{min-height:0;max-width:none;margin:0;gap:4px;width:100%;display:flex;flex-direction:column;justify-content:center}.action-area .game-note{font-size:10px;line-height:1.25;margin:0;max-width:100%;color:#bbd2c4}.action-area .primary,.play-confirm .primary{width:100%;min-width:0;min-height:40px;height:40px;padding:6px 8px;font-size:12px;border-radius:9px;box-shadow:0 3px 0 #a2732c}.play-confirm{display:block;min-height:0;padding:0;margin:0}.play-confirm:empty{display:none}.play-confirm .primary{background:linear-gradient(#a6e7a2,#53b784);box-shadow:0 3px 0 #2a7859;color:#123d32}.selection-hint{display:block;border:1px dashed #aac9b33b;border-radius:9px;padding:9px;font-size:10px;color:#a9c8b4;text-align:center;line-height:1.4}.bid-prompt{font-size:10px;margin:0;color:#c9dfc6}.bid-picker{display:flex;align-items:center;justify-content:center;gap:12px;height:34px}.bid-picker button{background:#2f594b;border:1px solid #a9ce9755;color:#ffe1a0;width:34px;height:30px;border-radius:8px;font-size:22px;line-height:1}.bid-picker output{font-size:24px;font-weight:900;min-width:30px;text-align:center;color:#ffde8e}.bid-picker button:disabled{opacity:.25}.bid-limit{font-size:8px;color:#a0bdaa}.trick-result{font-family:Nunito,sans-serif;font-weight:900;font-size:13px;line-height:1.2;color:#ffe097}.champion-banner{padding:0}.champion-banner>span{font-size:22px;display:none}.champion-banner h2{font:900 15px Nunito,sans-serif;margin:0 0 5px;line-height:1.15}.champion-banner p{display:none}.champion-banner .primary{font-size:11px}.sheet{background:linear-gradient(145deg,#25413b,#152c2c);border-color:#c9d4a644;color:#fff0d2;border-radius:22px;padding:22px;max-width:600px;width:calc(100% - 28px);max-height:calc(100dvh - 30px);overflow:auto;box-shadow:0 25px 70px #001f22aa}.sheet-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.sheet-heading h2{font:600 25px Fraunces,serif;margin:6px 0}.sheet-heading .eyebrow{font-size:8px}.sheet-heading .icon-button{flex-shrink:0}.sheet .results{padding:0;border:0;margin:20px 0 0;background:none;max-width:none}.sheet .results h2{font-size:18px}.score-grid{display:grid;gap:7px}.score-line{display:grid;grid-template-columns:minmax(0,1fr) 65px 60px 65px;gap:6px;padding:10px;border-radius:9px;background:#001f222b;font-size:11px;align-items:center}.score-line.head{color:#afc9b8;background:none;padding:5px 10px;font-size:9px}.score-line strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#ffdf9b}.score-line .score-hearts{color:#ff8594;font-size:15px}.score-line span:not(:first-child){text-align:center}.menu-item{display:block;width:100%;text-align:left;padding:13px 14px;margin:8px 0;background:#b3d3c00a;border:1px solid #b3d3c024;border-radius:12px;color:#ffe6ac;font-weight:900;font-size:14px}.menu-item small{display:block;color:#b4ccbc;font-size:10px;font-weight:600;margin:4px 0 0 21px}.leave-item{color:#ffa498}.shortcut-note{font-size:10px;line-height:1.7;color:#a7c5b4;margin:16px 0}.is-lobby .round-strip{max-width:none}#toast{bottom:max(14px,env(safe-area-inset-bottom));font-size:12px;max-width:calc(100% - 30px);padding:10px 16px;z-index:1000;pointer-events:none}.in-game #toast{bottom:calc(var(--app-dock-height,166px) + 12px)}
@keyframes scene-float{50%{translate:0 -9px}}@keyframes chip-bob{50%{translate:0 -6px;rotate:8deg}}@keyframes star-twinkle{50%{opacity:.3;scale:.7}}@keyframes ambient-drift{50%{translate:15px -20px;rotate:12deg}}@keyframes decision-glow{50%{background:#f3784b13}}@keyframes panel-in{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}dialog[open]{animation:panel-in .2s ease-out}
@media(max-width:650px){.home{grid-template-columns:1fr;gap:20px;padding:25px 0}.home h1{font-size:49px;letter-spacing:-2px}.home .intro>p{font-size:13px;line-height:1.6}.home-scene{height:215px;max-width:360px;margin:20px auto 0}.scene-card{width:90px;height:130px}.scene-card span{font-size:52px}.scene-cards{width:240px}.scene-red{left:75px}.scene-black{left:137px}.scene-back{left:20px;padding-top:32px;font-size:49px}.home-features{justify-content:space-around;gap:12px;margin-top:15px}.home-features>span{font-size:18px}.entry{padding:25px;border-radius:23px}.entry h2{font-size:30px}.entry .colors{gap:9px}.home-sparkles span{font-size:100px}#game{--toolbar:46px;--dock:180px}.game-top{padding:0 10px;gap:5px}.game-identity{gap:8px}.mini-brand{font-size:19px}#copyCode{font-size:8px;letter-spacing:1px;min-height:27px;padding:5px}#phaseLabel{display:none}.game-tools{gap:4px}.icon-button{width:32px;height:32px;min-width:32px;min-height:32px;border-radius:8px;font-size:19px}.game-dock{padding:0 10px;grid-template-rows:38px minmax(0,1fr)}.decision{height:38px}.decision strong{font-size:11px}.decision #decisionHint{font-size:8px}.dock-score{font-size:10px;padding:4px 6px;min-height:27px}.dock-score #myScore{font-size:9px;padding-left:4px;margin-left:3px}.turn-badge{font-size:6px;padding:3px}.dock-body{grid-template-columns:minmax(0,1fr) 112px;gap:9px}.hand-section{grid-template-rows:21px minmax(0,1fr) 27px}.hand-pager{height:27px;gap:9px}.hand-pager button{height:27px;min-width:38px;font-size:24px}.hand{gap:5px;padding:8px 1px 0}.hand-card .card,.private-backs .card{width:49px;height:72px;font-size:29px}.hand-card .corner{font-size:10px}.private-backs{gap:5px}.selection-hint{font-size:9px;padding:8px 5px}.play-confirm .primary,.action-area .primary{font-size:10px;height:40px;min-height:40px;padding:4px}.action-area .game-note{font-size:9px}.action-area .game-note:nth-child(2){display:none}.bid-prompt{font-size:9px}.bid-picker{gap:7px;height:33px}.bid-picker button{width:29px;height:29px}.bid-picker output{font-size:22px;min-width:21px}.bid-limit{font-size:7px}.trick-result{font-size:11px}.round-strip{top:7px;left:7px;padding:5px 7px;border-radius:7px}#roundInfo{gap:7px;font-size:8px}.manilha-order{right:7px;top:7px;padding:4px 6px;gap:4px;font-size:6px}.manilha-order>span{font-size:11px}.manilha-order b{font-size:7px}#arena .table{inset:26px 23px;border-width:1px}.felt-stitch{inset:8px}.table-mark{font-size:32px}.table-mark span{font-size:5px;letter-spacing:1px}.sheet{padding:18px}.sheet-heading h2{font-size:22px}.score-line{grid-template-columns:minmax(0,1fr) 54px 45px 49px;font-size:10px;padding:8px}.score-line.head{padding:4px 8px}.score-line .score-hearts{font-size:13px}.table-message{width:185px;max-width:55%}.table-message h2{font-size:21px}.table-message p{font-size:10px}.lobby-symbol{font-size:15px}.invite-code{font-size:17px}}
@media(max-width:370px){.home h1{font-size:42px}.home-scene{height:200px}.home-features small{font-size:7px}.entry{padding:20px}.entry .colors{gap:5px}#game{--toolbar:43px;--dock:174px}.mini-brand{font-size:17px}.game-tools{gap:3px}.icon-button{width:29px;height:31px;min-width:29px;min-height:31px;font-size:18px}.game-top{padding:0 7px}.game-identity{gap:5px}#copyCode{font-size:7px;padding:4px}.game-dock{padding:0 8px}.dock-body{grid-template-columns:minmax(0,1fr) 103px;gap:6px}.hand-card .card,.private-backs .card{width:43px;height:65px;font-size:27px}.hand{gap:4px}.hand-card .corner{font-size:9px}.decision #decisionHint{font-size:7px}.decision strong{font-size:10px}.turn-badge{display:none}.dock-score #myScore{display:none}.table-message h2{font-size:18px}.table-message p{font-size:9px}#roundInfo span:last-child{display:none}}
@media(orientation:landscape) and (max-height:550px){#game{--toolbar:39px;--dock:116px}.game-top{padding:0 12px}.mini-brand{font-size:19px}.game-identity{gap:12px}.icon-button{width:31px;height:31px;min-width:31px;min-height:31px;font-size:18px}.game-dock{grid-template-rows:30px minmax(0,1fr);padding:0 15px}.decision{height:30px;padding:2px 0;gap:7px}.timer-ring{width:24px;height:24px}.timer-ring span{font-size:11px}.decision strong{font-size:10px}.decision #decisionHint{display:none}.turn-badge{font-size:6px}.dock-score{min-height:24px;font-size:10px;padding:3px 7px}.dock-body{grid-template-columns:minmax(0,1fr) 200px;gap:18px;max-width:820px}.hand-section{grid-template-rows:0 minmax(0,1fr) 17px}.hand-title{height:0;position:absolute;left:0;top:5px;z-index:3;max-width:75px}.hand-title .eyebrow{display:none}#toggleHand{font-size:13px;min-height:23px}.hand{padding:5px 0 0;gap:8px}.hand-card .card,.private-backs .card{width:43px;height:60px;font-size:25px}.hand-card .corner{font-size:9px;top:3px;left:4px}.hand-card .bottom{top:auto;left:auto;bottom:3px;right:4px}.hand-card.selected{transform:translateY(-4px)}.hand-pager{height:17px;gap:10px;font-size:7px}.hand-pager button{height:17px;line-height:15px;min-width:32px;font-size:20px}.control-zone{flex-direction:row;align-items:center;gap:8px}.action-area{flex:1}.action-area .primary,.play-confirm .primary{min-height:38px;height:38px}.play-confirm:not(:empty){min-width:115px;flex:1}.selection-hint{font-size:9px;padding:8px}.bid-picker{height:24px;gap:10px}.bid-picker button{height:24px;width:28px;font-size:18px}.bid-picker output{font-size:19px}.bid-prompt{font-size:9px}.bid-limit{display:none}.action-area:has(.bid-picker){display:grid;grid-template-columns:1fr 100px;gap:3px 10px}.bid-prompt{grid-column:1}.bid-picker{grid-column:1}.action-area .bid-confirm{grid-column:2;grid-row:1/3;align-self:center}.trick-result{font-size:12px}.action-area .game-note{font-size:9px}.champion-banner h2{font-size:12px}.table-message h2{font-size:19px;margin:5px 0}.table-message p{font-size:9px;margin:4px 0}.invite-code{font-size:16px;margin:6px 0}.lobby-symbol{font-size:13px}.round-strip{top:6px;left:9px;padding:5px 7px}#roundInfo{font-size:8px;gap:10px}.manilha-order{top:6px;right:9px;padding:3px 7px}.manilha-order>span{font-size:11px}.manilha-order b{font-size:7px}#arena .table{inset:15px 45px}.table-mark{font-size:34px}.table-mark span{font-size:5px}.vira-tag{font-size:6px}.trump-tag{font-size:6px;padding:1px 4px}.trump-tag b{font-size:8px}.won-pile small{display:none}.seat-score{font-size:6px;margin-top:1px}.seat-score b{font-size:7px}.seat-info{padding:2px 3px}.hearts{gap:1px;margin:1px 0}.closed-hand{top:calc(var(--avatar-h) - 11px)}.mini-back{width:10px;height:14px;left:calc(50% + (var(--i) - (var(--total) - 1)/2)*5px)}.closed-hand b{font-size:6px;min-width:11px;height:11px;line-height:9px;right:-4px}.won-pile{top:calc(var(--avatar-h) + 2px);right:-13px}.won-back{width:11px;height:16px}.won-pile strong{font-size:7px;min-width:12px;width:12px;height:12px;line-height:10px;top:6px}.thinking{font-size:9px}.sheet-heading h2{font-size:19px}.sheet{padding:16px}.score-line{padding:6px 9px}.sheet-heading{margin-bottom:6px}}
.hand-title{grid-row:1}.hand{grid-row:2}.hand-pager{grid-row:3}.card-flight .corner{font-size:calc(var(--play-w)*.23);top:3px;left:3px}.card-flight .bottom{top:auto;left:auto;bottom:3px;right:3px}
.celebration-piece{position:absolute;left:0;top:0;font:24px Georgia,serif;pointer-events:none;z-index:14;text-shadow:0 2px 5px #001f2255}.bid-picker output{animation:bid-pop .18s ease-out}.seat.active .hearts .alive:first-child{animation:heart-beat 1.5s ease-in-out infinite}@keyframes bid-pop{from{transform:scale(.8)}to{transform:scale(1)}}@keyframes heart-beat{50%{transform:scale(1.13)}}
.dock-body:has(.hand-section[hidden]){grid-template-columns:1fr;max-width:700px}.dock-body:has(.hand-section[hidden]) .control-zone{max-width:380px;width:100%;justify-self:center}#game[data-phase="finished"] .champion-banner h2{font-size:19px}#game[data-phase="lobby"] .action-area .primary{font-size:14px;min-height:44px}
@media(orientation:landscape) and (max-height:550px){.hand-title{position:relative;left:auto;top:auto}.hand-title #toggleHand{position:absolute;top:4px;left:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
