.experience-toolbar{display:flex;gap:8px;flex-wrap:wrap;max-width:1320px;margin:10px auto;padding:0 20px}.experience-toolbar [hidden]{display:none}.experience-dialog{width:min(850px,94vw);max-height:92dvh;overflow:auto;background:#172c35;color:#fff1d4;border:1px solid #c69a5a;border-radius:20px;padding:24px}.experience-dialog::backdrop{background:#07141cd9}.experience-dialog h3{color:#ffd696}.experience-dialog .field input,.experience-dialog select{width:100%}.scene-viewport{height:380px;max-height:55dvh;border-radius:16px;overflow:hidden;background:radial-gradient(ellipse,#49736d,#162b35)}.scene-viewport canvas{display:block;touch-action:none;width:100%;height:100%}.avatar-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:16px 0}.feature-tag{letter-spacing:.14em;font-size:11px;color:#f6ce83;font-weight:800}.coach-note{padding:14px;border-left:3px solid #72bbb3;background:#ffffff08;border-radius:8px;margin:12px 0}.immersive-controls{padding:12px 0}.immersive-controls button{margin:4px}.ar-active{background:transparent!important;border:0;width:100vw;max-width:100vw;max-height:100dvh;pointer-events:none}.ar-active .scene-viewport{height:0;background:transparent}.ar-active button,.ar-active .immersive-controls{pointer-events:auto}.ar-active .immersive-controls,.ar-active [role=status],.ar-active .button-row{background:#142b35db;border-radius:12px;padding:10px}.watch-page{max-width:1100px;margin:auto;padding:28px}.broadcast-commentary{padding:18px;background:#d2a35f;color:#172c35;border-radius:16px 16px 0 0;font-size:22px;font-weight:700}.spectator-table{display:flex;justify-content:space-around;flex-wrap:wrap;background:radial-gradient(ellipse,#536b59,#193c37);border:14px solid #885c3c;border-radius:0 0 70px 70px;padding:25px;min-height:270px}.spectator-table article{text-align:center}.broadcast-avatar{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#dca85e;color:#193d37;font-size:28px}.broadcast-cards{width:100%;display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.broadcast-cards span{background:#fff6e5;color:#20333c;border-radius:8px;padding:15px;font-size:12px}.broadcast-cards b{display:block;font-size:17px;margin-top:8px}#watch-reactions{display:flex;gap:10px;margin:20px 0}@media(max-height:500px){.experience-dialog{padding:14px}.scene-viewport{height:220px}.experience-toolbar{padding:0 10px}.experience-toolbar button{min-height:40px}}
.pullup-art{padding:14px;border-radius:20px;background:radial-gradient(ellipse,#49695b,#132e34);text-align:center}.pullup-art svg{width:100%;max-height:240px}.pullup-chair{animation:pull-chair 2.7s ease-in-out infinite}.pullup-arm{animation:pull-arm 2.7s ease-in-out infinite;transform-origin:168px 132px}@keyframes pull-chair{0%,20%{transform:translate(0,0)}65%,100%{transform:translate(35px,10px)}}@keyframes pull-arm{0%,20%{transform:rotate(0)}65%,100%{transform:rotate(8deg)}}.crew-kitchen{border:12px solid #895d3a;border-radius:20px;padding:22px;background:#668374;min-height:240px;color:#fff4d8;box-shadow:inset 0 -25px #a17b53}.wall-terracotta{background:#9c5f49}.wall-midnight{background:#344354}.crew-fridge{background:#d9d8be;color:#23433b;border:5px solid #eee7d0;border-radius:12px;max-width:270px;padding:20px}.crew-kitchen blockquote{font-size:24px;font-family:Georgia,serif;text-align:center;transform:rotate(-2deg)}.score-wall{padding:8px;font-family:monospace;background:#172f2d80;border:5px solid #c39459}.neighborhood-scene{height:300px}#new-crew,#crew-decor{margin:20px 0;padding:18px;background:#ffffff08;border-radius:12px}.share-output input{width:100%}@media(prefers-reduced-motion:reduce){.pullup-chair,.pullup-arm{animation:none}}
/* Playable kitchen: full viewport, compact overlays, no page scroll. */
body.in-3d{overflow:hidden!important}
.classic-card-art{display:none}
.play-hand .classic-card-art{display:block;position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;pointer-events:none;filter:sepia(.12);object-fit:fill}
.play-hand .card:has(.classic-card-art) :is(.rank,.pip,.corner){visibility:hidden}
body .playable-table .play-hand .card:disabled{filter:brightness(.92)!important;opacity:1}
body .playable-table .play-hand .card{translate:0 var(--lift,0px)}
.playable-table .play-score .table-score-strip{display:flex!important}
@media(max-height:500px){.playable-table .play-hud{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.playable-table .play-tabs{height:44px}.playable-table .play-tabs button{min-height:36px}.playable-table .play-hand{bottom:54px}.playable-table .play-seat.own{bottom:calc(21dvh + 54px)}}
body .playable-table{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none!important;padding:0;border:0;border-radius:0;overflow:hidden;background:#21180f;color:#f2e7d0;font-family:Georgia,serif}
.playable-table::backdrop{background:#16100b}
.play-scene{position:absolute;inset:0;background:radial-gradient(ellipse,#8e6340,#21170e)}
.play-scene canvas{display:block;width:100%;height:100%;touch-action:none}
.play-hud{position:absolute;inset:0 0 auto;height:48px;padding:7px 22px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#100b0bbb,transparent);z-index:4}
.play-hud strong{font-size:23px;font-weight:400;letter-spacing:2px}.play-hud strong span{color:#eac479}
.play-round,.play-seat{background:#15130edc;border:1px solid #c8b18b;border-radius:24px;padding:8px 20px;text-align:center;text-shadow:0 1px 2px #000}
.play-hud button,.play-tabs button,.play-menu button{background:#17150edb;color:#eddaba;box-shadow:none;border:1px solid #9a8665}
.play-seats{position:absolute;inset:0;pointer-events:none}.play-seat{position:absolute;left:var(--seat-x);top:var(--seat-y);transform:translate(-50%,-50%);padding:5px 20px;min-width:115px;font-size:13px}.play-seat small{display:block;font:10px system-ui;margin-top:3px}.play-seat.active{border-color:#f7cc70;box-shadow:0 0 14px #eec47955}.play-seat.own{top:auto;bottom:calc(19dvh + 48px);padding:4px 18px;font-size:12px}
.play-message{position:absolute;top:51px;right:18px;font:10px system-ui;color:#e3d8be}
.play-actions{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(19dvh + 90px);width:min(560px,70vw);z-index:6;display:flex;justify-content:center;gap:12px;align-items:center;max-height:32dvh;overflow:auto;background:#17150dd9;border-radius:14px}
.play-actions .action-panel{position:static!important;inset:auto!important;width:100%;padding:8px;display:flex;justify-content:center;gap:12px;background:none;border:0;box-shadow:none;min-height:0;clip-path:none!important;color:#f5e8c9}
.play-actions :is(h3,p){margin:0;font:12px system-ui}.play-actions .action-panel p{font-size:11px}.play-actions .action-panel:has(button) p{display:none}.play-actions .button-row{gap:5px;flex-wrap:wrap;margin:0}.play-actions button{min-height:32px;padding:5px 12px;font:600 12px system-ui}.play-actions select{max-width:180px}
.play-actions .bid-picker{width:100%;background:none}.play-actions .bid-picker h2{font:14px system-ui;padding:4px;background:none}.play-actions .bid-numbers{padding:4px;gap:4px}.play-actions .bid-numbers button{font:16px system-ui;min-height:28px;aspect-ratio:auto;border-radius:8px}
.play-actions .draw-piles{display:flex;gap:8px;flex-shrink:0}.play-actions .draw-piles .card{width:48px;height:62px;padding:4px;position:relative}.play-actions .draw-piles .pip{font-size:18px}.play-actions .suite-spreads{font:11px system-ui;max-width:220px}
.play-hand{position:absolute;bottom:51px;left:5%;right:5%;height:19dvh;z-index:8;pointer-events:none}.play-hand .hand-scroll{position:static;padding:0;overflow:visible;height:100%}.play-hand .hand-fan{position:relative;height:100%;width:100%;min-width:0;min-height:0;padding:0}
body .playable-table .play-hand .card{--cw:clamp(50px,13dvh,88px);position:absolute;left:calc(var(--card-index)*(100% - var(--cw))/max(1,var(--hand-count) - 1))!important;top:0;width:var(--cw)!important;height:calc(var(--cw)*1.42)!important;min-width:0;max-width:none;padding:5px;pointer-events:auto;transform:rotate(var(--tilt))!important;transform-origin:50% 95%;border-radius:6px;box-shadow:-2px 3px 7px #0007;background:linear-gradient(120deg,#fff8e8,#d8cbb3);border:1px solid #a99a83;color:#191915;filter:none;opacity:1}
body .playable-table .play-hand .card.red{color:#a7212e}.play-hand .card .rank{font:bold 20px Georgia;line-height:1}.play-hand .card .rank small{font-size:17px}.play-hand .card .pip{font-size:27px;right:8px;bottom:20px}.play-hand .card .corner{font-size:13px}.play-hand .card.joker .rank{font-size:9px}.play-hand .card:disabled{filter:brightness(.88)!important;cursor:default}.play-hand .card.selected,.play-hand .card:focus-visible{outline:2px solid #efc676;outline-offset:1px}
.play-pages{position:absolute;inset:65px 12% 60px;z-index:12;background:#191610f5;border:1px solid #897459;border-radius:16px;padding:22px;overflow:auto;font-family:system-ui;overscroll-behavior:contain}.play-pages [hidden]{display:block!important}.play-pages .sidebar{position:static;background:none;border:0;max-height:none;padding:0}.play-pages.play-results{inset:18% 20% 42%;padding:10px}.play-pages .revealed-hand{display:flex;flex-wrap:wrap}.play-pages .card{width:44px;height:65px;font-size:10px}.play-pages .round-results{padding:8px;background:none;border:0}.play-pages .round-results h2{font-size:20px}.play-pages .score-row{padding:10px 0}.play-menu{display:flex;flex-wrap:wrap;gap:10px}
.play-tabs{position:absolute;inset:auto 0 0;height:46px;display:flex;background:linear-gradient(#31251b,#17120d);border-top:1px solid #a99269;z-index:20;padding:0 12%}.play-tabs button{flex:1;border:0;border-radius:0;box-shadow:none;color:#ddd0b8;font:13px system-ui;text-transform:uppercase;letter-spacing:1px}.play-tabs button[aria-current=page]{border-bottom:3px solid #d6b467;color:#efd394}.playable-table:not([data-page=table]) :is(.play-hand,.play-actions){visibility:hidden}.play-rotate{display:none}
.table-3d-button{min-height:30px;padding:4px 12px;font-size:12px}
@media(max-height:500px){.play-hud{height:32px;padding:3px 12px}.play-hud strong{font-size:17px}.play-round{font-size:11px;padding:5px 16px}.play-hud button{min-height:27px;padding:3px 10px}.play-seat{font-size:11px;padding:4px 12px;min-width:90px}.play-message{top:36px;font-size:8px}.play-actions{bottom:calc(19dvh + 72px);max-height:30dvh}.play-actions .action-panel{padding:5px;gap:8px}.play-actions .action-panel p{display:none}.play-actions :is(h3,p){font-size:10px}.play-seat.own{bottom:calc(19dvh + 39px)}.play-tabs{height:35px}.play-hand{bottom:39px}.play-pages{inset:42px 8% 42px;padding:12px}.play-tabs button{font-size:11px;min-height:32px}.play-pages.play-results{inset:15% 17% 41%}}
@media(orientation:portrait) and (max-width:800px){.play-rotate{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#171c22;z-index:30}}
body .playable-table .play-hand .hand-scroll{background:transparent!important;padding:0!important;overflow:visible!important;max-height:none!important;height:100%!important}
body .playable-table .play-hand .hand-fan{display:block!important;position:relative!important;height:100%!important;min-height:0!important;margin:0!important;gap:0!important;background:none!important}
body .playable-table .play-hand .card{position:absolute!important;margin:0!important;bottom:auto!important}
body .playable-table .play-actions{background:#19160fd9!important}
body .playable-table .play-actions .action-panel{background:transparent!important;min-height:0!important;height:auto!important}
.playable-table[data-phase=play] .play-actions{bottom:auto;top:45px;width:auto;max-width:70vw;pointer-events:none;font-size:10px}
.playable-table[data-phase=play] .play-actions p,.playable-table[data-phase=play] .play-actions .eyebrow{display:none}
body .playable-table .play-actions .action-panel{width:auto!important;min-width:0!important;flex:1 1 0!important;flex-wrap:wrap;margin:0!important;transform:none!important}
body .playable-table .play-actions .draw-piles{flex:0 0 auto;gap:6px;margin:0;padding:5px;position:static;transform:none}
body .playable-table .play-actions .pile-button{padding:0;min-width:0;flex:none}
body .playable-table .play-actions .field{font:11px system-ui;max-width:200px;margin:0}
body .playable-table .play-actions .suite-spreads{max-width:35%;flex:0 1 auto}
/* Keep the own-seat label below the central card landing area. */
.play-seat.own{transform:translateX(-50%)}
/* Reference kitchen presentation: restrained teal, brass and readable ivory cards. */
.play-hud{height:64px;background:linear-gradient(110deg,#071d22,#10272bf5);border-bottom:1px solid #b79b6355;padding:10px 28px}
.play-hud strong{color:#e5c48a;font-size:30px}.play-hud strong span{font:11px system-ui;letter-spacing:3px}
.play-round{background:none;border:0;border-radius:0;color:#e5c48a;text-transform:uppercase;letter-spacing:1px}
.play-seat{border-radius:5px;border:2px solid #9a7546;background:#141a18ec;box-shadow:2px 4px 5px #0008;font-size:17px;min-width:105px;padding:5px 16px}
.play-seat.own{font-size:11px;border-width:1px}.play-seat small{font-size:9px}
.play-message{top:auto;bottom:29px;right:10%;z-index:22;background:linear-gradient(#ecd097,#bb914b);border:1px solid #f3dbae;color:#191e1b;border-radius:30px;padding:12px 24px;font:16px Georgia;max-width:35vw}
.play-tabs{inset:auto 5% 16px;height:62px;border:1px solid #acb1a16b;border-radius:40px;background:linear-gradient(105deg,#0a2329f7,#091e23f7);padding:10px 43% 10px 3%;gap:8px}
.play-tabs button{border:1px solid #b4baa345;border-radius:22px;text-transform:none;letter-spacing:0;font:15px Georgia;min-width:65px;padding:6px 12px;background:none;color:#e3e0d3}
.play-tabs button[aria-current=page]{border:1px solid #dab875;color:#f6d89e;background:#e1bd7720}
.play-hand{bottom:80px;left:23%;right:23%;height:24dvh}
body .playable-table .play-hand .card{--cw:clamp(65px,18dvh,142px);padding:9px;border-radius:10px;box-shadow:-3px 3px 9px #0008}
.play-hand .card .rank{font-size:30px}.play-hand .card .rank small{font-size:25px}.play-hand .card .pip{font-size:40px}
.play-seat.own{bottom:calc(24dvh + 82px)}
.play-actions{bottom:calc(24dvh + 110px)}
.playable-table[data-phase=play] .play-actions{top:69px}
.play-pages{inset:76px 10% 88px;background:#0b2229f7}
@media(max-height:500px){.play-hud{height:37px;padding:3px 16px}.play-hud strong{font-size:19px}.play-hud strong span{font-size:8px}.play-round{font-size:10px}.play-tabs{height:40px;bottom:6px;padding:3px 40% 3px 2%;gap:4px}.play-tabs button{font-size:11px;min-width:44px;min-height:30px;padding:3px 8px}.play-message{bottom:12px;padding:7px 12px;font-size:11px;right:9%;max-width:34vw}.play-hand{bottom:48px;height:21dvh;left:22%;right:22%}body .playable-table .play-hand .card{--cw:clamp(50px,16dvh,85px);padding:5px;border-radius:6px}.play-hand .card .rank{font-size:20px}.play-hand .card .rank small{font-size:17px}.play-hand .card .pip{font-size:27px}.play-seat{font-size:11px;padding:3px 9px;min-width:85px}.play-seat small{font-size:8px}.play-seat.own{bottom:calc(21dvh + 48px)}.play-actions{bottom:calc(21dvh + 76px)}.playable-table[data-phase=play] .play-actions{top:40px}.play-pages{inset:44px 8% 49px}}
.play-score{margin-left:auto;margin-right:18px}.play-score .table-score-strip{display:flex;gap:18px;background:transparent;border:1px solid #c5bea34d;border-radius:10px;padding:4px 20px;font:13px Georgia;color:#eee6d3}.play-score .table-score-strip span{display:block;text-align:center;min-width:70px}.play-score .table-score-strip b{display:block;font:23px Georgia;color:#e7c181}.play-round{margin-left:20px}@media(max-height:500px){.play-score{margin-right:8px}.play-score .table-score-strip{padding:2px 9px;font-size:9px;gap:8px}.play-score .table-score-strip span{min-width:42px}.play-score .table-score-strip b{font-size:14px}.play-round{margin-left:8px}}
