/* A quieter control system; the transparent hit area remains easy to touch. */
.icon-button{background:transparent;border:0;border-radius:6px;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;box-shadow:none;color:var(--text)}
.icon-button:hover{background:#ffffff08}.icon-button svg.icon{width:20px;height:20px}
.btn{min-height:44px;padding:8px 13px;border-radius:7px;font-size:13px;gap:7px}.btn.tiny{min-height:44px;padding:7px 10px}.btn.secondary{background:transparent;border-color:var(--line)}.btn.ghost{background:transparent;border-color:transparent}.btn:hover:not(:disabled){transform:none}
.topbar{height:68px;padding-block:12px}.header-mascot img{width:31px;height:35px}.nav-link{min-height:44px;padding:9px 12px;border-radius:6px}.side-nav{gap:3px}
.mode-tile{min-height:0!important;display:grid;grid-template-columns:28px minmax(0,1fr) 24px;gap:5px 10px;padding:14px!important;border-radius:9px;background:var(--surface)}.mode-tile>svg{grid-column:1;grid-row:1/3;width:25px!important;height:25px!important;margin:0!important}.mode-tile h3{grid-column:2;grid-row:1;font-size:16px;margin:0}.mode-tile p{grid-column:2;grid-row:2;font-size:12px;margin:0;line-height:1.5}.mode-tile .mode-arrow{grid-column:3;grid-row:1/3;position:static;background:none;border:0;width:24px;height:24px}.mode-tile:before,.mode-tile:after{display:none}
.game-route .content{padding:6px 12px 8px}.game-route .game-topline{min-height:44px;padding:0;margin-bottom:2px;background:transparent;border:0;border-radius:0;box-shadow:none;gap:4px}.game-route .game-title{gap:3px}.game-route .game-title h1{font-size:16px}.game-route .game-title p{display:none}.game-route .game-topline>.row{gap:0;flex-wrap:nowrap}.game-route .game-topline .icon-button{width:40px;min-width:40px;height:44px;min-height:44px;background:transparent;border:0;box-shadow:none;padding:10px}.game-route .game-topline>.row>.pill{padding:0;width:22px;min-width:22px;background:none;border:0;font-size:0;gap:0}.game-route .game-topline>.row>.pill svg{width:13px;height:13px}
.game-route .table-wrap{gap:3px}.game-route .my-hand{padding:5px 8px 4px;max-height:29dvh;background:#071b17dc;border:0;border-radius:9px;box-shadow:none}.game-route .hand-title{padding-right:36px;min-height:27px;align-items:center}.game-route .hand-title h2{font-size:13px}.game-route .hand-title small{font-size:10px}.game-route .history-trigger{width:36px;min-width:36px;height:36px;min-height:36px;top:-4px;padding:8px}.game-route .history-trigger svg{width:17px;height:17px}
.game-route .hand-scroller{min-height:64px;padding:7px 3px 4px;gap:7px}.game-route .hand-card{width:48px;min-width:48px;flex-basis:48px}.game-route .hand-actions{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:0}.game-route .hand-actions .game-command{min-height:44px;min-width:66px;max-width:140px;padding:3px 8px;gap:3px;background:transparent;border:0;border-radius:5px;color:var(--gold);font-size:11px;display:inline-flex;flex-direction:column;flex:0 0 auto;box-shadow:none}.game-route .hand-actions .game-command svg{width:20px;height:20px}.game-route .hand-actions .game-command:disabled{opacity:.45;color:var(--muted)}
.game-route .game-hint,.game-route .quick-guide,.game-route .action-caption{display:none}.game-route .selection-preview{font-size:11px;line-height:1.35;margin:3px 0;max-height:2.7em;overflow:auto}.hand-situation{font-size:12px;line-height:1.35;color:var(--gold);margin:3px 0}.game-route .table-turn{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.game-route .table-arena.room3d-ready .opponent,.game-route .table-arena.room3d-ready[data-crowded="true"] .opponent.current,.game-route .table-arena.room3d-ready[data-crowded="true"] .opponent:not(.current){display:inline-flex;align-items:center;gap:4px;background:transparent;border:0;border-radius:0;box-shadow:none;min-height:0;min-width:0;width:max-content;max-width:100px;padding:0;line-height:1.1;transform:translate(-50%,-100%);pointer-events:none;color:#fff;visibility:visible!important;text-shadow:0 1px 3px #000,0 1px 5px #000}
.game-route .table-arena.room3d-ready .opponent strong{font-size:11px;line-height:1.2;max-width:84px;font-weight:500}.game-route .table-arena.room3d-ready .opponent.current{color:var(--gold)}.game-route .table-arena.room3d-ready .opponent.finished strong{color:var(--green)}.game-route .table-arena.room3d-ready .opponent .thinking-dots{display:inline-flex;gap:2px}.game-route .table-arena.room3d-ready .opponent .thinking-dots i{width:3px;height:3px}.game-route .table-arena.room3d-ready[data-crowded="true"] .opponent strong{font-size:9px;max-width:52px}.game-route .table-arena.room3d-ready[data-crowded="true"] .opponent{max-width:68px;gap:2px}
.game-route .table-center{--pile-width:48px}.game-route .table-arena.room3d-ready .table-center>.pile{width:var(--pile-width);min-width:var(--pile-width);height:calc(var(--pile-width)*1.4);padding:0;border:0;margin:0;overflow:visible}.game-route .table-arena.room3d-ready #top-card img,.game-route .table-arena.room3d-ready .bank-pile .deck-back{width:var(--pile-width);height:calc(var(--pile-width)*1.4);min-width:0;margin:0}.game-route .table-arena.room3d-ready .pile>small{position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%);margin:0;padding:0;background:transparent;font-size:9px;line-height:1.2;white-space:nowrap;width:max-content;max-width:90px;text-shadow:0 1px 3px #000}.game-route #top-card>small{display:none}.game-route .bank-pile:not(:disabled) .deck-back{outline:none}
.table-preparation{position:absolute;inset:0;z-index:90;display:grid;place-items:center;background:var(--bg);color:var(--text)}.table-preparation-inner{display:flex;align-items:center;flex-direction:column;gap:12px;text-align:center;padding:24px}.table-preparation img{width:58px;height:72px;object-fit:contain}.table-preparation strong{font:600 18px var(--font)}.table-preparation p{font-size:13px;color:var(--muted)}.table-load-spinner{width:24px;height:24px;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:table-load 1s linear infinite}.game-route{position:relative}body[data-table-preparing="true"] .game-topline{position:relative;z-index:91}body[data-table-preparing="true"] .table-arena,body[data-table-preparing="true"] .my-hand{visibility:hidden}body[data-distributing="true"] .hand-actions{pointer-events:none;opacity:.5}
@keyframes table-load{to{transform:rotate(360deg)}}
@media(min-width:601px) and (orientation:landscape){.game-route .table-wrap{display:flex!important;flex-direction:column!important}.game-route .my-hand{flex:0 0 auto;width:100%;max-height:27dvh;display:grid;grid-template-columns:125px minmax(0,1fr) auto;grid-template-rows:auto;align-items:center;gap:8px}.game-route .hand-title{padding-right:30px;display:block}.game-route .hand-title small{display:block}.game-route .hand-scroller{min-height:65px;margin:0;padding:5px 0}.game-route .hand-actions{gap:8px}.game-route .selection-preview,.game-route .hand-situation{grid-column:1/-1;grid-row:2}.game-route .hand-card{width:43px;min-width:43px;flex-basis:43px}}
@media(max-height:430px) and (orientation:landscape){.game-route .content{padding:2px 10px 4px}.game-route .game-topline{min-height:40px}.game-route .game-topline .icon-button{height:40px;min-height:40px}.game-route .my-hand{max-height:29dvh;padding:3px 6px}.game-route .hand-card{width:36px;min-width:36px;flex-basis:36px}.game-route .hand-scroller{min-height:54px}.game-route .table-center{--pile-width:40px}}
body[data-large-text="true"] .game-route .game-topline{display:flex;flex-wrap:wrap;justify-content:space-between}body[data-large-text="true"] .game-route .game-topline>.row{justify-content:flex-end}body[data-large-text="true"] .game-route .my-hand{max-height:39dvh}body[data-large-text="true"] .game-route .hand-title{display:flex}body[data-large-text="true"] .game-route .hand-title small{display:none}body[data-large-text="true"] .game-route .hand-actions{display:flex}body[data-large-text="true"] .game-route .table-arena.room3d-ready .opponent{visibility:visible!important}body[data-large-text="true"] .game-route .table-arena.room3d-ready .opponent strong{font-size:9px}body[data-large-text="true"] .hand-situation{font-size:10px}
@media(prefers-reduced-motion:reduce){.table-load-spinner{animation:none}}
.game-route .hand-actions .game-command{min-height:48px}
.hand-observer{display:flex;min-width:0;max-width:190px;align-items:center}.hand-observer select{min-height:36px;max-width:100%;padding:4px 20px 4px 3px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--gold);font-size:12px;border-radius:0}.game-route .hand-title:has(.hand-observer){gap:6px;flex-wrap:wrap}.game-route .hand-title:has(.hand-observer)>small{display:none}.game-route .observed-card{display:block;flex-shrink:0;pointer-events:none;transform:none;opacity:1}.game-route .observed-card img{opacity:1;filter:none}
body[data-route="game"] .game-topline{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;min-height:44px}
.game-route .my-hand{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:0 7px;padding:4px 7px;max-height:29dvh}
.game-route .hand-title{grid-column:1/-1;grid-row:1;min-height:24px;width:100%}.game-route .hand-scroller{grid-column:1;grid-row:2;min-height:64px;max-width:100%;padding:5px 2px;gap:5px}.game-route .hand-card{width:44px;min-width:44px;flex-basis:44px}.game-route .hand-actions{grid-column:2;grid-row:2;gap:2px;margin:0}.game-route .hand-actions .game-command{min-width:48px;max-width:70px;font-size:10px;padding:2px 4px}
.game-route .my-hand:not(:has(.hand-actions)) .hand-scroller{grid-column:1/-1}.game-route .selection-preview{grid-column:1/-1}.game-route .hand-situation,.game-route .hand-family{grid-column:1/-1;grid-row:2}.game-route .hand-situation~.hand-scroller,.game-route .hand-situation~.hand-actions,.game-route .hand-family~.hand-scroller,.game-route .hand-family~.hand-actions{grid-row:3}
@media(orientation:landscape) and (max-height:500px){.game-route .table-wrap{flex-direction:row!important;align-items:stretch;gap:6px}.game-route .table-arena.room3d-ready{flex:1 1 0;height:100%;min-width:0}.game-route .my-hand{display:flex;flex-direction:column;flex:0 0 142px;width:142px;max-height:100%;padding:5px 7px;gap:4px;align-self:stretch}.game-route .hand-title{display:block;flex:0 0 auto;min-height:35px;padding-right:29px}.game-route .hand-title h2{font-size:12px;max-width:90px}.game-route .hand-title small{display:block;font-size:9px}.game-route .history-trigger{width:32px;min-width:32px;height:36px;right:-3px;top:-3px}.game-route .hand-scroller{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;justify-items:center;overflow-y:auto;overflow-x:hidden;min-height:0;width:100%;flex:1 1 auto;gap:7px;padding:4px 0}.game-route .hand-card{width:40px;min-width:40px;transform:none}.game-route .hand-actions{flex:0 0 auto;margin-top:auto;display:flex;justify-content:center;gap:2px;width:100%}.game-route .hand-actions .game-command{flex:1 1 0;min-width:48px;font-size:10px}.game-route .selection-preview,.game-route .hand-situation{flex:0 0 auto;font-size:10px}.hand-observer{max-width:100%;width:100%}.hand-observer select{font-size:11px}}
