/* Only the primary choices live on the host page. Optional choices use sheets. */
.compact-host{max-width:600px;padding:20px 0}.compact-host .room-heading{margin-bottom:14px}.compact-host .room-heading h1{font-size:30px}.compact-host .back-link{margin-bottom:10px}.compact-host .room-card{padding:22px}.compact-host .host-section{margin-bottom:16px}.compact-host .room-card h2{font:600 13px 'DM Sans',sans-serif;margin:0 0 8px}.compact-host h2 small{font-size:10px;font-weight:400;color:var(--muted);margin-left:6px}.compact-host .host-choices button{min-height:46px}.host-additions{display:flex;gap:8px}.host-additions button{flex:1;border:1px dashed #94b89a;border-radius:10px;background:var(--paper);min-height:43px;padding:8px;font-size:13px;font-weight:600}.host-additions b{margin-left:5px}.compact-host .host-seat-summary{font-size:11px;line-height:1.35;margin:8px 0 16px!important;color:var(--muted)}.host-option-row{display:flex;gap:8px}.host-option-row>button{flex:1;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:10px;min-height:43px;font-size:12px}.host-option-row button[aria-pressed=true]{border-color:#6c9b76;background:#dcebd5;color:#234c39}.host-option-row strong{white-space:nowrap}.host-small-note{font-size:11px;line-height:1.4;color:var(--muted);margin:8px 0}.host-money-summary{width:100%;background:transparent;border:1px solid var(--line);border-radius:8px;padding:8px;font-size:11px;margin-top:8px;text-align:left}.host-money-summary span{font-weight:700}.host-advanced{min-height:32px;font-size:11px;margin-top:6px}.compact-host .room-submit{padding:0;margin-top:8px}.host-bot-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.host-bot-picker>button{display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid var(--line);background:var(--paper);border-radius:13px;padding:12px 5px;min-width:0}.host-bot-picker>button[aria-pressed=true]{background:#e4f1dc;border:2px solid #5c976e;color:#204b35}.host-bot-picker strong{font-size:11px}.host-bot-picker small{font-size:9px}.host-bot-picker svg{max-width:100%}.host-picker-count{font-size:12px;color:var(--muted);margin-top:12px}.host-sheet-done{width:100%;margin-top:20px;min-height:45px}.host-slider-label{font-weight:600;font-size:14px;display:block;padding:15px 0}.host-slider-label output{float:right;font-size:22px}.host-slider-label input{width:100%;display:block;margin-top:20px;min-height:44px;accent-color:#508e64}.bot-setup-grid{grid-template-columns:minmax(0,1fr)}
html[data-layout=phone] .compact-host{padding:10px 0 12px;width:100%;max-width:480px}
html[data-layout=phone] .compact-host .room-heading{margin-bottom:10px}
html[data-layout=phone] .compact-host .room-heading h1{font-size:25px}
html[data-layout=phone] .compact-host .room-heading .back-link{margin-bottom:8px}
html[data-layout=phone] .compact-host .room-card{padding:14px}
html[data-layout=phone] .compact-host .host-section{margin-bottom:12px}
html[data-layout=phone] .compact-host .room-card h2{font-size:12px;margin:0 0 6px}
html[data-layout=phone] .compact-host .host-choices button{min-height:42px;font-size:13px;padding:8px 5px}
html[data-layout=phone] .compact-host .host-seat-summary{margin:7px 0 12px!important;font-size:10px}
html[data-layout=phone] .compact-host .room-submit>.button{min-height:46px;padding:11px 8px;font-size:15px}
html[data-layout=phone] .compact-host .host-small-note{font-size:10px;margin:6px 0}
html[data-layout=phone] .compact-host .host-advanced{font-size:10px;min-height:30px;margin-top:2px}
html[data-layout=phone] .bot-setup-grid{display:flex;flex-direction:column}
html[data-layout=phone] .host-bot-picker>button{padding:10px 3px;min-height:116px}
html[data-layout=phone] .host-bot-picker strong{font-size:10px}
html[data-layout=phone] .host-bot-picker small{font-size:8px}
html[data-appearance=dark] .host-option-row button[aria-pressed=true],html[data-appearance=dark] .host-bot-picker>button[aria-pressed=true]{background:#2a493a;color:#e4eed9;border-color:#8bad79}
/* Align short labels beside choices to keep the SNG primary flow compact. */
html[data-layout=phone] .compact-host .host-section{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:8px}
html[data-layout=phone] .compact-host .host-section h2{margin:0;line-height:1.3}
html[data-layout=phone] .compact-host .host-section h2 small{display:block;margin:2px 0 0;font-size:8px}
html[data-layout=phone] .compact-host .host-choices{gap:5px}
html[data-layout=phone] .compact-host .host-choices button{font-size:12px}
html[data-layout=phone] .compact-host .room-heading{display:flex;align-items:center;gap:12px}
html[data-layout=phone] .compact-host .room-heading .back-link{margin:0;flex-shrink:0}
html[data-layout=phone] .compact-host .room-heading h1{font-size:23px}
.host-seat-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:4px 0 10px}.host-seat-heading>strong{font:700 16px Outfit,sans-serif}.host-seat-heading small{font-size:10px;color:var(--muted);text-align:right}.host-seat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:9px 7px;margin-bottom:15px}.host-seat-tile{border:0;background:transparent;padding:0;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.host-seat-circle{height:40px;width:40px;border:1px solid #a1bba3;background:var(--paper);border-radius:50%;display:grid;place-items:center;color:var(--deep);font:500 23px/1 Outfit;flex-shrink:0}.host-seat-circle svg{width:36px;height:36px}.host-seat-circle.friend-slot{border:1.5px dashed #9db69f;background:transparent}.host-seat-tile small{font-size:9px;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-slot .host-seat-circle{border:2px solid #5e9470;background:#edf4e3}.hero-slot small{font-weight:700;color:var(--ink)}.seat-type-choices{display:flex;gap:8px;margin:15px 0}.seat-type-choices button{flex:1;min-height:46px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:12px;padding:8px}.seat-type-choices button[aria-pressed=true]{border:2px solid #689a73;background:#e1efd9;color:#274d36}.seat-bot-label{font-size:13px;margin:19px 0 12px}
html .game-main .rebuy-controls{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;background:#fff0cd;border:2px solid #cda355;padding:10px 13px;min-height:76px;color:#5e441e}
.rebuy-controls>div{min-width:0}.rebuy-controls strong,.rebuy-controls small{display:block}.rebuy-controls strong{font:700 16px Outfit,sans-serif}.rebuy-controls small{font-size:11px;line-height:1.4;margin-top:3px}.rebuy-controls>.button{background:#e9bd64;border-color:#bd923c;color:#44321a;font-size:14px;min-height:44px;padding:10px;flex-shrink:0}.rebuy-host-alert{border:1px solid #b98b33;border-radius:9px;background:#f1d18a;color:#553d18;min-height:38px;padding:6px 9px;font-weight:700;margin-right:5px}
html[data-layout=phone] .game-main .rebuy-controls{height:76px;max-height:76px;min-height:0;padding:8px;gap:7px}
html[data-layout=phone] .rebuy-controls strong{font-size:12px}html[data-layout=phone] .rebuy-controls small{font-size:9px}html[data-layout=phone] .rebuy-controls>.button{font-size:12px;padding:8px;min-height:43px}
html[data-appearance=dark] .game-main .rebuy-controls{background:#3d3526;color:#f4e3b5;border-color:#a98c4e}html[data-appearance=dark] .hero-slot .host-seat-circle{background:#284737}html[data-appearance=dark] .seat-type-choices button[aria-pressed=true]{background:#294735;color:#e3edda}

html[data-layout=phone] .rebuy-host-alert{font-size:10px;padding:6px;min-width:47px}
/* Home and join share the same quiet, cream-backed name/avatar controls. */
html .identity-name-input.input-wrap{padding:3px 6px;gap:7px;height:54px;background:var(--paper)}
html .identity-name-input .name-avatar-action{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;padding:2px;border:0;border-radius:50%;background:transparent;color:var(--ink)}
html .identity-name-input .name-avatar-action>svg{width:36px;height:36px}
html[data-visual-style][data-appearance] .identity-name-input #nickname-dice{display:grid;place-items:center;background:transparent;color:var(--ink);border:0;border-radius:10px;font-size:inherit;min-width:42px;min-height:42px;padding:7px;flex-shrink:0}
html .identity-name-input #nickname{font-size:16px;min-width:0;flex:1;background:transparent;border:0;padding:0;box-shadow:none}
.identity-action-hints{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 7px 0}
.identity-action-hints button{background:transparent;color:var(--muted);border:0;padding:4px 0;min-height:26px;font-size:10px;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
.join-name-field>label{font-size:12px;font-weight:700;display:block;margin-bottom:7px}
.join-name-field .identity-name-input input{width:100%;height:auto;min-height:0}
html .identity-name-input .name-avatar-action:hover,html[data-visual-style][data-appearance] .identity-name-input #nickname-dice:hover{background:#839d7a12}
html[data-layout=phone] .identity-name-input.input-wrap{height:52px}
html[data-layout=phone] .identity-action-hints button{font-size:9px}
/* Lobby: invite and start stay visible; confirmed seats use a compact grid. */
.compact-lobby{max-width:680px;padding:20px 0}.lobby-heading-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.lobby-heading-row .back-link{margin:0;min-height:30px}.compact-lobby .room-heading{margin:0 0 14px}.compact-lobby .room-heading h1{font-size:29px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-lobby .room-heading p{font-size:12px;margin-top:5px}.lobby-invite{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--paper);border:1px solid var(--line);border-radius:14px;margin-bottom:14px}.lobby-invite small,.lobby-invite strong{display:block}.lobby-invite small{font-size:9px;color:var(--muted);letter-spacing:1px}.lobby-invite strong{font:700 30px/1.2 Outfit;letter-spacing:4px;margin-top:2px}.lobby-invite .button{font-size:13px;min-height:42px;padding:10px 12px}.lobby-crew{padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.lobby-seat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 10px;margin-top:13px}.lobby-seat{min-width:0;background:transparent;border:0;display:flex;flex-direction:column;align-items:center;padding:0;gap:3px}.lobby-seat:disabled{opacity:1;cursor:default}.lobby-avatar{display:grid;place-items:center;width:50px;height:50px;border:1px solid #a7baa1;border-radius:50%;background:transparent;font:400 25px Outfit;color:var(--muted)}.lobby-avatar svg{width:46px;height:46px}.lobby-seat>strong{font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-seat>small{font-size:10px;color:var(--muted)}.empty-lobby-seat .lobby-avatar{border:1.5px dashed #a7baa1}.empty-lobby-seat strong{font-weight:500;color:var(--muted)}.lobby-pending{margin-top:15px;min-height:0}.lobby-pending-list{max-height:180px;overflow-y:auto;overscroll-behavior:contain}.compact-lobby .lobby-title h2{font-size:17px}.compact-lobby .lobby-title>span{font-size:10px;padding:4px 7px}.compact-lobby .lobby-person{padding:6px 0;min-height:48px}.compact-lobby .lobby-person>svg{width:30px;height:30px}.compact-lobby .approval-buttons button{min-width:40px;min-height:38px}.compact-lobby .room-submit{margin-top:16px;padding:0}.compact-lobby .room-submit .button{width:100%;min-width:0}.compact-lobby .room-submit small{font-size:10px}.lobby-member-preview{text-align:center;margin:14px 0}.lobby-my-status{background:#e5efdc;color:#34563b;border-radius:10px;padding:10px;margin-bottom:12px;font-size:12px}
html[data-layout=phone] .online-shell:has(>.compact-lobby){height:var(--app-height,100svh);min-height:0;overflow:hidden}
html[data-layout=phone] .online-shell>.compact-lobby{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;padding:9px 0 12px}
html[data-layout=phone] .compact-lobby .lobby-heading-row{flex-shrink:0;margin-bottom:4px}
html[data-layout=phone] .compact-lobby .room-heading{flex-shrink:0;margin-bottom:9px}
html[data-layout=phone] .compact-lobby .room-heading h1{font-size:23px}
html[data-layout=phone] .compact-lobby .room-heading p{font-size:10px;margin-top:3px}
html[data-layout=phone] .compact-lobby .lobby-invite{flex-shrink:0;padding:8px 11px;margin-bottom:10px}
html[data-layout=phone] .lobby-invite strong{font-size:26px;letter-spacing:3px}
html[data-layout=phone] .lobby-invite small{font-size:8px}
html[data-layout=phone] .lobby-invite .button{font-size:12px;padding:8px 10px}
html[data-layout=phone] .lobby-crew{padding:10px;flex:0 1 auto;min-height:90px;overflow-y:auto}
html[data-layout=phone] .lobby-seat-grid{gap:8px 6px;margin-top:8px}
html[data-layout=phone] .lobby-avatar{width:40px;height:40px}
html[data-layout=phone] .lobby-avatar svg{width:36px;height:36px}
html[data-layout=phone] .lobby-seat>strong{font-size:10px}
html[data-layout=phone] .lobby-seat>small{font-size:8px}
html[data-layout=phone] .compact-lobby .lobby-title h2{font-size:14px}
html[data-layout=phone] .lobby-pending{display:flex;flex-direction:column;flex:1;min-height:54px;max-height:150px;margin-top:10px}
html[data-layout=phone] .lobby-pending-list{flex:1;min-height:0;max-height:none}
html[data-layout=phone] .lobby-pending .room-caption{font-size:10px;line-height:1.4}
html[data-layout=phone] .compact-lobby .room-submit{flex-shrink:0;margin-top:auto;padding-top:9px}
html[data-layout=phone] .compact-lobby .room-submit .button{min-height:44px;padding:10px;font-size:15px}
html[data-layout=phone] .compact-lobby .room-submit small{font-size:8px;margin-top:5px}
/* Knockout decision is above the hand details, never buried below the board. */
.rebuy-offer{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px;border:1px solid #b7b7a4;border-radius:12px;background:#f0eee3;color:#435344;text-align:left}
.rebuy-offer.rebuy-offer-active{background:#fff0bd;border:2px solid #cda148;color:#544016}
.rebuy-offer strong,.rebuy-offer small{display:block}.rebuy-offer strong{font:700 17px/1.15 Outfit,sans-serif}.rebuy-offer small{font-size:11px;margin-top:4px;font-weight:600}.rebuy-offer p{font-size:11px;line-height:1.35;margin:4px 0 0}.rebuy-offer>.button{flex-shrink:0;min-height:44px;font-size:14px;padding:10px}.rebuy-offer-active>.button{background:#e8bb57;border-color:#b28c36;color:#403111}
.winning-panel>.rebuy-offer{display:block;margin:12px 0 18px;padding:14px}.winning-panel>.rebuy-offer>.button{width:100%;font-size:18px;margin-top:12px;min-height:48px}.winning-panel>.rebuy-offer strong{font-size:20px}
html .game-main .rebuy-controls{padding:0;border:0;background:transparent;overflow:visible}
html .game-main .rebuy-controls .rebuy-offer{min-height:72px;height:100%;padding:8px}.rebuy-controls .rebuy-offer>div{min-width:0}
html[data-layout=phone] .game-main .rebuy-controls{padding:0;height:76px;max-height:76px}
html[data-layout=phone] .rebuy-controls .rebuy-offer{gap:7px}
html[data-layout=phone] .rebuy-controls .rebuy-offer strong{font-size:12px}
html[data-layout=phone] .rebuy-controls .rebuy-offer small,html[data-layout=phone] .rebuy-controls .rebuy-offer p{font-size:9px;line-height:1.2;margin-top:3px}
html[data-layout=phone] .rebuy-controls .rebuy-offer>.button{font-size:12px;padding:8px}
.rebuy-final-note{font-size:12px;line-height:1.5;padding:10px;border:1px solid var(--line);border-radius:9px;margin:10px 0;color:var(--muted)}
html[data-appearance=dark] .rebuy-offer{background:#2c332d;color:#e5e5d6;border-color:#6b7763}html[data-appearance=dark] .rebuy-offer.rebuy-offer-active{background:#40351f;color:#f3e4b7;border-color:#b99c50}
/* Connection state is independent of cards, timer animation and host ownership. */
.seat-connection{position:absolute;right:-6px;bottom:-3px;z-index:6;border:1px solid #e7b99b;background:#fff0d6;color:#a55429;border-radius:50%;height:18px;width:18px;display:grid;place-items:center;font:700 12px/1 sans-serif}.seat-connection[hidden]{display:none}.seat-connection[data-status=disconnected]{background:#f4d8d0;color:#943f35;border-color:#d5aaa0}.seat-disconnected .seat-avatar>svg{opacity:.6}.lobby-avatar{position:relative}.lobby-connection{position:absolute;width:9px;height:9px;border-radius:50%;background:#74a77c;bottom:0;right:0;border:1px solid var(--paper)}.lobby-connection.disconnected{background:#c66d59}.lobby-connection.reconnecting,.lobby-connection.away{background:#d6ad5d}
.temporary-host-note{display:block;font-size:10px;line-height:1.4;padding:4px 0;color:var(--muted)}.recovery-private-note{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin:3px 0 10px}.recover-seat-entry{display:block;margin:12px auto 0;font-size:12px;min-height:35px}.recover-seat-list{display:grid;gap:9px}.recover-seat-list>button{display:flex;align-items:center;gap:10px;min-height:54px;border:1px solid var(--line);border-radius:11px;background:var(--paper);padding:9px;text-align:left}.recover-seat-list span{font-size:13px}.recover-seat-list small{display:block;font-size:10px;margin-top:4px;color:var(--muted)}.private-return-link{width:100%;font-size:12px!important;padding:12px;border:1px solid var(--line);border-radius:9px}.recovery-requests{padding:9px;border:1px solid #caaa69;border-radius:10px;background:#f7ebcb;color:#514326;margin:8px 0}.recovery-requests h3{font-size:13px;margin:0 0 7px}.recovery-requests>div{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:11px;padding:6px 0}.recovery-requests button{min-height:38px;padding:7px 9px;background:#c9dfb7;border-radius:7px;font-size:11px}
#connection-status{position:fixed;top:max(10px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:max-content;max-width:94vw;z-index:50;background:#fff0ce;color:#554324;border:1px solid #c4a76a;border-radius:11px;padding:10px 13px;font-size:12px;box-shadow:0 3px 12px #173d3120}#connection-status[hidden]{display:none}#connection-status button{margin-left:8px;border:1px solid #9bb184;background:#dfedcd;border-radius:6px;padding:6px;font-size:11px}#connection-status button[hidden]{display:none}
html[data-appearance=dark] #connection-status,html[data-appearance=dark] .recovery-requests{background:#3d3523;color:#f1e6c6}
.recovery-requests span>small{display:block;font-size:10px;line-height:1.5;margin-top:4px}.lobby-my-status strong{font-variant-numeric:tabular-nums;letter-spacing:2px;white-space:nowrap}
