.app-controls--floating{position:fixed;top:12px;right:12px;z-index:50;display:flex;align-items:center;gap:8px}.app-controls--floating .app-control-btn,.app-controls--floating .theme-toggle{box-sizing:border-box;width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow)}.app-controls--floating .app-control-btn:hover,.app-controls--floating .theme-toggle:hover{background:var(--bg-secondary)}.game-header .theme-toggle,.game-header .app-control-btn{position:static;z-index:auto;box-sizing:border-box;width:38px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;line-height:1;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);box-shadow:none;flex-shrink:0}.game-header .theme-toggle svg,.game-header .app-control-btn svg{display:block;width:18px;height:18px;flex-shrink:0}.game-header .theme-toggle:hover,.game-header .app-control-btn:hover{background:var(--bg-card)}body:has(.game-header .theme-toggle) .app-controls--floating .theme-toggle,body:has(.game-header .app-control-btn) .app-controls--floating .app-control-btn{display:none}.sound-volume{display:flex;align-items:center;gap:8px;width:100%}.sound-volume-mute-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;padding:0;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer}.sound-volume-mute-btn:hover{background:var(--bg-card)}.sound-volume-slider-wrap{flex:1 1 auto;min-width:0;display:flex;align-items:center}.sound-volume-slider{width:100%;accent-color:var(--accent)}.sound-volume-value{flex-shrink:0;min-width:2.4rem;font-size:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-secondary);text-align:right}.sound-volume-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.connection-banner-portal{position:fixed;top:0;left:0;right:0;z-index:1200;pointer-events:none}.connection-banner{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;width:100%;box-sizing:border-box;padding:12px 16px;font-family:var(--font-body);pointer-events:none}.connection-banner-icon{flex-shrink:0;display:inline-flex}.connection-banner-body{min-width:0;text-align:left}.connection-banner-title{margin:0;font-size:var(--text-lg);font-weight:700;line-height:1.3}.connection-banner-detail{margin:4px 0 0;font-size:var(--text-base);font-weight:600;line-height:1.4;opacity:.95}.connection-banner--offline{background:var(--accent);color:var(--on-accent)}.connection-banner--connecting,.connection-banner--rejoining{background:var(--gold);color:var(--on-gold)}.connection-banner--inactive,.connection-banner--post-game{background:var(--prompt-warn-bg);color:var(--prompt-warn-text);border-bottom:2px solid var(--prompt-warn-border)}.connection-banner-spin{animation:connection-banner-spin .9s linear infinite}@keyframes connection-banner-spin{to{transform:rotate(360deg)}}.connection-notice-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;display:grid;place-items:center;padding:16px;background:#0000008c}.connection-notice-modal{width:min(100%,420px);padding:24px;border-radius:var(--radius-md);border:2px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-lg)}.connection-notice-modal h2{margin:0 0 12px;font-size:var(--text-xl);line-height:1.3}.connection-notice-modal p{margin:0 0 12px;font-size:var(--text-base);line-height:1.5;color:var(--text-secondary)}.connection-notice-hint{font-size:var(--text-sm)}.connection-notice-actions{display:flex;justify-content:flex-end;margin-top:20px}.confirm-modal-dialog--inapp{width:min(100%,400px)}.inapp-browser-notice-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}.inapp-browser-notice-icon{flex:0 0 auto;display:grid;place-items:center;width:28px;height:28px;margin-top:2px;border-radius:50%;color:var(--prompt-warn-text);background:var(--prompt-warn-bg)}.inapp-browser-notice-title.confirm-modal-title{margin:0;padding-right:32px}.logo{display:inline-flex;flex-direction:column;align-items:center;line-height:1.05;font-weight:400;white-space:normal}.logo-main{display:block;letter-spacing:.08em;padding-inline:.04em}.logo-sub{display:block;font-size:.32em;letter-spacing:.48em;margin-top:.14em;padding-inline:.24em}.logo-zh{font-family:var(--font-logo-zh);font-weight:700;font-size:.28em;line-height:1.25;letter-spacing:.14em;margin-top:.42em;padding-left:.14em;color:var(--text-secondary);max-width:18em;text-align:center}.home{--home-pad-top: 16vh;--home-pad-x: 24px;--home-pad-bottom: 5vh;display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:var(--home-pad-top) var(--home-pad-x) var(--home-pad-bottom);gap:24px}.home-hero{text-align:center}.home-board-version{margin:0;width:100%;max-width:320px;text-align:center;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.4}.home-board-version a{font-weight:600;color:var(--text-secondary);text-decoration:none;transition:color .15s ease}.home-board-version a:hover{color:var(--text-primary)}.home-board-version a:focus-visible{outline:2px solid var(--border-strong);outline-offset:2px;border-radius:2px}.home-highlights{width:100%;max-width:320px;margin:0;padding:0}.home-highlights-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none}.home-highlights-item{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.home-highlights-icon{color:var(--text-secondary);flex-shrink:0}.home-highlights-label{font-family:var(--font-logo-zh);font-size:var(--text-2xs);font-weight:700;line-height:1.25;letter-spacing:.04em;color:var(--text-secondary)}.home-title{font-size:52px;margin:0}.home-actions{display:flex;flex-direction:column;gap:10px;width:100%;max-width:320px}.home-actions .btn{width:100%}.home-footer{margin-top:auto;width:100%;max-width:320px;padding-top:8px;text-align:center}.home-footer-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem .75rem}.home-footer-nav-item{display:inline-flex;align-items:center;gap:.75rem}.home-footer-nav-sep{color:color-mix(in srgb,var(--text-secondary) 55%,transparent);font-size:var(--text-sm);line-height:1;-webkit-user-select:none;user-select:none}.home-footer-nav-link{font-size:var(--text-sm);font-weight:600;line-height:1.2;letter-spacing:.03em;color:var(--text-secondary);text-decoration:none;padding:.2rem .05rem;transition:color .15s ease}.home-footer-nav-link:hover{color:var(--text-primary)}.home-footer-nav-link:focus-visible{outline:2px solid var(--border-strong);outline-offset:2px;border-radius:2px}button.home-footer-nav-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;margin:0;cursor:pointer;font-family:inherit}.home-form{display:flex;flex-direction:column;gap:12px;width:100%}.home-panel .home-form{max-width:none}.home-form input{width:100%}.home-form-layout{display:flex;flex-direction:column;gap:24px;width:100%;max-width:320px}.home-form-layout .home-panel,.home-form-layout .home-form-buttons{max-width:none;width:100%}.home-form-buttons{display:flex;flex-direction:column;gap:10px;width:100%;max-width:320px}.home-form-buttons.btn-row{flex-direction:column}.home-form-buttons.btn-row>.btn,.home-form-buttons.btn-row>button{width:100%;flex:none;min-width:0}.home-error{color:var(--accent);font-size:var(--text-base);text-align:center}.home-panel{display:flex;flex-direction:column;gap:12px;width:100%;max-width:320px}.home-panel-heading{font-size:var(--text-3xl);font-weight:700;text-align:center;margin:0}.home-empty{text-align:center;color:var(--text-secondary);padding:14px 16px;margin:0;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card)}.home--wide{--home-content-width: min(100%, 560px)}.home--info{--home-pad-top: 12vh;--home-pad-bottom: 8vh;min-height:auto}.home--wide .home-panel,.home--wide .home-form-buttons{max-width:var(--home-content-width)}.home--wide .home-form-buttons.btn-row{flex-direction:row}.home--wide .home-form-buttons.btn-row>.btn,.home--wide .home-form-buttons.btn-row>button{flex:1;width:auto}@media(max-width:600px){.home{--home-pad-top: 16vh;--home-pad-x: 20px;--home-pad-bottom: 5vh;gap:20px}.home--wide .home-form-buttons.btn-row{flex-direction:column}.home--wide .home-form-buttons.btn-row>.btn,.home--wide .home-form-buttons.btn-row>button{flex:none;width:100%}}.browse-list{list-style:none;display:flex;flex-direction:column;gap:10px}.browse-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card)}.browse-card-top{display:flex;align-items:center;gap:8px;margin-bottom:6px}.browse-room-id{font-size:var(--text-xl);font-weight:700;letter-spacing:.08em}.browse-status{font-size:var(--text-sm);font-weight:700;padding:2px 8px;border-radius:999px;background:var(--bg-secondary)}.browse-status--lobby{color:var(--prompt-action-text);border:1px solid var(--prompt-action-border)}.browse-status--playing{color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border-color))}.browse-status--ended{color:var(--text-secondary);border:1px solid var(--border-color)}.browse-card-meta{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:var(--text-sm);color:var(--text-secondary)}.browse-card-actions{flex-shrink:0;min-width:160px}.browse-card-actions.btn-row{flex-direction:column;width:auto}.browse-full,.browse-no-spectate{font-size:var(--text-sm);font-weight:700;color:var(--text-secondary);text-align:center}@media(max-width:600px){.browse-card{flex-direction:column;align-items:stretch}.browse-card-actions.btn-row{flex-direction:row;width:100%}}.rejoin-list{list-style:none;display:flex;flex-direction:column;gap:10px}.rejoin-row{display:flex;align-items:stretch;gap:8px;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);overflow:hidden}.rejoin-row--disabled{opacity:.7}.rejoin-row-hit{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer}.rejoin-row-hit:hover:not(:disabled),.rejoin-row-hit:active:not(:disabled){background:var(--bg-secondary)}.rejoin-row-hit:disabled{cursor:default}.rejoin-room-id{font-size:var(--text-xl);font-weight:700;letter-spacing:.08em}.rejoin-meta{font-size:var(--text-base);color:var(--text-secondary)}.rejoin-delete{align-self:center;margin-right:8px;flex-shrink:0}.home-panel--info{text-align:left}.home-panel--info .home-panel-heading{text-align:center}.info-scroll{display:flex;flex-direction:column;gap:1.25rem}.info-intro{font-size:var(--text-base);line-height:1.65;color:var(--text-primary);margin:0}.info-section{margin:0}.info-section-title{font-size:var(--text-xl);font-weight:700;margin:0 0 .5rem;color:var(--text-primary)}.info-list{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.45rem}.info-list li{font-size:var(--text-base);line-height:1.6;color:var(--text-primary)}.info-list li::marker{color:var(--text-secondary)}.info-footer-note{margin:.25rem 0 0;padding-top:.85rem;border-top:1px dashed color-mix(in srgb,var(--border-color) 55%,transparent);font-size:var(--text-base);line-height:1.55;color:var(--text-secondary);text-align:center}.info-footer-link{color:var(--text-primary);font-weight:600;text-decoration:underline;text-underline-offset:2px}.info-footer-link:hover{color:var(--accent)}button.info-footer-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;margin:0;padding:0;cursor:pointer;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;text-decoration:underline;text-underline-offset:2px}.info-changelog-entry{margin:0;padding-bottom:.85rem;border-bottom:1px dashed color-mix(in srgb,var(--border-color) 45%,transparent)}.info-changelog-entry:last-of-type{border-bottom:none;padding-bottom:0}.info-changelog-date{display:block;font-size:var(--text-lg);font-weight:700;letter-spacing:.04em;color:var(--text-secondary);margin:0 0 .45rem}.info-version{margin:.5rem 0 0;padding-top:.85rem;border-top:1px dashed color-mix(in srgb,var(--border-color) 55%,transparent);font-size:var(--text-base);line-height:1.55;color:var(--text-secondary);text-align:center}.info-scroll a{color:var(--text-primary);font-weight:600;text-decoration:underline;text-underline-offset:2px}.info-scroll a:hover{color:var(--accent)}button.info-inline-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;margin:0;padding:0;cursor:pointer;font-family:inherit;font-size:inherit;font-weight:600;line-height:inherit;color:var(--text-primary);text-decoration:underline;text-underline-offset:2px}button.info-inline-link:hover{color:var(--accent)}.info-section .info-intro+.info-intro{margin-top:.65rem}.info-section .info-intro+.info-list,.info-section .info-section-title+.info-list{margin-top:.35rem}.home-panel--rules .info-scroll{gap:1.75rem}.switch{--switch-width: 44px;--switch-height: 24px;--switch-thumb-size: 18px;--switch-padding: 2px;position:relative;display:inline-flex;align-items:center;justify-content:flex-start;flex-shrink:0;box-sizing:border-box;width:var(--switch-width);height:var(--switch-height);padding:0;border:2px solid var(--border-color);border-radius:999px;background:var(--switch-track-off);cursor:pointer;transform:none;transition:background .2s ease,border-color .2s ease}.switch:not(.switch--on):hover:not(:disabled){background:var(--switch-track-off-hover)}.switch--on{background:var(--switch-track-on);border-color:var(--switch-track-on)}.switch--on:hover:not(:disabled){background:var(--switch-track-on-hover);border-color:var(--switch-track-on-hover)}.switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.switch:active{transform:none}.switch:disabled{opacity:.45;cursor:not-allowed}.switch-thumb{position:absolute;top:50%;left:var(--switch-padding);width:var(--switch-thumb-size);height:var(--switch-thumb-size);border-radius:50%;background:var(--switch-thumb);box-shadow:0 1px 2px #0003;transform:translateY(-50%);transition:left .2s ease,right .2s ease,transform .2s ease;pointer-events:none}.switch--on .switch-thumb{left:auto;right:var(--switch-padding);transform:translateY(-50%)}.info-tip{position:relative;display:inline-flex;flex-shrink:0}.info-tip-btn{display:inline-flex;align-items:center;justify-content:center;min-height:0;padding:0;border:none;border-radius:0;background:transparent;color:var(--text-secondary);cursor:pointer;line-height:0;font-size:inherit}.info-tip-btn:hover,.info-tip--open .info-tip-btn,.info-tip-btn:focus-visible{color:var(--accent);background:transparent;border:none;transform:none}.info-tip-btn:active{transform:none}.info-tip-popover{display:flex;flex-direction:column;gap:6px;z-index:1100;width:max(220px,16vw);max-width:min(280px,calc(100vw - 20px));padding:10px 12px;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);box-shadow:var(--shadow);font-size:var(--text-sm);font-weight:600;line-height:1.45;color:var(--text-secondary);text-align:left;pointer-events:auto}.info-tip-popover--fixed{position:fixed}.info-tip-line{display:block}.info-tip-line+.info-tip-line{padding-top:2px}.player-color-picker{position:relative;z-index:1}.player-color-picker.is-open{z-index:2}.btn-player-color{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer}.btn-player-color:hover:not(:disabled){background:var(--bg-card);border-color:var(--accent)}.btn-player-color:disabled{opacity:.5;cursor:not-allowed}.player-color-picker-menu{position:absolute;top:calc(100% + .35rem);right:0;display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem;padding:.45rem;background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius);box-shadow:0 4px 12px #0000001f;z-index:30}.player-color-swatch{width:26px;height:26px;padding:0;border:1px solid rgba(0,0,0,.2);border-radius:50%;cursor:pointer}.player-color-swatch:hover:not(:disabled){transform:scale(1.1)}.player-color-swatch.selected{box-shadow:0 0 0 2px var(--bg-card),0 0 0 4px var(--text-primary)}.player-color-swatch.unavailable,.player-color-swatch:disabled{cursor:not-allowed;border-style:dashed;filter:grayscale(.7) brightness(.72);opacity:.7}.player-token{border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.25)}.player-token svg{color:#fff}.player-avatar-text{font-weight:700;line-height:1;color:inherit;text-shadow:0 1px 0 rgba(0,0,0,.25)}.lobby{height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--bg-primary)}.lobby-content{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:520px;margin:0 auto;padding:32px 16px 40px;font-family:var(--font-body)}.lobby-main{display:flex;flex-direction:column;gap:20px;width:100%}.lobby-main-setup,.lobby-main-social{display:flex;flex-direction:column;gap:20px;min-width:0}.lobby-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.lobby-spectator-badge{font-size:var(--text-sm);font-weight:700;padding:3px 10px;border-radius:999px;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary)}.lobby-title{font-size:40px;margin:0}.lobby-section-title{margin:0;font-family:var(--font-body);font-size:var(--text-lg);font-weight:700;color:var(--text-primary)}.lobby-invite{width:100%;display:flex;flex-direction:column;gap:8px;padding:12px;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card)}.lobby-invite-row{display:grid;grid-template-columns:72px 1fr auto;gap:8px;align-items:center}.lobby-invite-label{font-size:var(--text-sm);font-weight:700;color:var(--text-secondary)}.lobby-invite-value{font-size:var(--text-xl);font-weight:700;letter-spacing:.08em;font-family:var(--font-body)}.lobby-invite-url{font-size:var(--text-sm);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-settings{width:100%;display:flex;flex-direction:column;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);overflow:visible}.lobby-settings-group{display:flex;flex-direction:column;gap:0;padding:0}.lobby-settings-group+.lobby-settings-group{border-top:2px solid var(--border-color)}.lobby-settings-group>.lobby-section-title{margin:0;padding:12px 16px 10px;border-bottom:2px solid var(--border-color);font-size:var(--text-lg);font-weight:700}.lobby-setting-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:8px 16px;box-sizing:border-box}.lobby-settings-group>.lobby-setting-row:first-of-type{padding-top:12px}.lobby-settings-group>.lobby-setting-row:last-of-type{padding-bottom:12px}.lobby-setting-row--switch{align-items:center}.lobby-setting-label{font-size:var(--text-base);font-weight:700;color:var(--text-primary);flex-shrink:0}.lobby-setting-label-with-info{display:inline-flex;align-items:center;gap:6px;min-width:0}.lobby-setting-select{width:auto;min-width:132px;max-width:58%;flex:0 1 auto;height:34px;min-height:34px;padding:4px 10px 6px;font-family:var(--font-body);font-size:var(--text-md);line-height:1.3;border:2px solid var(--border-strong, var(--border-color));border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);box-sizing:border-box}.lobby-setting-select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent);outline:none}.lobby-setting-value{font-size:var(--text-md);font-weight:700;color:var(--text-secondary);flex:0 1 auto;max-width:58%;height:34px;min-height:34px;display:inline-flex;align-items:center;justify-content:flex-end;text-align:right;box-sizing:border-box}.lobby-setting-row .switch{flex-shrink:0;align-self:center}.lobby-players{width:100%;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);overflow:hidden}.lobby-players-header{position:relative;display:flex;align-items:center;gap:12px;padding:12px 16px 10px;border-bottom:2px solid var(--border-color)}.lobby-players-header:has(.btn){padding-right:132px}.lobby-players-header .lobby-section-title{margin:0;min-width:0}.lobby-players-header .btn{position:absolute;top:50%;right:16px;display:inline-flex;align-items:center;gap:6px;flex-shrink:0;transform:translateY(-50%)}.lobby-players-header .btn:active:not(:disabled){transform:translateY(-50%) scale(.97)}.lobby-players-list{display:flex;flex-direction:column}.lobby-player-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:8px 14px;transition:background .15s}.lobby-player-row+.lobby-player-row{border-top:2px solid var(--border-color)}.lobby-player-row:hover{background:var(--bg-secondary)}.lobby-player-row--host{background:color-mix(in srgb,var(--accent) 10%,var(--bg-card))}.lobby-player-row--host:hover{background:color-mix(in srgb,var(--accent) 14%,var(--bg-card))}.lobby-player-row--offline{opacity:.72}.lobby-player-row--empty{opacity:.55}.lobby-player-row--empty:hover{background:transparent}.lobby-player-row-main{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.lobby-player-token{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:var(--text-base);font-weight:700;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.25)}.lobby-player-token--empty{background:transparent;border:2px dashed color-mix(in srgb,var(--border-color) 80%,transparent)}.lobby-player-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;min-width:0}.lobby-player-name{font-size:var(--text-md);font-weight:700;line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-player-row--empty .lobby-player-name{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}.lobby-player-badges{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.lobby-player-badge{display:inline-flex;align-items:center;justify-content:center;min-height:18px;padding:0 6px;border-radius:4px;font-size:var(--text-xs);font-weight:700;line-height:1;white-space:nowrap}.lobby-player-badge--host{color:var(--gold);background:color-mix(in srgb,var(--gold) 22%,transparent);border:1px solid color-mix(in srgb,var(--gold) 35%,transparent)}.lobby-player-badge--you{color:var(--success);background:color-mix(in srgb,var(--success) 18%,transparent);border:1px solid color-mix(in srgb,var(--success) 30%,transparent)}.lobby-player-badge--offline{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.lobby-player-badge--bot{color:var(--text-primary);background:color-mix(in srgb,var(--text-secondary) 18%,transparent);border:1px solid color-mix(in srgb,var(--text-secondary) 35%,transparent)}.lobby-player-kick{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;flex-shrink:0;background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.lobby-player-kick:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.lobby-player-row-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.lobby-players:has(.player-color-picker.is-open){overflow:visible}.lobby-players-list:has(.player-color-picker.is-open){overflow:visible}.lobby-player-row:has(.player-color-picker.is-open){z-index:2;position:relative}.lobby-icon-picker{padding:12px 16px;border-top:2px solid var(--border-color);background:var(--bg-secondary)}.lobby-icon-picker-label{font-size:var(--text-sm);font-weight:700;color:var(--text-secondary);margin-bottom:8px;text-align:center}.lobby-icon-picker-options{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.lobby-icon-picker-btn{width:48px;height:48px;padding:6px;display:flex;align-items:center;justify-content:center;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);cursor:pointer}.lobby-icon-picker-btn:hover:not(:disabled){border-color:var(--accent)}.lobby-icon-picker-btn.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--bg-card));color:var(--accent)}.lobby-icon-picker-btn:disabled{opacity:.5;cursor:not-allowed}.lobby-players-footer{margin:0;padding:10px 16px 12px;border-top:2px solid var(--border-color);font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);text-align:center}.lobby-preset-panel{display:flex;flex-direction:column;gap:10px;padding:12px 16px}.lobby-preset-blurb{margin:0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.45}.lobby-preset-actions{display:flex;flex-wrap:wrap;gap:8px}.lobby-preset-action-btn{flex:1 1 auto;min-width:0}.choice-btn-group{display:flex;align-items:stretch;width:100%;gap:6px;flex-wrap:wrap}.choice-btn{flex:1 1 calc(20% - 6px);min-width:4.5rem;display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:0 8px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-weight:700;font-size:var(--text-sm);white-space:nowrap;transition:background .15s,transform .1s,border-color .15s}@media(hover:hover)and (pointer:fine){.choice-btn:hover:not(:disabled):not(.selected){background:var(--bg-secondary)}}.choice-btn:active:not(:disabled){transform:scale(.97)}.lobby-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%;padding-bottom:8px}.lobby-waiting{color:var(--text-secondary);font-size:var(--text-md);text-align:center}@media(min-width:860px){.lobby-content{max-width:960px;align-items:stretch;padding:36px 24px 40px}.lobby-main{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:20px;align-items:start}.lobby-main-social{position:sticky;top:20px}.lobby-setting-select,.lobby-setting-value{max-width:52%}}@media(max-width:480px){.lobby-content{padding:28px 12px 36px;gap:16px}}.card{position:relative;background:var(--card-face);color:var(--card-ink);border:2px solid var(--border-color);border-radius:6px;display:flex;flex-direction:column;overflow:hidden;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .12s ease,outline .12s ease;-webkit-user-select:none;user-select:none;flex-shrink:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media(hover:hover)and (pointer:fine){.card:hover:not(.card--disabled){transform:scale(1.06);z-index:10}}.card--selected{border-color:var(--accent);z-index:11}@media(hover:hover)and (pointer:fine){.card--selected{transform:translateY(-10px) scale(1.04);box-shadow:var(--card-shadow-selected)}.card--selected:hover{transform:translateY(-10px) scale(1.06)}}@media(hover:none){.card{transition:border-color .12s ease,outline .12s ease,box-shadow .12s ease}.card--selected{outline:2px solid var(--accent);outline-offset:-2px;box-shadow:none}}.card--disabled{opacity:.5;cursor:not-allowed}.card:has(.card-info-wrap--open),.card:has(.card-info-btn:focus-visible){overflow:visible;z-index:15}@media(hover:hover)and (pointer:fine){.card:has(.card-info-wrap:hover){overflow:visible;z-index:15}.card:has(.card-info-wrap:hover):hover:not(.card--disabled),.card:has(.card-info-wrap--open):hover:not(.card--disabled){z-index:15}}.card--sm{width:88px;height:123px;--card-value-w: 38px;--card-value-h: 20px;--card-value-font: .75rem}.card--md{width:132px;height:185px;--card-value-w: 48px;--card-value-h: 26px;--card-value-font: 1rem}.card--lg{width:176px;height:246px;--card-value-w: 58px;--card-value-h: 30px;--card-value-font: 1.2rem}.card-color-bar{width:100%;height:22%;flex-shrink:0}.card-color-bar--split{display:flex}.card-color-bar__segment,.card-color-bar__half{flex:1;height:100%;border-right:1px solid var(--card-segment-border)}.card-color-bar__segment:last-child,.card-color-bar__half:last-child{border-right:none}.card-color-bar__segment--active,.card-color-bar__half--active{box-shadow:inset 0 -3px #ffffffa6}.card-value{position:absolute;top:4px;right:4px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--card-value-w);height:var(--card-value-h);padding:0;background:var(--card-value-bg);border:1px solid var(--card-value-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--card-value-font);font-weight:700;font-variant-numeric:tabular-nums;line-height:1;color:var(--card-ink);text-align:center;white-space:nowrap}.card-info-wrap{position:absolute;top:4px;left:4px;z-index:2}.card-info-btn{position:relative;top:auto;left:auto;display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:1px solid var(--card-value-border);border-radius:50%;background:var(--card-value-bg);color:var(--card-ink-muted);cursor:pointer;line-height:1}.card-info-btn-mark{font-family:var(--font-body);font-size:.7rem;font-weight:700;font-style:italic;line-height:1;text-transform:none}.card--md .card-info-btn{width:20px;height:20px}.card--md .card-info-btn-mark{font-size:.78rem}.card--lg .card-info-btn{width:22px;height:22px}.card--lg .card-info-btn-mark{font-size:.85rem}.card-info-btn:hover,.card-info-wrap--open .card-info-btn{color:var(--card-ink);background:var(--card-face)}.card-info-popover{display:none;position:absolute;top:calc(100% + 4px);left:0;width:max(100%,132px);z-index:20;padding:6px 7px;border:1px solid var(--card-value-border);border-radius:var(--radius-sm);background:var(--card-face);box-shadow:var(--shadow);text-align:left;pointer-events:auto}@media(hover:hover)and (pointer:fine){.card-info-wrap:hover .card-info-popover,.card-info-btn:focus-visible+.card-info-popover{display:block}}@media(hover:none){.card-info-wrap--open .card-info-popover{display:block}}.card--md .card-info-popover{padding:7px 8px}.card--lg .card-info-popover{padding:8px 9px}.card-info-popover-title{font-family:var(--font-body);font-size:.7rem;font-weight:700;color:var(--card-ink);line-height:1.2;margin-bottom:3px}.card--md .card-info-popover-title{font-size:.78rem}.card--lg .card-info-popover-title{font-size:.85rem}.card-info-popover-text{font-family:var(--font-body);font-size:.62rem;color:var(--card-ink-muted);line-height:1.35}.card--md .card-info-popover-text{font-size:.7rem}.card--lg .card-info-popover-text{font-size:.76rem}.card-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 5px;text-align:center;gap:3px;overflow:hidden;min-height:0}.card-icon{display:flex;align-items:center;justify-content:center;color:var(--card-ink-muted);flex-shrink:0;line-height:0}.card-icon svg{display:block}.card--sm .card-icon{margin-bottom:1px}.card--money .card-icon{color:var(--gold)}.card-name{font-family:var(--font-body);font-weight:700;font-size:.85rem;color:var(--card-ink);line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card--md .card-name{font-size:1.05rem}.card--lg .card-name{font-size:1.3rem}.card-type{font-family:var(--font-body);font-size:.7rem;font-weight:700;text-align:center;padding:3px 0 5px;color:var(--card-ink-subtle);border-top:1px solid var(--card-divider)}.card--md .card-type{font-size:.8rem;padding:4px 0 6px}.card--lg .card-type{font-size:.95rem;padding:5px 0 7px}.card--back{background:var(--card-back)}.card-back-pattern{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:repeating-linear-gradient(45deg,transparent,transparent 6px,rgba(255,255,255,.1) 6px,rgba(255,255,255,.1) 12px)}.card-back-icon{display:flex;align-items:center;justify-content:center;color:#ffffffd9;line-height:0}.card-back-icon svg{display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}.card-back-text{font-size:1rem;font-weight:400;color:#fff;letter-spacing:.14em;text-shadow:0 1px 3px rgba(0,0,0,.3)}.card--sm .card-back-text{font-size:.85rem}.card--md .card-back-text{font-size:1.25rem}.card--lg .card-back-text{font-size:1.65rem}.hand{border-top:2px solid var(--border-color);background:var(--bg-secondary);padding:0 12px 8px;flex-shrink:0;overflow:visible;position:relative;z-index:5}.hand--empty{display:flex;align-items:center;justify-content:center;min-height:76px;padding-top:10px}.hand-empty-text{color:var(--text-secondary);font-size:var(--text-base)}.hand-cards{display:flex;gap:8px;overflow-x:auto;overflow-y:visible;padding:20px 4px 6px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;touch-action:pan-x}.hand-card-wrap{scroll-snap-align:center;transform-origin:bottom center;position:relative;flex-shrink:0}.hand-card-wrap--just-drawn{z-index:12}.hand-cards>.hand-card-wrap>.card--md{width:120px;height:168px;--card-value-w: 44px;--card-value-h: 24px;--card-value-font: .9rem}.hand-cards .card.card--selected,.hand-cards .card.card--just-drawn{z-index:10}.hand-cards .card.card--just-drawn{z-index:12;transition:none;animation:hand-card-draw .75s ease-out,hand-card-flash 1s ease-in-out .75s 2;border-color:var(--flash-border);box-shadow:0 0 0 3px var(--flash-glow),var(--card-shadow-selected, 0 8px 18px rgba(0, 0, 0, .18))}@media(hover:hover)and (pointer:fine){.hand-cards .card:hover:not(.card--disabled){z-index:10}.hand-cards .card.card--just-drawn:hover:not(.card--disabled){transform:translateY(-4px) scale(1.03)}}@media(hover:none){.hand-cards .card:active:not(.card--disabled){transform:scale(.98);transition-duration:.05s}.hand-cards .card.card--selected:active:not(.card--disabled){transform:scale(.98)}.hand-cards .card.card--just-drawn:active:not(.card--disabled){transform:none}}@keyframes hand-card-draw{0%{opacity:.35;transform:translateY(18px) scale(.9);box-shadow:0 0 0 0 var(--flash-glow)}35%{opacity:1;transform:translateY(-12px) scale(1.08);box-shadow:0 0 0 8px var(--flash-glow)}70%{transform:translateY(-4px) scale(1.03);box-shadow:0 0 0 4px var(--flash-glow)}to{opacity:1;transform:none}}@keyframes hand-card-flash{0%,to{border-color:var(--flash-border);box-shadow:0 0 0 2px var(--flash-glow),var(--card-shadow-selected, 0 8px 18px rgba(0, 0, 0, .18));background:var(--card-face)}50%{border-color:var(--flash-border);box-shadow:0 0 0 7px #d4a52026,var(--card-shadow-selected, 0 8px 18px rgba(0, 0, 0, .18));background:var(--flash-bg)}}.bank-cash-anchor{position:relative;display:inline-flex;align-items:center;gap:4px;min-width:0;overflow:visible}.bank-cash-delta{flex-shrink:0;font-family:var(--font-body);font-size:var(--text-xs);font-weight:800;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap;pointer-events:none;animation:bank-cash-pop 1.5s ease-out forwards}.bank-cash-delta--in{color:#1f7a3a}.bank-cash-delta--out{color:var(--accent)}@keyframes bank-cash-pop{0%{opacity:0;transform:translateY(3px) scale(.9)}14%{opacity:1;transform:translateY(0) scale(1.1)}65%{opacity:1}to{opacity:0;transform:translateY(-4px)}}.hand-stats{border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);padding:8px}.hand-stats-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border-color)}.hand-stats-label{font-family:var(--font-body);font-size:var(--text-sm);font-weight:700}.hand-stats-total{font-size:var(--text-sm);font-weight:700;color:var(--text-secondary)}.hand-stats-empty{color:var(--text-secondary);font-size:var(--text-sm)}.hand-stats-cats{display:flex;flex-wrap:wrap;gap:6px}.hand-stats-cat{display:inline-flex;align-items:baseline;gap:6px;padding:3px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);font-size:var(--text-sm);font-weight:700}.hand-stats-cat-label{color:var(--text-secondary)}.hand-stats-cat-count{color:var(--text-primary);font-variant-numeric:tabular-nums}.hand-stats-cat--property{border-color:color-mix(in srgb,#1B8C3A 45%,var(--border-color))}.hand-stats-cat--money{border-color:color-mix(in srgb,var(--gold) 55%,var(--border-color))}.hand-stats-cat--rent{border-color:color-mix(in srgb,#CC0000 40%,var(--border-color))}.hand-stats-cat--action{border-color:color-mix(in srgb,#003087 40%,var(--border-color))}.hand-stats--compact{border:none;border-radius:0;background:transparent;padding:0}.hand-stats--compact .hand-stats-header{border-bottom:none;padding-bottom:0}.hand-stats--header-only .hand-stats-header{margin-bottom:0;padding-bottom:0;border-bottom:none}button.modal-close{position:absolute;top:10px;right:10px;z-index:1;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;display:grid;place-items:center;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);font-size:var(--text-base);line-height:1;cursor:pointer;color:var(--text-secondary)}button.modal-close:hover{background:var(--bg-card);color:var(--text-primary)}button.modal-close svg{display:block}.pending-modal-body>.pending-title,.target-modal-body>h4,.set-picker>h4,.play-area-flip-picker>h4,.rent-ref-header h3,.game-mobile-sheet-header span,.player-preview-name{padding-right:40px}.set-color-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:3px;font-size:var(--text-xs);font-weight:700;line-height:1.45;vertical-align:middle;white-space:nowrap;box-shadow:inset 0 0 0 1px color-mix(in srgb,#000 18%,transparent)}.set-color-strip{position:relative;display:inline-flex;align-items:center;gap:6px;min-width:0}.set-color-strip__bar{display:block;flex:1 1 auto;min-width:28px;height:10px;border-radius:2px;border:1px solid color-mix(in srgb,var(--border-color) 55%,transparent)}.set-color-strip--block{display:flex;width:100%}.set-color-strip--block .set-color-strip__bar{flex:1 1 auto;height:12px}.set-color-strip__name{flex-shrink:0;font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.set-color-strip__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.set-color-swatch{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:40px;min-height:36px;padding:4px;border:2px solid var(--border-strong, var(--border-color));border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;overflow:hidden}.set-color-swatch__fill{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:2px;background:var(--set-swatch-color)}.set-color-swatch:hover{background:var(--bg-secondary)}.set-color-swatch--selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.set-color-swatch:disabled{opacity:.5;cursor:not-allowed}.play-area{--play-area-side-width: 168px;--play-area-card-w: 88px;--play-area-card-gap: 8px;--play-area-set-inset: 28px;flex:1;display:flex;align-items:flex-start;gap:16px;padding:12px 12px 0;overflow:auto;min-height:0;scroll-padding-bottom:12px}.play-area-bank{width:var(--play-area-side-width);flex-shrink:0;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);padding:8px;align-self:flex-start;overflow:visible}.play-area-side{width:var(--play-area-side-width);flex-shrink:0;display:flex;flex-direction:column;gap:10px;align-self:flex-start;margin-bottom:12px}.play-area-side .play-area-bank{width:100%;margin-bottom:0}.play-area-hand-stats,.play-area-property-set-stats{width:100%}.play-area-properties-wrap{position:relative;flex:1;min-width:0;min-height:0;align-self:stretch;display:flex;flex-direction:column;overflow:visible}.play-area-watermark{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0}.play-area-watermark-inner{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.play-area-watermark-title{font-size:clamp(20px,3.5vw,44px);color:var(--text-primary);opacity:var(--watermark-opacity)}.play-area-watermark-room{font-family:var(--font-body);font-size:clamp(13px,1.8vw,17px);font-weight:700;letter-spacing:.14em;color:var(--text-secondary);opacity:var(--watermark-opacity)}.play-area-properties{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;align-content:flex-start;width:100%;box-sizing:border-box}.play-area-properties-wrap:not(:has(.play-area-empty-props:only-child)){margin-bottom:12px}.play-area-properties:has(.play-area-empty-props:only-child){flex:1;display:flex;align-items:center;align-content:center;justify-content:center;min-height:0}.play-area-properties:not(:has(.play-area-empty-props:only-child)){padding-bottom:12px}.play-area-bank-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border-color)}.play-area-label{font-family:var(--font-body);font-size:var(--text-sm);font-weight:700}.play-area-bank-total{font-family:var(--font-body);font-size:var(--text-base);font-weight:700;color:var(--accent);overflow:visible}.play-area-bank-cards{display:flex;flex-wrap:wrap;gap:4px}.play-area-bank-cards:has(.play-area-empty:only-child){display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:8px 0}.play-area-bank-note{display:inline-flex;align-items:baseline;gap:3px}.play-area-bank-card{display:inline-flex;align-items:center;justify-content:center;width:40px;height:24px;box-sizing:border-box;background:var(--gold);border:1px solid var(--border-color);border-radius:3px;padding:0;font-size:var(--text-sm);font-family:var(--font-body);font-variant-numeric:tabular-nums;line-height:1;color:#fff}.play-area-bank-card-count{font-size:var(--text-xs);font-weight:700;color:var(--text-secondary)}.play-area-empty-props{display:flex;flex:1;align-items:center;justify-content:center;width:100%;align-self:stretch;min-height:0;padding:32px 24px}.play-area-empty{color:var(--text-secondary);font-size:var(--text-2xl);font-weight:700;line-height:1.3;text-align:center}.play-area-set{border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);padding:8px;overflow:visible;flex:0 0 auto;width:fit-content;max-width:100%;min-width:calc(var(--play-area-set-cols) * var(--play-area-card-w) + (var(--play-area-set-cols) - 1) * var(--play-area-card-gap) + var(--play-area-set-inset))}.play-area-set--complete{border-color:var(--success);box-shadow:0 0 0 1px var(--success)}.play-area-set-header{display:flex;flex-direction:column;align-items:stretch;gap:4px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border-color)}.play-area-set-strip{width:100%;flex:none}.play-area-set-header-meta{display:flex;align-items:baseline;gap:6px;width:100%}.play-area-set-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);font-weight:700;line-height:1.25}.play-area-set-rent{flex-shrink:0;font-size:var(--text-sm);font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.play-area-set-count-wrap{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;margin-left:auto}.play-area-set-count{font-size:var(--text-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums;text-align:right}.play-area-set-badge{background:var(--success);color:#fff;font-size:var(--text-xs);width:18px;height:18px;min-width:18px;min-height:18px;border-radius:50%;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;line-height:1;aspect-ratio:1}.play-area-set-cards{display:grid;grid-template-columns:repeat(var(--play-area-set-cols),var(--play-area-card-w));gap:var(--play-area-card-gap);padding:8px 4px;overflow:visible}.play-area-set-cards .card{position:relative;z-index:0}.play-area-set-cards .card--flipable{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent);cursor:pointer}.play-area-set-cards .card:hover:not(.card--disabled){z-index:2;transform:scale(1.04)}.play-area-set-cards .card--flipable:hover:not(.card--disabled){box-shadow:0 0 0 2px var(--accent)}.play-area-flip-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:220}.play-area-flip-picker{position:relative;background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius);padding:20px;width:var(--modal-compact-width);max-height:70vh;overflow-y:auto}.play-area-flip-picker h4{margin-bottom:12px;font-size:var(--text-lg)}.play-area-flip-picker .pending-pay-warning{margin:0 0 12px}.play-area-flip-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px}.play-area-flip-swatch{width:100%;min-height:40px}.play-area-flip-actions{display:flex;justify-content:flex-end;margin-top:12px}.play-area-flip-cancel{padding:10px 20px;font-size:var(--text-md);font-weight:700;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);cursor:pointer}.play-area-flip-cancel:hover{background:var(--bg-card)}.play-area--compact .play-area-properties{gap:10px}.play-area--compact .play-area-side{width:148px;min-width:136px;flex-direction:column;flex-wrap:nowrap;gap:10px}.play-area--compact .play-area-side .play-area-compact-set--summary{flex:0 0 auto;width:100%;min-width:0;max-width:none}.play-area--compact .play-area-properties-wrap{flex:1;min-width:0}.play-area-compact-set{flex:1 1 148px;min-width:136px;max-width:192px;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);overflow:hidden}.play-area-compact-set--complete{border-color:var(--success)}.play-area-compact-set--summary .play-area-compact-set-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:6px;border-bottom:none}.play-area-compact-set--bank .play-area-compact-set-rent{color:var(--accent)}.play-area-compact-set-header{display:flex;flex-direction:column;gap:4px;padding:6px 8px;border-bottom:1px solid var(--border-color);font-size:var(--text-sm);font-weight:700;line-height:1.25}.play-area-compact-set-strip .set-color-strip__bar{height:8px}.play-area-compact-set-header-meta{display:flex;align-items:baseline;gap:6px;width:100%}.play-area-compact-set-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.play-area-compact-set-rent{flex-shrink:0;font-variant-numeric:tabular-nums;color:var(--text-primary)}.play-area-compact-set-count{flex-shrink:0;margin-left:auto;color:var(--text-secondary);font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.play-area-compact-set-cards{display:flex;flex-direction:column}.play-area-compact-row{display:flex;align-items:center;gap:6px;width:100%;padding:4px 6px;border:none;border-radius:0;border-bottom:1px solid var(--border-color);background:var(--bg-card);font:inherit;color:inherit;text-align:left;min-height:28px;-moz-appearance:none;appearance:none;-webkit-appearance:none}.play-area-compact-row:active{transform:none}.play-area-compact-row:last-child{border-bottom:none}.play-area-compact-row--flipable{cursor:pointer}.play-area-compact-row--flipable:hover{background:var(--bg-secondary)}.play-area-compact-row-color{width:14px;height:22px;flex-shrink:0;border:1px solid var(--border-color);border-radius:2px}.play-area-compact-row-color--split{display:flex;flex-direction:column;padding:0;overflow:hidden;background:transparent}.play-area-compact-row-color-segment{flex:1;min-height:0;width:100%;border-bottom:1px solid color-mix(in srgb,var(--border-color) 70%,transparent)}.play-area-compact-row-color-segment:last-child{border-bottom:none}.play-area-compact-row-color-segment--active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text-primary) 45%,transparent)}.play-area-compact-row-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm)}.play-area-compact-row-value{flex-shrink:0;font-size:var(--text-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums}@media(max-width:600px){.play-area{flex-direction:column;gap:10px;padding:8px 8px 0;scroll-padding-bottom:8px}.play-area-bank,.play-area-side{width:100%;margin-bottom:8px}.play-area-side{flex-direction:row;flex-wrap:wrap;align-items:stretch}.play-area-side .play-area-bank,.play-area-hand-stats{flex:1 1 var(--play-area-side-width);min-width:var(--play-area-side-width)}.play-area-properties-wrap{width:100%}.play-area-properties-wrap:not(:has(.play-area-empty-props:only-child)){margin-bottom:8px}.play-area-properties:not(:has(.play-area-empty-props:only-child)){padding-bottom:8px}.play-area-watermark-title{font-size:clamp(18px,5vw,30px)}.play-area-watermark-room{font-size:clamp(12px,2.8vw,15px)}.play-area-properties{flex-direction:column;flex-wrap:nowrap;align-items:stretch}.play-area-set{flex:0 0 auto;width:100%;max-width:100%;min-width:0}.play-area-set-cards{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scroll-padding-inline:4px}.play-area-set-cards .card{flex:0 0 auto}.play-area--compact .play-area-side{width:100%;min-width:0;flex-direction:row;flex-wrap:nowrap;gap:10px;align-items:stretch}.play-area--compact .play-area-side>.play-area-compact-set--summary,.play-area--compact .play-area-side>.play-area-property-set-stats{flex:1 1 0;min-width:0;width:auto;max-width:none}.play-area--compact .play-area-side>.play-area-property-set-stats .play-area-compact-set{width:100%;height:100%}.play-area--compact .play-area-properties{flex-direction:row;flex-wrap:wrap;align-items:flex-start}.play-area--compact .play-area-compact-set{flex:1 1 calc(50% - 5px);min-width:0;max-width:none}}.pending-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:200}.pending-modal{position:relative;display:flex;flex-direction:column;background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius);padding:0;width:var(--modal-action-width);max-height:80vh;overflow:hidden;font-family:var(--font-body);box-shadow:0 12px 40px #00000040}.pending-modal-body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:24px}.pending-modal-footer{flex:0 0 auto;padding:16px 24px;border-top:1px solid var(--border-color);background:color-mix(in srgb,var(--bg-card) 88%,var(--bg-secondary));box-shadow:0 -8px 18px color-mix(in srgb,#000 8%,transparent)}.pending-modal-footer .pending-pay-warning{margin-bottom:8px}.pending-modal-footer .pending-pay-total{margin-bottom:10px}.pending-modal-footer .pending-actions{margin-top:0}.modal-action-error{margin:0 0 10px;font-size:var(--text-base);font-weight:700;color:var(--accent)}.pending-title{font-size:var(--text-3xl);margin-bottom:6px}.pending-source{font-size:var(--text-lg);color:var(--text-secondary);margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.pending-source-from{display:inline-flex;align-items:center;gap:8px;min-width:0}.pending-deadline{font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:700;color:var(--text-primary)}.pending-deadline--urgent{color:var(--danger, #c0392b)}.pending-amount{font-family:var(--font-body);font-size:var(--text-2xl);font-weight:700;color:var(--accent);margin-bottom:14px}.pending-target-set{margin-bottom:16px}.pending-target-set .pending-amount{margin-bottom:8px}.pending-target-set-strip{width:100%}.pending-target-set-strip .set-color-strip__name{font-size:var(--text-md)}.pending-forced-deal{margin-bottom:16px}.pending-forced-deal .pending-amount{margin-bottom:10px}.pending-forced-deal-cols{display:flex;flex-wrap:wrap;gap:16px 24px}.pending-forced-deal-col{flex:1 1 200px;min-width:0}.pending-forced-deal-col .pending-pay-cards{margin-bottom:0}.pending-set-board{margin-top:4px}.pending-set-board-meta{font-size:var(--text-sm);font-weight:700;color:var(--text-secondary);margin:6px 0 8px}.pending-no-assets{font-size:var(--text-lg);color:var(--text-secondary);margin-bottom:12px}.pending-pay-hint{font-size:var(--text-sm);line-height:1.45;color:var(--text-secondary);margin:-6px 0 12px}.pending-pay-hint--note{margin-top:-4px;color:var(--text-primary)}.pending-pay-set-group{padding:10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-secondary) 70%,transparent)}.pending-pay-set-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;min-width:0}.pending-pay-set-strip{flex:1;min-width:0}.pending-pay-set-badges{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;flex-shrink:0}.pending-pay-set-badges .pending-pay-badge{position:static;transform:none}.pending-pay-card-wrap{position:relative}.pending-pay-badge{position:absolute;left:50%;bottom:-2px;transform:translate(-50%);z-index:3;padding:1px 5px;border-radius:999px;font-size:var(--text-xs);font-weight:700;line-height:1.2;white-space:nowrap;pointer-events:none;border:1px solid transparent}.pending-pay-badge--complete{color:var(--on-accent);background:var(--accent);border-color:color-mix(in srgb,var(--accent) 80%,black)}.pending-pay-badge--building,.pending-pay-badge--building-count{color:#1f4d2b;background:#b8e6c1;border-color:#7bc48a}.pending-pay-badge--break{color:#7a2e00;background:#ffd8b8;border-color:#ffb07a}.pending-pay-badge--zero{color:#4a4a4a;background:#e8e8e8;border-color:#c8c8c8}.pending-pay-warning{margin:0 0 10px;padding:8px 10px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 12%,var(--bg-card));border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border-color))}.pending-pay-warning p{margin:0;font-size:var(--text-sm);line-height:1.4;color:var(--text-primary)}.pending-pay-warning p+p{margin-top:4px}.pending-pay-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.pending-suggest-btn{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:6px 10px;border:1px dashed var(--border-color);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;cursor:pointer}.pending-suggest-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.pending-pay-groups{display:flex;flex-direction:column;gap:14px;margin:0 0 12px;padding:0;overflow:visible}.pending-pay-group-label{font-size:var(--text-md);font-weight:700;color:var(--text-secondary);margin-bottom:8px}.pending-pay-set-groups{display:flex;flex-direction:column;gap:10px}.pending-pay-cards{display:flex;flex-wrap:wrap;gap:10px 12px;margin-bottom:12px;padding:8px 4px 12px;overflow:visible}.pending-pay-groups .pending-pay-cards{margin-bottom:0}.pending-pay-set-group .pending-pay-cards{margin-bottom:0;padding:2px 0 6px}.pending-pay-cards .card{position:relative;z-index:0}.pending-pay-cards .card:hover:not(.card--disabled),.pending-pay-cards .card.card--selected{z-index:2}.pending-pay-cards .card:hover:not(.card--disabled){transform:scale(1.04)}.pending-pay-cards .card--selected{transform:none;border-color:var(--accent);outline:2px solid var(--accent);outline-offset:0;box-shadow:none}.pending-pay-cards .card--selected:hover{transform:scale(1.04)}.pending-pay-total{font-family:var(--font-body);font-size:var(--text-md);font-weight:700;margin-bottom:8px}.pending-pay-total--short{color:var(--accent)}.pending-actions{display:flex;gap:10px;margin-top:16px;width:100%}.pending-actions>.btn,.pending-actions>.pending-btn,.pending-actions>button{flex:1;min-width:0}.pending-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--btn-height);padding:12px 16px;border:2px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-lg);font-weight:700;line-height:1.2;cursor:pointer;background:var(--bg-card)}.pending-btn:hover:not(:disabled){background:var(--bg-secondary)}.pending-btn:disabled{opacity:.45;cursor:not-allowed}.pending-btn--jsn{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.pending-btn--jsn:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.pending-btn--pay{background:var(--btn-emphasis-bg);color:var(--btn-emphasis-text);border-color:var(--btn-emphasis-bg)}.pending-btn--pay:hover:not(:disabled){background:var(--btn-emphasis-hover-bg);border-color:var(--btn-emphasis-hover-bg)}.pending-btn--accept{background:var(--btn-emphasis-bg);color:var(--btn-emphasis-text);border-color:var(--btn-emphasis-bg)}.pending-btn--transfer{background:color-mix(in srgb,var(--accent) 18%,var(--bg-card));color:var(--text-primary);border-color:var(--accent)}.pending-btn--transfer:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 28%,var(--bg-card))}.opponent{box-sizing:border-box;display:flex;flex-direction:column;gap:4px;width:236px;min-width:236px;max-width:236px;padding:8px 10px;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);text-align:left;font:inherit;color:inherit}.opponent--clickable{cursor:pointer}.opponent--clickable:hover:not(:disabled){background:var(--bg-secondary)}.opponent--clickable:active:not(:disabled){transform:scale(.98)}.opponent--current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.opponent--responding{border-color:color-mix(in srgb,var(--accent) 70%,var(--border-color));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.opponent--disconnected{opacity:.5}.opponent--forfeited{opacity:.4}.opponent-info{display:flex;justify-content:space-between;align-items:center;gap:6px;min-width:0}.opponent-identity{display:inline-flex;align-items:center;gap:6px;min-width:0;flex:1}.opponent-name{font-weight:700;font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.opponent-info-meta{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;margin-left:auto}.opponent-turn-badge,.opponent-respond-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}.opponent-turn-badge,.opponent-respond-badge{color:var(--accent)}.opponent-status-icons{display:inline-flex;align-items:center;gap:4px}.opponent-status-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}.opponent-status-icon--host{color:var(--gold)}.opponent-status-icon--offline,.opponent-status-icon--bot{color:var(--text-secondary)}.opponent-status-icon--autopilot{color:var(--accent)}.opponent-status-icon--forfeited{color:var(--prompt-warn-text)}.opponent-timer{flex-shrink:0;font-size:var(--text-xs);padding:1px 6px;pointer-events:none}.opponent-timer--response{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.opponent--self{background:color-mix(in srgb,var(--accent) 8%,var(--bg-card))}.opponent-assets{display:flex;align-items:center;gap:6px;min-width:0;overflow:visible}.opponent-bank{flex-shrink:0;font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums;color:var(--gold);min-width:2.6em;overflow:visible}.opponent-hand-count{flex-shrink:0;font-size:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-secondary);font-family:var(--font-body)}.opponent-sets{display:flex;gap:3px;min-width:0;overflow:hidden}.opponent-set-dot{box-sizing:border-box;width:20px;height:20px;flex-shrink:0;border-radius:3px;border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center}.opponent-set-dot--complete{border:2px solid var(--success);box-shadow:none}.opponent-set-dot-count{font-size:var(--text-2xs);font-family:var(--font-body);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}@media(max-width:600px){.opponent{width:200px;min-width:200px;max-width:200px;padding:6px 8px}.opponent-name{font-size:var(--text-sm)}.opponent-timer{font-size:var(--text-xs);padding:1px 5px}}.action-bar{display:flex;flex-direction:column;gap:6px;padding:8px 12px;border-top:2px solid var(--border-color);background:var(--bg-card);flex-shrink:0;position:relative}.action-bar-wrap{position:relative;flex-shrink:0;z-index:10}.action-bar-controls{position:relative;min-height:42px}.action-bar-autopilot-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 12px;background:color-mix(in srgb,var(--bg-card) 72%,transparent);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);pointer-events:none}.action-bar-autopilot-card{pointer-events:auto;display:flex;align-items:center;gap:12px;max-width:min(420px,100%);background:transparent;border:none;box-shadow:none;padding:0}.action-bar-autopilot-card>svg{flex-shrink:0;color:var(--accent);width:36px;height:36px}.action-bar-autopilot-copy{display:flex;flex-direction:column;gap:2px;min-width:0;text-align:left}.action-bar-autopilot-title{font-family:var(--font-body);font-size:var(--text-xl);font-weight:700;color:var(--accent);line-height:1.15}.action-bar-autopilot-message{margin:0;font-size:var(--text-sm);font-weight:600;line-height:1.35;color:var(--text-secondary)}.action-bar-autopilot-cancel{flex-shrink:0;min-height:34px;padding:6px 12px;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);font-weight:700;cursor:pointer}.action-bar-autopilot-cancel:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.action-bar-autopilot-cancel:disabled{opacity:.45;cursor:not-allowed}.action-bar-prompt{display:flex;align-items:center;justify-content:space-between;gap:10px;box-sizing:border-box;min-height:42px;min-width:0;text-align:left;font-family:var(--font-body);font-size:var(--text-lg);font-weight:700;line-height:1.25;padding:8px 12px;border-radius:var(--radius-sm);border:2px solid var(--border-color)}.action-bar-prompt-text{min-width:0;flex:1;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-bar-spectator-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:1.25em;font-family:var(--font-body);font-size:inherit;font-weight:800;letter-spacing:.04em;line-height:1;padding:0 6px;border-radius:4px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary)}.action-bar--spectator{padding-top:10px;padding-bottom:10px}.action-bar-prompt-timer{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:1.25em;font-family:var(--font-body);font-size:inherit;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;padding:0 6px;border-radius:4px;border:1px solid currentColor;background:var(--bg-card);color:inherit}.action-bar-prompt-timer--urgent{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.action-bar-prompt--action{background:var(--prompt-action-bg);border-color:var(--prompt-action-border);color:var(--prompt-action-text);animation:prompt-pulse 1.2s ease-in-out infinite}.action-bar-prompt--warn{background:var(--prompt-warn-bg);border-color:var(--prompt-warn-border);color:var(--prompt-warn-text);animation:prompt-pulse 1.2s ease-in-out infinite}.action-bar-prompt--info{background:var(--bg-secondary);color:var(--text-primary)}.action-bar-prompt--muted{background:var(--bg-secondary);color:var(--text-secondary);font-weight:600}.action-bar-row{display:flex;align-items:center;gap:12px}.action-bar-left{display:flex;gap:8px;flex-shrink:0}.action-bar-center{flex:1;display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0}.action-bar-right{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}.action-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:8px 14px;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);font-family:var(--font-body);font-size:var(--text-md);font-weight:700;line-height:1.2;cursor:pointer;opacity:.5;white-space:nowrap}.action-btn:disabled{cursor:not-allowed}.action-btn--active{opacity:1;background:var(--bg-card)}.action-btn--active:hover:not(:disabled){background:var(--bg-secondary)}.action-btn-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}.action-btn-label{font-family:inherit;font-size:inherit;font-weight:inherit}.action-btn-badge{font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;line-height:1;padding:2px 6px;border-radius:999px;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary)}.action-btn--active .action-btn-badge{background:var(--bg-card);color:var(--text-primary)}.action-btn--end.action-btn--active{background:var(--btn-emphasis-bg);color:var(--btn-emphasis-text);border-color:var(--btn-emphasis-bg)}.action-btn--end.action-btn--active:hover:not(:disabled){background:var(--btn-emphasis-hover-bg);color:var(--btn-emphasis-text);border-color:var(--btn-emphasis-hover-bg)}.action-btn--property.action-btn--active{border-color:var(--success);color:var(--success)}.action-btn--action.action-btn--active{border-color:var(--teal);color:var(--teal)}.action-btn--discard.action-btn--active{border-color:var(--accent);color:var(--accent)}.action-btn--cancel.action-btn--active{color:var(--text-secondary)}.action-btn--flash{opacity:1;animation:btn-flash 1s ease-in-out infinite}.action-bar-play-options{display:flex;flex-wrap:wrap;gap:8px}.action-bar-error{font-size:var(--text-base);color:var(--accent)}@keyframes btn-flash{0%,to{box-shadow:0 0 0 0 var(--flash-glow);transform:scale(1)}50%{box-shadow:0 0 0 6px #d4a52000;transform:scale(1.04);background:var(--flash-bg);border-color:var(--flash-border)}}@keyframes prompt-pulse{0%,to{opacity:1}50%{opacity:.72}}.set-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:100}.set-picker{position:relative;background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius);padding:20px;width:var(--modal-compact-width)}.set-picker h4{margin-bottom:12px;font-size:var(--text-lg)}.set-picker-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px}.set-picker-swatch{width:100%;min-height:40px}.set-picker-actions{display:flex;justify-content:flex-end;margin-top:12px}.set-picker-cancel{padding:10px 20px;font-size:var(--text-md);font-weight:700;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);cursor:pointer}.set-picker-cancel:hover{background:var(--bg-card)}.action-btn--hack{border-color:color-mix(in srgb,#e65100 55%,var(--border-color));color:#e65100}.action-btn--hack:hover:not(:disabled){background:color-mix(in srgb,#e65100 12%,var(--bg-secondary))}.hack-picker{position:relative;background:var(--bg-card);border:2px solid color-mix(in srgb,#e65100 45%,var(--border-color));border-radius:var(--radius);padding:20px;width:min(92vw,720px);max-height:min(85vh,640px);overflow:auto}.hack-picker h4{margin-bottom:4px;font-size:var(--text-lg)}.hack-picker-note{margin:0 0 12px;font-size:var(--text-sm);color:var(--text-secondary)}.hack-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px}.hack-picker-card-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 6px;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);cursor:pointer}.hack-picker-card-btn:hover{border-color:#e65100;background:color-mix(in srgb,#e65100 8%,var(--bg-secondary))}.hack-picker-card-name{font-size:var(--text-xs);font-weight:700;line-height:1.2;text-align:center;color:var(--text-primary)}@media(max-width:600px){.action-bar--mobile{gap:4px;padding:6px 8px}.action-bar--mobile .action-bar-prompt{font-size:var(--text-sm);font-weight:700;min-height:28px;padding:4px 8px;border-width:1px}.action-bar--mobile .action-bar-row{flex-wrap:nowrap;gap:8px}.action-bar--mobile .action-bar-left,.action-bar--mobile .action-bar-right{width:auto;margin-left:0}.action-bar--mobile .action-bar-center{justify-content:center}.action-bar--mobile .action-bar-play-options{flex-wrap:nowrap;gap:6px;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.action-bar--mobile .action-btn{min-height:42px;padding:6px 10px;font-size:var(--text-sm)}.action-bar--mobile .action-btn--icon-label{padding:6px 8px}.action-bar--mobile .action-btn-badge{font-size:var(--text-xs);padding:1px 5px}}.target-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:150}.target-modal{position:relative;display:flex;flex-direction:column;background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius);padding:0;width:var(--modal-action-width);max-height:80vh;overflow:hidden;font-family:var(--font-body);box-shadow:0 12px 40px #00000040}.target-modal-body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:24px}.target-modal-footer{flex:0 0 auto;padding:16px 24px;border-top:1px solid var(--border-color);background:color-mix(in srgb,var(--bg-card) 88%,var(--bg-secondary));box-shadow:0 -8px 18px color-mix(in srgb,#000 8%,transparent)}.target-modal-footer .target-summary,.target-modal-footer .target-summary-stack{margin:0 0 10px}.target-modal-footer .target-actions{margin-top:0}.target-modal-body h4{font-size:var(--text-xl);margin-bottom:8px}.target-step-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.target-step-head h4{margin-bottom:0}.target-step-count{flex-shrink:0;font-size:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.target-description{font-size:var(--text-base);color:var(--text-secondary);margin-bottom:16px}.target-section{margin-bottom:16px}.target-options+.target-section{margin-top:16px;padding-top:16px}.target-section label{display:block;font-size:var(--text-sm);font-weight:700;color:var(--text-secondary);margin-bottom:6px}.target-options{display:flex;flex-direction:column;gap:6px}.target-options--swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px}.target-options--swatches .target-empty{grid-column:1 / -1}.target-rent-swatch{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0}.target-rent-swatch .set-color-swatch{width:100%}.target-rent-swatch-amt{font-size:var(--text-xs);font-weight:700;text-align:center;color:var(--text-secondary);font-variant-numeric:tabular-nums}.target-rent-swatch-amt--zero{color:var(--text-muted, var(--text-secondary));opacity:.7}.target-rent-preview{margin:0;font-size:var(--text-lg);font-weight:700;line-height:1.4}.target-rent-preview--zero{font-size:var(--text-base);font-weight:600;color:var(--text-secondary)}.target-option{text-align:left;padding:10px 14px;border:2px solid var(--border-strong, var(--border-color));border-radius:var(--radius-sm);background:var(--bg-card);font-family:var(--font-body);font-size:var(--text-base);font-weight:700;cursor:pointer;transition:background .1s}.target-option--with-strip,.target-option--with-meta{display:flex;flex-direction:column;align-items:stretch;gap:6px}.target-option-player{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-sm);min-width:0;max-width:100%}.target-option-main{display:flex;align-items:center;gap:8px;min-width:0;max-width:100%}.target-option-main>:first-child{flex-shrink:0}.target-option-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-option:hover{background:var(--bg-secondary)}.target-option--selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg-card));box-shadow:0 0 0 1px var(--accent)}.target-empty{font-size:var(--text-base);color:var(--text-secondary);padding:8px 0}.target-card-grid{display:flex;flex-wrap:wrap;gap:10px}.target-card-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;border:2px solid var(--border-strong, var(--border-color));border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;font:inherit;color:inherit}.target-card-option:hover{background:var(--bg-secondary)}.target-card-option--selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg-card))}.target-card-option .card{pointer-events:none}.target-card-option-set{font-size:var(--text-xs);font-weight:700;color:var(--text-secondary)}.target-option-meta{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}.target-option-meta--sets{display:flex;flex-wrap:wrap;gap:6px 10px}.target-option-set-fill{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}.target-option-kind-swatch{display:inline-flex;width:18px;height:8px;flex:0 0 auto;overflow:hidden;border-radius:2px;border:1px solid color-mix(in srgb,var(--border-color) 55%,transparent)}.target-option-kind-swatch__seg{flex:1 1 0;min-width:0;height:100%}.target-option-meta--deal-breaker{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.target-deal-breaker-buildings{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.target-deal-breaker-building{display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:999px;background:color-mix(in srgb,var(--bg-secondary) 80%,transparent);border:1px solid var(--border-color);color:var(--text-primary)}.target-deal-breaker-building-count{font-size:var(--text-xs);font-weight:700;font-variant-numeric:tabular-nums}.target-summary{margin:12px 0 4px;padding:10px 12px;border:1px dashed var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary)}.target-summary-label{font-size:var(--text-sm);font-weight:700;color:var(--text-secondary);margin-bottom:8px}.target-summary-card{display:flex;flex-direction:column;align-items:center;gap:4px}.target-summary-stack{display:flex;flex-direction:column;gap:8px;margin-top:8px}.target-actions{margin-top:16px}.target-set-pick-groups{display:flex;flex-direction:column;gap:10px}.target-pick-summary{margin-bottom:4px}.target-pick-summary .pending-pay-group-label{margin-bottom:8px}.target-pick-summary-opponent{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;font-size:var(--text-base);font-weight:700;color:var(--text-secondary)}.target-section .pending-pay-warning{margin-top:10px}.pending-overlay.modal-overlay--peeking,.target-overlay.modal-overlay--peeking{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none;overflow:hidden}.modal-overlay--peeking .pending-modal,.modal-overlay--peeking .target-modal{background:transparent;border-color:transparent;box-shadow:none}.modal-overlay--peeking .pending-modal-body,.modal-overlay--peeking .pending-modal-footer,.modal-overlay--peeking .target-modal-body,.modal-overlay--peeking .target-modal-footer,.modal-overlay--peeking .modal-close-btn,.modal-overlay--peeking .modal-peek-hint,.modal-overlay--peeking .modal-peek-enter{opacity:0;pointer-events:none;transition:opacity .15s ease}.modal-overlay--peeking .modal-peek-exit{opacity:1;pointer-events:auto}.modal-peek-hint{margin:0;padding:10px 16px;border-top:1px solid var(--border-color);font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);text-align:center;transition:opacity .15s ease}.modal-peek-enter,.modal-peek-exit{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;padding:12px 16px;border:none;background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);font-weight:700;cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .15s ease,color .15s ease,opacity .15s ease}.modal-peek-enter{width:100%;border-top:1px solid var(--border-color)}.modal-peek-enter:hover{background:var(--bg-card)}.modal-peek-exit{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom,0px));z-index:210;transform:translate(-50%);width:auto;min-width:min(92vw,280px);padding:10px 18px;border:2px solid var(--border-color);border-radius:999px;background:color-mix(in srgb,var(--bg-card) 94%,transparent);box-shadow:0 4px 18px color-mix(in srgb,var(--text-primary) 16%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal-peek-exit:hover{border-color:var(--accent);color:var(--accent)}.game--table-peeking .game-mobile-portrait-dock{pointer-events:auto}.log-player-name{font-weight:700}.game-log-set-color{margin:0 2px}.log-card-ref{position:relative;display:inline;white-space:normal}.log-card-ref-btn--color-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;margin:0 2px;border-radius:3px;font-size:var(--text-xs);font-weight:700;line-height:1.15;vertical-align:middle;white-space:nowrap;text-decoration:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,#000 18%,transparent)}.game-log-text .log-card-ref-btn--color-badge,.action-toast-log-text .log-card-ref-btn--color-badge{position:relative;top:-.06em}.log-card-ref-btn{margin:0;border:none;background:none;font:inherit;color:inherit;cursor:help}.log-card-ref-btn:not(.log-card-ref-btn--color-badge){display:inline;padding:0;text-decoration:underline dotted;text-decoration-color:color-mix(in srgb,var(--accent) 55%,var(--text-secondary));text-underline-offset:2px}.log-card-ref-btn:not(.log-card-ref-btn--color-badge):hover,.log-card-ref-btn:not(.log-card-ref-btn--color-badge):focus-visible,.log-card-ref--open .log-card-ref-btn:not(.log-card-ref-btn--color-badge){color:var(--accent);text-decoration-color:var(--accent)}.log-card-ref-btn--color-badge:hover,.log-card-ref-btn--color-badge:focus-visible,.log-card-ref--open .log-card-ref-btn--color-badge{color:inherit;filter:brightness(1.08);text-decoration:none}.log-card-ref-popover{z-index:200;padding:6px;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);box-shadow:0 8px 24px color-mix(in srgb,#000 18%,transparent);pointer-events:auto}.log-card-ref-popover--fixed{position:fixed}.log-card-ref-popover:not(.log-payment-ref-popover){transform:translate(-50%,-100%)}.log-card-ref-popover .card,.log-card-preview{pointer-events:none}.log-card-ref-fallback{font-weight:700}.log-payment-ref-btn{font-variant-numeric:tabular-nums}.log-payment-ref-popover{display:block;box-sizing:border-box;width:max-content;max-width:calc(100vw - 16px);overflow:visible}.log-payment-preview{--payment-preview-card-w: 88px;--payment-preview-cols: 3;display:grid;grid-template-columns:repeat(var(--payment-preview-cols),var(--payment-preview-card-w));gap:8px;justify-content:center}.log-payment-preview .log-card-preview{width:var(--payment-preview-card-w)}.game-log{--log-entry-pad-x: 6px;padding:8px 12px;height:100%;overflow-y:auto}.game-log-empty{color:var(--text-secondary);font-size:var(--text-sm);text-align:center;padding:20px;font-family:var(--font-body)}.game-log-entry{--log-text-size: 15px;--log-line-height: 1.4;--log-avatar-size: 24px;display:flex;align-items:flex-start;gap:8px;padding:4px var(--log-entry-pad-x)}.game-log-entry--system{--log-entry-pad-x: 8px;background:var(--bg-secondary);border-radius:var(--radius-sm);margin-bottom:2px;padding:4px var(--log-entry-pad-x)}.game-log-entry--system .game-log-text{color:var(--text-secondary);font-weight:600}.game-log-entry--indent-1{margin-left:calc(8px + var(--log-entry-pad-x));padding-left:8px;border-left:2px solid color-mix(in srgb,var(--border-color) 80%,transparent)}.game-log-entry--indent-2{margin-left:calc(16px + var(--log-entry-pad-x));padding-left:8px;border-left:2px solid color-mix(in srgb,var(--accent) 35%,var(--border-color))}.game-log-entry--indent-1 .game-log-text,.game-log-entry--indent-2 .game-log-text{color:color-mix(in srgb,var(--text-primary) 88%,var(--text-secondary))}.game-log-entry--turn-divider{align-items:center;gap:10px;padding:12px var(--log-entry-pad-x) 8px}.game-log-turn-line{flex:1;align-self:center;height:1px;min-width:12px;background:color-mix(in srgb,var(--border-color) 85%,transparent)}.game-log-turn-label{flex-shrink:0;font-family:var(--font-body);font-size:var(--text-xs);font-weight:800;letter-spacing:.06em;color:var(--text-secondary);padding:2px 10px;border:1px solid var(--border-color);border-radius:999px;background:var(--bg-secondary);white-space:nowrap}.game-log-avatar{width:var(--log-avatar-size);height:var(--log-avatar-size);border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;margin-top:calc((var(--log-text-size) * var(--log-line-height) - var(--log-avatar-size)) / 2)}.game-log-avatar svg{color:#fff}.game-log-text{flex:1;font-size:var(--log-text-size);line-height:var(--log-line-height);min-width:0}.chat{display:flex;flex-direction:column;height:100%;min-width:0}.chat-messages{flex:1;min-width:0;overflow-y:auto;overflow-x:hidden;padding:8px}.chat-messages:has(.chat-empty){display:flex;flex-direction:column;justify-content:center}.chat-empty{color:var(--text-secondary);font-size:var(--text-sm);text-align:center;padding:20px;margin:0;font-family:var(--font-body)}.chat-msg{margin-bottom:6px;font-size:var(--text-base);line-height:1.4;overflow-wrap:anywhere;word-break:break-word}.chat-msg-name{font-weight:700;color:var(--text-secondary)}.chat-msg--mine .chat-msg-name{color:var(--accent)}.chat-msg-sep{color:var(--text-secondary)}.chat-msg--mine .chat-msg-sep{color:var(--accent)}.chat-msg-text{color:var(--text-primary)}.chat-input{display:flex;gap:4px;padding:8px;border-top:1px solid var(--border-color)}.chat-input input{flex:1;min-width:0;font-size:var(--text-sm);padding:6px 8px}.chat-input button{font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;padding:6px 12px;background:var(--btn-emphasis-bg);color:var(--btn-emphasis-text);border:2px solid var(--btn-emphasis-bg);border-radius:var(--radius-sm)}.chat-input button:hover{background:var(--btn-emphasis-hover-bg);border-color:var(--btn-emphasis-hover-bg)}.chat-readonly{width:100%;font-size:var(--text-sm);color:var(--text-secondary);text-align:center;padding:8px;border-top:1px solid var(--border-color)}.chat-open-sheet-btn{flex:1;width:100%;min-width:0;margin:0;font-family:var(--font-body);font-size:var(--text-sm);line-height:1.25;padding:6px 8px;text-align:left;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;touch-action:manipulation}.chat-open-sheet-btn:active{filter:brightness(.96)}.mobile-touch-platform .chat-input input{font-size:var(--text-lg)}.chat-sheet-overlay{position:fixed;z-index:300;background:var(--overlay)}.chat-sheet{position:fixed;z-index:301;display:flex;flex-direction:column;background:var(--bg-card);border-top:2px solid var(--border-color);box-shadow:var(--shadow);overflow:hidden}.chat-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;padding:max(10px,env(safe-area-inset-top,0px)) max(14px,env(safe-area-inset-right,0px)) 10px max(14px,env(safe-area-inset-left,0px));border-bottom:2px solid var(--border-color)}.chat-sheet-title{margin:0;font-family:var(--font-body);font-size:var(--text-lg);font-weight:700;color:var(--text-primary)}.chat-sheet-body{flex:1;min-height:0;display:flex;flex-direction:column}.chat-sheet-body .chat,.chat-sheet-body .chat-messages{flex:1;min-height:0}.chat-sheet-body .chat-input{flex-shrink:0;position:sticky;bottom:0;background:var(--bg-card);z-index:1;padding-bottom:max(8px,env(safe-area-inset-bottom,0px))}.game-settings-panel{display:flex;flex-direction:column;gap:20px;padding:12px}.game-settings-group{display:flex;flex-direction:column;gap:8px}.game-settings-title{margin:0;font-family:var(--font-body);font-size:var(--text-base);font-weight:700;color:var(--text-primary)}.game-settings-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px}.game-settings-row--switch{gap:8px}.game-settings-label{flex:1;min-width:0;font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.game-settings-label-with-info{display:inline-flex;align-items:center;gap:6px;flex:1;min-width:0}.game-settings-label-with-info .game-settings-label{flex:0 1 auto}.game-settings-title-with-info{display:inline-flex;align-items:center;gap:6px}.game-settings-select{flex-shrink:0;min-width:132px;height:34px;padding:4px 10px 6px;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary)}.game-settings-select:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.game-settings-value{flex-shrink:0;min-width:1.5em;font-size:var(--text-sm);font-weight:700;color:var(--text-secondary);text-align:right}.game-settings-row .switch{flex-shrink:0}.rent-ref-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:160;padding:16px}.rent-ref-modal{position:relative;background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius);width:min(720px,100%);max-height:85vh;display:flex;flex-direction:column;overflow:hidden;font-family:var(--font-body)}.rent-ref-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:2px solid var(--border-color);flex-shrink:0}.rent-ref-header h3{font-size:var(--text-xl)}.rent-ref-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;padding:14px;overflow-y:auto}.rent-ref-set{border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);padding:8px}.rent-ref-set-head{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.rent-ref-set-size{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary)}.rent-ref-tiers{display:flex;flex-direction:column;gap:2px}.rent-ref-tier{display:flex;justify-content:space-between;font-size:var(--text-sm);padding:2px 6px;border-radius:3px}.rent-ref-tier span:last-child{font-weight:700}.rent-ref-note{padding:10px 16px;border-top:1px solid var(--border-color);font-size:var(--text-sm);color:var(--text-secondary);flex-shrink:0}@media(max-width:600px){.rent-ref-grid{grid-template-columns:1fr 1fr;gap:8px;padding:10px}}.player-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:170;padding:16px}.player-preview-modal{position:relative;background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius);width:min(720px,100%);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;font-family:var(--font-body);box-shadow:var(--shadow)}.player-preview-header{padding:16px 48px 12px 16px;border-bottom:2px solid var(--border-color);flex-shrink:0}.player-preview-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:6px}.player-preview-name{font-size:var(--text-2xl);font-weight:700}.player-preview-status-badge--turn{background:var(--prompt-action-bg);border-color:var(--prompt-action-border);color:var(--prompt-action-text)}.player-preview-status-badge--respond{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent)}.player-preview-status-badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-sm);font-weight:700;padding:2px 8px;border-radius:var(--radius-sm);background:var(--prompt-warn-bg);border:1px solid var(--prompt-warn-border);color:var(--prompt-warn-text);line-height:1.2}.player-preview-status-badge svg{flex-shrink:0}.player-preview-status-badge--host{background:color-mix(in srgb,var(--gold) 22%,transparent);border-color:color-mix(in srgb,var(--gold) 35%,transparent);color:var(--gold)}.player-preview-status-badge--autopilot{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--accent)}.player-preview-status-badge--muted{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-secondary)}.player-preview-stats{display:flex;gap:16px;font-size:var(--text-base);color:var(--text-secondary);font-weight:600}.player-preview-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.player-preview-bank{padding:10px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.player-preview-bank-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.player-preview-section-label{font-size:var(--text-sm);font-weight:700}.player-preview-bank-total{font-size:var(--text-base);font-weight:700;color:var(--accent)}.player-preview-bank-cards{display:flex;flex-wrap:wrap;gap:6px}.player-preview-hand-stats{padding:10px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.player-preview-hand{flex-shrink:0;min-width:0;border-bottom:1px solid var(--border-color)}.player-preview-hand .hand{border-top:none;overflow:visible}.player-preview-hand .hand-cards{overflow-x:auto;overflow-y:visible}.player-preview-board{min-height:200px;display:flex;flex-direction:column;padding:12px 12px 0;scroll-padding-bottom:12px}.player-preview-board .play-area{flex:1;min-height:200px;align-items:stretch;overflow:visible;padding:4px 4px 0;scroll-padding-bottom:12px}.player-preview-board .play-area-properties-wrap{flex:1;display:flex;flex-direction:column;width:100%;min-height:200px}.player-preview-board .play-area-properties{padding-bottom:12px}.player-preview-board .play-area-properties-wrap{margin-bottom:12px}.player-preview-board .play-area-properties{flex-direction:column;flex-wrap:nowrap;align-items:stretch}@media(min-width:601px){.player-preview-board .play-area--compact .play-area-properties{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:10px}.player-preview-board .play-area--compact .play-area-compact-set{flex:1 1 calc(50% - 5px);min-width:0;max-width:none}}.player-preview-board .play-area-set{width:100%;max-width:100%;min-width:0}.player-preview-board .play-area-set-cards{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scroll-padding-inline:4px;padding:10px 6px}.player-preview-board .play-area-set-cards .card{flex:0 0 auto}.player-preview-board .play-area-watermark{display:none}.player-preview-modal .card{cursor:default}@media(max-width:600px){.player-preview-overlay{padding:0;align-items:flex-end}.player-preview-modal{width:100%;max-height:92vh;border-radius:var(--radius) var(--radius) 0 0}}.game-end-stats{width:min(720px,100%);display:flex;flex-direction:column;align-items:stretch;gap:20px}.game-end-hero{text-align:center}.game-end-winner-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;margin-bottom:8px;border-radius:0;background:transparent;color:#fff;box-shadow:none}.game-end-winner-crown{position:absolute;top:-6px;right:-6px;color:var(--gold);filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}.game-end-hero h2{font-size:clamp(24px,5vw,32px);margin-bottom:6px}.game-end-subtitle{font-size:var(--text-lg);color:var(--text-secondary)}.game-end-mode-hint{margin-top:6px;font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}.game-end-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.game-end-summary-card{display:flex;align-items:center;gap:10px;padding:12px 14px;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);color:var(--text-primary)}.game-end-summary-text{display:flex;flex-direction:column;gap:2px;min-width:0}.game-end-summary-label{font-size:var(--text-sm);font-weight:700;color:var(--text-secondary)}.game-end-summary-value{font-size:var(--text-xl);font-weight:700;line-height:1.1}.game-end-table-wrap{border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);overflow-x:auto}.game-end-table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.game-end-table th,.game-end-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap}.game-end-table th{font-size:var(--text-sm);font-weight:700;color:var(--text-secondary);background:var(--bg-secondary)}.game-end-table tbody tr:last-child td{border-bottom:none}.game-end-table-row--winner{background:color-mix(in srgb,var(--gold) 12%,transparent)}.game-end-table-row--forfeited{opacity:.65}.game-end-table-name{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-weight:700}.game-end-winner-icon{color:var(--gold);flex-shrink:0}.game-end-tag{font-size:var(--text-xs);font-weight:700;padding:1px 6px;border-radius:999px;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary)}.game-end-tag--you{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--border-color))}.game-end-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%}.game-end-wait-host{font-size:var(--text-base);font-weight:600;color:var(--text-secondary);margin:0}.game-end-error{margin:0;font-size:var(--text-base);color:var(--accent);text-align:center}@media(max-width:600px){.game-end-summary{grid-template-columns:1fr}.game-end-table th,.game-end-table td{padding:8px 10px;font-size:var(--text-sm)}.game-end-actions .btn-row{flex-direction:column;align-items:stretch;gap:8px}.game-end-actions .btn-row>.btn,.game-end-actions .btn-row>button{flex:none;width:100%;max-width:none}}.game-tutorial-modal{max-width:420px}.game-tutorial-body{font-size:var(--text-lg);color:var(--text-secondary);line-height:1.6;margin:0 0 18px}.game-tutorial-dots{display:flex;gap:8px;justify-content:center;margin-bottom:4px}.game-tutorial-dot{width:8px;height:8px;padding:0;border:none;border-radius:50%;background:var(--border-color);cursor:pointer}.game-tutorial-dot.is-active{background:var(--accent);width:20px;border-radius:4px}.action-toast{position:fixed;z-index:70;--action-toast-width: 300px;pointer-events:none;-webkit-user-select:none;user-select:none}.action-toast--placing{visibility:hidden;pointer-events:none;left:0;top:0}.action-toast--dragging{z-index:130}.action-toast-panel{position:relative;display:flex;flex-direction:column;width:min(var(--action-toast-width),calc(100vw - 24px));background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.action-toast-card-preview{position:absolute;right:calc(100% + 8px);top:0;padding:6px;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);box-shadow:var(--shadow);pointer-events:none;z-index:1}.action-toast-card-preview .card{flex-shrink:0;pointer-events:none}.action-toast--dragging .action-toast-panel{box-shadow:0 10px 28px #00000047}.action-toast-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 8px 6px 10px}.action-toast-header-left{display:inline-flex;align-items:center;gap:6px;min-width:0;flex:1;flex-wrap:wrap;--toast-badge-size: 14px;--toast-badge-pad: 3px 9px}.action-toast-turn{flex-shrink:0;font-size:var(--toast-badge-size);font-weight:800;letter-spacing:.04em;color:var(--text-secondary);padding:var(--toast-badge-pad);border:1px solid var(--border-color);border-radius:999px;background:var(--bg-secondary);white-space:nowrap}.action-toast-plays{flex-shrink:0;font-family:var(--font-body);font-size:var(--toast-badge-size);font-weight:800;font-variant-numeric:tabular-nums;color:var(--text-primary);padding:var(--toast-badge-pad);border:1px solid var(--border-color);border-radius:999px;background:var(--bg-card);white-space:nowrap}.action-toast-drag{pointer-events:auto;touch-action:none;cursor:grab;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:24px;padding:0;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-secondary)}.action-toast-drag:hover{color:var(--accent);border-color:var(--accent)}.action-toast--dragging .action-toast-drag{cursor:grabbing}.action-toast .log-card-ref,.action-toast .log-card-ref-btn{pointer-events:auto}.action-toast-body{flex:1;padding:10px 10px 8px;min-height:0}.action-toast-footer{flex-shrink:0;padding:10px 10px 12px;border-top:1px solid var(--border-color);background:color-mix(in srgb,var(--bg-card) 88%,var(--bg-secondary));pointer-events:auto}.action-toast-win-head{display:flex;align-items:center;gap:6px;min-width:0}.action-toast-win-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:6px;margin:0;padding:0;border:none;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.action-toast-win-toggle:hover .action-toast-win-summary,.action-toast-win-toggle:focus-visible .action-toast-win-summary{color:var(--accent)}.action-toast-win-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.action-toast-win-chevron{flex-shrink:0;color:var(--text-secondary);transition:transform .15s ease}.action-toast-win-toggle--open .action-toast-win-chevron{transform:rotate(180deg)}.action-toast-win-label{flex-shrink:0;font-size:var(--text-xs);font-weight:800;letter-spacing:.04em;color:var(--text-secondary)}.action-toast-win-summary{flex:1;min-width:0;font-size:var(--text-sm);font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s ease}.action-toast-footer .action-toast-win-timer{flex-shrink:0;font-family:var(--font-body);font-size:var(--text-sm);font-weight:800;font-variant-numeric:tabular-nums;color:var(--text-primary);padding:2px 8px;border:1px solid color-mix(in srgb,var(--text-primary) 22%,transparent);border-radius:999px;background:var(--bg-secondary);white-space:nowrap}.action-toast-footer .action-toast-win-timer.game-turn-timer--urgent{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.action-toast-win-hint{margin:8px 0 0;font-size:var(--text-sm);line-height:1.45;font-weight:600;color:var(--text-secondary)}.action-toast-latest{display:flex;flex-direction:column;gap:5px;min-width:0}.action-toast-empty{margin:0;font-size:var(--text-md);font-weight:600;color:var(--text-secondary)}.action-toast-log-entry{--log-text-size: 19px;--log-line-height: 1.45;--log-avatar-size: 20px;display:flex;align-items:flex-start;gap:10px;min-width:0}.action-toast-log-entry--indent-1,.action-toast-log-entry--indent-2{--log-text-size: 17px}.action-toast-log-entry--indent-1{margin-left:8px;padding-left:8px;border-left:2px solid color-mix(in srgb,var(--border-color) 80%,transparent)}.action-toast-log-entry--indent-2{margin-left:16px;padding-left:8px;border-left:2px solid color-mix(in srgb,var(--accent) 35%,var(--border-color))}.action-toast-log-avatar{width:var(--log-avatar-size);height:var(--log-avatar-size);border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;margin-top:calc((var(--log-text-size) * var(--log-line-height) - var(--log-avatar-size)) / 2)}.action-toast-log-text{flex:1;font-size:var(--log-text-size);font-weight:600;line-height:var(--log-line-height);color:var(--text-primary);overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.action-toast-log-entry--indent-1 .action-toast-log-text,.action-toast-log-entry--indent-2 .action-toast-log-text{font-size:var(--log-text-size);font-weight:600;color:var(--text-secondary);-webkit-line-clamp:2}.action-toast .log-card-ref-btn--color-badge{font-size:var(--text-sm);padding:2px 9px;margin:0 6px}@media(min-width:860px){.action-toast{--action-toast-width: 380px}.action-toast-log-text{-webkit-line-clamp:4}}@media(min-width:1200px){.action-toast{--action-toast-width: 440px}}@media(max-width:600px){.action-toast{--action-toast-width: 260px}.action-toast-panel{width:min(var(--action-toast-width),calc(100vw - 20px))}.action-toast-log-text{font-size:var(--text-lg);-webkit-line-clamp:2}.action-toast-log-entry--indent-1 .action-toast-log-text,.action-toast-log-entry--indent-2 .action-toast-log-text{font-size:var(--text-base)}}.game{display:flex;flex-direction:column;height:var(--app-height, 100dvh);max-height:var(--app-height, 100dvh);overflow:hidden;overscroll-behavior:none;background:var(--bg-primary)}.game-header{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:140;padding:max(2px,env(safe-area-inset-top,0px)) 16px 2px;border-bottom:2px solid var(--border-color);background:var(--bg-card);flex-shrink:0}.game-title{font-size:var(--text-xl)}.game-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.game-header-actions{display:flex;align-items:center;gap:8px}.game-header-menu{display:none;position:relative;align-items:stretch}.game-header-menu-toggle{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:38px;height:38px;padding:0;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer}.game-header-menu-toggle:hover,.game-header-menu.is-open .game-header-menu-toggle{background:var(--bg-card)}.game-header-menu-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:60;display:flex;flex-direction:column;gap:6px;min-width:148px;padding:8px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 8px 24px color-mix(in srgb,var(--text-primary) 18%,transparent)}.game-header-menu-panel .game-header-btn{width:100%;justify-content:flex-start}.game-turn-info{display:flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:var(--text-md);font-weight:700;color:var(--accent);text-align:left;min-width:0}.game-turn-timer{font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-secondary);padding:2px 8px;border-radius:4px;background:var(--bg-secondary);border:1px solid var(--border-color)}.game-turn-timer--urgent{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.game-header-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;height:38px;padding:0 12px;font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;line-height:1;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer}.game-header-btn:hover{background:var(--bg-card)}.game-header-btn--danger{color:var(--accent);border-color:var(--accent)}.game-header-btn--danger:hover{background:var(--accent);color:var(--on-accent)}.game-header-btn svg{flex-shrink:0;width:18px;height:18px}.game-layout{flex:1;display:flex;overflow:hidden}.game-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;min-height:0}.game-opponents{display:flex;flex-wrap:nowrap;gap:8px;padding:8px 12px;border-bottom:2px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0;overflow-x:auto;scroll-padding-inline:12px;-webkit-overflow-scrolling:touch}.game-opponents>.opponent{flex:0 0 auto}.game-board-stage{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.game-board-stage>.play-area{flex:1}.game-sidebar{width:280px;flex-shrink:0;min-height:0;border-left:2px solid var(--border-color);display:flex;flex-direction:column;background:var(--bg-card)}.game-sidebar-tabs{display:flex;border-bottom:2px solid var(--border-color);flex-shrink:0}.game-sidebar-collapse-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;border:none;border-radius:0;padding:8px 0;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-right:1px solid var(--border-color)}.game-sidebar-collapse-btn:hover{background:var(--bg-card);color:var(--text-primary)}.game-sidebar-tabs button:not(.game-sidebar-collapse-btn){flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:0;padding:8px;font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;background:var(--bg-secondary);color:var(--text-secondary)}.game-sidebar-tabs button:not(.game-sidebar-collapse-btn)+button:not(.game-sidebar-collapse-btn){border-left:1px solid var(--border-color)}.game-sidebar-tabs button:not(.game-sidebar-collapse-btn).active{background:var(--bg-card);color:var(--text-primary)}.game-sidebar-expand-rail{position:relative;flex:0 0 28px;align-self:stretch;display:flex;align-items:center;justify-content:center;margin:0;padding:0;border:none;border-left:2px solid var(--border-color);border-radius:0;background:var(--bg-card);color:var(--text-secondary);cursor:pointer}.game-sidebar-expand-rail:hover{background:var(--bg-secondary);color:var(--text-primary)}.game-sidebar-expand-rail-unread{position:absolute;top:10px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-card);box-sizing:content-box}.game-sidebar-expand-rail:hover .game-sidebar-expand-rail-unread{border-color:var(--bg-secondary)}.game-chat-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;font-size:var(--text-xs);font-weight:700;line-height:1;background:var(--accent);color:var(--on-accent)}.game-sidebar-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.game-sidebar-content .game-log,.game-sidebar-content .game-settings-panel{flex:1;min-height:0;height:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.game-sidebar-content .chat{flex:1;min-height:0;height:auto;overflow:hidden}.game-sidebar-content .chat .chat-messages{flex:1;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.game-mobile-overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;margin:0;padding:0;border:none;background:var(--overlay);cursor:default}.game-mobile-portrait-dock{position:fixed;left:0;right:0;bottom:0;z-index:135;display:flex;align-items:stretch;gap:0;padding:0 max(8px,env(safe-area-inset-right,0px)) max(2px,env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));background:color-mix(in srgb,var(--bg-card) 92%,transparent);border-top:2px solid var(--border-color);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 -6px 20px color-mix(in srgb,var(--text-primary) 10%,transparent)}.game-mobile-portrait-dock-main{display:flex;flex:1;align-items:stretch;gap:6px;min-width:0}.game-mobile-portrait-dock:not(.game-mobile-portrait-dock--collapsed) .game-mobile-portrait-dock-toggle{position:absolute;left:max(8px,env(safe-area-inset-left,0px));bottom:max(2px,env(safe-area-inset-bottom,0px));z-index:1}.game-mobile-portrait-dock--collapsed{justify-content:flex-start;align-items:flex-end;gap:0;z-index:150;padding:0 max(8px,env(safe-area-inset-right,0px)) max(2px,env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));background:transparent;border-top:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none}.game-mobile-portrait-dock--collapsed .game-mobile-portrait-dock-toggle{pointer-events:auto}.game-mobile-portrait-dock-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:40px;height:40px;min-height:40px;margin:0;padding:0;border:2px solid transparent;border-radius:50%;background:transparent;color:var(--text-secondary);cursor:pointer;box-shadow:none}.game-mobile-portrait-dock-toggle:hover{color:var(--text-primary);background:var(--bg-secondary)}.game-mobile-portrait-dock--collapsed .game-mobile-portrait-dock-toggle{border-color:var(--border-color);background:color-mix(in srgb,var(--bg-card) 94%,transparent);box-shadow:0 2px 10px color-mix(in srgb,var(--text-primary) 12%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.game-mobile-portrait-dock--collapsed .game-mobile-portrait-dock-toggle:hover{background:var(--bg-secondary);border-color:var(--border-color)}.game-mobile-portrait-dock-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;margin:0;padding:8px 10px;border:2px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-lg);font-weight:700;cursor:pointer}.game-mobile-portrait-dock-btn.active{color:var(--text-primary);background:var(--bg-secondary);border-color:var(--border-color)}.game-mobile-portrait-sheet{position:fixed;left:0;right:0;z-index:145;display:flex;flex-direction:column;max-height:min(58vh,calc(var(--app-height, 100dvh) - var(--game-header-height, 42px) - 72px));background:var(--bg-card);border-top:2px solid var(--border-color);border-radius:var(--radius) var(--radius) 0 0;box-shadow:0 -8px 28px color-mix(in srgb,var(--text-primary) 14%,transparent);overflow:hidden}.game-mobile-portrait-sheet--dock-collapsed{bottom:0;padding-bottom:env(safe-area-inset-bottom,0px)}.game-mobile-portrait-sheet:not(.game-mobile-portrait-sheet--dock-collapsed){bottom:calc(54px + env(safe-area-inset-bottom,0px))}.game-mobile-portrait-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;padding:8px 10px;border-bottom:2px solid var(--border-color)}.game-mobile-portrait-sheet-title{font-family:var(--font-body);font-size:var(--text-base);font-weight:700}.game-mobile-portrait-sheet-header .modal-close{position:static;flex-shrink:0}.game-mobile-portrait-sheet-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.game-mobile-portrait-sheet-body .game-log,.game-mobile-portrait-sheet-body .game-settings-panel{flex:1;min-height:0;height:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.game-mobile-portrait-sheet-body .chat{flex:1;min-height:0;height:auto;overflow:hidden}.game-mobile-portrait-sheet-body .chat .chat-messages{flex:1;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.game-mobile-portrait-sheet-body .chat .chat-input{flex-shrink:0;position:sticky;bottom:0;background:var(--bg-card);z-index:1;padding-bottom:max(8px,env(safe-area-inset-bottom,0px))}.game-ended{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;overflow-y:auto;padding:24px 16px 32px}.game-ended h2{font-size:36px}@media(max-width:900px){.game-sidebar,.game-sidebar-expand-rail,.game-header-actions{display:none}.game-header-menu{display:inline-flex}.game-header{padding:max(2px,env(safe-area-inset-top,0px)) 10px 2px}}@media(max-width:600px){.game-opponents{padding:6px 8px;gap:6px}.game-turn-info{font-size:var(--text-sm)}}.game-room{display:flex;flex-direction:column;height:var(--app-height, 100dvh);max-height:var(--app-height, 100dvh);min-height:0;overscroll-behavior:none}.game-room--offline .lobby,.game-room--offline .game{pointer-events:none;opacity:.72}.game-room--offline .lobby-actions,.game-room--offline .game-header-btn:not(:disabled),.game-room--offline .game-header-menu-toggle,.game-room--offline .game-header .theme-toggle,.game-room--offline .game-header .app-control-btn,.game-room--offline .game-end-actions{pointer-events:auto;opacity:1}.game-room .lobby{flex:1;min-height:0}.game-room-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:100%;font-family:var(--font-body);font-size:var(--text-xl);color:var(--text-secondary);padding:24px}:root{--paper: var(--bg-card);--ink: var(--text-primary);--hk-text-muted: var(--text-secondary);--stroke-thin: 2px solid var(--border-color);--stroke-ink: var(--border-strong);--shadow-control: var(--shadow);--shojo-lavender-hover: var(--bg-secondary);--hk-gold: var(--gold);--panel-surface-mix: 100%}.admin-auth-loading{min-height:40vh;display:grid;place-items:center;color:var(--text-secondary)}.admin-spectate-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:var(--bg-card);border-bottom:2px solid var(--border-color)}.admin-spectate-players-panel{margin:12px;padding:12px;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card)}.admin-spectate-players-title{margin:0 0 10px;font-size:var(--text-lg)}.admin-spectate-player-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px dashed color-mix(in srgb,var(--border-color) 55%,transparent)}.admin-spectate-player-row:last-child{border-bottom:none}.admin-spectate-player-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-player-badges{font-size:var(--text-sm);color:var(--text-secondary)}.admin-panel-tab,.admin-empty,.admin-game-card,.admin-game-card-actions{--admin-panel-bg: color-mix(in srgb, var(--paper) var(--panel-surface-mix), transparent)}.admin-panel-tabs{display:flex;flex-wrap:wrap;gap:10px;width:100%}.admin-panel-tab{flex:1;min-width:0}.admin-panel-tab.active{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.admin-panel-tab.active:hover:not(:disabled){background:var(--btn-primary-hover-bg);color:var(--btn-primary-hover-text);border-color:var(--btn-primary-hover-bg)}.admin-panel-search{position:relative;width:100%;margin-bottom:0}.admin-panel-search-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--hk-text-muted);pointer-events:none}.admin-panel-search-input{box-sizing:border-box;width:100%;min-height:var(--btn-height);padding:9px 12px 9px 2.35rem;font-size:var(--text-base)}.mobile-touch-platform .admin-panel-search-input{font-size:16px}.admin-history-player-worth{flex-shrink:0;font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums;color:var(--hk-gold);margin-left:auto}.admin-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;min-width:2.25rem;min-height:2.25rem;padding:0;flex-shrink:0;box-sizing:border-box;line-height:1}.btn.admin-toolbar-btn{width:2.25rem}.admin-panel-error{margin-bottom:1rem}.admin-spectate-btn{background:var(--night-raised);color:var(--ink);border:var(--stroke-thin);box-shadow:var(--shadow-control)}.admin-spectate-btn:hover:not(:disabled){background:var(--shojo-lavender-hover);color:var(--ink);border-color:var(--stroke-ink)}.admin-restart-btn{background:var(--shojo-mint);color:var(--ink);border:var(--stroke-thin);box-shadow:var(--shadow-control)}.admin-restart-btn:hover:not(:disabled){background:var(--shojo-sky);color:var(--ink)}.admin-delete-btn{background:var(--shojo-peach);color:var(--ink);border:var(--stroke-thin);box-shadow:var(--shadow-control)}.admin-delete-btn:hover:not(:disabled){background:var(--shojo-hot);color:var(--ink-light)}.admin-empty{text-align:center;color:var(--hk-text-muted);padding:3rem 1rem;background:var(--admin-panel-bg);border:var(--stroke);box-shadow:var(--shadow-hard)}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1.25rem}.admin-pagination-status{color:var(--hk-text-muted);font-size:.9rem;min-width:10rem;text-align:center}.admin-game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.admin-game-card{position:relative;background:var(--admin-panel-bg);border:var(--stroke);padding:1rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:var(--shadow-hard);transform:none}.admin-game-card:hover,.admin-game-card:focus-within{border-color:var(--stroke-ink)}.admin-game-card-top{position:relative;display:flex;align-items:flex-start}.admin-game-header{display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:0}.admin-game-card-actions{position:absolute;top:0;right:0;z-index:2;display:flex;align-items:center;gap:.35rem;padding:.15rem;background:var(--admin-panel-bg);opacity:0;pointer-events:none;transition:opacity .15s ease}.admin-game-card:hover .admin-game-card-actions,.admin-game-card:focus-within .admin-game-card-actions{opacity:1;pointer-events:auto}@media(hover:none){.admin-game-card-actions{opacity:1;pointer-events:auto}.admin-game-header{padding-right:10.05rem}.admin-game-card:has(.admin-game-card-actions--single) .admin-game-header{padding-right:2.6rem}}.admin-game-badges{display:flex;align-items:center;flex-wrap:nowrap;gap:.35rem;min-width:0}.admin-room-code{font-family:var(--font-primary);font-size:1.1rem;font-weight:700;color:var(--hk-gold);flex-shrink:0}.admin-game-status-badges{display:inline-flex;align-items:center;flex-shrink:0;gap:.35rem}.admin-status{display:inline-flex;align-items:center;flex-shrink:0;font-size:.7rem;font-weight:600;padding:.2rem .55rem;border-radius:999px;border:1px solid transparent;white-space:nowrap;line-height:1}.admin-status-lobby{color:#7ec8e3;background:#7ec8e326;border-color:#7ec8e347}.admin-status-playing{color:#8fd48a;background:#8fd48a26;border-color:#8fd48a52}.admin-status-ended{color:#b8b8c8;background:#b8b8c81f;border-color:#b8b8c838}.admin-status-inactive{color:#f0c674;background:#f0c67424;border-color:#f0c6744d}[data-theme=light] .admin-status-lobby{color:#1a6a8a;background:#7ec8e347;border-color:#7ec8e373}[data-theme=light] .admin-status-playing{color:#1a6a28;background:#4ec86038;border-color:#4ec86061}[data-theme=light] .admin-status-ended{color:#5a5a6a;background:#5a5a6a1a;border-color:#5a5a6a33}[data-theme=light] .admin-status-inactive{color:#8a6018;background:#f0c67447;border-color:#f0c6746b}.admin-status-history-completed{color:#8fd48a;background:#8fd48a26;border-color:#8fd48a52}.admin-status-history-admin-terminated{color:#f0a0a0;background:#f0808029;border-color:#f0808052}.admin-status-history-admin-set-winner{color:#f0c674;background:#f0c67429;border-color:#f0c67457}.admin-status-history-host-restart,.admin-status-history-admin-restart{color:#7ec8e3;background:#7ec8e326;border-color:#7ec8e347}.admin-status-history-room-deleted{color:#e88888;background:#e878782e;border-color:#e878785c}.admin-status-history-room-closed,.admin-status-history-ended{color:#b8b8c8;background:#b8b8c81f;border-color:#b8b8c838}[data-theme=light] .admin-status-history-completed{color:#1a6a28;background:#4ec86038;border-color:#4ec86061}[data-theme=light] .admin-status-history-admin-terminated{color:#9a2828;background:#e878783d;border-color:#e878786b}[data-theme=light] .admin-status-history-admin-set-winner{color:#8a6018;background:#f0c67447;border-color:#f0c6746b}[data-theme=light] .admin-status-history-host-restart,[data-theme=light] .admin-status-history-admin-restart{color:#1a6a8a;background:#7ec8e347;border-color:#7ec8e373}[data-theme=light] .admin-status-history-room-deleted{color:#9a2828;background:#e8787842;border-color:#e8787870}[data-theme=light] .admin-status-history-room-closed,[data-theme=light] .admin-status-history-ended{color:#5a5a6a;background:#5a5a6a1a;border-color:#5a5a6a33}.admin-status-enquiry-bug{color:#f0a0a0;background:#f0808029;border-color:#f0808052}.admin-status-enquiry-idea{color:#7ec8e3;background:#7ec8e326;border-color:#7ec8e347}.admin-status-enquiry-other{color:#c0a8e0;background:#c0a8e029;border-color:#c0a8e052}[data-theme=light] .admin-status-enquiry-bug{color:#9a3030;background:#f0808033;border-color:#f0808061}[data-theme=light] .admin-status-enquiry-idea{color:#1a6a8a;background:#7ec8e338;border-color:#7ec8e361}[data-theme=light] .admin-status-enquiry-other{color:#5a4080;background:#c0a8e033;border-color:#c0a8e061}.admin-enquiry-message{margin:0;font-size:.86rem;line-height:1.6;color:var(--ink-muted);white-space:pre-wrap;overflow-wrap:anywhere}.admin-game-card .admin-enquiry-message{margin-top:.75rem}.admin-game-summary{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;color:var(--hk-text-muted)}.admin-game-summary>span{display:block}.admin-inactive-countdown{margin-left:auto;flex-shrink:0;font-size:.7rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;padding:.2rem .55rem;border-radius:999px;border:1px solid rgba(240,198,116,.3);color:#f0c674;background:#f0c67424}[data-theme=light] .admin-inactive-countdown{color:#8a6018;background:#f0c67447;border-color:#f0c6746b}.admin-player-details{border-top:1px solid color-mix(in srgb,var(--ink) 10%,transparent);padding-top:.35rem}.admin-player-details-summary{display:flex;align-items:center;gap:.35rem;cursor:pointer;font-size:.85rem;color:var(--hk-text-muted);-webkit-user-select:none;user-select:none;list-style:none;padding:.25rem 0;border-radius:var(--radius-sm);transition:color .15s ease,background .15s ease}.admin-player-details-summary::-webkit-details-marker{display:none}.admin-player-details-summary:hover{color:var(--hk-text)}.admin-player-chevron{flex-shrink:0;transition:transform .15s ease}.admin-player-details[open] .admin-player-chevron{transform:rotate(90deg)}.admin-player-count{font-variant-numeric:tabular-nums;color:var(--hk-text);font-weight:600}.admin-player-details .admin-player-list{margin-top:.5rem}.admin-settings-list{margin-top:.5rem;display:flex;flex-direction:column;gap:.35rem}.admin-settings-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;font-size:.8rem}.admin-settings-row dt{color:var(--hk-text-muted)}.admin-settings-row dd{margin:0;color:var(--hk-text);font-weight:600;text-align:right}.admin-player-list{list-style:none;display:flex;flex-direction:column;gap:.35rem}.admin-player-list li{display:flex;align-items:flex-start;gap:.55rem;font-size:.85rem;padding:.45rem .55rem;background:color-mix(in srgb,var(--night-raised) 88%,transparent);border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);border-radius:var(--radius-sm)}.admin-player-list li.bankrupt{opacity:.55}.admin-player-list li.current-turn{background:#4ec86024;border-color:#8fd48a73;box-shadow:inset 3px 0 #8fd48a}.admin-player-list li.winner{opacity:1;background:#ffc6282e;border-color:#ffc8308c;box-shadow:0 0 0 1px #ffc83033,inset 0 0 12px #ffc83014}.admin-player-list li.winner .admin-player-name{color:#ffe08a;font-weight:600}[data-theme=light] .admin-player-list li{background:color-mix(in srgb,var(--night-plum) 6%,white);border-color:color-mix(in srgb,var(--ink) 12%,transparent)}[data-theme=light] .admin-player-list li.current-turn{background:#4ec86029;border-color:#4ec86061}[data-theme=light] .admin-player-list li.winner{background:#ffc62838;border-color:#c8961473}[data-theme=light] .admin-player-list li.winner .admin-player-name{color:#8a6018}.admin-player-token{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.05rem;color:#fff}.admin-player-token svg{display:block}.admin-player-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.admin-player-primary{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;min-width:0}.admin-player-ip{font-size:.75rem;color:var(--hk-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;line-height:1.25;white-space:normal;overflow-wrap:anywhere;word-break:break-all}.admin-player-name{flex:0 1 auto;min-width:0;font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-player-list .player-badge-slot{display:inline-flex;align-items:center;flex:1 1 auto;flex-wrap:wrap;justify-content:flex-start;gap:.3rem;min-height:0;margin-top:0}.admin-deduct-input{display:flex;flex-direction:column;gap:.35rem;margin-top:.75rem}.admin-deduct-input label{font-size:.8rem;color:var(--hk-text-muted)}.admin-deduct-input input{padding:.5rem .75rem;border:var(--stroke-thin);border-radius:0;background:var(--paper-inset);color:var(--ink);font-size:1rem;width:100%;box-shadow:var(--inset-shadow-control)}.btn-xs{padding:.2rem .4rem;font-size:.75rem;min-height:unset}.spectator-view{position:relative;min-height:var(--app-height)}.admin-spectate:has(.admin-spectate-lobby){position:relative;min-height:var(--app-height)}.admin-spectate:has(.admin-spectate-game),.admin-spectate:has(.admin-spectate-loading){height:var(--app-height);display:flex;flex-direction:column;overflow:hidden}.admin-spectate-badge,.spectator-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;height:var(--game-chrome-control-height, 1.625rem);padding:0 .65rem;border-radius:0;background:var(--night-raised);color:var(--ink);border:var(--stroke-thin);box-shadow:var(--shadow-control);pointer-events:none;font-size:.75rem;line-height:1;white-space:nowrap}.admin-spectate-badge span,.spectator-badge span{display:block;line-height:1}.admin-spectate-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--hk-text-muted)}.admin-spectate-game{flex:1;min-height:0;height:100%}.admin-spectate-game.game{height:100%}.admin-spectate-lobby.lobby,.spectator-lobby.lobby{width:100%}.admin-spectate-lobby-error{margin:-.75rem 0 1rem;text-align:center;font-size:.85rem}.admin-player-list-item{overflow:hidden}.admin-spectate-player-actions{position:absolute;top:50%;right:.35rem;z-index:2;display:flex;align-items:center;gap:.25rem;padding:.2rem .3rem;transform:translateY(-50%)}@media(hover:hover){.admin-spectate-players .admin-spectate-player-actions{display:none}.admin-spectate-players .admin-player-list-item:hover .admin-spectate-player-actions,.admin-spectate-players .admin-player-list-item:focus-within .admin-spectate-player-actions{display:flex}}.admin-action-modal-input{margin-top:1rem}.spin{animation:spin .8s linear infinite}:root,[data-theme=light]{color-scheme:light;--bg-primary: #e8e0ce;--bg-secondary: #ddd4be;--bg-card: #f3ecdc;--text-primary: #2c2a26;--text-secondary: #6b655c;--border-color: #4a463e;--border-strong: #4a463e;--accent: #b91c1c;--accent-hover: #991b1b;--scrollbar: rgba(0, 0, 0, .18);--overlay: rgba(40, 36, 28, .4);--shadow: 0 2px 8px rgba(60, 50, 30, .12);--btn-primary-bg: #4a463e;--btn-primary-text: #f3ecdc;--btn-primary-hover-bg: #2c2a26;--btn-primary-hover-text: #f3ecdc;--btn-emphasis-bg: #4a463e;--btn-emphasis-text: #f3ecdc;--btn-emphasis-hover-bg: #2c2a26;--prompt-action-bg: #fff3cd;--prompt-action-border: #d4a520;--prompt-action-text: #1a1a1a;--prompt-warn-bg: #fde8e8;--prompt-warn-border: #b91c1c;--prompt-warn-text: #b91c1c;--flash-bg: #fff3cd;--flash-border: #d4a520;--flash-glow: rgba(212, 165, 32, .55);--gold: #c9a227;--on-gold: #1a1a1a;--on-accent: #fff;--success: #1b8c3a;--teal: #00897b;--card-back: #b91c1c;--font-display: "Russo One", sans-serif;--font-logo-zh: "Noto Sans TC", sans-serif;--font-body: "LXGW WenKai TC", "Noto Sans TC", sans-serif;--text-2xs: 11px;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-md: 17px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 22px;--text-3xl: 26px;--switch-track-off: #c9c0ad;--switch-track-off-hover: #bdb4a1;--switch-track-on: #b91c1c;--switch-track-on-hover: #991b1b;--switch-thumb: #f3ecdc;--radius: 8px;--radius-sm: 4px;--modal-action-width: min(480px, calc(100vw - 24px) );--modal-compact-width: min(360px, calc(100vw - 24px) );--card-face: #fff;--card-ink: #1a1a1a;--card-ink-muted: #555;--card-ink-subtle: #444;--card-value-bg: rgba(255, 255, 255, .95);--card-value-border: #1a1a1a;--card-divider: #1a1a1a;--card-segment-border: rgba(0, 0, 0, .15);--card-shadow-selected: 0 8px 20px rgba(0, 0, 0, .2);--watermark-opacity: .04}[data-theme=dark]{color-scheme:dark;--bg-primary: #1a1814;--bg-secondary: #242019;--bg-card: #2c2821;--text-primary: #ebe4d6;--text-secondary: #978f82;--border-color: #5a5348;--border-strong: #7a7164;--accent: #e06060;--accent-hover: #cc4f4f;--scrollbar: rgba(235, 228, 214, .14);--overlay: rgba(8, 6, 4, .72);--shadow: 0 2px 14px rgba(0, 0, 0, .48);--btn-primary-bg: #ebe4d6;--btn-primary-text: #1a1814;--btn-primary-hover-bg: #f5efe4;--btn-primary-hover-text: #1a1814;--btn-emphasis-bg: #ebe4d6;--btn-emphasis-text: #1a1814;--btn-emphasis-hover-bg: #f5efe4;--prompt-action-bg: #3a3220;--prompt-action-border: #b8941f;--prompt-action-text: #f0e2b8;--prompt-warn-bg: #3a2424;--prompt-warn-border: #e06060;--prompt-warn-text: #f0a8a8;--flash-bg: #3a3220;--flash-border: #b8941f;--flash-glow: rgba(184, 148, 31, .42);--gold: #d4a520;--on-gold: #1a1814;--on-accent: #fff;--success: #3cb85e;--teal: #2eb8a4;--card-back: #8f3030;--font-display: "Russo One", sans-serif;--font-logo-zh: "Noto Sans TC", sans-serif;--font-body: "LXGW WenKai TC", "Noto Sans TC", sans-serif;--switch-track-off: #3a3630;--switch-track-off-hover: #4a453c;--switch-track-on: #e06060;--switch-track-on-hover: #cc4f4f;--switch-thumb: #ebe4d6;--card-face: #f2ebe0;--card-ink: #2a2620;--card-ink-muted: #5c564c;--card-ink-subtle: #4a453c;--card-value-bg: rgba(255, 255, 255, .9);--card-value-border: #4a453c;--card-divider: rgba(42, 38, 32, .18);--card-segment-border: rgba(0, 0, 0, .1);--card-shadow-selected: 0 8px 24px rgba(0, 0, 0, .55);--watermark-opacity: .055}*{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html,body,#root{height:100%}html{font-size:112.5%;overflow:hidden;overscroll-behavior:none}body{font-family:var(--font-body);font-size:var(--text-base);background:var(--bg-primary);color:var(--text-primary);overflow:hidden;overscroll-behavior:none;transition:background .2s,color .2s}html.landing-scroll,body.landing-scroll{height:auto;min-height:100vh;overflow-x:hidden;overflow-y:auto;overscroll-behavior:auto;-webkit-overflow-scrolling:touch}html.landing-scroll #root{height:auto;min-height:100vh}html:not(.landing-scroll),html:not(.landing-scroll) body,html:not(.landing-scroll) #root{height:var(--app-height, 100dvh);max-height:var(--app-height, 100dvh)}html:not(.landing-scroll) #root{overflow:hidden}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}h1,h2,h3,h4,h5,h6,select,textarea,option{font-family:var(--font-body)}select{border:2px solid var(--border-strong, var(--border-color));padding:8px 12px;border-radius:var(--radius-sm);font-size:var(--text-base);background:var(--bg-card);color:var(--text-primary);outline:none}select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.font-logo,.logo,.home-title,.lobby-title,.game-title,.play-area-watermark-title,.card-back-text{font-family:var(--font-display)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:3px}::-webkit-scrollbar-track{background:transparent}button{cursor:pointer;font-family:var(--font-body);border:2px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);padding:9px 16px;border-radius:var(--radius-sm);font-size:var(--text-base);transition:background .15s,transform .1s,color .15s,border-color .15s}button:hover{background:var(--bg-secondary)}button:active{transform:scale(.97)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg);font-weight:700}button.primary:hover:not(:disabled){background:var(--btn-primary-hover-bg);color:var(--btn-primary-hover-text);border-color:var(--btn-primary-hover-bg)}input{font-family:var(--font-body);border:2px solid var(--border-color);padding:9px 12px;border-radius:var(--radius-sm);font-size:var(--text-base);background:var(--bg-card);color:var(--text-primary);outline:none}input:focus{box-shadow:0 0 0 2px var(--scrollbar)}input::placeholder{color:var(--text-secondary)}:root{--btn-height: 48px;--btn-height-compact: 40px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--btn-height);padding:10px 16px;font-family:var(--font-body);font-size:var(--text-base);font-weight:700;line-height:1.2;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:background .15s,transform .1s,color .15s,border-color .15s}.btn:hover:not(:disabled){background:var(--bg-secondary)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn svg{flex-shrink:0}.btn--primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.btn--primary:hover:not(:disabled){background:var(--btn-primary-hover-bg);color:var(--btn-primary-hover-text);border-color:var(--btn-primary-hover-bg)}.btn--compact{min-height:var(--btn-height-compact);padding:6px 12px;font-size:var(--text-sm)}.btn-row{display:flex;gap:10px;width:100%}.btn-row>.btn,.btn-row>button{flex:1;min-width:0}.btn-row--single{justify-content:center}.btn-row--single>.btn,.btn-row--single>button{flex:1;max-width:calc(50% - 5px)}.btn-row--centered{justify-content:center;width:auto;max-width:100%}.btn-row--centered>.btn,.btn-row--centered>button{flex:0 1 auto;min-width:160px}@media(max-width:400px){.btn{padding:10px 12px;gap:4px}.btn span{white-space:nowrap}}.confirm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1400;display:grid;place-items:center;padding:16px;background:var(--overlay)}.confirm-modal-dialog{position:relative;width:min(100%,340px);max-height:min(90vh,720px);overflow-y:auto;padding:24px;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow)}.confirm-modal-dialog--enquiry{width:min(100%,420px)}.confirm-modal-dialog--settings{width:min(100%,360px)}.settings-modal-body{margin-top:16px}.confirm-modal-title{margin:0 0 8px;padding-right:40px;font-size:var(--text-xl);line-height:1.3}.confirm-modal-message{margin:0;font-size:var(--text-base);line-height:1.5;color:var(--text-secondary)}.confirm-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.enquiry-modal-form{margin-top:16px}.enquiry-modal-form .form-group{margin-bottom:14px}.enquiry-modal-form .form-group:last-of-type{margin-bottom:0}.enquiry-modal-form label,.enquiry-modal-type-label{display:block;margin-bottom:6px;font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.choice-btn-group{display:flex;align-items:stretch;width:100%;gap:6px}.choice-btn{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:40px;padding:0 8px;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-weight:700;font-size:var(--text-sm);white-space:nowrap}.choice-btn.selected{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-text)}.choice-btn:disabled{opacity:.45;cursor:not-allowed}.enquiry-modal-textarea,.enquiry-modal-form input[type=email]{width:100%;box-sizing:border-box;padding:10px 12px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-base);font-family:var(--font-body);line-height:1.45}.enquiry-modal-textarea{min-height:7.5rem;resize:vertical}.enquiry-modal-textarea:focus,.enquiry-modal-form input[type=email]:focus{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.enquiry-modal-textarea:disabled,.enquiry-modal-form input[type=email]:disabled{opacity:.65;cursor:not-allowed}.enquiry-modal-body-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}.enquiry-modal-body-heading label{margin-bottom:0}.enquiry-modal-char-count{flex-shrink:0;font-size:var(--text-xs);font-weight:600;color:var(--text-secondary)}.enquiry-modal-turnstile{display:flex;justify-content:center;min-height:65px}.enquiry-modal-success{margin:16px 0 0;font-size:var(--text-base);line-height:1.5;font-weight:700;color:var(--text-primary)}.enquiry-modal-error{margin:12px 0 0;font-size:var(--text-sm);line-height:1.4;color:var(--accent)}
