.tts-settings-form{display:flex;flex-direction:column;gap:16px;color:var(--home-ink, #312d28);font-family:inherit}.tts-status-card{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:16px;background:#fffaf1;border:2px solid var(--home-ink, #312d28);box-shadow:3px 4px 0 var(--home-ink, #312d28)}.tts-status-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.tts-status-title{display:flex;align-items:center;gap:8px;font-size:.94rem;font-weight:900;color:var(--home-ink, #312d28)}.tts-status-title svg{color:var(--home-green, #0c715d)}.tts-status-badge{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:800}.tts-status-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--home-ink, #312d28);display:inline-block;flex-shrink:0;background:#35ad7a}.tts-status-text{color:#055848;font-weight:800}.tts-status-desc{margin:0;font-size:.8rem;line-height:1.45;color:var(--home-muted, #6f665d);font-weight:600}.tts-section{display:flex;flex-direction:column;gap:8px}.tts-section-label{display:flex;align-items:center;justify-content:space-between;font-size:.92rem;font-weight:900;color:var(--home-ink, #312d28)}.tts-engine-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(max-width:640px){.tts-engine-grid{grid-template-columns:1fr}}.tts-engine-grid .choice-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px 14px;border-radius:14px;border:2px solid var(--home-ink, #312d28);background:#fff;box-shadow:2px 3px 0 var(--home-ink, #312d28);cursor:pointer;text-align:left;transition:all .16s ease;font-family:inherit;width:100%;box-sizing:border-box}.tts-engine-grid .choice-card:hover{transform:translateY(-2px);box-shadow:2px 5px 0 var(--home-ink, #312d28)}.tts-engine-grid .choice-card.is-selected{background:#ecfdf5;border-color:#059669;box-shadow:0 0 0 2px #10b981,2px 3px 0 var(--home-ink, #312d28)}.tts-engine-grid .choice-card-header{display:flex;align-items:center;width:100%;gap:8px}.tts-engine-grid .choice-card-icon{flex-shrink:0;color:var(--home-ink, #312d28);transition:color .16s ease}.tts-engine-grid .choice-card.is-selected .choice-card-icon{color:#059669}.tts-engine-grid .choice-card-title{font-size:.88rem;font-weight:900;color:var(--home-ink, #312d28);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tts-engine-grid .choice-badge{margin-left:auto;font-size:.72rem;font-weight:900;color:#059669;background:#d1fae5;border-radius:999px;padding:2px 8px;line-height:1.2;flex-shrink:0}.tts-engine-grid .choice-badge.is-active-badge{background:#bbf7d0;color:#166534}.tts-engine-grid .choice-card-desc{margin:0;font-size:.74rem;line-height:1.35;color:var(--home-muted, #6f665d)}.tts-subpanel{display:flex;flex-direction:column;gap:14px;padding:16px;background:#fffdf8;border:2px solid var(--home-ink, #312d28);box-shadow:2px 3px 0 var(--home-ink, #312d28);border-radius:16px}.tts-tip-banner{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:#fff8eb;border:1.5px solid #fed7aa;border-radius:12px;font-size:.8rem;line-height:1.45;color:#9a3412;font-weight:600}.tts-tip-banner svg{flex-shrink:0;margin-top:1px;color:#ea580c}.tts-subpanel .form-group{display:flex;flex-direction:column;gap:6px}.tts-subpanel .form-group label{font-size:.84rem;font-weight:800;color:var(--home-ink, #312d28);display:flex;align-items:center;justify-content:space-between}.tts-input{width:100%;padding:9px 12px;border-radius:12px;border:2px solid var(--home-ink, #312d28);font-size:.88rem;font-weight:700;color:var(--home-ink, #312d28);background:#fff;box-shadow:1px 2px 0 var(--home-ink, #312d28);outline:none;box-sizing:border-box;transition:border-color .15s ease;font-family:inherit}.tts-input:focus{border-color:var(--home-green, #0c715d);background:#fff}.tts-hint{font-size:.74rem;color:var(--home-muted, #6f665d);font-weight:600}.form-row-sliders{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:480px){.form-row-sliders{grid-template-columns:1fr;gap:12px}}.tts-slider-header{display:flex;align-items:center;justify-content:space-between;width:100%}.tts-slider-title{font-size:.84rem;font-weight:800;color:var(--home-ink, #312d28)}.tts-slider-badge{display:inline-block;padding:1px 8px;border-radius:999px;background:#fff5e6;border:1.5px solid var(--home-ink, #312d28);font-size:.76rem;font-weight:900;color:var(--home-ink, #312d28);font-variant-numeric:tabular-nums;box-shadow:1px 1px 0 var(--home-ink, #312d28)}.tactile-range{-webkit-appearance:none;appearance:none;width:100%;height:10px;border-radius:999px;background:#f3ede2;border:2px solid var(--home-ink, #312d28);outline:none;margin:6px 0;cursor:pointer}.tactile-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--home-yellow, #f8c822);border:2px solid var(--home-ink, #312d28);box-shadow:1px 2px 0 var(--home-ink, #312d28);cursor:grab;transition:transform .12s ease}.tactile-range::-webkit-slider-thumb:hover{transform:scale(1.15)}.tactile-range::-webkit-slider-thumb:active{cursor:grabbing;background:#eab308}.tactile-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--home-yellow, #f8c822);border:2px solid var(--home-ink, #312d28);box-shadow:1px 2px 0 var(--home-ink, #312d28);cursor:grab;transition:transform .12s ease}.tactile-range::-moz-range-thumb:hover{transform:scale(1.15)}.tactile-range::-moz-range-thumb:active{cursor:grabbing;background:#eab308}.tts-preset-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tts-preset-label{font-size:.78rem;font-weight:800;color:var(--home-muted, #6f665d)}.tts-preset-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;border:1.5px solid var(--home-ink, #312d28);background:#fff;box-shadow:1px 2px 0 var(--home-ink, #312d28);font-size:.76rem;font-weight:800;color:var(--home-ink, #312d28);cursor:pointer;transition:all .12s ease;font-family:inherit}.tts-preset-chip:hover{transform:translateY(-1px);background:#fef08a;box-shadow:1px 3px 0 var(--home-ink, #312d28)}.tts-key-input-wrap{position:relative;display:flex;align-items:center}.tts-key-input-wrap .tts-input{padding-right:40px}.tts-key-toggle-btn{position:absolute;right:8px;background:none;border:none;padding:6px;cursor:pointer;color:var(--home-muted, #6f665d);display:flex;align-items:center;justify-content:center;border-radius:6px;transition:color .12s ease}.tts-key-toggle-btn:hover{color:var(--home-ink, #312d28)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:480px){.form-row{grid-template-columns:1fr;gap:12px}}.tts-actions-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;padding-top:4px}@media(max-width:480px){.tts-actions-bar{flex-direction:column-reverse;gap:8px}.tts-actions-bar button{width:100%}}.tts-test-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:999px;border:2px solid var(--home-ink, #312d28);background:#fff;box-shadow:2px 3px 0 var(--home-ink, #312d28);font-size:.88rem;font-weight:800;color:var(--home-ink, #312d28);cursor:pointer;transition:all .15s ease;font-family:inherit}.tts-test-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:2px 4px 0 var(--home-ink, #312d28);background:#fef3c7}.tts-test-btn.is-playing{background:#fef08a;border-color:#b45309;color:#92400e;animation:tts-pulse 1.4s infinite ease-in-out}@keyframes tts-pulse{0%,to{box-shadow:2px 3px 0 var(--home-ink, #312d28)}50%{box-shadow:0 0 0 3px #fde047,2px 4px 0 var(--home-ink, #312d28)}}.tts-save-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 24px;border-radius:999px;border:2px solid var(--home-ink, #312d28);background:var(--home-yellow, #f8c822);box-shadow:2px 3px 0 var(--home-ink, #312d28);font-size:.9rem;font-weight:900;color:var(--home-ink, #312d28);cursor:pointer;transition:all .15s ease;font-family:inherit}.tts-save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:2px 4px 0 var(--home-ink, #312d28);background:#fcd34d}.tts-save-btn:active:not(:disabled),.tts-test-btn:active:not(:disabled){transform:translateY(1px);box-shadow:1px 1px 0 var(--home-ink, #312d28)}.about-update-panel{display:flex;flex-direction:column;gap:16px;color:var(--home-ink, #221e1a)}.about-brand-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--home-cream, #fbf7ee);border:2px solid var(--home-ink, #221e1a);border-radius:14px;box-shadow:0 2px 6px #221e1a14}.about-brand-icon{width:48px;height:48px;border-radius:12px;border:2px solid var(--home-ink, #221e1a);background:#fff;object-fit:cover;flex-shrink:0}.about-brand-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.about-brand-name{font-size:1.15rem;font-weight:900;color:var(--home-ink, #221e1a);line-height:1.2}.about-version-badge-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.about-version-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.76rem;font-weight:800;background:var(--home-yellow, #f8c822);color:var(--home-ink, #221e1a);border:1.5px solid var(--home-ink, #221e1a)}.about-platform-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:700;background:#e2f0d9;color:#1e4620;border:1.5px solid #1e4620}.about-check-action-box{display:flex;flex-direction:column;gap:10px}.about-check-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:12px;border:2px solid var(--home-ink, #221e1a);background:var(--home-yellow, #f8c822);color:var(--home-ink, #221e1a);font-size:.92rem;font-weight:900;cursor:pointer;box-shadow:0 2px 0 var(--home-ink, #221e1a);transition:all .15s ease}.about-check-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 0 var(--home-ink, #221e1a)}.about-check-btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px 0 var(--home-ink, #221e1a)}.about-check-btn:disabled{opacity:.7;cursor:not-allowed}.about-status-banner{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;border:2px solid var(--home-ink, #221e1a);font-size:.85rem;font-weight:700}.about-status-banner.is-ok{background:#e8f5e9;color:#1b5e20;border-color:#2e7d32}.about-status-banner.is-error{background:#ffebee;color:#b71c1c;border-color:#c62828}.about-update-card{display:flex;flex-direction:column;gap:12px;padding:14px;background:#fff;border:2.5px solid var(--home-ink, #221e1a);border-radius:14px;box-shadow:0 4px 12px #221e1a1f}.about-update-header{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:2px dashed #ded4c5;padding-bottom:10px}.about-update-title-wrap{display:flex;align-items:center;gap:8px}.about-update-badge{background:#ff4d4f;color:#fff;padding:2px 8px;border-radius:6px;font-size:.75rem;font-weight:900;letter-spacing:.5px}.about-update-version{font-size:1.1rem;font-weight:900;color:var(--home-ink, #221e1a)}.about-update-meta-row{display:flex;flex-wrap:wrap;gap:8px;font-size:.78rem;font-weight:700;color:#4a433d}.about-update-meta-tag{background:var(--home-cream-dark, #eedfca);padding:3px 8px;border-radius:6px;border:1px solid var(--home-ink, #221e1a)}.about-release-notes-box{background:#fdfaf3;border:1.5px solid #d5c8b5;border-radius:10px;padding:10px 12px;max-height:160px;overflow-y:auto}.about-release-notes-title{font-size:.8rem;font-weight:800;color:var(--home-ink, #221e1a);margin-bottom:6px}.about-release-notes-content{font-size:.82rem;line-height:1.5;color:#2b2723;white-space:pre-wrap;word-break:break-word}.about-progress-box{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:#f5f0e6;border:1.5px solid var(--home-ink, #221e1a);border-radius:10px}.about-progress-labels{display:flex;justify-content:space-between;font-size:.78rem;font-weight:800;color:var(--home-ink, #221e1a)}.about-progress-track{width:100%;height:10px;background:#e0d5c1;border:1.5px solid var(--home-ink, #221e1a);border-radius:999px;overflow:hidden}.about-progress-fill{height:100%;background:#2e7d32;transition:width .15s ease-out}.about-btn-row{display:flex;gap:8px}.about-primary-action-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;border-radius:10px;border:2px solid var(--home-ink, #221e1a);background:var(--home-yellow, #f8c822);color:var(--home-ink, #221e1a);font-size:.88rem;font-weight:900;cursor:pointer;box-shadow:0 2px 0 var(--home-ink, #221e1a);transition:all .15s ease}.about-primary-action-btn:hover{transform:translateY(-1px);box-shadow:0 3px 0 var(--home-ink, #221e1a)}.about-secondary-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:10px 12px;border-radius:10px;border:2px solid var(--home-ink, #221e1a);background:var(--home-cream-dark, #eedfca);color:var(--home-ink, #221e1a);font-size:.84rem;font-weight:800;cursor:pointer;transition:all .15s ease}.about-web-hint{font-size:.78rem;color:#594f45;line-height:1.4;margin-top:4px}.settings-nav-tab .update-unread-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ff3b30;border:1.5px solid #ffffff;margin-left:2px;flex-shrink:0}.home-header__button-icon-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.home-header__badge-dot{position:absolute;top:-2px;right:-3px;width:8px;height:8px;border-radius:50%;background:#ff3b30;border:1.5px solid var(--home-cream, #fff7ef);box-shadow:0 0 0 1px #0003}._statusBar_1oewc_5{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:.6rem;padding:.5rem 1rem;font-size:.9rem;color:#5b4636;background:linear-gradient(180deg,#fdf6e3,#f7ecd3);border-bottom:1px solid #e2cfa0;box-shadow:0 1px 4px #5a3c141f}._dot_1oewc_20{width:.55rem;height:.55rem;flex:none;border-radius:50%;background:#c8a24a;box-shadow:0 0 0 3px #c8a24a40;animation:_pulse_1oewc_1 1.2s ease-in-out infinite}._message_1oewc_30{flex:1 1 auto;min-width:0}._resyncButton_1oewc_35{flex:none;padding:.3rem .8rem;font:inherit;font-size:.85rem;color:#fff;background:#c8a24a;border:none;border-radius:999px;cursor:pointer;transition:background .15s ease}._resyncButton_1oewc_35:hover{background:#b08d3a}._resyncButton_1oewc_35:active{background:#99782f}@keyframes _pulse_1oewc_1{0%,to{opacity:1}50%{opacity:.35}}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent!important}:root{--color-primary: #4f46e5;--color-primary-hover: #4338ca;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-bg: #f9fafb;--color-surface: #ffffff;--color-border: #e5e7eb;--color-text: #111827;--color-text-muted: #6b7280;--color-success: #16a34a;--color-warning: #f59e0b;--color-urgent: #dc2626;--color-undercover: #7c3aed;--color-civilian: #2563eb;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--touch-size: 44px;--game-paper: #fff4df;--game-surface: #fffdf7;--game-ink: #292722;--game-muted: #575147;--game-line: #292722;--game-green: #08715d;--game-green-dark: #055848;--game-coral: #c23616;--game-coral-dark: #9f240a;--game-yellow: #f7c84b;--game-purple: #7358a7}html,body{margin:0;padding:0;width:100%;height:100vh;height:100dvh;max-width:100vw;overflow:hidden;scrollbar-width:none;-ms-overflow-style:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:16px;line-height:1.5;color:var(--color-text);background:#fff5e6;-webkit-text-size-adjust:100%;touch-action:manipulation;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}input,textarea,[contenteditable=true],.allow-select,.selectable-text{user-select:text!important;-webkit-user-select:text!important;-webkit-touch-callout:default!important}button,a,input,select,textarea,[role=button],[tabindex]{-webkit-tap-highlight-color:transparent!important}button:focus:not(:focus-visible),a:focus:not(:focus-visible),[role=button]:focus:not(:focus-visible),[tabindex]:focus:not(:focus-visible){outline:none!important}:focus-visible{outline:2.5px solid var(--home-yellow, #f8c822)!important;outline-offset:2px}html::-webkit-scrollbar,body::-webkit-scrollbar,#root::-webkit-scrollbar,.app::-webkit-scrollbar{display:none;width:0;height:0}#root{height:100vh;height:100dvh;width:100%;max-width:100vw;overflow:hidden;display:flex;flex-direction:column;background:#fff5e6}.app{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.game-home-page{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.game-page,.tabletop-shell,.tabletop-oval-shell,.tabletop-arena,.tabletop-arena-container,.tabletop-stage-fit-arena,.tabletop-viewport-shell,.uc-stage,.uc-stage__body{overflow-x:hidden!important;max-width:100%!important;scrollbar-width:none}.game-page::-webkit-scrollbar,.tabletop-shell::-webkit-scrollbar,.tabletop-oval-shell::-webkit-scrollbar,.tabletop-arena::-webkit-scrollbar,.tabletop-arena-container::-webkit-scrollbar,.tabletop-stage-fit-arena::-webkit-scrollbar,.tabletop-viewport-shell::-webkit-scrollbar,.uc-stage::-webkit-scrollbar,.uc-stage__body::-webkit-scrollbar{display:none;width:0;height:0}*{scrollbar-width:thin;scrollbar-color:rgba(217,119,6,.35) transparent}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent;border-radius:999px}::-webkit-scrollbar-thumb{background:#29272247;border-radius:999px;border:1px solid transparent;background-clip:padding-box;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:#d97706b3}::-webkit-scrollbar-corner{background:transparent}.uc-stage *,.tabletop-theme-dark *,.werewolf-night *,.werewolf-court *,.night-testimony *{scrollbar-color:rgba(255,209,102,.4) transparent}.uc-stage *::-webkit-scrollbar-thumb,.tabletop-theme-dark *::-webkit-scrollbar-thumb,.werewolf-night *::-webkit-scrollbar-thumb,.werewolf-court *::-webkit-scrollbar-thumb,.night-testimony *::-webkit-scrollbar-thumb{background:#ffd16659}.uc-stage *::-webkit-scrollbar-thumb:hover,.tabletop-theme-dark *::-webkit-scrollbar-thumb:hover,.werewolf-night *::-webkit-scrollbar-thumb:hover,.werewolf-court *::-webkit-scrollbar-thumb:hover,.night-testimony *::-webkit-scrollbar-thumb:hover{background:#ffd166bf}button{font-family:inherit;font-size:1rem;cursor:pointer;min-height:var(--touch-size);min-width:var(--touch-size);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:8px;padding:8px 16px;transition:background .15s,border-color .15s,opacity .15s}button:hover:not(:disabled){border-color:var(--color-primary)}button:disabled{opacity:.5;cursor:not-allowed}input{font-family:inherit;font-size:1rem;min-height:var(--touch-size);border:1px solid var(--color-border);border-radius:8px;padding:8px 12px;width:100%;background:var(--color-surface);color:var(--color-text)}input:focus{outline:2px solid var(--color-primary);outline-offset:-1px}button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}h1{font-size:1.5rem;margin:0 0 .5rem}h2{font-size:1.25rem;margin:0 0 .75rem}h3{font-size:1.1rem;margin:.5rem 0}p{margin:.5rem 0}.app,.connect-page,.room-page,.game-page{max-width:480px;margin:0 auto;padding:calc(var(--safe-top) + 12px) 12px calc(var(--safe-bottom) + 12px);display:flex;flex-direction:column;gap:12px}.loading-screen,.error-screen{align-items:center;justify-content:center;text-align:center;min-height:100vh;min-height:100dvh}.loading{color:var(--color-text-muted)}.loading-hint{color:var(--color-text-muted);font-size:.875rem}.primary-btn{background:var(--color-primary);color:#fff;border-color:var(--color-primary);font-weight:600}.primary-btn:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.danger-btn{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.danger-btn:hover:not(:disabled){background:var(--color-danger-hover)}.leave-btn{background:transparent;color:var(--color-danger);border-color:var(--color-danger)}.text-btn{background:transparent;border:none;color:var(--color-primary);text-decoration:none;min-height:auto;min-width:auto;padding:4px}.copy-btn{font-size:.75rem;min-height:32px;padding:2px 10px}.submit-btn{background:var(--color-primary);color:#fff;border-color:var(--color-primary);font-weight:600;font-size:1.05rem}.field{display:flex;flex-direction:column;gap:4px}.field-label{font-size:.875rem;color:var(--color-text-muted)}.checkbox-field{display:flex;align-items:center;gap:8px}.checkbox-field input[type=checkbox]{width:auto;min-height:auto;width:20px;height:20px}.error-banner,.status-banner{font-size:.875rem}.room-header{justify-content:space-between;flex-wrap:wrap}.members-hint{margin-left:4px}.members-list{flex-direction:column}.member{font-size:.9rem;flex-wrap:wrap}.member-seat{min-width:28px}.member-name{flex:1}.member-status{background:#f3f4f6}.chat-box{overflow-y:auto}.chat-empty{text-align:center;padding:20px}.chat-line{margin-bottom:4px;word-break:break-word}.chat-input-row input{flex:1}.chat-input-row button{white-space:nowrap}.game-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.game-title{font-weight:600}.spectator-badge{background:#ede9fe;color:var(--color-undercover);font-size:.75rem;padding:2px 8px;border-radius:8px}.game-phase{display:flex;flex-direction:column;gap:12px}.phase-hint{color:var(--color-text-muted);text-align:center}.progress{text-align:center;color:var(--color-text-muted);font-size:.875rem}.countdown{text-align:center;font-size:1.25rem;font-weight:700;color:var(--color-warning);padding:8px;background:#fef3c7;border-radius:8px}.countdown.urgent{color:var(--color-urgent);background:#fee2e2;animation:pulse 1s infinite}.countdown-hint{text-align:center;color:var(--color-text-muted);font-size:.875rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.toast-container{position:fixed;top:calc(var(--safe-top) + 16px);left:50%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;align-items:center;gap:8px;width:fit-content;max-width:min(calc(100% - 24px),460px);pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:8px 14px 8px 16px;border-radius:999px;font-size:.9rem;font-weight:900;line-height:1.35;border:2.5px solid var(--game-line, #221e1a);box-shadow:0 4px 0 var(--game-line, #221e1a),0 8px 20px #00000040;animation:toast-spring-in .28s cubic-bezier(.16,1,.3,1) both;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.toast-icon{font-size:1.15rem;line-height:1;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.toast-message{flex:1;color:inherit;letter-spacing:.01em}.toast-success{background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#14532d;border-color:var(--game-line, #221e1a)}.toast-error{background:linear-gradient(135deg,#fff1f2,#fee2e2);color:#991b1b;border-color:var(--game-line, #221e1a)}.toast-info{background:linear-gradient(135deg,#fffdf8,#fef3c7);color:#92400e;border-color:var(--game-line, #221e1a)}.toast-close{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#fff;border:2px solid var(--game-line, #221e1a);box-shadow:0 2px 0 var(--game-line, #221e1a);color:var(--game-line, #221e1a);font-size:1.1rem;font-weight:900;line-height:1;cursor:pointer;padding:0;margin-left:4px;flex-shrink:0;transition:transform .12s ease,background .12s ease,color .12s ease}.toast-close:hover{background:#fee2e2;color:#b91c1c;transform:scale(1.08)}.toast-close:active{transform:translateY(1px)}@keyframes toast-spring-in{0%{opacity:0;transform:translateY(-16px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@media(min-width:480px){.app,.connect-page,.room-page,.game-page{padding-left:16px;padding-right:16px}}@media(max-width:380px){.room-code{font-size:1.25rem}}.game-home-page{--home-paper: #fff5e6;--home-surface: #fffdf8;--home-ink: #312d28;--home-muted: #575147;--home-coral: #c23616;--home-coral-dark: #9f240a;--home-green: #0c715d;--home-border: 3px solid var(--home-ink);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;flex:1;position:relative;isolation:isolate;overflow-x:hidden;padding:max(var(--safe-top),16px) 16px max(var(--safe-bottom),24px);color:var(--home-ink);background-color:var(--home-paper);background-image:radial-gradient(circle at 1px 1px,rgba(238,103,82,.23) 1.5px,transparent 1.7px),radial-gradient(circle at 1px 1px,rgba(32,130,110,.16) 1.3px,transparent 1.6px);background-position:0 0,16px 17px;background-size:30px 30px,30px 30px;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.game-home-page:before,.game-home-page:after{position:absolute;z-index:-1;width:clamp(90px,16vw,230px);height:clamp(90px,16vw,230px);content:"";border:3px solid rgba(49,45,40,.76);pointer-events:none}.game-home-page:before{top:clamp(270px,30vw,390px);right:clamp(-115px,-5vw,-65px);background:#0c715d;transform:rotate(26deg)}.game-home-page:after{bottom:128px;left:clamp(-115px,-5vw,-65px);background:#eac04b;transform:rotate(-19deg)}.game-home-page__content{width:min(100%,1180px);margin:0 auto;display:flex;flex-direction:column;flex:1}.home-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.home-brand,.home-header__actions{display:flex;align-items:center}.home-brand{gap:10px;color:var(--home-ink);font-family:ui-serif,Songti SC,STSong,"Noto Serif SC",serif;font-size:1.14rem;font-weight:900;letter-spacing:.08em}.home-brand__tile{display:grid;width:38px;height:38px;place-items:center;border:var(--home-border, 2.5px solid #29241f);border-radius:9px;color:#fffaf0;background:var(--home-coral, #ff4757);box-shadow:2px 3px 0 var(--home-ink, #29241f);font-family:Microsoft YaHei,sans-serif;font-size:1.08rem;font-weight:900;letter-spacing:0;transform:rotate(-6deg);overflow:hidden}.home-brand__tile:has(.home-brand__img){background:#d4c2a0}.home-brand__img{width:100%;height:100%;object-fit:cover;display:block}.home-header__actions{justify-content:flex-end;gap:8px}.home-local-badge{position:relative;display:inline-flex;min-height:32px;align-items:center;gap:6px;border:2px solid var(--home-green, #0c715d);border-radius:999px;padding:4px 12px;color:#fffdf8;background:var(--home-green, #0c715d);font-size:.74rem;font-weight:800;letter-spacing:.04em;white-space:nowrap;box-shadow:0 2px 0 var(--home-ink, #221e1a),0 0 12px #0c715d33;transition:transform .22s ease,box-shadow .22s ease;box-sizing:border-box}.home-local-badge:hover{transform:scale(1.05);box-shadow:0 2px 0 var(--home-ink, #221e1a),0 0 16px #0c715d4d}.home-local-badge:before{display:inline-block;width:7px;height:7px;border-radius:50%;background:#eafff5;box-shadow:0 0 8px #eafff5e6;content:"";flex-shrink:0;animation:badge-dot-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.home-join-link{min-width:auto;min-height:38px;border:0;border-bottom:2px solid var(--home-ink);border-radius:0;padding:3px 0;color:var(--home-ink);background:transparent;font-size:.84rem;font-weight:800}.home-join-link:hover:not(:disabled){border-color:var(--home-coral);color:var(--home-coral)}.home-hero{position:relative;display:flex;align-items:center;justify-content:space-between;max-width:100%;min-height:clamp(360px,36vw,480px);padding:clamp(36px,5vw,64px) 3px clamp(24px,4vw,48px)}.home-hero__copy{max-width:560px;position:relative;z-index:2}.home-hero__eyebrow,.home-games__eyebrow{margin:0 0 7px;color:var(--home-coral);font-size:.8rem;font-weight:900;letter-spacing:.05em}.home-hero h1{max-width:8.1em;margin:0;color:var(--home-ink);font-family:ui-serif,Songti SC,STSong,"Noto Serif SC",serif;font-size:clamp(3.38rem,10.6vw,6.6rem);font-weight:900;line-height:.95;letter-spacing:-.08em}.home-hero h1 span{display:block;background:linear-gradient(120deg,var(--home-coral) 0%,#f57056 30%,#f5c847 60%,var(--home-coral) 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:title-gradient-shimmer 6s linear infinite;filter:drop-shadow(0 2px 10px rgba(239,77,57,.15))}.home-hero__description{max-width:34rem;margin:22px 0 0;font-size:clamp(1rem,2.2vw,1.18rem);font-weight:700;line-height:1.8;text-wrap:balance}.player-filter{display:grid;gap:18px;margin-bottom:clamp(40px,7vw,72px);border:var(--home-border);border-radius:24px;padding:clamp(20px,3.4vw,32px);background:linear-gradient(135deg,#fffdf8f5,#fff8ebf0);box-shadow:7px 8px 0 var(--home-ink),0 0 24px #f5c8471f;transition:transform .28s ease,box-shadow .28s ease}.player-filter:hover{box-shadow:9px 11px 0 var(--home-ink),0 0 32px #ef4d392e}.player-filter__copy h2,.home-games h2,.home-join-callout h2{margin:0;font-family:ui-serif,Songti SC,STSong,"Noto Serif SC",serif;font-weight:900}.player-filter__copy h2{font-size:clamp(1.5rem,3vw,2rem)}.player-filter__copy p{margin:6px 0 0;color:var(--home-muted);font-size:.92rem;font-weight:600}.player-filter__options{display:flex;flex-wrap:wrap;gap:8px}.player-filter__options button{min-width:44px;min-height:44px;border:2px solid var(--home-ink);border-radius:12px;padding:6px 10px;color:var(--home-ink);background:#fffaf1;box-shadow:2px 3px 0 var(--home-ink);font-size:.88rem;font-weight:900}.player-filter__options button span{margin-left:1px;font-size:.67rem}.player-filter__options button:hover:not(:disabled),.player-filter__options button[aria-pressed=true]{border-color:var(--home-ink);color:#fffaf0;background:var(--home-coral)}.player-filter__options button:active:not(:disabled),.game-card__action:active:not(:disabled),.home-join-callout button:active:not(:disabled),.room-sheet__submit:active:not(:disabled){box-shadow:1px 1px 0 var(--home-ink);transform:translate(2px,2px)}.home-games{scroll-margin-top:24px}.home-games__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.home-games h2{font-size:clamp(1.85rem,4vw,3rem);line-height:1.08}.home-games__count{flex:0 0 auto;border:2px solid var(--home-ink);border-radius:999px;padding:4px 10px;color:var(--home-ink);background:#f7d661;font-size:.8rem;font-weight:900;transform:rotate(3deg)}.home-games__notice{margin:0 0 16px;border-left:4px solid var(--home-coral);padding:9px 12px;color:var(--home-ink);background:#fffdf8bf;font-weight:700}.game-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.game-card{--game-accent: #ef4d39;--game-soft: #f9d9cf;--game-dark: #7c2d22;position:relative;display:flex;min-width:0;min-height:362px;flex-direction:column;border:var(--home-border);border-radius:27px;padding:22px;color:var(--home-ink);background:var(--home-surface);box-shadow:7px 8px 0 var(--home-ink);overflow:hidden;transition:transform .32s cubic-bezier(.2,.8,.25,1.15),box-shadow .32s cubic-bezier(.2,.8,.25,1.15)}.game-card:before{position:absolute;top:-60%;left:-60%;width:220%;height:220%;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.5) 50%,transparent 58%);content:"";pointer-events:none;opacity:0;transform:translate(-100%) rotate(25deg);transition:opacity .25s ease,transform .75s cubic-bezier(.1,.7,.1,1)}.game-card:hover{transform:translate(-3px,-7px) rotate(-.5deg);box-shadow:12px 16px 0 var(--home-ink),0 14px 30px #312d281f}.game-card:hover:before{opacity:1;transform:translate(100%) rotate(25deg)}.game-card--berry{--game-accent: #146e59;--game-soft: #d9ece2;--game-dark: #075342}.game-card--sunset{--game-accent: #e76835;--game-soft: #fde0c6;--game-dark: #a83f19}.game-card--mint{--game-accent: #287b66;--game-soft: #d6eee2;--game-dark: #155946}.game-card--violet{--game-accent: #7960a5;--game-soft: #e6ddef;--game-dark: #4e3777}.game-card--ocean{--game-accent: #237c93;--game-soft: #d5edf2;--game-dark: #115665}.game-card--cyan{--game-accent: #1a8fb0;--game-soft: #d8f0f7;--game-dark: #0d6c8a}.game-card__ticket{position:absolute;z-index:2;top:22px;right:22px;display:grid;width:43px;height:39px;place-items:center;border:2px solid var(--home-ink);color:var(--home-ink);background:#f5c847;box-shadow:2px 3px 0 var(--home-ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88rem;font-weight:900;transform:rotate(5deg)}.game-card__ticket--m4{background:#f5c847}.game-card__ticket--m3{background:#dde4ee}.game-card__ticket--m2{background:#eec49a}.game-card__ticket--m1{background:#d4d8de}.game-card__meta{display:flex;min-height:28px;align-items:flex-start;justify-content:space-between;gap:10px;padding-right:52px}.game-card__availability,.game-card__players{font-size:.76rem;font-weight:900}.game-card__availability{color:var(--game-dark)}.game-card__availability.is-live{color:var(--home-coral)}.game-card__players{color:var(--home-muted);text-align:right}.game-card__illustration{position:relative;height:120px;margin:4px 0 8px;display:flex;align-items:center;justify-content:center}.game-card__icon-wrap{position:relative;width:110px;height:110px;display:flex;align-items:center;justify-content:center}.game-card__icon-glow{position:absolute;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,#ffd1664d,#fff0 70%);filter:blur(8px);transition:transform .35s ease,opacity .35s ease;opacity:.5}.game-card:hover .game-card__icon-glow{transform:scale(1.25);opacity:.9}.game-card__icon-img{position:relative;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(49,45,40,.22));transition:transform .35s cubic-bezier(.34,1.56,.64,1),filter .35s ease}.game-card:hover .game-card__icon-img{transform:translateY(-6px) scale(1.08);filter:drop-shadow(0 14px 22px rgba(49,45,40,.32))}.game-card__card{position:absolute;display:grid;width:78px;height:100px;place-items:center;border:3px solid var(--home-ink);border-radius:13px;box-shadow:3px 4px 0 var(--home-ink);font-family:ui-serif,Songti SC,STSong,serif;font-size:2.1rem;font-weight:900;transition:transform .36s cubic-bezier(.2,.9,.25,1.25),box-shadow .36s ease}.game-card__card--back{top:10px;left:18%;color:#fffdf6;background:linear-gradient(45deg,transparent 45%,rgba(255,255,255,.28) 46% 54%,transparent 55%),var(--game-accent);transform:rotate(-11deg)}.game-card__card--front{top:4px;left:43%;color:var(--game-accent);background:#fffaf0;transform:rotate(8deg)}.game-card:hover .game-card__card--front{transform:translate(6px,-14px) rotate(15deg) scale(1.08);box-shadow:6px 8px 0 var(--home-ink)}.game-card:hover .game-card__card--back{transform:translate(-4px,5px) rotate(-17deg) scale(.96);box-shadow:2px 2px 0 var(--home-ink)}.game-card h3{margin:4px 0 6px;font-family:ui-serif,Songti SC,STSong,"Noto Serif SC",serif;font-size:clamp(1.65rem,3vw,2.15rem);font-weight:900;line-height:1.08}.game-card__summary{display:-webkit-box;overflow:hidden;margin:0;color:var(--home-muted);font-size:.9rem;font-weight:600;line-height:1.62;-webkit-box-orient:vertical;-webkit-line-clamp:2}.game-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 18px;padding:0;list-style:none}.game-card__tags li{border:1.5px solid color-mix(in srgb,var(--game-accent) 65%,var(--home-ink));border-radius:999px;padding:3px 8px;color:var(--game-dark);background:var(--game-soft);font-size:.7rem;font-weight:800}.game-card__action{display:inline-flex;min-height:48px;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:auto;border:2px solid var(--home-ink);border-radius:15px;padding:9px 14px 9px 16px;color:#fffdf7;background:var(--home-coral);box-shadow:3px 4px 0 var(--home-ink);font-size:.95rem;font-weight:900}.game-card__action:hover:not(:disabled){border-color:var(--home-ink);background:var(--home-coral-dark)}.game-card__action--soon{justify-content:center;border-color:#a49a8e;color:#756c62;background:#ece7de;box-shadow:none;font-size:.78rem}.home-join-callout{display:grid;gap:15px;align-items:center;margin-top:clamp(20px,3vw,32px);margin-bottom:clamp(44px,6.5vw,68px);border:var(--home-border);border-radius:23px;padding:20px;background:#f7d661;box-shadow:6px 7px 0 var(--home-ink)}.home-join-callout__icon{display:grid;width:46px;height:46px;place-items:center;border:2px solid var(--home-ink);border-radius:50%;color:#fffdf5;background:var(--home-green);font-family:ui-serif,serif;font-size:2rem;font-weight:900;transform:rotate(-8deg)}.home-join-callout h2{font-size:1.37rem}.home-join-callout p{margin:4px 0 0;font-size:.87rem;font-weight:700}.home-join-callout button{display:inline-flex;min-height:46px;align-items:center;justify-content:space-between;gap:10px;width:100%;border:2px solid var(--home-ink);border-radius:13px;padding:8px 14px;color:#fffdf7;background:var(--home-green);box-shadow:3px 4px 0 var(--home-ink);font-weight:900}.home-join-callout button:hover:not(:disabled){border-color:var(--home-ink);background:#075544}.home-footer{display:flex;flex-direction:column;gap:17px;margin-top:26px;padding:0 1px}.home-connection{display:flex;min-height:66px;align-items:center;gap:11px;border:1.5px solid #c6baab;border-radius:18px;padding:12px;background:#fffdf8cc}.home-connection__dot{width:17px;height:17px;flex:0 0 auto;border:2px solid var(--home-green);border-radius:50%;background:transparent}.home-connection.is-connected .home-connection__dot{box-shadow:inset 0 0 0 4px #fffdf7;background:var(--home-green);animation:home-connection-pulse 1.7s ease-in-out infinite}.home-connection strong,.home-connection span:not(.home-connection__dot){display:block}.home-connection strong{color:var(--home-green);font-size:.86rem}.home-connection span:not(.home-connection__dot){margin-top:1px;color:var(--home-muted);font-size:.75rem;font-weight:600}.home-footer>p{margin:0;color:var(--home-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem;font-weight:800;letter-spacing:.18em;text-align:center}.sheet-backdrop{position:fixed;z-index:100;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:16px 12px 0;background:#1a1612bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:sheet-backdrop-in .15s ease-out}.room-sheet{display:flex;flex-direction:column;width:min(100%,560px);max-height:min(88dvh,720px);overflow:hidden;border:var(--home-border);border-bottom:0;border-radius:27px 27px 0 0;padding:12px 20px 0;color:var(--home-ink);background:#fffdf7;box-shadow:7px -1px 0 var(--home-ink);animation:room-sheet-rise .19s cubic-bezier(.2,.8,.2,1)}.room-sheet__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:0 -20px;padding:0 20px calc(var(--safe-bottom) + 16px)}.room-sheet__footer{flex:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin:0 -20px;padding:12px 20px calc(max(var(--safe-bottom),14px) + 12px);border-top:2px solid color-mix(in srgb,var(--home-muted) 25%,transparent);background:#fff7ea}.room-sheet__handle{width:42px;height:5px;margin:0 auto 14px;border-radius:999px;background:#b8aa99}.room-sheet__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px}.room-sheet__header h2{margin:0;font-family:ui-serif,Songti SC,STSong,"Noto Serif SC",serif;font-size:clamp(1.55rem,6vw,2rem);font-weight:900;line-height:1.15;text-wrap:balance}.room-sheet__header p{margin:8px 0 0;color:var(--home-muted);font-size:.86rem;font-weight:600;line-height:1.6}.room-sheet__close{display:grid;width:44px;min-width:44px;height:44px;min-height:44px;place-items:center;border:2px solid var(--home-ink);border-radius:50%;padding:0;color:var(--home-ink);background:#fffdf8;font-size:1.55rem;line-height:1}.room-sheet__close:hover:not(:disabled){border-color:var(--home-ink);color:#fffdf8;background:var(--home-coral)}.room-sheet__form{display:grid;gap:15px}.room-sheet__field{display:grid;gap:7px;color:var(--home-ink);font-size:.88rem;font-weight:900}.room-sheet__field em{color:var(--home-muted);font-size:.74rem;font-style:normal;font-weight:700}.room-sheet__field input,.room-sheet__field select{min-height:48px;border:2px solid var(--home-ink);border-radius:12px;padding:9px 12px;color:var(--home-ink);background:#fffdf8;box-shadow:inset 0 0 0 1px #312d280f;font-size:.9rem;font-weight:800}.room-sheet__field select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23312d28' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px 16px;box-shadow:2px 3px 0 var(--home-ink);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background-color .18s ease}.room-sheet__field select:hover:not(:disabled){background-color:#fff9ee;transform:translateY(-1px);box-shadow:3px 4px 0 var(--home-ink)}.room-sheet__field input:focus,.room-sheet__field select:focus{outline:3px solid var(--home-coral);outline-offset:2px;border-color:var(--home-ink)}.room-sheet__field select option{color:var(--home-ink);background-color:#fffaf0;font-weight:800;padding:10px}.room-sheet__checkbox{display:flex;align-items:flex-start;gap:10px;border:2px solid #c7b8a8;border-radius:13px;padding:11px;background:#fffdf8b3;cursor:pointer}.room-sheet__checkbox input{width:19px;min-width:19px;height:19px;min-height:19px;margin:2px 0 0;accent-color:var(--home-green)}.room-sheet__checkbox strong,.room-sheet__checkbox small{display:block}.room-sheet__checkbox strong{font-size:.88rem}.room-sheet__checkbox small{margin-top:3px;color:var(--home-muted);font-size:.76rem;font-weight:600;line-height:1.5}.room-sheet__error{margin:0;border:2px solid #be3425;border-radius:10px;padding:8px 10px;color:#8d1f15;background:#ffe2dc;font-size:.82rem;font-weight:800}.room-sheet__error-box{display:flex;flex-direction:column;gap:8px;width:100%}.room-sheet__quick-rename-btn{align-self:flex-start;background:#fef3c7;color:#92400e;border:1.5px solid #d97706;border-radius:999px;padding:5px 14px;font-size:.82rem;font-weight:850;cursor:pointer;box-shadow:0 2px #b45309;transition:transform .12s ease,box-shadow .12s ease}.room-sheet__quick-rename-btn:hover{transform:translateY(-1px);box-shadow:0 3px #b45309}.room-sheet__quick-rename-btn:active{transform:translateY(1px);box-shadow:0 1px #b45309}.room-sheet__overview{display:grid;gap:8px;border:2px solid #d8c8b4;border-radius:13px;padding:12px;background:#fff9ee8c}.room-sheet__overview>p{margin:0;color:var(--home-muted);font-size:.8rem;font-weight:600;line-height:1.6}.room-sheet__tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.room-sheet__tags li{padding:3px 9px;border:1.5px solid var(--home-green);border-radius:999px;color:var(--home-green);background:#fffdf8e6;font-size:.7rem;font-weight:800}.room-sheet__note{margin:0;color:#8a6a1f;font-size:.74rem;font-weight:700}.room-sheet__conn-hint{display:flex;align-items:center;gap:10px;padding:9px 13px;border-radius:12px;border:1.5px solid #d4a329;background:#fde68a52;color:#714b0e;font-size:.82rem;font-weight:700;animation:fade-in .2s ease}.room-sheet__conn-hint-dot{width:9px;height:9px;border-radius:50%;background:#d97706;animation:pulse 1.8s ease-in-out infinite;flex-shrink:0}.room-sheet__field-error{margin-top:4px;color:var(--color-danger, #b91c1c);font-size:.78rem;font-weight:700;display:block}.room-sheet__roles{display:grid;gap:8px;margin:0;border:2px solid #d8c8b4;border-radius:13px;padding:12px;background:#fff9ee8c}.room-sheet__roles legend{padding:0 6px;font-size:.8rem;font-weight:900}.room-sheet__check,.room-sheet__radio{display:flex;align-items:flex-start;gap:9px;padding:7px 8px;border-radius:10px;background:#fffdf8b3;cursor:pointer;font-size:.78rem;font-weight:700}.room-sheet__check:hover,.room-sheet__radio:hover{background:#fff9ee}.room-sheet__check input,.room-sheet__radio input{width:17px;min-width:17px;height:17px;min-height:17px;margin:1px 0 0;accent-color:var(--home-green)}.room-sheet__check b{font-weight:900}.room-sheet__submit{display:inline-flex;min-height:50px;align-items:center;justify-content:space-between;gap:12px;border:2px solid var(--home-ink);border-radius:14px;padding:9px 16px;color:#fffdf8;background:var(--home-coral);box-shadow:3px 4px 0 var(--home-ink);font-size:1rem;font-weight:900}.room-sheet__submit:hover:not(:disabled){border-color:var(--home-ink);background:var(--home-coral-dark)}.room-sheet__submit:disabled{border-color:#c9bcab;color:#a89a88;background:#e9dfd1;box-shadow:2px 3px #c9bcab;cursor:not-allowed}.room-sheet__submit:disabled span{opacity:.45}@keyframes home-connection-pulse{0%,to{box-shadow:inset 0 0 0 4px #fffdf7,0 0 #0c715d40}50%{box-shadow:inset 0 0 0 4px #fffdf7,0 0 0 6px #0c715d00}}@keyframes sheet-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes room-sheet-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(min-width:640px){.game-home-page{padding-right:26px;padding-left:26px}.home-header__actions{gap:15px}.home-local-badge{min-height:36px;padding-right:13px;padding-left:13px;font-size:.8rem}.home-join-link{min-height:40px;font-size:.9rem}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-card--featured{grid-column:span 2;min-height:394px}.game-card--featured .game-card__illustration{height:144px}.game-card--featured .game-card__card{width:96px;height:122px;font-size:2.65rem}.game-card--featured .game-card__card--back{left:27%}.game-card--featured .game-card__card--front{left:44%}.home-join-callout{grid-template-columns:auto minmax(0,1fr) auto;padding:22px 25px}.home-join-callout button{width:auto;min-width:148px}.sheet-backdrop{align-items:center;padding:20px}.room-sheet{border-bottom:var(--home-border);border-radius:28px;padding:20px 26px 0;box-shadow:8px 9px 0 var(--home-ink)}.room-sheet__body,.room-sheet__footer{margin-inline:-26px;padding-inline:26px}.room-sheet__handle{display:none}}@media(min-width:1024px){.game-home-page{padding-top:max(var(--safe-top),27px)}.home-hero{padding-top:48px}.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.game-grid[data-game-count="1"]{grid-template-columns:minmax(0,760px);justify-content:center}.game-grid[data-game-count="2"],.game-grid[data-game-count="3"]{grid-template-columns:repeat(2,minmax(0,1fr))}.game-card--featured{grid-column:span 2}.game-grid[data-game-count="1"] .game-card--featured,.game-grid[data-game-count="2"] .game-card--featured{grid-column:span 1}.game-card:not(.game-card--featured){min-height:394px}}@media(max-width:380px){.game-home-page{padding-right:12px;padding-left:12px}.home-brand__name{display:none}.home-header__actions{gap:6px}.home-local-badge{padding-right:7px;padding-left:7px;font-size:.66rem}.home-hero h1{font-size:clamp(3.15rem,16vw,4rem)}.player-filter,.game-card{padding:18px}.player-filter__options{gap:6px}.player-filter__options button{min-width:41px;padding-right:8px;padding-left:8px}}.game-home-page__content{position:relative;z-index:1}.player-filter{position:relative;overflow:hidden}.player-filter__copy-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.player-filter__control{display:grid;min-width:0;grid-template-columns:1fr;gap:7px;align-items:center}.player-filter__readout{display:flex;min-height:44px;align-items:baseline;gap:7px;color:var(--home-muted);font-size:.78rem;font-weight:800}.player-filter__readout strong{display:inline-block;min-width:2.2em;color:var(--home-coral);font-family:ui-serif,Songti SC,STSong,"Noto Serif SC",serif;font-size:clamp(2rem,5vw,2.8rem);font-weight:900;line-height:.95;letter-spacing:-.08em;animation:player-count-pop .36s cubic-bezier(.2,.9,.2,1.2) both}.player-filter__readout em{color:var(--home-ink);font-size:.84rem;font-style:normal;font-weight:900}.player-filter__range-label{color:var(--home-muted);font-size:.72rem;font-weight:800}.player-filter__range-track-wrapper{position:relative;width:100%;padding-top:20px}.player-filter__thumb-tooltip{position:absolute;top:-6px;left:var(--player-progress);transform:translate(-50%);border:2px solid var(--home-ink);border-radius:999px;padding:1px 9px;background:#f7d661;color:var(--home-ink);box-shadow:2px 2px 0 var(--home-ink);font-size:.68rem;font-weight:900;white-space:nowrap;pointer-events:none;transition:left .1s ease-out,transform .2s ease;animation:tooltip-float 2.8s ease-in-out infinite alternate}.player-filter__range{width:100%;height:14px;margin:2px 0 0;appearance:none;border:0;border-radius:999px;padding:0;outline:none;background:linear-gradient(90deg,var(--home-coral) 0 var(--player-progress),#eadfd0 var(--player-progress) 100%);box-shadow:inset 0 0 0 2px var(--home-ink),0 2px #312d2824;cursor:grab}.player-filter__range:active{cursor:grabbing}.player-filter__range:focus-visible{outline:3px solid #f5c847;outline-offset:6px}.player-filter__range::-webkit-slider-thumb{width:32px;height:32px;appearance:none;border:3px solid var(--home-ink);border-radius:50%;background:var(--home-coral);box-shadow:3px 4px 0 var(--home-ink),inset 0 0 0 5px #fff9ee,0 0 0 5px #ef4d3938;cursor:grab;transition:transform .22s cubic-bezier(.2,.85,.25,1.3),background .22s ease,box-shadow .22s ease}.player-filter__range::-webkit-slider-thumb:hover,.player-filter__range:active::-webkit-slider-thumb{background:var(--home-coral-dark);transform:scale(1.3) rotate(-12deg);box-shadow:4px 6px 0 var(--home-ink),inset 0 0 0 5px #fff9ee,0 0 16px #ef4d398c}.player-filter__range::-moz-range-track{height:14px;border:0;border-radius:999px;background:transparent}.player-filter__range::-moz-range-progress{height:14px;border-radius:999px;background:var(--home-coral)}.player-filter__range::-moz-range-thumb{width:24px;height:24px;border:3px solid var(--home-ink);border-radius:50%;background:var(--home-coral);box-shadow:3px 4px 0 var(--home-ink),inset 0 0 0 4px #fff9ee;cursor:grab;transition:transform .22s cubic-bezier(.2,.85,.25,1.25),background .22s ease}.player-filter__range::-moz-range-thumb:hover,.player-filter__range:active::-moz-range-thumb{background:var(--home-coral-dark);transform:scale(1.13) rotate(-8deg)}.player-filter__ticks{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));margin-top:6px;color:#71685d;font-size:1.05rem;font-weight:800;text-align:center}.player-filter__tick-btn{border:0;background:transparent;padding:4px 0;color:#71685d;font-size:1.05rem;font-weight:800;cursor:pointer;border-radius:8px;transition:color .2s ease,background-color .2s ease,transform .2s cubic-bezier(.2,.9,.3,1.3)}.player-filter__tick-btn:hover{color:var(--home-coral);transform:translateY(-2px) scale(1.15)}.player-filter__tick-btn.is-active{color:var(--home-coral);font-size:1.15rem;font-weight:900;transform:translateY(-3px) scale(1.25);filter:drop-shadow(0 2px 4px rgba(239,77,57,.35))}.player-filter__reset{justify-self:end;min-height:36px;border:1.5px solid var(--home-ink);border-radius:999px;padding:4px 12px;color:var(--home-ink);background:#fffaf1;box-shadow:2px 3px 0 var(--home-ink);font-size:.74rem;font-weight:900;transition:color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.player-filter__reset:hover:not(:disabled),.player-filter__reset[aria-pressed=true]{color:#fffaf0;background:var(--home-green)}.player-filter__reset:active:not(:disabled){box-shadow:1px 1px 0 var(--home-ink);transform:translate(2px,2px)}.home-party-scene{position:absolute;z-index:1;top:50%;right:-10px;transform:translateY(-50%) translateZ(0);width:clamp(380px,42vw,560px);height:clamp(320px,36vw,460px);isolation:isolate;pointer-events:none;opacity:.96;transition:opacity .52s ease,filter .52s ease}@media(orientation:portrait),(max-width:768px){.home-hero{flex-direction:column;align-items:flex-start;min-height:auto;padding:16px 0 8px;gap:8px}.home-hero__copy{max-width:100%}.home-hero h1{font-size:clamp(2.6rem,9.5vw,4rem);line-height:1.02}.home-hero__description{margin-top:10px;font-size:.96rem;line-height:1.5}.home-hero__actions{margin-top:14px}.home-party-scene{position:relative;top:auto;right:auto;transform:none;width:min(100%,420px);height:clamp(220px,48vw,320px);margin:4px auto 0;opacity:.95}}@media(orientation:landscape)and (min-width:768px){.home-hero{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:clamp(360px,36vw,480px);padding:clamp(36px,5vw,64px) 3px clamp(24px,4vw,48px)}.home-hero__copy{max-width:560px}.home-party-scene{position:absolute;top:50%;right:-10px;transform:translateY(-50%) translateZ(0);width:clamp(380px,42vw,560px);height:clamp(320px,36vw,460px)}}@media(orientation:landscape)and (max-height:620px){.home-hero{min-height:clamp(320px,60vh,440px);padding-top:clamp(20px,4vh,44px);padding-bottom:clamp(14px,2.5vh,28px)}.home-party-scene{width:clamp(340px,40vw,480px);height:clamp(260px,56vh,400px)}}@media(orientation:landscape)and (max-height:520px){.home-hero{min-height:clamp(230px,70vh,320px);padding-top:12px;padding-bottom:12px}.home-hero h1{font-size:clamp(2.2rem,8vh,3.2rem);line-height:1.02}.home-hero__description{margin-top:8px;font-size:.86rem;line-height:1.4}.home-party-scene{width:clamp(260px,36vw,360px);height:clamp(200px,68vh,280px);opacity:.95}}.home-party-scene__glow{position:absolute;inset:10% 15% 15%;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(245,200,71,.38) 0,rgba(245,200,71,.08) 52%,transparent 72%);filter:blur(14px);animation:scene-glow-breathe 7s ease-in-out infinite}.home-party-scene__table-wrap{position:absolute;top:52%;left:50%;transform:translate(-50%,-48%);width:68%;z-index:3;pointer-events:none}.home-party-scene__table-img{width:100%;height:auto;display:block;filter:drop-shadow(0 14px 32px rgba(45,38,30,.24));-webkit-user-select:none;user-select:none}.home-party-scene__lamp-wrap{position:absolute;top:-2%;left:1%;width:23%;z-index:1;pointer-events:none}.home-party-scene__lamp-img{width:100%;height:auto;display:block;filter:drop-shadow(0 8px 18px rgba(0,0,0,.18));-webkit-user-select:none;user-select:none}.home-party-scene__lamp-light{position:absolute;top:10%;left:15%;width:140px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(254,240,138,.55) 0%,rgba(251,191,36,.18) 50%,transparent 72%);filter:blur(16px);animation:lamp-glow 4.5s ease-in-out infinite alternate;pointer-events:none}.home-party-scene__plant-wrap{position:absolute;bottom:1%;right:-1%;width:24%;z-index:1;pointer-events:none;animation:plant-sway 6s ease-in-out infinite alternate}.home-party-scene__plant-img{width:100%;height:auto;display:block;filter:drop-shadow(0 10px 24px rgba(0,0,0,.22));-webkit-user-select:none;user-select:none}.home-party-scene__people-layer{display:contents}.home-party-scene__character{position:absolute;top:var(--person-top);left:var(--person-left);z-index:var(--person-z, 2);width:clamp(72px,8.8vw,115px);transform:translate(-50%,-50%) rotate(var(--person-rotate, 0deg));transform-origin:50% 100%;transition:left .48s cubic-bezier(.34,1.56,.64,1),top .48s cubic-bezier(.34,1.56,.64,1),opacity .32s ease,transform .42s cubic-bezier(.34,1.56,.64,1),filter .32s ease;cursor:pointer;pointer-events:auto}.home-party-scene__character.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(var(--person-rotate, 0deg));animation:character-idle-float 4.8s ease-in-out infinite alternate;animation-delay:calc(var(--person-index) * -.34s)}.home-party-scene__character.is-hidden{opacity:0;transform:translate(-50%,-30%) scale(.35) rotate(var(--person-rotate, 0deg));pointer-events:none}.home-party-scene__character.is-hovered,.home-party-scene__character:hover{transform:translate(-50%,-60%) scale(1.18) rotate(0)!important;z-index:20!important;filter:drop-shadow(0 12px 24px rgba(0,0,0,.35))}.home-party-scene__character-img{width:100%;height:auto;display:block;filter:drop-shadow(0 6px 14px rgba(0,0,0,.22));-webkit-user-select:none;user-select:none}.home-party-scene__bubble{position:absolute;top:-18px;left:50%;transform:translate(-50%) scale(0);opacity:0;background:#fff;border:2px solid var(--home-ink, #221e1a);border-radius:999px;padding:2px 7px;font-size:1.15rem;line-height:1;box-shadow:2px 3px 0 var(--home-ink, #221e1a);pointer-events:none;transition:transform .22s cubic-bezier(.34,1.56,.64,1),opacity .22s ease;white-space:nowrap}.home-party-scene__character.is-hovered .home-party-scene__bubble,.home-party-scene__character:hover .home-party-scene__bubble{transform:translate(-50%) scale(1);opacity:1}@keyframes character-idle-float{0%{transform:translate(-50%,-50%) scale(1) rotate(var(--person-rotate, 0deg))}50%{transform:translate(-50%,-53%) scale(1.02) rotate(calc(var(--person-rotate, 0deg) + 1.2deg))}to{transform:translate(-50%,-49%) scale(.99) rotate(calc(var(--person-rotate, 0deg) - 1.2deg))}}@keyframes plant-sway{0%{transform:rotate(0)}50%{transform:rotate(2.5deg) scale(1.01)}to{transform:rotate(-2deg)}}.home-party-scene__garland{position:absolute;z-index:1;width:118px;height:31px;border-bottom:2px dashed rgba(49,45,40,.4);border-radius:0 0 50% 50%;pointer-events:none}.home-party-scene__garland:before{position:absolute;top:10px;left:20%;width:11px;height:15px;background:var(--home-coral);box-shadow:24px -2px 0 var(--home-green),48px -1px #f7d661;clip-path:polygon(0 0,100% 0,50% 100%);content:""}.home-party-scene__garland--one{top:-5%;left:28%;transform:rotate(-10deg)}.home-party-scene__garland--two{top:-6%;right:14%;transform:rotate(8deg)}.home-party-scene__spark{position:absolute;z-index:1;color:var(--home-coral);font-size:1.4rem;pointer-events:none;animation:spark-pulse 3.8s ease-in-out infinite alternate}.home-party-scene__spark--one{top:18%;left:8%}.home-party-scene__spark--two{top:12%;right:8%;color:var(--home-green)}.home-party-scene__spark--three{right:30%;bottom:6%;color:#f7d661;font-size:2.2rem}.home-party-scene--small .home-party-scene__table-wrap{transform:translate(-50%,-48%) scale(.92)}.home-party-scene--cozy .home-party-scene__table-wrap{transform:translate(-50%,-48%) scale(.98)}.home-party-scene--lively .home-party-scene__table-wrap{transform:translate(-50%,-48%) scale(1.01)}.home-party-scene--full .home-party-scene__table-wrap{transform:translate(-50%,-48%) scale(1.04)}.home-party-scene--lively .home-party-scene__spark,.home-party-scene--full .home-party-scene__spark{opacity:.9}.game-card{animation:home-card-arrive .48s cubic-bezier(.2,.85,.2,1) both}.game-card:nth-child(2){animation-delay:55ms}.game-card:nth-child(3){animation-delay:.1s}.game-card:nth-child(4){animation-delay:145ms}.game-card:nth-child(5){animation-delay:.19s}@keyframes tooltip-float{0%{transform:translate(-50%) translateY(0)}to{transform:translate(-50%) translateY(-3px)}}@keyframes player-count-pop{0%{opacity:0;transform:translateY(8px) scale(.78)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scene-glow-breathe{0%,to{opacity:.58;transform:scale(.96)}50%{opacity:.9;transform:scale(1.04)}}@keyframes home-card-arrive{0%{opacity:0;transform:translateY(14px) rotate(.5deg)}to{opacity:1;transform:translateY(0) rotate(0)}}.home-party-scene__spark{animation:spark-float 3.8s ease-in-out infinite alternate}.home-party-scene__spark--two{animation-delay:1.2s}.home-party-scene__spark--three{animation-delay:2.4s}.home-party-scene__person.is-visible{animation:person-sway 4.5s ease-in-out infinite alternate;animation-delay:calc(var(--person-index) * .24s)}@keyframes title-gradient-shimmer{0%{background-position:0% 50%}to{background-position:200% 50%}}@keyframes badge-dot-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.45);opacity:.5}}@keyframes spark-float{0%{transform:scale(1) rotate(0) translateY(0)}to{transform:scale(1.18) rotate(14deg) translateY(-9px)}}@keyframes person-sway{0%{transform:translateY(0) scale(1) rotate(var(--person-rotate))}to{transform:translateY(-4px) scale(1.02) rotate(calc(var(--person-rotate) + 2.5deg))}}@keyframes person-pop-in{0%{opacity:0;transform:translateY(28px) scale(.3) rotate(var(--person-rotate))}65%{transform:translateY(-8px) scale(1.15) rotate(calc(var(--person-rotate) + 4deg))}to{opacity:1;transform:translateY(0) scale(1) rotate(var(--person-rotate))}}@keyframes bubble-pop{0%{opacity:0;transform:translate(-50%) scale(.2) translateY(10px)}75%{transform:translate(-50%) scale(1.2) translateY(-2px)}to{opacity:1;transform:translate(-50%) scale(1) translateY(0)}}@keyframes lamp-glow{0%{opacity:.6;transform:scaleX(.95)}to{opacity:1;transform:scaleX(1.08)}}@media(min-width:640px){.player-filter{grid-template-columns:minmax(215px,.8fr) minmax(0,1.45fr);align-items:center}.player-filter__control{grid-template-columns:minmax(110px,auto) minmax(0,1fr);column-gap:15px}.player-filter__readout{grid-column:1 / 2;grid-row:1 / span 2;align-self:center;flex-direction:column;align-items:flex-start;gap:2px}.player-filter__range-label,.player-filter__range,.player-filter__ticks,.player-filter__reset{grid-column:2 / 3}.home-party-scene{opacity:.96}}@media(max-width:640px){.home-party-scene{position:relative;top:auto;right:auto;transform:none;width:min(100%,340px);height:220px;margin:8px auto 0;opacity:.95}.player-filter__range-label{margin-top:2px}}@media(max-width:380px){.player-filter__ticks{font-size:.58rem}.home-party-scene{width:min(100%,300px);height:195px;margin:6px auto 0}}.room-page{--room-paper: #fff5e6;--room-ink: #312d28;--room-muted: #575147;--room-coral: #c23616;--room-coral-dark: #9f240a;--room-green: #0c715d;--room-yellow: #f1ce5d;width:100%;max-width:none;flex:1;min-height:0;position:relative;isolation:isolate;overflow-y:auto;overflow-x:hidden;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-content:start;gap:18px;padding:max(var(--safe-top),22px) max(16px,3vw) max(var(--safe-bottom),34px);color:var(--room-ink);background-color:var(--room-paper);background-image:radial-gradient(circle at 1px 1px,rgba(238,103,82,.23) 1.5px,transparent 1.7px),radial-gradient(circle at 1px 1px,rgba(32,130,110,.16) 1.3px,transparent 1.6px);background-position:0 0,16px 17px;background-size:30px 30px,30px 30px;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.room-page:before,.room-page:after{display:none;position:absolute;z-index:-1;width:clamp(100px,8vw,150px);height:clamp(100px,8vw,150px);border:3px solid rgba(49,45,40,.76);content:"";pointer-events:none}.room-page:before{top:clamp(190px,24vw,350px);right:clamp(30px,2.4vw,46px);background:var(--room-green);opacity:.82;transform:rotate(24deg)}.room-page:after{bottom:82px;left:clamp(30px,2.4vw,46px);background:var(--room-yellow);opacity:.82;transform:rotate(-17deg)}.room-page>*{width:min(100%,1180px);margin-right:auto;margin-left:auto;min-width:0}.room-page>.room-header,.room-page>.error-banner,.room-page>.action-bar,.room-page>.status-banner,.room-page>.primary-btn,.room-page>.loading{grid-column:1 / -1}.room-page>.loading{min-height:60vh;display:grid;place-items:center;color:var(--room-muted);font-weight:800}.room-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 22px;margin-bottom:0;border:3px solid var(--room-ink);border-radius:24px;padding:clamp(18px,3vw,28px);background:#fffdf8f2;box-shadow:7px 8px 0 var(--room-ink);transform:none}.room-code-box{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;min-width:0}.room-code-label{flex-basis:100%;color:var(--room-coral);font-size:.78rem;font-weight:900;letter-spacing:.08em}.room-code{color:var(--room-ink);font-family:ui-monospace,SFMono-Regular,Cascadia Code,Consolas,monospace;font-size:clamp(2rem,5vw,3.4rem);font-weight:950;letter-spacing:.14em;line-height:.95}.room-code-box .copy-btn{min-height:38px;border:2px solid var(--room-ink);border-radius:11px;padding:5px 13px;color:#fffdf8;background:var(--room-coral);box-shadow:3px 3px 0 var(--room-ink);font-size:.82rem;font-weight:900}.room-code-box .copy-btn:hover:not(:disabled){border-color:var(--room-ink);background:var(--room-coral-dark);transform:translate(-1px,-1px)}.room-game-summary{display:grid;min-width:min(230px,100%);gap:3px;border-left:3px solid var(--room-green);padding:9px 0 9px 17px}.room-game-summary>span{color:var(--room-muted);font-size:.72rem;font-weight:900;letter-spacing:.05em}.room-game-summary strong{color:var(--room-ink);font-family:ui-serif,Songti SC,STSong,"Noto Serif SC",serif;font-size:1.35rem;font-weight:950;line-height:1.1}.room-game-summary small{color:var(--room-muted);font-size:.78rem;font-weight:700}.room-status{grid-column:1 / -1;justify-self:start;min-height:32px;display:inline-flex;align-items:center;border:2px solid var(--room-green);border-radius:999px;padding:4px 12px;color:#fffdf8;background:var(--room-green);font-size:.78rem;font-weight:900}.error-banner,.status-banner{border:2px solid var(--room-ink);border-radius:14px;box-shadow:3px 4px 0 var(--room-ink);font-weight:800}.error-banner{padding:12px 15px;color:#8d1f15;background:#ffe2dc}.status-banner{padding:10px 14px;text-align:center}.auto-start-banner{display:flex;align-items:center;justify-content:center;gap:8px;color:#0d5c34;background:#d9f7e3;border-color:#1d8a4e;animation:auto-start-glow 1.6s ease-in-out infinite}.auto-start-pulse{width:10px;height:10px;border-radius:50%;background:#1d8a4e;animation:auto-start-pulse 1s ease-in-out infinite}@keyframes auto-start-glow{0%,to{box-shadow:3px 4px 0 var(--room-ink)}50%{box-shadow:3px 4px 0 var(--room-ink),0 0 14px #1d8a4e8c}}@keyframes auto-start-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}.member-status.online.ready{color:#0d5c34;background:#d9f7e3;border-color:#1d8a4e}.members-section,.chat-section{align-self:start;min-width:0;margin:0;border:3px solid var(--room-ink);border-radius:20px;padding:clamp(16px,2.5vw,23px);background:#fffdf8f2;box-shadow:5px 6px 0 var(--room-ink)}.members-section,.chat-section{transform:none}.members-section h2,.chat-section h2{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 15px;color:var(--room-ink);font-family:ui-serif,Songti SC,STSong,"Noto Serif SC",serif;font-size:clamp(1.35rem,3vw,1.8rem);font-weight:950;letter-spacing:-.04em}.members-section h2:before{display:inline-block;width:10px;height:10px;margin-right:7px;border:2px solid var(--room-ink);border-radius:50%;background:var(--room-coral);content:""}.chat-section h2:before{display:inline-block;width:12px;height:12px;margin-right:7px;border:2px solid var(--room-ink);background:var(--room-yellow);content:"";transform:rotate(7deg)}.members-hint{color:var(--room-muted);font-size:.68rem;font-weight:700}.members-list{display:grid;gap:8px;max-height:430px;margin:0;padding:0;overflow-y:auto;list-style:none}.member{display:flex;align-items:center;gap:10px;min-height:52px;border:2px solid rgba(49,45,40,.76);border-radius:14px;padding:8px 12px;background:#fff9ef;animation:room-member-in .42s cubic-bezier(.2,.85,.2,1) both;animation-delay:calc(var(--member-index, 0) * 45ms);transform:none}.member:nth-child(2){--member-index: 1}.member:nth-child(3){--member-index: 2}.member:nth-child(4){--member-index: 3}.member:nth-child(5){--member-index: 4}.member:nth-child(6){--member-index: 5}.member:nth-child(7){--member-index: 6}.member:nth-child(8){--member-index: 7}.member:nth-child(9){--member-index: 8}.member:nth-child(10){--member-index: 9}.member:nth-child(11){--member-index: 10}.member:nth-child(12){--member-index: 11}.member:hover{border-color:var(--room-coral);background:#fff1df;transform:none}.member-seat{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;border:2px solid var(--room-ink);border-radius:10px;color:#fffdf8;background:var(--room-green);font-size:.78rem;font-weight:950}.member:nth-child(3n) .member-seat{background:var(--room-coral);color:#fff}.member:nth-child(3n+1) .member-seat{background:#f1ce5d;color:#1c1917}.member .user-avatar{flex:0 0 34px}.member-name{flex:1 1 auto;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px;overflow-wrap:anywhere;font-size:.95rem;font-weight:900}.host-icon{color:var(--room-coral);font-size:1.1rem;line-height:1}.me-tag{color:var(--room-muted);font-size:.72rem;font-weight:700}.bot-tag{margin-left:6px;padding:1px 6px;border-radius:999px;border:1px solid color-mix(in srgb,var(--room-muted) 55%,transparent);color:var(--room-muted);font-size:.66rem;font-weight:700;letter-spacing:.04em;white-space:nowrap;vertical-align:1px}.bot-tag--llm{border-color:color-mix(in srgb,var(--room-coral) 65%,transparent);color:var(--room-coral)}.member-status{flex:0 0 auto;min-height:26px;display:inline-flex;align-items:center;border:1.5px solid currentColor;border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:900;white-space:nowrap}.member-status.online{color:var(--room-green);background:#e2f5e9}.member-status.reserved{color:#866000;background:#fff2bd}.member-status.expired{color:var(--room-muted);background:#eee8dd}.member-status.kicked{color:#9a2418;background:#ffe2dc}.member-actions{flex:0 0 auto;margin-left:4px;display:flex;align-items:center;gap:6px}.mini-btn{min-height:32px;min-width:auto;border:2px solid var(--room-ink);border-radius:10px;padding:3px 12px;color:var(--room-ink);background:#fff;box-shadow:2px 2px 0 var(--room-ink);font-size:.8rem;font-weight:900;cursor:pointer;white-space:nowrap;transition:transform .12s ease,box-shadow .12s ease}.mini-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:2px 3px 0 var(--room-ink)}.mini-btn:active:not(:disabled){transform:translateY(1px);box-shadow:1px 1px 0 var(--room-ink)}.chat-box{height:300px;margin-bottom:12px;border:2px solid rgba(49,45,40,.76);border-radius:14px;padding:12px;background:linear-gradient(#fffdf8d6,#fffdf8d6),repeating-linear-gradient(0deg,transparent 0 31px,rgba(239,77,57,.12) 31px 32px);font-size:.86rem;scrollbar-color:var(--room-coral) transparent}.room-chat-box{display:flex;flex-direction:column;gap:6px;overflow-y:auto}.chat-empty{display:grid;height:100%;place-items:center;color:var(--room-muted);font-weight:700}.chat-line{width:fit-content;max-width:92%;margin:0 0 9px;border:1px solid rgba(49,45,40,.22);border-radius:11px 11px 11px 3px;padding:7px 9px;background:#fff9ef;overflow-wrap:anywhere}.chat-line.player{box-shadow:2px 2px #312d2847}.chat-line.system{border-style:dashed;color:var(--room-muted);background:#f5eddc;font-style:italic}.chat-time{color:var(--room-coral);font-size:.66rem;font-weight:800;margin-right:6px}.chat-system{font-size:.78rem}.chat-text b{color:var(--room-green)}.chat-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.chat-input-row input{min-width:0;border:2px solid var(--room-ink);border-radius:11px;background:#fffdf8;font-weight:700}.chat-input-row input:focus{outline:3px solid rgba(239,77,57,.35);outline-offset:1px}.chat-input-row button,.action-bar .primary-btn,.room-page>.primary-btn{border:2px solid var(--room-ink);border-radius:11px;padding:7px 15px;color:#fffdf8;background:var(--room-green);box-shadow:3px 3px 0 var(--room-ink);font-weight:900}.chat-input-row button:hover:not(:disabled),.action-bar .primary-btn:hover:not(:disabled),.room-page>.primary-btn:hover:not(:disabled){border-color:var(--room-ink);background:#075342;transform:translate(-1px,-1px)}.action-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:2px;border-top:2px dashed rgba(49,45,40,.48);padding-top:18px}.action-bar .leave-btn{border:2px solid var(--room-ink);border-radius:11px;color:var(--room-ink);background:#fffdf8e0;font-weight:900}.action-bar .leave-btn:hover:not(:disabled){border-color:var(--room-coral);color:var(--room-coral)}.action-bar .danger-btn{border:2px solid var(--room-ink);border-radius:11px;color:#fffdf8;background:var(--room-coral);box-shadow:3px 3px 0 var(--room-ink);font-weight:900}.action-bar .danger-btn:hover:not(:disabled){border-color:var(--room-ink);background:var(--room-coral-dark)}.confirm-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--room-coral-dark);font-size:.82rem;font-weight:900}.confirm-row button:not(.danger-btn){min-height:38px;border:2px solid var(--room-ink);border-radius:10px;font-weight:800}.room-page button:focus-visible,.room-page input:focus-visible{outline:3px solid var(--room-coral);outline-offset:3px}@keyframes room-member-in{0%{opacity:0;transform:translateY(9px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:768px){.room-page{grid-template-columns:minmax(0,1fr);padding-right:14px;padding-left:14px}.room-page>.room-header,.room-page>.error-banner,.room-page>.members-section,.room-page>.chat-section,.room-page>.action-bar,.room-page>.status-banner,.room-page>.primary-btn{grid-column:1}.room-header{grid-template-columns:minmax(0,1fr)}.room-game-summary{min-width:0;border-top:2px dashed var(--room-green);border-left:0;padding:12px 0 0}.room-status{grid-column:auto}.members-section,.chat-section{transform:none}}@media(max-width:480px){.room-page{gap:14px;padding-right:10px;padding-left:10px}.room-header,.members-section,.chat-section{border-radius:16px;box-shadow:4px 5px 0 var(--room-ink)}.room-code{font-size:2rem}.member{grid-template-columns:36px minmax(0,1fr)}.member-seat{width:32px;height:32px}.member-status{grid-column:2;justify-self:start}.member-actions{grid-column:2;justify-content:flex-start}.chat-box{height:250px}.chat-input-row{grid-template-columns:1fr}.chat-input-row button{width:100%}}.lan-room-discovery{display:grid;gap:12px;margin:0 0 16px;border:2px dashed var(--home-green);border-radius:16px;padding:14px;background:#f0faefb8}.lan-room-discovery__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.lan-room-discovery__eyebrow{margin:0 0 3px;color:var(--home-coral);font-size:.68rem;font-weight:950;letter-spacing:.11em}.lan-room-discovery h3{margin:0;color:var(--home-ink);font-family:ui-serif,Songti SC,STSong,"Noto Serif SC",serif;font-size:1.18rem;font-weight:950;line-height:1.1}.lan-room-discovery__header p:last-child{margin:5px 0 0;color:var(--home-muted);font-size:.76rem;font-weight:650}.lan-room-discovery__refresh{display:inline-flex;min-width:auto;min-height:36px;align-items:center;gap:5px;border:2px solid var(--home-ink);border-radius:10px;padding:4px 9px;color:var(--home-ink);background:var(--home-surface);box-shadow:2px 2px 0 var(--home-ink);font-size:.75rem;font-weight:900}.lan-room-discovery__refresh span{display:inline-block;font-size:1.05rem;line-height:1}.lan-room-discovery__refresh:hover:not(:disabled){border-color:var(--home-coral);color:var(--home-coral);transform:translate(-1px,-1px)}.lan-room-discovery__refresh:active:not(:disabled){box-shadow:1px 1px 0 var(--home-ink);transform:translate(1px,1px)}.lan-room-list{display:grid;gap:8px;max-height:min(38vh,260px);overflow-y:auto;padding-right:2px;scrollbar-color:var(--home-green) transparent}.lan-room-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;border:2px solid rgba(49,45,40,.72);border-radius:12px;padding:8px;background:#fffdf8eb;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.lan-room-card:hover,.lan-room-card.is-selected{border-color:var(--home-coral);background:#fff7e6;box-shadow:2px 3px #312d2899;transform:translate(2px)}.lan-room-card__mark{display:grid;width:32px;height:32px;place-items:center;border:2px solid var(--home-ink);border-radius:9px;color:#fffdf8;background:var(--home-green);box-shadow:2px 2px 0 var(--home-ink);font-family:ui-serif,Songti SC,STSong,serif;font-size:.92rem;font-weight:950;transform:rotate(-5deg)}.lan-room-card:nth-child(3n) .lan-room-card__mark{background:var(--home-coral)}.lan-room-card:nth-child(3n+1) .lan-room-card__mark{background:#d39b18}.lan-room-card__main{min-width:0}.lan-room-card__title-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.lan-room-card h4{min-width:0;overflow:hidden;margin:0;color:var(--home-ink);font-size:.86rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.lan-room-card__main p{overflow:hidden;margin:3px 0 0;color:var(--home-muted);font-size:.69rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.lan-room-card__status{display:inline-flex;min-height:20px;align-items:center;border:1px solid currentColor;border-radius:999px;padding:1px 6px;font-size:.6rem;font-weight:900;white-space:nowrap}.lan-room-card__status--lobby{color:var(--home-green);background:#e3f5e8}.lan-room-card__status--in_game{color:#8b5e00;background:#fff0b3}.lan-room-card__select{min-width:auto;min-height:34px;border:2px solid var(--home-ink);border-radius:999px;padding:4px 10px;color:var(--home-ink);background:#fffdf8;font-size:.68rem;font-weight:950;white-space:nowrap}.game-page{position:relative;isolation:isolate;min-height:100vh;min-height:100dvh;padding:max(var(--safe-top),14px) 14px calc(var(--safe-bottom) + 24px);gap:14px;overflow:clip;color:var(--game-ink);background-color:var(--home-paper, #fff5e6);background-image:radial-gradient(circle at 1px 1px,rgba(239,81,61,.2) 1.5px,transparent 1.7px),radial-gradient(circle at 1px 1px,rgba(12,113,93,.16) 1.3px,transparent 1.6px);background-position:0 0,16px 16px;background-size:30px 30px}.uc-stage{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;width:100%;max-width:1100px;height:100%;min-height:0;margin-inline:auto;flex:1}.uc-stage__body{display:flex;flex-direction:column;justify-content:flex-start;gap:8px;overflow-y:auto;overscroll-behavior:contain;width:100%;flex:1;min-height:0}.game-phase{display:flex;flex-direction:column;justify-content:flex-start;gap:8px;padding-bottom:2px;animation:phase-enter .42s cubic-bezier(.2,.8,.2,1) both;width:100%;max-width:1100px;margin-inline:auto;flex:1;min-height:0}.game-phase-main-grid{display:flex;flex-direction:column;gap:10px;width:100%;flex:1;min-height:0}.game-phase-left-col{display:flex;flex-direction:column;gap:8px;width:100%}.game-phase-left-col .game-action-dock{position:static;margin-top:8px;width:100%;max-width:100%;box-sizing:border-box}.game-phase-right-col{display:flex;flex-direction:column;gap:8px;width:100%;justify-content:center}@media(min-width:768px){.game-phase-main-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:16px;align-items:stretch;width:100%;flex:1;min-height:0}.game-phase-left-col,.game-phase-right-col{display:flex;flex-direction:column;gap:10px;justify-content:flex-start;height:100%}.game-phase .word-reveal-box{height:100%;min-height:180px;flex:1}.game-phase .uc-order{height:100%;flex:1;display:flex;flex-direction:column}.game-phase .uc-order__track{flex:1;align-content:flex-start}.game-phase .vote-candidates{max-height:100%;overflow-y:auto;align-content:flex-start}}.game-phase-rail{display:grid;grid-template-columns:repeat(4,1fr);width:100%;max-width:560px;flex-shrink:0;padding:6px 12px;border:3px solid var(--game-line);border-radius:14px;background:#fffdfa;box-shadow:0 4px 0 var(--game-line)}.game-phase-step{position:relative;display:flex;gap:6px;align-items:center;justify-content:center;color:#786e62;font-size:.78rem;font-weight:800}.game-phase-step:not(:last-child):after{position:absolute;top:50%;right:-7px;width:14px;height:3px;content:"";background:#d8ccba;border-radius:2px;transform:translateY(-50%)}.phase-step-dot{display:inline-grid;width:24px;height:24px;place-items:center;border:2.5px solid var(--game-line);border-radius:50%;background:#fff;color:var(--game-ink);font-size:.72rem;font-weight:900;transition:transform .2s ease,box-shadow .2s ease}.game-phase-step.active{color:var(--game-ink);font-weight:900}.game-phase-step.active .phase-step-dot{border-color:var(--game-line);background:var(--game-yellow);box-shadow:0 3px 0 var(--game-line);transform:translateY(-2px)}.game-phase-step.done{color:var(--game-green);font-weight:800}.game-phase-step.done .phase-step-dot{border-color:var(--game-green);color:#fff;background:var(--game-green);box-shadow:0 2px 0 var(--game-line)}.phase-lead{display:flex;gap:14px;align-items:center;justify-content:space-between;width:100%;flex-shrink:0;padding:12px 18px;border:3px solid var(--game-line);border-radius:18px;background:#fffdfa;box-shadow:0 6px 0 var(--game-line)}.phase-lead-copy{min-width:0}.phase-eyebrow,.section-kicker{display:block;margin-bottom:3px;color:#b3251b;font-size:.74rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.phase-lead h2{margin:0;color:var(--game-ink);font-size:clamp(1.24rem,3.6vw,1.62rem);font-weight:900;line-height:1.18;letter-spacing:-.02em}.phase-lead p{margin:4px 0 0;color:var(--game-muted);font-size:.82rem;font-weight:650}.game-countdown{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 76px;width:76px;height:76px;padding:4px;box-sizing:border-box;text-align:center;border:3px solid var(--game-line);border-radius:50%;background:var(--game-yellow);box-shadow:0 4px 0 var(--game-line);font-variant-numeric:tabular-nums}.game-countdown:before{position:absolute;inset:4px;content:"";border:1.5px dashed rgba(41,39,34,.32);border-radius:inherit;pointer-events:none;animation:timer-spin 14s linear infinite}.game-countdown strong{z-index:1;font-size:1.45rem;line-height:1;color:var(--game-ink);margin:1px 0;font-weight:900}.countdown-label,.countdown-unit{z-index:1;color:#1c1917;font-size:.6rem;font-weight:800;line-height:1}.game-countdown.urgent{color:#fff;background:var(--game-coral);animation:timer-urgent .9s ease-in-out infinite}.game-countdown.urgent strong,.game-countdown.urgent .countdown-label,.game-countdown.urgent .countdown-unit{color:#fff}.game-countdown.ended{color:var(--game-muted);background:#e8e0d4}.game-countdown.ended:before{animation:none;border-color:transparent}.game-waiting-card{display:grid;min-height:190px;place-items:center;align-content:center;gap:8px;padding:24px;border:3.5px solid var(--game-line);border-radius:20px;text-align:center;background:#fffdfa;box-shadow:0 6px 0 var(--game-line)}.game-waiting-card strong{font-size:1.1rem}.game-waiting-card p{margin:0;color:var(--game-muted);font-size:.82rem}.waiting-orbit{width:46px;height:46px;border:3px dashed var(--game-green);border-radius:50%;animation:timer-spin 6s linear infinite}.game-phase .word-reveal-box{position:relative;display:flex;width:100%;min-height:clamp(160px,21dvh,235px);flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;gap:10px;overflow:hidden;margin:0;padding:44px 22px 38px;border:3.5px solid var(--game-line);border-radius:22px;background:linear-gradient(156deg,#4b3494,#2f2068 58%,#241550);color:#fff;font:inherit;text-align:center;box-shadow:0 8px 0 var(--game-line),0 16px 30px #0a051a59;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .18s cubic-bezier(.2,1.2,.4,1),box-shadow .18s ease}.word-reveal-box:before{position:absolute;inset:12px;content:"";border:2px dashed rgba(255,255,255,.42);border-radius:16px;pointer-events:none}.word-reveal-box:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 12px 0 var(--game-line),0 22px 40px #0a051a6b}.word-reveal-box:active{transform:translateY(4px) scale(.99);box-shadow:0 2px 0 var(--game-line)}.secret-card-stamp{position:absolute;top:12px;left:16px;padding:3px 9px;border:1.5px solid rgba(255,255,255,.35);border-radius:999px;color:#fffc;font-size:.68rem;font-weight:800;letter-spacing:.08em}.secret-eye{width:34px;height:34px;border:2.5px solid rgba(255,255,255,.75);border-radius:50%}.word-placeholder{font-size:1.35rem;font-weight:900;letter-spacing:.08em;color:#ffffffeb}.my-word{font-size:clamp(2rem,6vw,2.8rem);font-weight:900;letter-spacing:.06em;color:#ffd43b;text-shadow:0 3px 0 rgba(0,0,0,.35)}.secret-card-foot{position:absolute;bottom:10px;color:#fff9;font-size:.72rem;font-weight:700}.game-action-dock{position:sticky;z-index:20;bottom:0;display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;max-width:680px;margin-inline:auto;margin-top:auto;margin-bottom:0;padding:8px 14px;border:3px solid var(--game-line, #221e1a);border-radius:16px;background:#fffdf7fa;box-shadow:0 4px 0 var(--game-line, #221e1a);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.game-action-dock>span{color:var(--game-muted, #73695c);text-align:center;font-size:.74rem;font-weight:750}.game-primary-action{width:100%;min-height:50px;padding:10px 20px;border:3px solid var(--game-line, #221e1a);border-radius:14px;color:#fff;background:var(--game-green, #2b8a3e);box-shadow:0 5px 0 var(--game-line, #221e1a);font-weight:900;font-size:1.08rem;letter-spacing:.5px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .18s ease;display:flex;align-items:center;justify-content:center;text-align:center}.game-primary-action:hover:not(:disabled){background:#237032;transform:translateY(-2px);box-shadow:0 7px 0 var(--game-line, #221e1a)}.game-primary-action:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--game-line, #221e1a)}.game-primary-action:disabled{color:#3b362f;border:3px solid var(--game-line, #221e1a);background:#ebe4d8;box-shadow:0 3px 0 var(--game-line, #221e1a);cursor:not-allowed;opacity:.9}.speaker-spotlight{display:flex;flex-direction:column;gap:12px;width:100%;padding:16px 18px;border:3px solid var(--game-line);border-radius:20px;background:#fffdfa;box-shadow:0 6px 0 var(--game-line)}.speaker-spotlight.is-me{border-color:var(--game-coral);background:#fff8f8;box-shadow:0 6px 0 var(--game-coral)}.speaker-spotlight-top{display:flex;gap:14px;align-items:center;width:100%}.speaker-avatar-box{flex-shrink:0}.speaker-spotlight-copy{display:flex;flex-direction:column;min-width:0;gap:2px}.speaker-label{color:#b3251b;font-size:.74rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.speaker-name{color:var(--game-ink);font-size:1.32rem;font-weight:900;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.speaker-seat{color:#a61e4d;background:#fff0f6;border:1.5px solid #ffdeeb;border-radius:6px;padding:1px 7px;font-size:.8rem;font-weight:800;width:fit-content}.speaker-signal{margin-left:auto;display:flex;gap:4px;align-items:flex-end;height:22px}.speaker-signal i{width:4.5px;background:var(--game-coral);border-radius:3px;animation:signal-bounce .9s ease-in-out infinite alternate}.speaker-signal i:nth-child(2){animation-delay:.2s}.speaker-signal i:nth-child(3){animation-delay:.4s}.speaker-spotlight-tip{padding:8px 12px;border-radius:12px;background:#f0eae199;border:1.5px dashed rgba(41,39,34,.2);color:var(--game-ink);font-size:.78rem;font-weight:750;line-height:1.35}.speaker-spotlight.is-me .speaker-spotlight-tip{background:#ffebebcc;border-color:#e0313140;color:#c92a2a}.uc-order{display:flex;flex-direction:column;gap:12px;width:100%;padding:14px 18px;border:3px solid var(--game-line);border-radius:20px;background:#fffdfa;box-shadow:0 6px 0 var(--game-line);height:100%}.uc-order__head{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid rgba(41,39,34,.08);padding-bottom:8px}.uc-order__head h3{margin:0;font-size:1rem;font-weight:900;color:var(--game-ink)}.uc-order__subtitle{font-size:.76rem;font-weight:800;color:#343a40}.uc-order__counter{font-size:.95rem;font-weight:900;color:var(--game-ink);padding:3px 10px;border:2px solid var(--game-line);border-radius:999px;background:#fff3bf;box-shadow:0 2px 0 var(--game-line)}.uc-order__list{display:flex;flex-direction:column;gap:8px;margin:0;padding:4px 6px 8px 4px;list-style:none;overflow-y:auto;flex:1;box-sizing:border-box;scrollbar-width:thin}.uc-order-card{display:flex;align-items:center;gap:10px;padding:8px 12px;border:2.5px solid var(--game-line);border-radius:14px;background:#fff;color:var(--game-ink);box-shadow:0 3px 0 var(--game-line);transition:transform .15s ease,background .15s ease,box-shadow .15s ease;box-sizing:border-box;width:100%;max-width:100%}.uc-order-card__idx{display:grid;place-items:center;width:26px;height:26px;border:2px solid var(--game-line);border-radius:50%;font-size:.75rem;font-weight:900;background:#f0eae1;color:var(--game-ink);flex-shrink:0}.uc-order-card__avatar{flex-shrink:0}.uc-order-card__meta{display:flex;flex-direction:column;min-width:0;flex:1;gap:2px}.uc-order-card__name-row{display:flex;align-items:center;gap:6px;min-width:0}.uc-order-card__name{font-size:.92rem;font-weight:900;color:var(--game-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uc-order-card__seat{display:inline-block;font-size:.74rem;font-weight:800;color:#343a40;background:#f1f3f5;padding:1px 6px;border-radius:4px;border:1px solid #ced4da;flex-shrink:0}.uc-order-card__status-text{font-size:.76rem;font-weight:800;color:#212529}.uc-order-tag{display:inline-flex;align-items:center;justify-content:center;padding:3px 10px;border:1.5px solid var(--game-line);border-radius:999px;font-size:.72rem;font-weight:900;flex-shrink:0;margin-left:auto}.uc-order-tag--speaking{background:var(--game-coral);color:#fff;border-color:var(--game-line);animation:state-breathe 1.4s ease-in-out infinite}.uc-order-tag--done{background:#d3f9d8;color:#2b8a3e;border-color:#2b8a3e}.uc-order-tag--waiting{background:#e9ecef;color:#212529;border-color:#adb5bd}.uc-order-tag--dead{background:#dee2e6;color:#495057;border-color:#ced4da}.uc-order-card.is-current{border-color:var(--game-coral);background:#fff5f5;box-shadow:0 4px 0 var(--game-coral);transform:translateY(-1px)}.uc-order-card.is-current .uc-order-card__idx{background:var(--game-coral);color:#fff;border-color:var(--game-line)}.uc-order-card.is-done{background:#fbfdf9;opacity:.88}.uc-order-card.is-done .uc-order-card__idx{background:var(--game-green);color:#fff;border-color:var(--game-green)}.uc-order-card.is-dead{opacity:.5;background:#f8f9fa}.uc-order-card.is-me:not(.is-current){border-color:var(--game-purple)}.game-phase .vote-candidates{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;width:100%;max-width:680px;margin-inline:auto}.game-phase .vote-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:6px;min-height:156px;padding:14px 10px 10px;overflow:hidden;border:3px solid var(--game-line);border-radius:20px;color:var(--game-ink);background:#fffdfa;box-shadow:0 5px 0 var(--game-line);cursor:pointer;animation:vote-card-in .38s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--stagger-index, 0) * 45ms);transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.vote-card:hover:not(:disabled){border-color:var(--game-line);background:#fff3bf;transform:translateY(-3px);box-shadow:0 8px 0 var(--game-line)}.vote-card:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--game-line)}.vote-card:disabled{cursor:not-allowed}.vote-card.voted{border-color:#2b8a3e;background:#e9f7e6;box-shadow:0 5px #2b8a3e}.vote-card.self{opacity:.55;background:#f1ebe0}.vote-avatar-box{position:relative;width:48px;height:48px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center}.vote-seat{color:#5f3dc4;background:#f3f0ff;border:1px solid #d0bfff;border-radius:6px;padding:1px 7px;font-size:.8rem;font-weight:900}.vote-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:900;color:var(--game-ink)}.vote-tag{margin-top:auto;padding:4px 12px;border:2px solid var(--game-line);border-radius:999px;color:#343a40;background:#e9ecef;font-size:.72rem;font-weight:900}.vote-card:not(.self):not(.voted) .vote-tag{color:var(--game-ink);background:var(--game-yellow)}.vote-card.voted .vote-tag{border-color:#2b8a3e;color:#fff;background:#2b8a3e}.vote-done-hint{display:flex;flex-direction:column;gap:3px;align-items:center;padding:12px;border:3px dashed var(--game-line);border-radius:16px;color:var(--game-ink);background:#fffdf7f0;text-align:center}.vote-done-hint span{color:#343a40;font-size:.78rem;font-weight:800}.spectator-hint{padding:10px;border:2.5px dashed var(--game-line);border-radius:14px;color:#343a40;background:#fffdf7e6;font-size:.8rem;font-weight:800;text-align:center}.uc-meter{display:flex;flex-direction:column;gap:6px;width:100%;padding:10px 14px;border:2.5px solid var(--game-line);border-radius:14px;background:#fffdfa;box-shadow:0 3px 0 var(--game-line);box-sizing:border-box}.uc-meter__label{font-size:.84rem;font-weight:900;color:var(--game-ink);display:flex;justify-content:space-between;align-items:center}.uc-meter__track{position:relative;width:100%;height:10px;background:#e9ecef;border:1.5px solid var(--game-line);border-radius:999px;overflow:hidden}.uc-meter__track span{display:block;height:100%;width:var(--uc-meter, 0%);background:linear-gradient(90deg,#ff922b,var(--game-coral));border-radius:999px;transition:width .3s cubic-bezier(.2,.8,.2,1)}.uc-meter__count{font-size:.88rem;font-weight:900;color:var(--game-ink)}.uc-panel{display:flex;width:100%;flex-shrink:0;flex-direction:column;gap:10px;padding:14px 16px;border:3.5px solid var(--game-line);border-radius:18px;background:#fffdfa;box-shadow:0 6px 0 var(--game-line);color:var(--game-ink, #0f172a)}.durian-stage{display:flex;flex-direction:column;gap:clamp(4px,1vh,10px);width:100%;max-width:1280px;margin:0 auto;flex:1;min-height:0;height:100%;max-height:100%;overflow:hidden}.durian-stage--simulator-table{max-width:100%;width:100%;height:100%}.durian-stage--simulator-player{max-width:100%;width:100%;height:100%;padding:0}.fruit-svg{filter:drop-shadow(0 2px 3px rgba(0,0,0,.12));transition:transform .15s ease}.fruit-group{display:flex;align-items:center;justify-content:center;position:relative}.fruit-group .fruit-item{transition:transform .15s ease}.durian-tabletop-arena{display:grid;grid-template-columns:156px minmax(0,1fr) 156px;gap:14px;width:100%;height:100%;flex:1;min-height:0;overflow:hidden}@media(max-width:1024px){.durian-tabletop-arena{grid-template-columns:126px minmax(0,1fr) 126px;gap:8px}}.durian-table-counter{background:linear-gradient(180deg,#fffdf9,#fef9f0);border:3px solid var(--game-line, #2d261e);border-radius:18px;box-shadow:0 5px 0 var(--game-line, #2d261e),0 10px 24px #2d261e14;padding:10px 8px;display:flex;flex-direction:column;gap:8px;height:100%;box-sizing:border-box;overflow:hidden}.durian-counter-header{display:flex;align-items:center;justify-content:center;gap:6px;font-weight:900;font-size:.84rem;color:#78350f;background:linear-gradient(135deg,#fef08a,#fde047);border:2px solid #ca8a04;border-radius:10px;padding:6px 8px;box-shadow:0 2px #a16207;flex-shrink:0;text-shadow:0 1px 0 rgba(255,255,255,.6)}.durian-counter-header__icon{font-size:1rem}.durian-counter-header__title{font-weight:900;letter-spacing:.02em}.durian-counter-list{display:flex;flex-direction:column;gap:6px;flex:1;overflow-y:auto;padding-right:2px}.durian-counter-item{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 10px;background:var(--gp-surface, #fffdf7);border:2.5px solid var(--game-line, #292722);border-radius:10px;box-shadow:0 2px 0 var(--game-line, #292722);transition:transform .12s ease,box-shadow .12s ease}.durian-table-counter--left .durian-counter-item:hover{transform:translateY(-1px)}.durian-table-counter--right .durian-counter-item:hover{transform:translateY(1px)}.durian-table-counter--right{transform:rotate(180deg)}.durian-counter-name{font-size:.82rem;font-weight:900;color:var(--game-ink, #292722);flex:1}.durian-counter-pill{font-size:.92rem;font-weight:900;color:var(--game-ink, #292722);background:var(--gp-yellow, #f7c84b);border:2px solid var(--game-line, #292722);box-shadow:0 2px 0 var(--game-line, #292722);border-radius:999px;padding:1px 8px;min-width:24px;text-align:center;line-height:1.2}@media(max-width:640px){.durian-tabletop-arena{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:6px;overflow:hidden}.durian-tabletop-arena>.durian-table-counter--left{order:0}.durian-tabletop-arena>.durian-table-center-board{order:1;min-height:0}.durian-tabletop-arena>.durian-table-counter--right{display:none}.durian-table-counter{height:auto;flex-direction:row;align-items:center;gap:6px;padding:4px 8px;border-width:2.5px;border-radius:12px;box-shadow:0 3px 0 var(--game-line, #2d261e)}.durian-table-counter .durian-counter-header{border-bottom:none;border-right:2px dashed rgba(45,38,30,.2);padding:2px 8px 2px 0;flex-shrink:0;font-size:.72rem}.durian-counter-header__icon{font-size:.86rem}.durian-counter-list{flex-direction:row;flex-wrap:nowrap;gap:4px;overflow-x:auto;overflow-y:hidden}.durian-counter-item{padding:2px 6px;border-width:2px;box-shadow:0 1px 0 var(--game-line, #292722)}.durian-counter-name{font-size:.72rem}.durian-counter-pill{font-size:.76rem;min-width:18px;padding:0 5px}.durian-board-header{gap:6px;padding:5px 8px}.durian-board-header__half{font-size:.74rem;padding:3px 6px}.durian-board-stack-scroll{padding:8px 10px}.durian-board-card-row .durian-card{height:42px}.durian-table-bottom-bar{padding:6px 8px;gap:8px}.durian-sim-draw-btn{padding:6px 10px;border-radius:12px}.durian-sim-draw-btn__icon{font-size:1.15rem}.durian-sim-draw-btn__text strong{font-size:.82rem}.durian-sim-bell-btn-compact{padding:6px 12px;font-size:.84rem}.durian-sim-bell-icon{font-size:1.1rem}.durian-sim-choice-title{font-size:.74rem}.durian-sim-card-flip .durian-card--large{height:88px;min-height:88px;max-width:100%}}.durian-table-center-board{background:linear-gradient(180deg,#fff,#fffdfa);border:3px solid var(--game-line, #2d261e);border-radius:20px;box-shadow:0 6px 0 var(--game-line, #2d261e),0 12px 30px #2d261e1a;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;position:relative;width:100%}.durian-board-header{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;background:var(--gp-paper, #fff4df);border-bottom:2.5px solid var(--game-line, #2d261e);padding:8px 14px;flex-shrink:0}.durian-board-header__half{display:flex;align-items:center;justify-content:center;gap:6px;font-weight:900;font-size:.88rem;padding:5px 10px;border-radius:10px;transition:transform .15s ease}.durian-board-header__half--crossed{background:color-mix(in srgb,var(--gp-coral, #ef513d) 16%,#fffdf7);color:var(--gp-coral-dark, #d6382a);border:2.5px solid var(--game-line, #292722);box-shadow:0 2px 0 var(--game-line, #292722)}.durian-board-header__half--checked{background:color-mix(in srgb,var(--gp-green, #08715d) 16%,#fffdf7);color:var(--gp-green-dark, #055848);border:2.5px solid var(--game-line, #292722);box-shadow:0 2px 0 var(--game-line, #292722)}.durian-board-header__spine{display:flex;align-items:center;justify-content:center}.durian-board-header__spine-badge{font-size:.76rem;font-weight:900;color:var(--game-ink, #292722);background:var(--gp-surface, #fffdf7);border:2px solid var(--game-line, #292722);border-radius:999px;padding:1px 6px}.durian-board-stack-scroll{flex:1;min-height:0;overflow-y:auto;padding:14px 18px;display:flex;flex-direction:column;align-items:center}.durian-board-cards-stack{width:100%;max-width:660px;display:flex;flex-direction:column;align-items:center;gap:10px}.durian-board-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 16px;color:var(--game-muted, #716b61);text-align:center}.durian-board-empty__icon{font-size:2.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.durian-board-empty__title{font-size:1.05rem;font-weight:900;color:var(--game-ink, #292722)}.durian-board-empty__sub{font-size:.84rem;color:var(--game-muted, #716b61)}.durian-board-card-row{width:100%;position:relative;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex;align-items:center;gap:8px;animation:durian-card-enter .28s cubic-bezier(.16,1,.3,1) forwards}@keyframes durian-card-enter{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.durian-board-card-row .durian-card{flex:1;height:52px;border-radius:12px;box-shadow:0 4px 0 var(--game-line, #2d261e),0 6px 12px #00000014}.durian-board-card-index{font-size:.8rem;font-weight:900;color:var(--game-muted, #716b61);width:28px;text-align:right;flex-shrink:0}.durian-board-card-row:hover{transform:translateY(-2px);z-index:15!important}.durian-board-card-row.is-flip-target{cursor:pointer;position:relative}.durian-board-card-row.is-flip-target .durian-card{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b80,0 4px 0 var(--game-line, #2d261e);animation:durian-flip-pulse 1.2s ease-in-out infinite}@keyframes durian-flip-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.durian-flip-hint{font-size:.74rem;font-weight:900;color:var(--game-ink, #292722);background:var(--gp-yellow, #f7c84b);padding:3px 8px;border:2px solid var(--game-line, #292722);border-radius:999px;box-shadow:0 2px 0 var(--game-line, #292722);white-space:nowrap;animation:autostart-pop .3s ease}.durian-table-bottom-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--gp-paper, #fff4df);border-top:2.5px solid var(--game-line, #2d261e);flex-shrink:0}.durian-sim-draw-btn{display:flex;align-items:center;gap:10px;background:var(--gp-yellow, #f7c84b);color:var(--game-ink, #292722);border:3px solid var(--game-line, #2d261e);border-radius:16px;box-shadow:0 4px 0 var(--game-line, #2d261e);padding:8px 16px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.durian-sim-draw-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 var(--game-line, #2d261e)}.durian-sim-draw-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--game-line, #2d261e)}.durian-sim-draw-btn:disabled{opacity:.5;cursor:not-allowed}.durian-sim-draw-btn__icon{font-size:1.5rem;filter:drop-shadow(0 2px 2px rgba(0,0,0,.15))}.durian-sim-draw-btn__text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.durian-sim-draw-btn__text strong{font-size:.96rem;font-weight:900}.durian-sim-draw-btn__text small{font-size:.76rem;color:var(--game-muted, #716b61)}.durian-sim-choice-popup{display:flex;flex-direction:column;gap:8px}.durian-sim-choice-title{font-size:.84rem;font-weight:900;color:#78350f}.durian-sim-bell-btn-compact{display:flex;align-items:center;gap:8px;background:radial-gradient(circle at 35% 25%,#fff8db 0%,var(--gp-yellow, #f7c84b) 55%,#d4a017 100%);color:var(--game-ink, #292722);border:3.5px solid var(--game-line, #2d261e);border-radius:999px;box-shadow:0 6px 0 var(--game-line, #2d261e);padding:10px 22px;font-weight:900;font-size:1rem;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;position:relative}.durian-sim-bell-cap{display:flex;align-items:center;justify-content:center;position:relative}.durian-sim-bell-icon{font-size:1.4rem;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))}.durian-sim-bell-btn-compact:hover{transform:translateY(-2px);box-shadow:0 8px 0 var(--game-line, #2d261e)}.durian-sim-bell-btn-compact:active{transform:translateY(4px);box-shadow:0 2px 0 var(--game-line, #2d261e)}.durian-player-arena{flex:1;width:100%;height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px;box-sizing:border-box}.durian-player-card-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;max-width:none}.durian-player-fullscreen-stand{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.durian-player-fullscreen-card-wrap{width:100%;height:100%;max-height:calc(100dvh - 120px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.durian-player-fullscreen-card-wrap .durian-card--large{width:100%;max-width:min(720px,96vw);height:clamp(210px,46vh,360px);min-height:210px;border:4.5px solid var(--game-line, #2d261e);border-radius:26px;box-shadow:0 10px 0 var(--game-line, #2d261e),0 20px 48px #2d261e29;background:#fff}.durian-player-stand-watermark{display:flex;align-items:center;gap:6px;padding:6px 18px;background:var(--gp-paper, #fff4df);border:2px dashed var(--game-line, #292722);border-radius:999px;color:var(--game-ink, #292722);font-size:.88rem;font-weight:800;letter-spacing:.02em}.durian-player-stand-watermark__icon{font-size:1rem}.durian-player-fullscreen-secret{width:100%;max-width:min(720px,96vw);height:clamp(210px,46vh,360px);min-height:210px;border:4.5px solid var(--game-line, #2d261e);border-radius:26px;box-shadow:0 10px 0 var(--game-line, #2d261e);flex-direction:column}.durian-player-fullscreen-secret .durian-secret-icon{font-size:3.6rem}.durian-player-fullscreen-secret .durian-secret-text{font-size:1.35rem}.durian-player-fullscreen-secret small{margin-top:8px;font-size:.95rem;color:var(--game-muted, #716b61)}.durian-card.durian-card--large{width:100%;max-width:580px;height:200px;min-height:200px;border:4px solid var(--game-line, #2d261e);border-radius:22px;box-shadow:0 8px 0 var(--game-line, #2d261e);background:#fff}.durian-card--large .durian-card-half{flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:14px 18px;height:100%}.durian-card--large .durian-card-half__name{font-size:1.35rem;font-weight:900;letter-spacing:.05em}.durian-forehead-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;width:100%;flex-shrink:0}.durian-forehead-slot{display:flex;flex-direction:column;gap:4px;padding:6px 8px;background:#fff;border:2.5px solid var(--game-line, #2d261e);border-radius:12px;box-shadow:0 3px 0 var(--game-line, #2d261e);transition:transform .15s ease,box-shadow .15s ease}.durian-forehead-slot--current{border-color:#f59e0b;box-shadow:0 3px #b45309,0 0 0 2px #f59e0b59;transform:translateY(-1px)}.durian-forehead-slot--eliminated{opacity:.45;filter:grayscale(.8)}.durian-forehead-slot__header{display:flex;align-items:center;justify-content:space-between;gap:6px}.durian-forehead-slot__name{font-size:.84rem;font-weight:800;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.durian-forehead-slot__penalty{font-size:.74rem;font-weight:900;padding:1px 6px;border-radius:6px;background:#fee2e2;color:#b91c1c;border:1.5px solid #f87171}.durian-card{display:grid;grid-template-columns:1fr 1fr;min-height:48px;border:2.5px solid var(--game-line, #2d261e);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 3px 0 var(--game-line, #2d261e);position:relative}.durian-card-crease{position:absolute;top:0;bottom:0;left:50%;width:0;border-left:2px dashed rgba(45,38,30,.4);transform:translate(-50%);z-index:5;pointer-events:none;box-shadow:-1px 0 3px #0000001a,1px 0 3px #fff6}.durian-card--secret{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;background:repeating-linear-gradient(45deg,#fef3c7,#fef3c7 8px,#fde68a 8px 16px);color:#78350f;font-size:.84rem;font-weight:900}.durian-secret-icon{font-size:1rem}.durian-secret-text{font-size:.8rem;font-weight:900;color:#78350f}.durian-card--monkey{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;background:linear-gradient(135deg,#fed7aa,#fdba74);color:#9a3412;font-weight:900;font-size:.88rem;position:relative;overflow:hidden}.durian-card-monkey__glow{position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.4) 0%,transparent 60%);pointer-events:none}.durian-card-monkey__icon{font-size:1.1rem}.durian-card-monkey__label{font-weight:900;color:#7c2d12}.durian-card-half{display:flex;align-items:center;justify-content:center;gap:5px;padding:3px 6px;font-size:.82rem;font-weight:800;position:relative;transition:all .15s ease;overflow:hidden}.durian-card-half__icon{font-size:1rem}.durian-card-half__name{font-size:.82rem;font-weight:900;white-space:nowrap;letter-spacing:-.02em}.durian-card-half--durian{background:#fef9c3;color:#713f12}.durian-card-half--strawberry{background:#ffe4e6;color:#881337}.durian-card-half--banana{background:#fefce8;color:#78350f}.durian-card-half--grape{background:#f3e8ff;color:#581c87}.durian-card-half--apple{background:#fee2e2;color:#7f1d1d}.durian-card-half__badge{font-size:.78rem;font-weight:900;padding:1.5px 6px;border-radius:999px;background:#2d261e1a;color:inherit;border:1px solid rgba(45,38,30,.18);line-height:1.2;white-space:nowrap;flex-shrink:0}.durian-card-half__ribbon{position:absolute;top:3px;right:4px;font-size:.65rem;font-weight:900;padding:1px 5px;border-radius:4px;z-index:6;white-space:nowrap;box-shadow:0 1px 2px #0003}.durian-card-half__ribbon.is-valid{background:#16a34a;color:#fff}.durian-card-half__ribbon.is-void{background:#ef4444;color:#fff;opacity:.85}.durian-card-half--checked{outline:2.5px solid #16a34a;outline-offset:-2.5px;box-shadow:inset 0 0 8px #16a34a26;z-index:2}.durian-card-half--crossed{opacity:.38;filter:grayscale(.85);background-image:repeating-linear-gradient(45deg,rgba(239,68,68,.08),rgba(239,68,68,.08) 6px,transparent 6px,transparent 12px)!important}.durian-center-board{display:flex;flex-direction:column;gap:12px;padding:14px 16px;background:#fffdf7f5;border:3px solid var(--game-line, #2d261e);border-radius:18px;box-shadow:0 5px 0 var(--game-line, #2d261e);flex:1;min-height:0;overflow:hidden}.durian-board-title{font-size:1.02rem;font-weight:900;color:#1e293b;display:flex;align-items:center;gap:6px}.durian-board-deck-info{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:999px;background:#fef3c7;color:#92400e;border:2px solid var(--game-line, #2d261e);box-shadow:0 2px 0 var(--game-line, #2d261e);font-size:.84rem;font-weight:800}.durian-board-deck-info strong{color:#78350f;font-size:.95rem;font-weight:950}.durian-placements-wrap{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.durian-placements-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:36px 16px;margin:auto;border-radius:14px;border:2px dashed rgba(45,38,30,.2);background:#ffffffbf;color:#1e293b;text-align:center}.durian-placements-empty__icon{font-size:2.2rem;line-height:1}.durian-placements-empty__title{font-size:1.05rem;font-weight:900;color:#1e293b}.durian-placements-empty__desc{font-size:.84rem;font-weight:700;color:#64748b}.durian-placements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;overflow-y:auto;flex:1;min-height:0;padding-right:4px}.durian-placement-item{display:flex;flex-direction:column;gap:3px;padding:6px 8px;border-radius:8px;background:#f8fafc;border:1.5px solid #cbd5e1}.durian-placement-item__author{font-size:.72rem;font-weight:800;color:#1e293b}.durian-placement-item--flip-target{cursor:pointer;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b66}.durian-card-compact{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;max-width:480px;height:34px;background:#fff;border:2px solid var(--game-line, #2d261e);border-radius:10px;box-shadow:0 3px 0 var(--game-line, #2d261e);overflow:hidden}.durian-card-compact--monkey{display:flex;align-items:center;justify-content:center;gap:8px;background:#fefce8;border-color:#d97706}.durian-compact-half{display:flex;align-items:center;justify-content:space-between;padding:0 10px;height:100%;gap:6px;font-size:.8rem;font-weight:800}.durian-compact-half--crossed{background:color-mix(in srgb,var(--gp-muted, #716b61) 12%,#fffdf7);color:var(--game-muted, #716b61);opacity:.78}.durian-compact-half--checked{background:color-mix(in srgb,var(--gp-green, #08715d) 14%,#fffdf7);color:var(--gp-green-dark, #055848);font-weight:900}.durian-compact-divider{width:0;border-right:2px dashed rgba(45,38,30,.25);height:100%}.durian-compact-tag{font-size:.72rem;font-weight:900;padding:1px 5px;border-radius:6px;background:#0000000f}.durian-compact-half--checked .durian-compact-tag{background:#10b981;color:#fff}.durian-verdict-overlay{position:fixed;inset:0;background:#0f172ae0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:clamp(6px,1.5vw,16px);animation:modal-fade-in .25s ease both;overflow-y:auto}.durian-verdict-modal{display:flex;flex-direction:column;gap:10px;width:min(96vw,1120px);max-width:1120px;max-height:96dvh;padding:14px 20px;background:#fff;border:3.5px solid var(--game-line, #2d261e);border-radius:20px;box-shadow:0 12px 36px #00000073,0 6px 0 var(--game-line, #2d261e);animation:modal-scale-in .32s cubic-bezier(.16,1,.3,1) both;overflow-y:auto}.durian-verdict-hero{display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:12px;font-weight:900}.durian-verdict-hero--success{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534;border:2px solid #22c55e;box-shadow:0 3px #15803d}.durian-verdict-hero--failed{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;border:2px solid #ef4444;box-shadow:0 3px #b91c1c}.durian-verdict-hero__icon{font-size:1.6rem;animation:icon-pop .4s cubic-bezier(.34,1.56,.64,1) both}.durian-verdict-hero__title{margin:0;font-size:1.05rem;font-weight:900;line-height:1.25}.durian-verdict-hero__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;font-size:.8rem;opacity:.92}.durian-verdict-hero__timer{font-size:.78rem;padding:1px 7px;border-radius:6px;background:#0000001a;font-weight:900;margin-left:auto}.durian-verdict-footer{display:flex;justify-content:center;margin-top:2px}.durian-verdict-btn{padding:8px 28px;min-height:38px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:2.5px solid #78350f;border-radius:12px;font-size:.95rem;font-weight:900;box-shadow:0 4px #78350f,0 6px 14px #d977064d;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.durian-verdict-btn:hover{transform:translateY(-1px);box-shadow:0 5px #78350f,0 8px 18px #d9770666}.durian-verdict-btn:active{transform:translateY(2px);box-shadow:0 1px #78350f}.durian-reveal-panel{display:flex;flex-direction:column;gap:12px;padding:14px 16px;background:#fff;border:3px solid var(--game-line, #2d261e);border-radius:18px;box-shadow:0 6px 0 var(--game-line, #2d261e);animation:phase-enter .28s cubic-bezier(.16,1,.3,1) both;flex-shrink:0}.durian-reveal-hero{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;font-weight:900;box-shadow:inset 0 1px #fff9}.durian-reveal-hero__icon{font-size:1.6rem;animation:icon-pop .4s cubic-bezier(.34,1.56,.64,1) both}.durian-reveal-hero--success{background:#dcfce7;color:#166534;border:2px solid #86efac}.durian-reveal-hero--failed{background:#fee2e2;color:#991b1b;border:2px solid #fca5a5}.durian-verdict-banner{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;animation:showdown-banner-pop .4s cubic-bezier(.34,1.56,.64,1) both}.durian-verdict-banner--success{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #ef4444;box-shadow:0 3px #b91c1c,0 0 12px #ef444426;color:#991b1b}.durian-verdict-banner--failed{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #10b981;box-shadow:0 3px #047857,0 0 12px #10b98126;color:#166534}.durian-verdict-banner__icon{font-size:1.8rem;flex-shrink:0;animation:bounce-icon 1s infinite alternate ease-in-out}.durian-verdict-banner__content{display:flex;flex-direction:column;gap:2px}.durian-verdict-banner__title{font-size:.95rem;font-weight:900}.durian-verdict-banner__desc{margin:0;font-size:.82rem;font-weight:750;opacity:.95}.durian-showdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;width:100%}.durian-showdown-empty{padding:16px;text-align:center;font-size:.88rem;font-weight:800;color:#64748b;background:#f8fafc;border-radius:10px;border:1.5px dashed #cbd5e1}.durian-showdown-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:#fff;border:2px solid var(--game-line, #2d261e);border-radius:12px;box-shadow:0 3px 0 var(--game-line, #2d261e);animation:showdown-card-in .45s cubic-bezier(.34,1.56,.64,1) both;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.durian-showdown-card:hover{transform:translateY(-2px);box-shadow:0 5px 0 var(--game-line, #2d261e)}.durian-showdown-card.is-oversold{border-color:#ef4444;background:linear-gradient(180deg,#fff5f5,#ffe4e6);box-shadow:0 3px #b91c1c,0 0 12px #ef444433;animation:showdown-card-in .45s cubic-bezier(.34,1.56,.64,1) both,oversold-glow-shake .7s 1.1s ease both}.durian-showdown-card.is-safe{border-color:#10b981;background:linear-gradient(180deg,#f0fdf4,#e6fcf5);box-shadow:0 3px #047857}.durian-showdown-card__header{display:flex;align-items:center;justify-content:center;gap:6px;padding-bottom:4px;border-bottom:1.5px dashed rgba(45,38,30,.15)}.durian-showdown-card__emoji{font-size:1.2rem;line-height:1}.durian-showdown-card__name{font-size:.88rem;font-weight:900;color:#0f172a}.durian-showdown-card__pk{display:flex;align-items:center;justify-content:space-between;gap:4px}.durian-showdown-side{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px;border-radius:6px;background:#ffffffd9;border:1px solid rgba(0,0,0,.08)}.durian-showdown-side__label{font-size:.66rem;font-weight:800;color:#64748b;white-space:nowrap}.durian-showdown-side--table .durian-showdown-side__label{color:#b45309}.durian-showdown-side--stock .durian-showdown-side__label{color:#0369a1}.durian-showdown-side__val{font-size:1.15rem;font-weight:900;color:#0f172a;line-height:1;font-variant-numeric:tabular-nums}.durian-showdown-vs{font-size:.72rem;font-weight:900;color:#94a3b8;font-style:italic;flex-shrink:0}.durian-rolling-number{display:inline-block;font-variant-numeric:tabular-nums;transition:transform .12s ease}.durian-rolling-number.is-rolling{animation:num-roll-tick .12s infinite alternate ease-in-out;color:#d97706}.durian-rolling-number.is-landed{animation:num-land-pop .25s cubic-bezier(.34,1.56,.64,1) both}.durian-showdown-stamp{display:flex;align-items:center;justify-content:center;gap:4px;padding:3px 6px;border-radius:6px;font-size:.72rem;font-weight:900;animation:stamp-drop .35s cubic-bezier(.34,1.56,.64,1) both;white-space:nowrap}.durian-showdown-stamp--danger{background:#fee2e2;color:#b91c1c;border:1.5px solid #f87171;box-shadow:0 2px #b91c1c}.durian-showdown-stamp--safe{background:#dcfce7;color:#15803d;border:1.5px solid #86efac;box-shadow:0 2px #15803d}.durian-floating-fruits{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.durian-floating-item{position:absolute;font-size:1.8rem;opacity:.36;-webkit-user-select:none;user-select:none;animation:fruit-diagonal-drift 7s infinite linear}.durian-floating-item.f1{top:-10%;left:5%;font-size:2rem;animation-duration:6.5s;animation-delay:0s}.durian-floating-item.f2{top:10%;left:-5%;font-size:1.6rem;animation-duration:8.5s;animation-delay:1.2s}.durian-floating-item.f3{top:-8%;left:25%;font-size:2.2rem;animation-duration:7.2s;animation-delay:.5s}.durian-floating-item.f4{top:20%;left:10%;font-size:1.7rem;animation-duration:9s;animation-delay:2.4s}.durian-floating-item.f5{top:-12%;left:45%;font-size:2.1rem;animation-duration:7s;animation-delay:.8s}.durian-floating-item.f6{top:15%;left:35%;font-size:2.3rem;animation-duration:10s;animation-delay:1.8s}.durian-floating-item.f7{top:-5%;left:65%;font-size:1.9rem;animation-duration:8s;animation-delay:.3s}.durian-floating-item.f8{top:25%;left:55%;font-size:2rem;animation-duration:9.2s;animation-delay:2.1s}.durian-floating-item.f9{top:-10%;left:80%;font-size:1.8rem;animation-duration:7.5s;animation-delay:1s}.durian-floating-item.f10{top:30%;left:70%;font-size:2.2rem;animation-duration:9.8s;animation-delay:.4s}.testimony-token-rack{display:flex;flex-direction:column;gap:10px;margin-top:10px;width:100%}.testimony-token-slot{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:2px solid var(--game-line, #221e1a);border-radius:12px;background:#fff9;box-shadow:0 2px 0 var(--game-line, #221e1a)}.testimony-token-slot--yes{border-color:#059669;background:#10b98114}.testimony-token-slot--no{border-color:#dc2626;background:#ef444414}.testimony-token-header{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:800;color:var(--game-ink, #221e1a)}.testimony-token-dot{width:8px;height:8px;border-radius:50%}.testimony-token-dot.is-yes{background:#10b981;box-shadow:0 0 6px #10b981}.testimony-token-dot.is-no{background:#ef4444;box-shadow:0 0 6px #ef4444}.testimony-token-count{margin-left:auto;font-size:.75rem;font-weight:900;padding:2px 8px;border-radius:999px;background:var(--game-line, #221e1a);color:#fff}.testimony-chip-token--yes.is-active{background:#10b981;color:#fff}.testimony-chip-token--yes.is-spent{background:#e5e7eb;color:#9ca3af;border-color:#d1d5db;box-shadow:none;opacity:.65}.testimony-chip-token--no.is-active{background:#ef4444;color:#fff}.testimony-chip-token--no.is-spent{background:#e5e7eb;color:#9ca3af;border-color:#d1d5db;box-shadow:none;opacity:.65}.testimony-card-choices,.echo-card-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px;width:100%;margin-bottom:8px}.testimony-topic-card,.echo-topic-card{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:2px solid var(--game-line, #221e1a);border-radius:10px;background:#fff;box-shadow:0 2.5px 0 var(--game-line, #221e1a);cursor:pointer;text-align:left;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.testimony-topic-card:hover,.echo-topic-card:hover{transform:translateY(-2px);box-shadow:0 4px 0 var(--game-line, #221e1a)}.testimony-topic-card.is-selected{border-color:#7c3aed;background:#f5f3ff;box-shadow:0 3px #7c3aed}.echo-topic-card.is-selected{border-color:#f59e0b;background:#fffbeb;box-shadow:0 3px #f59e0b}.echo-role-choice-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.echo-role-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;border:2px solid var(--game-line, #221e1a);border-radius:10px;background:#f9fafb;cursor:pointer;box-shadow:0 2px 0 var(--game-line, #221e1a);transition:all .15s ease;text-align:center}.echo-role-btn:hover{transform:translateY(-2px);box-shadow:0 4px 0 var(--game-line, #221e1a)}.echo-role-btn.is-active-human{background:#ecfdf5;border-color:#059669;box-shadow:0 3px #059669}.echo-role-btn.is-active-impostor{background:#fef2f2;border-color:#dc2626;box-shadow:0 3px #dc2626}.echo-role-btn__title{font-size:.82rem;font-weight:900;color:var(--game-ink, #221e1a)}.echo-role-btn__desc{font-size:.68rem;font-weight:700;color:#475569}.testimony-topic-card__header,.echo-topic-card__header{display:flex;align-items:center;justify-content:space-between;gap:6px}.testimony-topic-card__tag,.echo-topic-card__tag{font-size:.68rem;font-weight:800;padding:1px 6px;border-radius:4px;border:1px solid var(--game-line, #221e1a);background:#fef08a;color:#713f12}.testimony-topic-card__check,.echo-topic-card__check{font-size:.72rem;font-weight:900;color:#7c3aed}.testimony-topic-card__text,.echo-topic-card__text{margin:0;font-size:.8rem;font-weight:800;line-height:1.3;color:var(--game-ink, #221e1a)}.testimony-target-picker{display:flex;flex-direction:column;gap:6px;padding-top:6px;border-top:2px dashed rgba(0,0,0,.12)}.testimony-target-label{font-size:.76rem;font-weight:800;color:var(--game-ink, #221e1a)}.testimony-pending-box{display:flex;gap:10px;align-items:center;width:100%;padding:10px 12px;border:2.5px solid var(--game-line, #221e1a);border-radius:12px;background:linear-gradient(135deg,#4c1d95,#2e1065);color:#fff;box-shadow:0 4px 0 var(--game-line, #221e1a)}.testimony-pending-seal{display:grid;width:36px;height:36px;flex-shrink:0;place-items:center;border:2px solid #ffffff;border-radius:50%;background:#f59e0b;font-size:1.1rem;font-weight:900}.testimony-pending-content{display:flex;flex-direction:column;gap:2px;min-width:0}.testimony-pending-author{font-size:.72rem;font-weight:800;color:#fcd34d}.testimony-pending-text{font-size:.9rem;font-weight:900;line-height:1.25}.testimony-pending-tip{font-size:.68rem;font-weight:700;opacity:.85}.testimony-waiting-banner,.echo-waiting-banner{display:flex;align-items:center;gap:10px;padding:10px 12px;border:2px solid var(--game-line, #221e1a);border-radius:10px;background:#f3f4f6;box-shadow:0 2px 0 var(--game-line, #221e1a);font-size:.82rem}.testimony-waiting-icon,.echo-waiting-icon{font-size:1.2rem}.testimony-track-list{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;max-height:clamp(80px,15vh,130px);overflow-y:auto;scrollbar-width:thin}.testimony-track-item{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:6px;align-items:center;padding:5px 8px;border:1.5px solid var(--game-line, #221e1a);border-radius:8px;background:#fffaf0;box-shadow:0 1.5px 0 var(--game-line, #221e1a)}.testimony-track-num{display:grid;width:24px;height:24px;place-items:center;border:1.5px solid var(--game-line, #221e1a);border-radius:50%;background:#fff;font-size:.7rem;font-weight:900}.testimony-track-body{display:flex;flex-direction:column;gap:2px;min-width:0}.testimony-track-names{display:flex;align-items:center;gap:4px;font-size:.78rem;font-weight:800}.testimony-name-ask{color:#7c3aed}.testimony-arrow{color:#9ca3af;font-size:.7rem}.testimony-name-ans{color:#2563eb}.testimony-track-q{margin:0;font-size:.75rem;color:var(--game-ink, #221e1a);font-weight:600;line-height:1.25}.testimony-track-stamp{padding:3px 8px;border:2px solid var(--game-line, #221e1a);border-radius:6px;font-size:.7rem;font-weight:900;box-shadow:0 2px 0 var(--game-line, #221e1a)}.testimony-track-stamp--yes{background:#10b981;color:#fff}.testimony-track-stamp--no{background:#ef4444;color:#fff}.testimony-crime-card-highlight{display:flex;flex-direction:column;gap:6px;padding:12px;border:2.5px solid var(--game-line, #221e1a);border-radius:12px;background:#fffbeb;box-shadow:0 3px 0 var(--game-line, #221e1a)}.testimony-crime-badge{font-size:1rem;font-weight:900;color:#92400e}.testimony-crime-desc{margin:0;font-size:.78rem;font-weight:600;color:#78350f;line-height:1.35}.testimony-crime-options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.testimony-crime-btn{display:flex;align-items:center;gap:6px;padding:8px 10px;border:2px solid var(--game-line, #221e1a);border-radius:10px;background:#fff;box-shadow:0 2px 0 var(--game-line, #221e1a);cursor:pointer;font-weight:800;font-size:.78rem}.testimony-crime-btn.is-active{background:#fde047;border-color:#ca8a04;box-shadow:0 3px #ca8a04}.testimony-crime-btn__icon{font-size:1.1rem}.testimony-meter-card.is-warning{border-color:#f59e0b;background:#fffbeb;animation:testimonyWarnPulse 2s infinite ease-in-out}.testimony-meter-card.is-max{border-color:#ef4444;background:#fef2f2;box-shadow:0 0 10px #ef444459}@keyframes testimonyWarnPulse{0%,to{box-shadow:0 2px #f59e0b,0 0 #f59e0b00}50%{box-shadow:0 2px #f59e0b,0 0 10px #f59e0b66}}.testimony-meter-count.is-warning{background:#d97706}.testimony-meter-count.is-max{background:#dc2626}.testimony-q-answers-status{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;margin-top:8px}.testimony-q-player-chip{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border:2px solid var(--game-line, #221e1a);border-radius:8px;background:#fff;box-shadow:0 2px 0 var(--game-line, #221e1a);font-size:.74rem}.testimony-chip-name{font-weight:800}.testimony-chip-mark{font-weight:900;padding:1px 6px;border-radius:4px;font-size:.68rem;color:#6b7280}.testimony-chip-mark.is-yes{background:#10b981;color:#fff}.testimony-chip-mark.is-no{background:#ef4444;color:#fff}.testimony-answers-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.testimony-ans-pill{padding:2px 6px;border-radius:4px;font-size:.68rem;font-weight:800;border:1px solid var(--game-line, #221e1a)}.testimony-ans-pill.is-yes{background:#d1fae5;color:#065f46}.testimony-ans-pill.is-no{background:#fee2e2;color:#991b1b}.testimony-dossier-grid,.echo-reveal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:10px}.testimony-dossier-card,.echo-reveal-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:2.5px solid var(--game-line, #221e1a);border-radius:12px;background:#fff;box-shadow:0 3px 0 var(--game-line, #221e1a)}.testimony-dossier-card.is-warden{border-color:#7c3aed;background:#f5f3ff}.testimony-dossier-card__head,.echo-reveal-card__head{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;font-weight:800}.testimony-dossier-card__crime{font-size:.76rem;font-weight:700}.testimony-dossier-card__guess{font-size:.72rem;font-weight:700;padding:3px 6px;border-radius:6px}.testimony-dossier-card__guess.is-correct{background:#10b98126;color:#065f46}.testimony-dossier-card__guess.is-wrong{background:#ef444426;color:#991b1b}.echo-score-chip.is-judge{border-color:#f59e0b;background:#fffbeb}.echo-stage-board{display:flex;flex-direction:column;gap:10px}.echo-question-banner{padding:12px 14px;border:2.5px solid var(--game-line, #221e1a);border-radius:12px;background:#fff;box-shadow:0 3px 0 var(--game-line, #221e1a)}.echo-question-text{margin:0;font-size:1rem;font-weight:900;line-height:1.4;color:var(--game-ink, #221e1a)}.echo-meter-track{width:100%;height:8px;border:2px solid var(--game-line, #221e1a);border-radius:999px;background:#e5e7eb;overflow:hidden}.echo-meter-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#10b981);transition:width .3s ease}.echo-speaker-podium{display:flex;gap:12px;align-items:center;padding:12px 16px;border:3px solid var(--game-line, #221e1a);border-radius:14px;background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;box-shadow:0 5px 0 var(--game-line, #221e1a)}.echo-speaker-podium.is-me-speaking{border-color:#f59e0b;box-shadow:0 0 16px #f59e0b66,0 5px 0 var(--game-line, #221e1a)}.echo-speaker-mic{font-size:2rem;animation:pulse 1.5s infinite}.echo-speaker-info{display:flex;flex-direction:column;gap:4px}.echo-speaker-label{font-size:.88rem;font-weight:900;color:#fbbf24}.echo-speaker-tip{margin:0;font-size:.76rem;font-weight:600;opacity:.9;line-height:1.35}.echo-verdict-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border:2.5px solid var(--game-line, #221e1a);border-radius:12px;box-shadow:0 3px 0 var(--game-line, #221e1a);font-size:.78rem;font-weight:800}.echo-verdict-banner.is-caught{background:#ecfdf5;border-color:#059669;color:#065f46}.echo-verdict-banner.is-escaped{background:#fef2f2;border-color:#dc2626;color:#991b1b}.echo-verdict-icon{font-size:1.3rem;font-weight:900}.echo-rank-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.echo-rank-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:2px solid var(--game-line, #221e1a);border-radius:10px;background:#fff;box-shadow:0 2px 0 var(--game-line, #221e1a)}.echo-rank-item.is-top{border-color:#f59e0b;background:#fffbeb}.echo-rank-badge{font-size:.78rem;font-weight:900;color:#d97706}.echo-rank-name{font-size:.82rem;font-weight:800;flex:1}.echo-rank-score{font-size:.88rem;font-weight:900;color:var(--game-ink, #221e1a)}.testimony-token{gap:4px;letter-spacing:.04em}.testimony-token i{display:inline-grid;width:20px;height:20px;place-items:center;border:2px solid var(--game-line);border-radius:50%;color:#b7ad9d;background:#efe8db;font-size:.58rem;font-style:normal;font-weight:900}.testimony-token--yes i.is-left{color:#fff;background:var(--game-green)}.testimony-token--no i.is-left{color:#fff;background:var(--game-coral)}.testimony-pending{display:flex;gap:14px;align-items:center;width:100%;flex-shrink:0;padding:18px 20px;border:3.5px solid var(--game-line);border-radius:18px;color:#fff;background:var(--game-purple);box-shadow:0 6px 0 var(--game-line)}.testimony-pending__seal{display:grid;width:46px;height:46px;flex-shrink:0;place-items:center;border:3px solid #fff;border-radius:50%;background:var(--game-yellow);color:var(--game-ink);font-size:1.4rem;font-weight:900}.testimony-pending__label{display:block;font-size:.7rem;font-weight:800;opacity:.85}.testimony-pending__text{display:block;margin:2px 0;font-size:1.05rem;font-weight:900}.testimony-pending__hint{display:block;font-size:.7rem;font-weight:700;opacity:.8}.testimony-track{display:flex;margin:0;padding:0;flex-direction:column;gap:8px;list-style:none}.testimony-track li{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:44px;padding:7px 11px;border:2.5px solid var(--game-line);border-radius:12px;background:#fffaf0;box-shadow:0 3px 0 var(--game-line)}.testimony-track__idx{display:grid;width:24px;height:24px;place-items:center;border:2px solid var(--game-line);border-radius:50%;background:#fff;font-size:.7rem;font-weight:900}.testimony-track__body{display:flex;min-width:0;flex-direction:column;line-height:1.25}.testimony-track__body strong{overflow:hidden;font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.testimony-track__body span{overflow:hidden;color:var(--game-muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.testimony-track__mark{padding:3px 9px;border:2px solid var(--game-line);border-radius:8px;font-size:.68rem;font-weight:900;box-shadow:0 2px 0 var(--game-line)}.testimony-track__mark--yes{color:#fff;background:var(--game-green)}.testimony-track__mark--no{color:#fff;background:var(--game-coral)}.testimony-crime-row{display:flex;justify-content:center}.testimony-crime{padding:12px 26px;border:3px solid var(--game-line);border-radius:12px;color:var(--game-ink);background:var(--game-yellow);box-shadow:0 5px 0 var(--game-line);font-size:1.06rem;font-weight:900;transform:none}.testimony-crime-picks{margin-top:4px}.cheese-hour__dice{display:flex;gap:14px;justify-content:center}.cheese-die{display:grid;width:64px;height:64px;place-items:center;border:3.5px solid var(--game-line);border-radius:14px;color:var(--game-ink);background:#fff;box-shadow:0 6px 0 var(--game-line);font-size:1.7rem;font-weight:900}.cheese-die:after{content:""}.cheese-night{position:relative;display:flex;width:100%;flex-shrink:0;flex-direction:column;align-items:center;gap:10px;padding:18px 20px 16px;overflow:hidden;border:3.5px solid var(--game-line);border-radius:18px;color:#fff;background:linear-gradient(160deg,#27355f,#131b3c 70%);box-shadow:0 6px 0 var(--game-line)}.cheese-night:after{position:absolute;width:140px;height:3px;top:30px;left:-20px;content:"";background:#ffebaa1f;box-shadow:0 10px #ffebaa14,0 -10px #ffebaa12;transform:rotate(-4deg)}.cheese-moon{position:absolute;top:-18px;right:-12px;width:clamp(48px,18vw,72px);height:clamp(48px,18vw,72px);border:3px solid rgba(255,235,170,.5);border-radius:50%;background:radial-gradient(circle at 34% 34%,#fff6d8,#ffe9a3 60%,#f4d478);box-shadow:0 0 34px #ffe69673;transform:rotate(8deg)}.cheese-moon__glow{position:absolute;inset:8px;border-radius:50%;box-shadow:inset -8px -6px #a078282e}.cheese-night__copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:3px}.cheese-night__copy strong{font-size:1.1rem;font-weight:900}.cheese-night__copy span{font-size:.74rem;font-weight:700;opacity:.8}.cheese-hours{position:relative;z-index:1;display:flex;gap:8px;margin:4px 0 0;padding:0;list-style:none}.cheese-hours__dot{display:grid;width:34px;height:34px;place-items:center;border:2.5px solid rgba(255,235,170,.55);border-radius:50%;color:#fff0c8bf;background:#ffebaa14;font-size:.8rem;font-weight:900}.cheese-hours__dot.is-done{border-color:#ffebaae6;color:#1d2440;background:#ffe9a3}.cheese-hours__dot.is-current{border-color:#fff;color:#fff;background:var(--game-coral);box-shadow:0 0 0 4px #ef513d59;animation:state-breathe 1.4s ease-in-out infinite}.echo-question{margin:0;padding:14px 16px;border:2.5px dashed var(--game-line);border-radius:14px;color:var(--game-ink);background:#fffaf0;font-size:1.06rem;font-weight:900;line-height:1.4}.bottom-cards{display:flex;flex-direction:column;align-items:center;gap:6px;margin:0 auto 14px;text-align:center}.bottom-cards__label{color:#e8f5e9d9;font-size:.8rem;font-weight:700}.bottom-cards__row{display:flex;justify-content:center;gap:8px;margin-top:6px}.current-combo-box{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 24px;border:1.5px solid rgba(255,209,102,.4);border-radius:16px;background:#061c148c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 26px #00000047}.bell-stage{width:100%;max-width:880px;margin:0 auto}.bell-dual-col{display:grid;grid-template-columns:minmax(240px,.8fr) 1.2fr;gap:12px;width:100%;align-items:start}.bell-right-col{display:flex;flex-direction:column;gap:10px;min-width:0}@media(max-width:768px){.bell-dual-col{grid-template-columns:1fr;gap:10px}}.bell-board{display:flex;align-items:center;justify-content:center;gap:18px;padding:14px;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.15) 0%,transparent 70%);border-radius:18px}.ding-uno-card{position:relative;display:inline-flex;aspect-ratio:2 / 3;width:clamp(70px,11.5vw,92px);padding:0;border:none;background:transparent;border-radius:12px;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 4px 12px #0006;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease;overflow:visible;touch-action:manipulation}.ding-uno-card--top{width:clamp(96px,15vw,126px);cursor:default;box-shadow:0 8px 24px #0000008c}.ding-uno-card__img{width:100%;height:100%;object-fit:contain;display:block;border-radius:12px;pointer-events:none}.ding-phrase-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:62%;height:58%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2px 4px;box-sizing:border-box;pointer-events:none;z-index:2}.ding-phrase-icon{font-size:clamp(.9rem,1.6vw,1.25rem);line-height:1;margin-bottom:2px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}.ding-phrase-text{font-size:clamp(.66rem,1.15vw,.84rem);font-weight:900;line-height:1.2;color:#18181b;word-break:break-word;text-align:center;letter-spacing:-.2px}.ding-uno-card:not(.ding-uno-card--top):hover{transform:translateY(-10px) scale(1.08);box-shadow:0 14px 28px #00000080,0 0 12px #ffd93d80;z-index:10}.ding-uno-card.is-selected{transform:translateY(-16px) scale(1.12) rotate(-1.5deg);box-shadow:0 0 22px #facc15,0 16px 32px #0009;z-index:20}.ding-uno-card.is-playable{animation:dingPlayablePulse 2s infinite ease-in-out}@keyframes dingPlayablePulse{0%,to{filter:drop-shadow(0 0 3px rgba(250,204,21,.4))}50%{filter:drop-shadow(0 0 10px rgba(250,204,21,.9));transform:translateY(-3px)}}.ding-draw-stack{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:2 / 3;width:clamp(68px,11vw,86px);border-radius:12px;border:3.5px solid #ffffff;background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;box-shadow:-3px 3px #334155,-6px 6px #1e293b,0 8px 18px #00000080;cursor:pointer;transition:transform .15s ease}.ding-draw-stack:hover{transform:translateY(-4px)}.ding-draw-stack__logo{font-size:1.2rem;font-weight:900;color:#f59e0b;text-shadow:0 2px 4px rgba(0,0,0,.6)}.ding-draw-stack__count{font-size:.68rem;font-weight:800;color:#94a3b8}.ding-bell-stage-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 14px;border:3px solid var(--game-line, #221e1a);border-radius:16px;background:linear-gradient(135deg,#fef08a,#eab308);color:#713f12;box-shadow:0 5px 0 var(--game-line, #221e1a);cursor:pointer;font-weight:900;transition:transform .12s ease,box-shadow .12s ease}.ding-bell-stage-btn:hover{transform:translateY(-2px);box-shadow:0 7px 0 var(--game-line, #221e1a)}.ding-bell-stage-btn:active{transform:translateY(2px);box-shadow:0 2px 0 var(--game-line, #221e1a)}.ding-bell-stage-btn.is-ringing{background:linear-gradient(135deg,#fde047,#ca8a04);animation:bellRingShake .6s infinite ease-in-out;box-shadow:0 0 20px #eab308}@keyframes bellRingShake{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}.ding-bell-stage-icon{font-size:2rem;line-height:1}.ding-bell-stage-text{font-size:.78rem}.bell-window{display:flex;width:100%;flex-shrink:0;gap:12px;align-items:center;padding:14px 18px;border:3.5px solid var(--game-line);border-radius:18px;color:var(--game-ink);background:var(--game-yellow);box-shadow:0 6px 0 var(--game-line);animation:state-breathe 1.6s ease-in-out infinite;box-sizing:border-box}.bell-window__icon{display:grid;width:46px;height:46px;flex-shrink:0;place-items:center;border:3px solid var(--game-line);border-radius:50%;background:#fffdf7;box-shadow:0 3px 0 var(--game-line);font-size:1.3rem}.bell-window__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.bell-window__copy strong{font-size:1.02rem;font-weight:900}.bell-window__copy span{font-size:.74rem;font-weight:700;opacity:1;color:#343a40}.bell-hand{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.bell-tabletop-arena{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;height:100%;position:relative;padding:8px 12px;box-sizing:border-box}.bell-center-core{display:flex;align-items:center;justify-content:center;gap:clamp(14px,3.5vw,28px);position:relative;z-index:5;padding:12px 20px;border-radius:28px;background:radial-gradient(circle at 50% 50%,#ffffff1f,#00000040);box-shadow:inset 0 0 24px #0003,0 8px 32px #00000059;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1.5px solid rgba(255,255,255,.15)}.bell-draw-pile{position:relative;display:flex;align-items:center;justify-content:center;width:clamp(74px,12vw,98px);aspect-ratio:2 / 3;padding:0;border:none;background:transparent;cursor:pointer;border-radius:12px;transition:transform .16s ease,filter .16s ease;-webkit-user-select:none;user-select:none}.bell-draw-pile:not(:disabled):hover{transform:translateY(-5px) scale(1.04)}.bell-draw-pile.is-playable{animation:bellPlayablePulse 1.8s infinite ease-in-out}.bell-draw-pile-img{width:100%;height:100%;object-fit:contain;border-radius:12px;box-shadow:-3px 3px #1e293b,-6px 6px #0f172a,0 8px 20px #00000080;pointer-events:none}.bell-pile-badge{position:absolute;bottom:-6px;background:#0f172ae0;color:#f8fafc;font-size:.72rem;font-weight:900;padding:2px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.3);box-shadow:0 2px 6px #0006;white-space:nowrap}.bell-discard-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:clamp(86px,14vw,114px);aspect-ratio:2 / 3}.bell-discard-empty{width:100%;height:100%;border:2px dashed rgba(255,255,255,.3);border-radius:12px;display:grid;place-items:center;color:#ffffff73;font-size:.82rem;font-weight:700}.bell-discard-color-badge{position:absolute;bottom:-10px;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:.68rem;font-weight:800;padding:2px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.25);box-shadow:0 2px 6px #0006;white-space:nowrap}.bell-desk-bell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:clamp(80px,13vw,108px);height:clamp(80px,13vw,108px);padding:0;border:none;background:transparent;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;transition:transform .12s cubic-bezier(.34,1.56,.64,1)}.bell-desk-bell:active{transform:scale(.92) translateY(3px)}.bell-desk-bell-dome{position:relative;width:82%;height:74%;border-radius:50% 50% 16% 16%/60% 60% 12% 12%;background:radial-gradient(circle at 35% 25%,#fffbeb,#fef08a 25%,#eab308 60%,#a16207 90%,#713f12);box-shadow:inset 0 2px 4px #fffc,inset 0 -3px 6px #0006,0 8px 18px #00000080;border:2px solid #ca8a04;display:flex;align-items:center;justify-content:center}.bell-desk-bell-plunger{position:absolute;top:-10px;width:18px;height:12px;background:linear-gradient(180deg,#f8fafc,#94a3b8 60%,#475569);border-radius:6px 6px 2px 2px;box-shadow:0 2px 4px #0006;border:1.5px solid #64748b}.bell-desk-bell-base{width:96%;height:14px;margin-top:-2px;background:linear-gradient(180deg,#334155,#1e293b 60%,#0f172a);border-radius:8px;box-shadow:0 4px 10px #0009;border:1.5px solid #475569}.bell-desk-bell-label{margin-top:6px;font-size:clamp(.7rem,1.1vw,.8rem);font-weight:900;color:#fef08a;background:#0f172ae0;padding:3px 12px;border-radius:999px;border:1px solid rgba(254,240,138,.35);box-shadow:0 2px 8px #00000080;text-shadow:0 1px 2px rgba(0,0,0,.9);white-space:nowrap}.bell-desk-bell.is-active{animation:bellActiveJiggle .6s infinite ease-in-out}.bell-desk-bell.is-active .bell-desk-bell-dome{box-shadow:inset 0 2px 4px #ffffffe6,0 0 28px #facc15,0 8px 24px #0009;border-color:#fef08a}.bell-sonic-shockwave{position:absolute;inset:-14px;border-radius:50%;border:2.5px solid rgba(250,204,21,.75);pointer-events:none;animation:bellSonicRipple 1.4s cubic-bezier(.1,.8,.3,1) infinite}@keyframes bellSonicRipple{0%{transform:scale(.7);opacity:1}to{transform:scale(1.6);opacity:0}}@keyframes bellActiveJiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg) scale(1.05)}75%{transform:rotate(5deg) scale(1.05)}}@keyframes bellPlayablePulse{0%,to{filter:drop-shadow(0 0 4px rgba(250,204,21,.4))}50%{filter:drop-shadow(0 0 14px rgba(250,204,21,.85));transform:translateY(-3px)}}.bell-center-meta{display:flex;align-items:center;gap:12px;font-size:clamp(.75rem,1.2vw,.88rem);color:#ffffffd9;background:#0006;padding:4px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.15);box-shadow:0 2px 8px #0000004d;z-index:5}.bell-center-meta strong{color:#ffd43b}.bell-floating-bell-btn{background:linear-gradient(135deg,#f59e0b,#d97706)!important;color:#fff!important;font-weight:900!important;box-shadow:0 4px 14px #d977068c,0 0 0 2px #fbbf24!important;animation:bellFloatPulse 1s infinite alternate}@keyframes bellFloatPulse{0%{transform:scale(1)}to{transform:scale(1.06)}}.uno-floating-status-chip{display:inline-flex;align-items:center;gap:6px;background:#0f172ad9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#f8fafc;font-size:.82rem;font-weight:600;padding:6px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.18);box-shadow:0 4px 12px #00000040}.uno-floating-status-chip strong{color:#ffd166}.bell-card-inspector{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:8px;background:#0f172aeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1.5px solid rgba(255,255,255,.25);border-radius:999px;padding:5px 16px;box-shadow:0 6px 18px #00000059;animation:bellInspectorPop .15s ease-out;max-width:min(92vw,680px)}@keyframes bellInspectorPop{0%{transform:translateY(4px) scale(.96);opacity:.6}to{transform:translateY(0) scale(1);opacity:1}}.bell-inspector-color-dot{width:12px;height:12px;border-radius:50%;border:1.5px solid #ffffff;box-shadow:0 0 6px currentColor}.bell-inspector-color-dot.color-red{background:#ef4444;color:#ef4444}.bell-inspector-color-dot.color-blue{background:#3b82f6;color:#3b82f6}.bell-inspector-color-dot.color-green{background:#22c55e;color:#22c55e}.bell-inspector-color-dot.color-yellow{background:#facc15;color:#facc15}.bell-inspector-title{font-size:.85rem;font-weight:800;color:#fff}.bell-inspector-phrase{font-size:.88rem;font-weight:800;color:#ffd166;letter-spacing:.02em}.bell-inspector-playable-tag{background:#22c55e40;color:#4ade80;border:1px solid rgba(74,222,128,.4);font-size:.72rem;font-weight:800;padding:2px 8px;border-radius:999px}.bell-inspector-unplayable-tag{background:#ef444433;color:#fca5a5;border:1px solid rgba(248,113,113,.35);font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px}.ding-phrase-card-shell{width:100%;height:100%;border-radius:10px;border:2.5px solid #ffffff;box-sizing:border-box;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px #0000001f,0 3px 10px #0000004d;-webkit-user-select:none;user-select:none}.ding-phrase-card-shell--top{border-radius:14px;border-width:3.5px;box-shadow:inset 0 0 0 1.5px #00000026,0 8px 24px #00000073}.ding-phrase-card-shell--red{background-color:#b91c1c;background:linear-gradient(145deg,#c02626,#b91c1c 55%,#991b1b)}.ding-phrase-card-shell--blue{background-color:#1e40af;background:linear-gradient(145deg,#1d4ed8,#1e40af 55%,#1e3a8a)}.ding-phrase-card-shell--green{background-color:#166534;background:linear-gradient(145deg,#15803d,#166534 55%,#14532d)}.ding-phrase-card-shell--yellow{background-color:#ca8a04;background:linear-gradient(145deg,#facc15,#eab308 55%,#ca8a04)}.ding-phrase-card-oval{position:absolute;top:50%;left:50%;width:82%;height:70%;transform:translate(-50%,-50%) rotate(-25deg);background:#fff;border-radius:50%;box-shadow:0 1.5px 5px #00000040,inset 0 0 4px #00000014;z-index:1}.ding-phrase-card-shell--top .ding-phrase-card-oval{width:84%;height:72%}.ding-phrase-card-corner{position:absolute;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;pointer-events:none}.ding-phrase-card-corner--tl{top:4px;left:5px}.ding-phrase-card-corner--br{bottom:4px;right:5px;transform:rotate(180deg)}.ding-phrase-corner-text{font-size:clamp(.52rem,.85vw,.65rem);font-weight:900;font-style:italic;color:#fff;line-height:1;text-shadow:0 1px 3px rgba(0,0,0,.9);letter-spacing:.5px}.ding-phrase-card-shell--yellow .ding-phrase-corner-text{color:#1e1b18;text-shadow:0 1px 1px rgba(255,255,255,.7)}.ding-phrase-card-shell--top .ding-phrase-corner-text{font-size:.88rem}.ding-phrase-card-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:74%;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;box-sizing:border-box;padding:4px 6px;background-color:#fff;border-radius:999px}.ding-phrase-card-phrase{font-size:clamp(.68rem,1.1vw,.82rem);font-weight:900;color:#0f172a;line-height:1.25;word-break:break-word;text-align:center;letter-spacing:-.2px}.ding-phrase-card-shell--top .ding-phrase-card-phrase{font-size:clamp(.95rem,1.6vw,1.25rem);line-height:1.3}.bell-center-meta{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:4px 14px;background:#0f172ad9;border:1px solid rgba(255,255,255,.2);border-radius:999px;box-shadow:0 2px 8px #0006;font-size:.78rem;font-weight:700;color:#f8fafc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.bell-center-meta strong{color:#fde047;font-weight:900}.nt-expose-modal{width:min(92vw,460px);padding:0;background:#1e1e24;color:#f3f4f6;border:3px solid var(--game-line, #374151);border-radius:20px;box-shadow:0 20px 50px #000000bf,0 0 24px #dc26264d;overflow:hidden;animation:modal-scale-in .22s cubic-bezier(.16,1,.3,1) both;box-sizing:border-box}.nt-expose-modal__header{display:flex;align-items:center;gap:14px;padding:16px 20px;background:linear-gradient(135deg,#27272a,#18181b);border-bottom:2px solid rgba(255,255,255,.1)}.nt-expose-modal__icon{font-size:2rem;line-height:1;display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#ffffff14}.nt-expose-modal__title-group h3{margin:0;font-size:1.15rem;font-weight:900;color:#fff}.nt-expose-modal__sub{font-size:.76rem;font-weight:700;color:#a1a1aa}.nt-expose-modal__body{padding:18px 20px;display:flex;flex-direction:column;gap:14px}.nt-expose-modal__desc{font-size:.88rem;line-height:1.55;color:#d4d4d8}.nt-expose-modal__desc p{margin:0 0 8px}.nt-expose-modal__desc p:last-child{margin-bottom:0}.nt-expose-modal__desc strong{color:#facc15;font-weight:900}.nt-expose-modal__caution{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#eab30826;border:1px solid rgba(234,179,8,.35);border-radius:10px;font-size:.78rem;font-weight:800;color:#fde047}.nt-expose-modal__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 20px;background:#18181b;border-top:2px solid rgba(255,255,255,.08)}.nt-expose-btn{height:40px;padding:0 18px;border-radius:10px;font-size:.88rem;font-weight:900;cursor:pointer;border:none;transition:transform .14s ease,filter .14s ease}.nt-expose-btn:hover{transform:translateY(-2px)}.nt-expose-btn:active{transform:translateY(1px)}.nt-expose-btn--cancel{background:#3f3f46;color:#e4e4e7}.nt-expose-btn--confirm{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 0 14px #2563eb80}.nt-expose-btn--danger{background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff;box-shadow:0 0 14px #ef444480}.autostart-banner{position:fixed;left:50%;bottom:calc(var(--safe-bottom) + 22px);z-index:60;display:inline-flex;gap:10px;align-items:center;padding:12px 22px;border:3px solid var(--home-ink, #29241f);border-radius:999px;color:#fff;background:var(--home-green, #0c715d);box-shadow:0 6px 0 var(--home-ink, #29241f),0 18px 40px #0000004d;font-weight:900;transform:translate(-50%);animation:autostart-pop .28s cubic-bezier(.2,.8,.2,1) both}.autostart-banner__dot{width:12px;height:12px;border:2.5px solid currentColor;border-radius:50%;background:var(--game-yellow, #f7c84b);animation:state-breathe 1.2s ease-in-out infinite}@keyframes autostart-pop{0%{opacity:0;transform:translate(-50%) translateY(14px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.game-start-transition-layer{position:fixed;inset:0;z-index:99999;pointer-events:none;overflow:hidden}.gst-ripple-blast{position:absolute;bottom:24px;left:50%;transform:translate(-50%,50%);width:240px;height:48px;border-radius:999px;background:radial-gradient(circle at 50% 50%,#16a34a,#15803d 40%,#052e16);box-shadow:0 0 50px #22c55e;animation:gst-blast-expand .48s cubic-bezier(.16,1,.3,1) forwards}@keyframes gst-blast-expand{0%{width:240px;height:48px;border-radius:999px;transform:translate(-50%,50%) scale(1);opacity:.95}to{width:320vmax;height:320vmax;border-radius:50%;transform:translate(-50%,50%) scale(1);opacity:1}}.gst-stripes-container{position:absolute;inset:-60%;width:220%;height:220%;display:flex;flex-direction:column;justify-content:stretch;gap:0;transform:rotate(-9deg);pointer-events:none;filter:drop-shadow(0 20px 36px rgba(0,0,0,.75))}.gst-stripe{flex:1;min-height:0;height:12.5%;width:240%;margin-left:-70%;border-top:3px solid #141310;border-bottom:4px solid #141310;box-shadow:0 clamp(32px,6.8vh,64px) 0 #12110e,0 clamp(44px,9.5vh,88px) 45px #000000d9;opacity:0;transform:translate(-120%)}.phase-stripes .gst-stripe,.phase-reveal .gst-stripe{animation:gst-stripe-enter .65s cubic-bezier(.16,1,.3,1) forwards}.gst-stripe.s1{z-index:8;animation-delay:.02s;background:#ef4d39}.gst-stripe.s2{z-index:7;animation-delay:.05s;background:#16a34a}.gst-stripe.s3{z-index:6;animation-delay:.08s;background:#2563eb}.gst-stripe.s4{z-index:5;animation-delay:.11s;background:#f7c84b}.gst-stripe.s5{z-index:4;animation-delay:.14s;background:#ef4d39}.gst-stripe.s6{z-index:3;animation-delay:.17s;background:#16a34a}.gst-stripe.s7{z-index:2;animation-delay:.2s;background:#2563eb}.gst-stripe.s8{z-index:1;animation-delay:.23s;background:#f7c84b}@keyframes gst-stripe-enter{0%{transform:translate(-120%);opacity:0}to{transform:translate(0);opacity:1}}.gst-emblem-box{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px;color:#fff;background:#1e1c18f5;border:3.5px solid #f7c84b;border-radius:28px;padding:22px 36px;box-shadow:0 16px #12110e,0 34px 72px #000000e6;text-shadow:0 2px 8px rgba(0,0,0,.75);opacity:0;z-index:20}.phase-stripes .gst-emblem-box,.phase-reveal .gst-emblem-box{animation:gst-emblem-in .55s .12s cubic-bezier(.34,1.56,.64,1) forwards}.phase-reveal{animation:gst-fade-reveal .38s ease forwards}@keyframes gst-emblem-in{0%{opacity:0;transform:translate(-50%,-40%) scale(.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes gst-fade-reveal{0%{opacity:1}to{opacity:0}}.gst-emblem-title{font-size:clamp(1.4rem,4vw,2.2rem);font-weight:900;letter-spacing:.12em;color:#fef08a;text-shadow:0 0 20px rgba(234,179,8,.8),0 4px 10px rgba(0,0,0,.8)}.gst-emblem-subtitle{font-size:.95rem;font-weight:800;color:#dcfce7;letter-spacing:.05em}.loveletter-afc__rows{display:flex;flex-direction:column;gap:8px}.sg-stage{display:flex;flex-direction:column;gap:12px;width:100%;max-width:860px;margin:0 auto;min-height:0;box-sizing:border-box}.loveletter-stage{display:flex;flex-direction:column;gap:12px;width:100%;max-width:860px;margin:0 auto}.loveletter-top-row{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;width:100%}@media(max-width:640px){.loveletter-top-row{grid-template-columns:1fr;gap:10px}}.sg-panel{background:#fffdfa;border:3px solid var(--game-line);border-radius:18px;box-shadow:0 5px 0 var(--game-line);padding:12px 16px;box-sizing:border-box;width:100%;color:var(--game-ink, #292722)}.sg-panel__head{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid rgba(41,39,34,.08);padding-bottom:6px;margin-bottom:8px}.sg-panel__head h3{margin:0;font-size:.95rem;font-weight:900;color:var(--game-ink, #292722)}.sg-panel__head span{font-size:.78rem;font-weight:800;color:var(--game-muted, #716b61)}.loveletter-afc__row{display:flex;gap:8px;align-items:center;justify-content:space-between;min-height:34px;padding:5px 10px;border:2.5px solid var(--game-line);border-radius:12px;background:#fffaf0;color:var(--game-ink, #292722);font-weight:800}.loveletter-afc__row strong{color:var(--game-ink, #292722)}.loveletter-afc__row.is-out{opacity:.5}.loveletter-hearts{display:flex;gap:4px;font-size:1.05rem;line-height:1}.loveletter-hearts i{color:#ced4da;font-style:normal;text-shadow:0 1px 0 rgba(0,0,0,.05)}.loveletter-hearts i.is-lit{color:#fa5252;text-shadow:0 0 8px rgba(250,82,82,.6)}.loveletter-removed{display:flex;flex-wrap:wrap;gap:7px}.loveletter-mini-card{padding:5px 11px;border:2.5px solid var(--game-line);border-radius:8px;background:linear-gradient(150deg,#fff8ea,#f0dfc0);color:var(--game-ink, #292722);font-size:.78rem;font-weight:800;box-shadow:0 3px 0 var(--game-line);transform:none}.loveletter-mini-card:nth-child(2n){transform:none}.loveletter-hand__cards{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;padding:8px 0}.env-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;width:132px;min-height:150px;padding:16px 12px 12px;overflow:hidden;border:3.5px solid var(--game-line);border-radius:6px 16px 16px;color:var(--game-ink);background:linear-gradient(150deg,#fffdf4,#f3e8ce);box-shadow:0 7px 0 var(--game-line);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease;transform:none}.env-card:after{position:absolute;top:0;right:0;width:30px;height:30px;content:"";border:3px solid var(--game-line);border-top:0;border-right:0;border-radius:0 0 0 12px;background:var(--game-line)}.env-card:hover{transform:translateY(-3px);box-shadow:0 10px 0 var(--game-line)}.env-card:active{transform:translateY(3px);box-shadow:0 2px 0 var(--game-line)}.env-card strong{font-size:1.05rem;font-weight:900}.env-card__seal{position:relative;display:grid;width:36px;height:36px;place-items:center;border:2.5px solid var(--game-line);border-radius:50%;color:#fff;background:var(--game-coral);box-shadow:0 3px #29272266}.env-card__seal i{width:14px;height:14px;border:2.5px solid currentColor;border-radius:50%}.env-card__value{display:grid;width:46px;height:46px;place-items:center;border:2.5px solid var(--game-line);border-radius:9px;background:var(--game-yellow);font-size:1.32rem;font-weight:900;box-shadow:0 3px #29272259}.env-card.is-selected{border-color:var(--game-purple);background:linear-gradient(150deg,#fff7ef,#efe0ee);box-shadow:0 8px 0 var(--game-purple);transform:translateY(-4px) rotate(-1.6deg)}.sg-hint{margin:0;font-size:.78rem;font-weight:700;color:#495057;line-height:1.5}.sg-chip-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sg-chip{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:30px;padding:4px 12px;border:2.5px solid var(--game-line);border-radius:999px;background:#fffdfa;color:var(--game-ink);font-size:.8rem;font-weight:800;box-shadow:0 3px 0 var(--game-line);white-space:nowrap}.sg-chip--peek{white-space:normal;text-align:center;line-height:1.35}.goose-role-tag{display:inline-flex;gap:8px;align-items:center;padding:6px 14px;border:3px solid var(--game-line);border-radius:999px;color:var(--game-ink);background:#e6f0c2;box-shadow:0 4px 0 var(--game-line);font-size:.8rem;font-weight:900}.goose-role-tag__dot{width:10px;height:10px;border:2px solid var(--game-line);border-radius:50%;background:var(--game-green)}.goose-role-tag--head{color:var(--game-ink);background:#fce790}.goose-role-tag--head .goose-role-tag__dot{background:#d97706}.goose-role-tag--evil{color:#fff;background:var(--game-coral)}.goose-role-tag--evil .goose-role-tag__dot{background:var(--game-yellow)}.goose-head-secret-panel{background:#fffdf5;border-color:#e69138}.goose-peek-btn{padding:4px 12px;border:2px solid var(--game-line);border-radius:999px;background:#fff;color:var(--game-ink);font-weight:800;font-size:.8rem;cursor:pointer;box-shadow:0 2px 0 var(--game-line)}.goose-peek-btn:hover{background:#fdf5e6}.goose-secret-cards-row{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:8px;flex-wrap:wrap}.goose-secret-card-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;border:3px solid var(--game-line);border-radius:16px;background:#fff;box-shadow:0 4px 0 var(--game-line);min-width:120px}.goose-secret-card--murderer{border-color:var(--game-coral);background:#fff5f5}.goose-secret-card--victim{border-color:#2b78e4;background:#f0f7ff}.goose-secret-card-img{width:100px;height:138px;object-fit:contain;border-radius:10px;background:#881b21}.goose-secret-badge{font-size:.75rem;font-weight:900}.goose-secret-hint{margin:0;font-size:.82rem;color:var(--game-muted);text-align:center}.goose-case-arrow{font-size:1rem;font-weight:900;color:var(--game-line)}.game-error,.tabletop-error{position:fixed!important;top:14px!important;left:50%!important;transform:translate(-50%)!important;z-index:100002!important;max-width:min(92vw,560px)!important;width:max-content!important;padding:8px 16px 8px 20px!important;margin:0!important;border-radius:999px!important;border:2px solid #ef4444!important;background:#fef2f2!important;color:#b91c1c!important;font-weight:900!important;font-size:.88rem!important;box-shadow:0 8px 24px #0006,0 3px #b91c1c!important;pointer-events:auto!important;animation:modal-fade-in .2s ease-out!important;text-align:center!important;display:inline-flex!important;align-items:center!important;gap:10px!important;cursor:pointer!important;-webkit-user-select:none!important;user-select:none!important;transition:opacity .2s,transform .2s!important}.game-error:hover,.tabletop-error:hover{filter:brightness(.97)!important}.game-error-close-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:20px!important;height:20px!important;padding:0!important;margin:0!important;border:none!important;background:#b91c1c26!important;color:#b91c1c!important;border-radius:50%!important;font-size:.8rem!important;font-weight:900!important;line-height:1!important;cursor:pointer!important;transition:background .15s,transform .15s!important}.game-error-close-btn:hover{background:#b91c1c4d!important;transform:scale(1.1)!important}.goose-card-dock-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#fffdf7;border:2.5px solid var(--game-line);border-radius:14px;box-shadow:0 4px 0 var(--game-line)}.goose-card-dock-title{display:flex;align-items:center;gap:6px;font-size:.88rem;font-weight:900;color:var(--game-ink)}.goose-card-dock-summary{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.goose-dock-tag{font-size:.74rem;font-weight:900;padding:2px 8px;border-radius:999px;border:1.5px solid var(--game-line)}.goose-dock-tag--m{background:#ffe4e4;color:#b71c1c;border-color:#ef5350}.goose-dock-tag--v{background:#e3f2fd;color:#1565c0;border-color:#42a5f5}.goose-dock-hint{font-size:.76rem;font-weight:700;color:var(--game-muted)}.goose-card-dock-btn{padding:6px 14px;border:2px solid var(--game-line);border-radius:12px;background:#fdf6e2;color:var(--game-ink);font-size:.82rem;font-weight:900;cursor:pointer;box-shadow:0 3px 0 var(--game-line);transition:all .12s ease;white-space:nowrap}.goose-card-dock-btn:hover{transform:translateY(-1px);box-shadow:0 5px 0 var(--game-line);background:#fff}.goose-card-dock-btn.is-highlight{background:var(--game-coral);color:#fff;border-color:#b71c1c;box-shadow:0 3px #7f1d1d;animation:state-breathe 1.5s ease-in-out infinite}.goose-card-modal-backdrop{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:clamp(6px,1.5vw,16px);background:#0e1612e0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:modal-backdrop-in .2s ease-out;box-sizing:border-box}.goose-card-modal-dialog{position:relative;display:flex;flex-direction:column;width:min(96vw,1020px);height:auto;max-height:min(95vh,95dvh);background:#fffdf5;border:3.5px solid var(--game-line);border-radius:22px;box-shadow:0 20px 60px #000000b3,0 8px 0 var(--game-line);overflow:hidden;box-sizing:border-box}.goose-card-modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px 8px;border-bottom:2.5px solid var(--game-line);background:#fef7e6;flex-shrink:0}.goose-card-modal-title{margin:0;font-size:1.05rem;font-weight:900;color:var(--game-ink)}.goose-card-modal-desc{margin:2px 0 0;font-size:.76rem;font-weight:700;color:var(--game-muted)}.goose-card-modal-close{display:grid;place-items:center;width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border:2px solid var(--game-line);border-radius:50%;background:#fff;color:var(--game-ink);cursor:pointer;box-shadow:0 2px 0 var(--game-line);transition:transform .12s ease,background-color .12s ease;flex-shrink:0}.goose-card-modal-close:hover{transform:scale(1.08);background:#ffebee}.goose-modal-selection-bar{display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 12px;background:#fff3db;border-bottom:2px dashed #d5c3aa;flex-shrink:0;flex-wrap:wrap}.goose-select-slot{display:flex;align-items:center;gap:4px;padding:3px 10px;border:2px solid var(--game-line);border-radius:999px;background:#fff;font-size:.78rem;font-weight:800}.goose-select-slot.is-picked{background:#f0fdf4;border-color:#22c55e}.slot-label{opacity:.85}.slot-divider{font-size:.85rem;font-weight:900;color:var(--game-line)}.game-error,.tabletop-error{position:fixed!important;top:14px!important;left:50%!important;transform:translate(-50%)!important;z-index:100002!important;max-width:min(92vw,560px)!important;width:max-content!important;padding:8px 20px!important;margin:0!important;border-radius:999px!important;border:2px solid #ef4444!important;background:#fef2f2!important;color:#b91c1c!important;font-weight:900!important;font-size:.88rem!important;box-shadow:0 8px 24px #0006,0 3px #b91c1c!important;pointer-events:auto!important;animation:modal-fade-in .2s ease-out!important;text-align:center!important}.goose-game-stage{width:100%;max-width:880px;flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:4px 10px 24px;box-sizing:border-box}.echo-judge-stage{width:100%;max-width:880px;margin:0 auto}.testimony-stage,.echo-judge-stage{width:100%;max-width:920px;margin:0 auto}.testimony-private .identity-flip-container--compact,.testimony-private .identity-flip-card,.testimony-private .identity-card-inner{min-height:clamp(158px,30dvh,188px)!important}.testimony-identity-toggle-btn,.echo-identity-toggle-btn{display:none;width:100%;padding:10px 14px;border:2px solid var(--game-line, #221e1a);border-radius:12px;background:#fff;box-shadow:0 3px 0 var(--game-line, #221e1a);cursor:pointer;align-items:center;justify-content:space-between;font-weight:800;font-size:.84rem;color:var(--game-ink, #221e1a)}@media(max-width:768px){.testimony-identity-toggle-btn,.echo-identity-toggle-btn{display:flex}.testimony-private.is-collapsed-mobile,.echo-private-panel.is-collapsed-mobile{display:none}}.goose-modal-cards-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(6px,1.2vw,12px);padding:clamp(6px,1.2vw,12px);overflow:hidden;flex:1;min-height:0;max-width:100%;box-sizing:border-box}.goose-modal-card-item{position:relative;display:flex;align-items:center;justify-content:center;width:clamp(86px,16vw,145px);height:clamp(118px,28vh,195px);padding:3px;border:2.5px solid var(--game-line);border-radius:12px;background:#fff;box-shadow:0 3px 0 var(--game-line);cursor:default;transition:transform .12s ease,box-shadow .12s ease;-webkit-user-select:none;user-select:none;box-sizing:border-box}@media(max-width:640px){.goose-modal-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:6px}.goose-modal-card-item{width:100%;max-width:none;height:auto;aspect-ratio:320 / 440;max-height:min(28dvh,150px)}}.goose-modal-card-item.is-clickable{cursor:pointer}.goose-modal-card-item.is-clickable:hover{transform:translateY(-3px);box-shadow:0 6px 0 var(--game-line)}.goose-modal-card-item.is-clickable:active{transform:translateY(2px);box-shadow:0 1px 0 var(--game-line)}.goose-modal-card-item.is-murderer{border-color:#d9383a;background:#fff1f0;box-shadow:0 4px #d9383a}.goose-modal-card-item.is-victim{border-color:#2b78e4;background:#eff6ff;box-shadow:0 4px #2b78e4}.goose-modal-card-tag{position:absolute;top:-6px;right:-4px;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:900;border:1.5px solid #fff;box-shadow:0 2px 4px #00000040;z-index:2}.goose-modal-card-tag--m{background:#d9383a;color:#fff}.goose-modal-card-tag--v{background:#2b78e4;color:#fff}.goose-modal-card-img{width:100%;height:100%;aspect-ratio:320 / 440;object-fit:contain;border-radius:10px;background:transparent}.goose-card-modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:8px 18px;border-top:2.5px solid var(--game-line);background:#fdf6e6;flex-shrink:0}.goose-modal-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 16px;border:2.5px solid var(--game-line);border-radius:12px;font-size:.86rem;font-weight:900;cursor:pointer;box-shadow:0 3px 0 var(--game-line);transition:transform .12s ease}.goose-modal-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 0 var(--game-line)}.goose-modal-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--game-line)}.goose-modal-btn:disabled{opacity:.55;cursor:not-allowed}.goose-modal-btn--primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:#047857;box-shadow:0 3px #065f46}.goose-modal-btn--secondary{background:#fff;color:var(--game-ink)}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}.goose-history-list{display:flex;flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none}.goose-history-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border:2.5px solid var(--game-line);border-radius:12px;font-size:.84rem;font-weight:800}.goose-history-item.is-correct{background:#edf7ed;border-color:#4caf50;color:#2e7d32}.goose-history-item.is-wrong{background:#fff5f5;border-color:#ef5350;color:#c62828}.goose-vote-target-btn.is-selected{background:#fff1f0;border-color:var(--game-coral);box-shadow:0 4px 0 var(--game-coral)}.goose-game-over-banner{margin-bottom:16px}.goose-result-card{padding:16px;border:3.5px solid var(--game-line);border-radius:18px;text-align:center}.goose-result-card--white{background:#e8f5e9;border-color:#43a047;box-shadow:0 6px #2e7d32;color:#1b5e20}.goose-result-card--evil{background:#ffebee;border-color:#e53935;box-shadow:0 6px #b71c1c;color:#b71c1c}.goose-result-card h2{margin:0 0 6px;font-size:1.4rem;font-weight:900}.goose-result-card p{margin:0;font-size:.88rem;font-weight:700;opacity:.9}.goose-reveal-case-box,.goose-reveal-identity-box,.goose-reveal-votes-box{margin-top:14px;padding:12px;border:2.5px solid var(--game-line);border-radius:14px;background:#fffdf7;color:var(--game-ink)}.goose-reveal-case-box h3,.goose-reveal-identity-box h3,.goose-reveal-votes-box h3{margin:0 0 10px;font-size:.98rem;font-weight:900;color:#312d28!important}.goose-reveal-cards-row{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.goose-reveal-card-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;border:3px solid var(--game-line);border-radius:16px;background:#fff;min-width:120px;box-shadow:0 4px 0 var(--game-line);color:#312d28}.goose-reveal-card-img{width:110px;height:151px;object-fit:contain;border-radius:10px;background:#faf3e6}.goose-reveal-tag{font-size:.78rem;font-weight:900;color:#312d28}.goose-reveal-tag--m{color:#b91c1c!important}.goose-reveal-tag--v{color:#1d4ed8!important}.goose-reveal-arrow{font-size:1.05rem;font-weight:900;color:#312d28!important}.goose-case-arrow{font-size:1.02rem;font-weight:900;color:#312d28!important}.goose-secret-badge{font-size:.78rem;font-weight:900;color:#312d28!important}.goose-evil-names-list{display:flex;gap:8px;flex-wrap:wrap}.goose-evil-player-badge{padding:6px 14px;border:2.5px solid #d32f2f;border-radius:999px;background:#ffebee;color:#c62828;font-weight:900;font-size:.88rem}.goose-votes-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.goose-vote-stat-item{display:flex;justify-content:space-between;padding:6px 10px;border-radius:8px;background:#f5f5f5;font-size:.84rem;font-weight:800}@keyframes phase-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.uc-panel__head{display:flex;gap:10px;align-items:baseline;justify-content:space-between}.uc-panel__head h3{margin:0;color:var(--game-ink);font-size:.99rem;font-weight:900}.uc-panel__head span{color:#495057;font-size:.72rem;font-weight:800}.blank-final-guess__timer{margin:0;font-size:1.05rem;font-weight:900;color:#b3251b}.blank-final-guess__hint{color:var(--game-muted);font-size:.7rem;font-weight:700}.word-reveal-box--blank{background:linear-gradient(155deg,#fffdf7,#f1e8d2);color:var(--game-ink)}.word-reveal-box--blank:before{border-color:#2927224d}.word-reveal-box--blank:after{border-color:#2927220a}.uc-guess__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.uc-guess__row input{min-height:48px;padding:8px 13px;border:2.5px solid var(--game-line);border-radius:12px;background:#fff;box-shadow:inset 2px 2px #29272214;font:inherit}.uc-guess__row input:focus{outline:3px solid var(--game-yellow);outline-offset:1px}.uc-guess__btn{min-width:104px;min-height:48px;border:2.5px solid var(--game-line);border-radius:12px;color:#fff;background:var(--game-purple);box-shadow:0 4px 0 var(--game-line);font-weight:900;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.uc-guess__btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 var(--game-line)}.uc-guess__btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--game-line)}.uc-guess__btn:disabled{color:#8a8175;border-color:#887f73;background:#ded4c4;box-shadow:0 2px #887f73;cursor:not-allowed}.blank-waiting-adjudication{display:flex;gap:12px;align-items:center;width:100%;padding:16px 18px;border:3px solid var(--game-line);border-radius:18px;color:var(--game-ink);background:#fffdfa;box-shadow:0 6px 0 var(--game-line)}.blank-waiting-adjudication__pulse{width:12px;height:12px;flex-shrink:0;border-radius:50%;background:var(--game-purple);animation:blank-pulse 1.1s ease-in-out infinite}.blank-waiting-adjudication strong{font-size:.98rem}.blank-waiting-adjudication>span{color:var(--game-muted);font-size:.76rem;font-weight:700}@keyframes blank-pulse{50%{opacity:.3}}.game-phase .role-badge.blank{background:#f2c2ba}.game-phase .result-banner{display:flex;gap:14px;align-items:center;width:100%;padding:16px 18px;border:3.5px solid var(--game-line);border-radius:18px;color:var(--game-ink);background:var(--game-yellow);box-shadow:0 6px 0 var(--game-line);text-align:left;box-sizing:border-box}.result-seal{display:grid;width:46px;height:46px;flex-shrink:0;place-items:center;border:3px solid var(--game-line, #221e1a);border-radius:50%;background:#fff;color:var(--game-line, #221e1a)!important;font-size:1.35rem;font-weight:900;box-shadow:0 3px #29272266;line-height:1}.result-banner>div{display:flex;min-width:0;flex-direction:column;gap:2px}.result-banner strong{font-size:1.16rem;font-weight:900}.result-banner div span{font-size:.78rem;font-weight:800;opacity:1;color:#212529}.game-phase .result-banner.eliminated{color:#fff;background:var(--game-coral)}.game-phase .result-banner.eliminated div span{color:#fff}.game-phase .result-banner.tie,.game-phase .result-banner.runoff_tie{color:var(--game-ink);background:var(--game-yellow)}.game-phase .result-banner.no_votes{color:var(--game-ink);background:#e8e0d4}.eliminated-info{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:13px 14px;border:3px solid var(--game-line, #221e1a);border-radius:16px;background:#fffdfa;box-shadow:0 4px 0 var(--game-line, #221e1a);color:var(--game-ink, #221e1a);box-sizing:border-box}.eliminated-avatar{position:relative;width:46px;height:46px;border:2.5px solid var(--game-line);border-radius:50%;background:#e7ded2}.eliminated-info>div{display:flex;min-width:0;flex-direction:column;gap:1px}.eliminated-info>div span{color:#495057;font-size:.66rem;font-weight:800}.eliminated-info>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:900;color:var(--game-ink, #221e1a)!important}.game-phase .tally-list{display:flex;margin:0;padding:0;flex-direction:column;gap:10px;list-style:none}.game-phase .tally-item{display:grid;grid-template-columns:76px minmax(45px,1fr) 46px;gap:9px;align-items:center;padding:2px 0;animation:tally-in .35s ease both}.tally-player{display:flex;flex-direction:column;font-weight:900;line-height:1.2;color:#212529}.tally-player small{color:#495057;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;font-weight:800}.tally-bar{height:13px;overflow:hidden;border:2.5px solid var(--game-line);border-radius:999px;background:#e8dfd2}.tally-bar i{display:block;width:var(--fill-percent, 0%);height:100%;background:var(--game-coral);animation:tally-grow .65s cubic-bezier(.2,.8,.2,1) both;transform-origin:left}.game-phase .tally-count{text-align:right;font-size:.82rem;font-weight:900;color:#212529}.game-phase.game-over{display:flex;flex-direction:column;gap:14px;width:100%;max-width:1050px;margin-inline:auto}.winner-hero{position:relative;width:100%;flex-shrink:0;padding:24px 20px 20px;overflow:hidden;border:3.5px solid var(--game-line, #221e1a);border-radius:22px;color:#fff!important;text-align:center;background:var(--game-green, #2b8a3e);box-shadow:0 6px 0 var(--game-line, #221e1a)}.winner-undercover .winner-hero{background:#6741d9!important}.winner-draw .winner-hero{color:#221e1a!important;background:var(--game-yellow, #fcc419)!important}.winner-title,.game-phase .winner-title{position:relative;z-index:1;margin:0 0 6px;color:#fff!important;font-size:clamp(1.8rem,5vw,2.5rem);font-weight:900;letter-spacing:-.02em;text-shadow:0 3px 0 rgba(0,0,0,.35)}.winner-draw .winner-title{color:#221e1a!important;text-shadow:none}.winner-hero p{position:relative;z-index:1;margin:0;color:#fff!important;font-size:.92rem;font-weight:750;opacity:.95}.winner-draw .winner-hero p{color:#221e1a!important}.winner-rays{position:absolute;top:50%;left:50%;width:260px;height:260px;border:35px dotted rgba(255,255,255,.18);border-radius:50%;transform:translate(-50%,-50%);animation:timer-spin 22s linear infinite}.game-phase .word-pair{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}.game-phase .word-item{position:relative;min-height:106px;padding:14px 16px;overflow:hidden;border:3px solid var(--game-line, #221e1a);border-radius:18px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 5px 0 var(--game-line, #221e1a)}.game-phase .word-item.civilian{background:#e6f9ed!important;border-color:#2b8a3e!important;box-shadow:0 5px #1b5e20!important}.game-phase .word-item.civilian .word-label{color:#2b8a3e!important;font-size:.82rem;font-weight:900}.game-phase .word-item.civilian .word-text{color:#14461b!important;font-size:clamp(1.4rem,4vw,2.1rem);font-weight:900;line-height:1.2}.game-phase .word-item.civilian .word-corner{color:#2b8a3e8c!important;font-size:.65rem;font-weight:900}.game-phase .word-item.undercover{background:#f3e8ff!important;border-color:#7048e8!important;box-shadow:0 5px #3b1464!important}.game-phase .word-item.undercover .word-label{color:#7048e8!important;font-size:.82rem;font-weight:900}.game-phase .word-item.undercover .word-text{color:#3b1464!important;font-size:clamp(1.4rem,4vw,2.1rem);font-weight:900;line-height:1.2}.game-phase .word-item.undercover .word-corner{color:#7048e88c!important;font-size:.65rem;font-weight:900}.word-corner{position:absolute;right:10px;bottom:8px;letter-spacing:.08em}.game-phase .roles-list{display:flex;margin:0;padding:0;flex-direction:column;gap:8px;list-style:none;width:100%}.game-phase .role-item{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 14px;border:3px solid var(--game-line, #221e1a);border-radius:14px;background:#fffdfa;color:#221e1a!important;box-shadow:0 4px 0 var(--game-line, #221e1a);animation:role-card-in .38s ease both;animation-delay:calc(var(--stagger-index, 0) * 40ms)}.game-phase .role-item.dead{opacity:.68;background:#f4eee3}.game-phase .role-avatar{flex-shrink:0}.game-phase .role-seat{color:#d9480f!important;font-size:.9rem;font-weight:900;flex-shrink:0}.game-phase .role-name{display:flex;min-width:0;flex-direction:column;gap:1px;flex:1}.game-phase .role-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.96rem;font-weight:900;color:#221e1a!important}.game-phase .role-name small{color:#706659!important;font-size:.74rem;font-weight:700}.game-phase .role-badge{padding:4px 12px;border:2px solid var(--game-line, #221e1a);border-radius:999px;color:var(--game-ink, #221e1a);box-shadow:0 2px 0 var(--game-line, #221e1a);font-size:.78rem;font-weight:900;flex-shrink:0}.game-phase .role-badge.civilian{background:#d3f9d8!important;color:#1b5e20!important;border-color:#2b8a3e!important}.game-phase .role-badge.undercover{background:#f3e8ff!important;color:#5b21b6!important;border-color:#7c3aed!important}.game-phase .role-badge.blank{background:#fff3bf!important;color:#d9480f!important;border-color:#f59f00!important}.game-phase .waiting-host{display:grid;min-height:48px;place-items:center;color:var(--game-muted, #706659);font-weight:800}.game-phase.game-over{width:100%;max-width:1080px;margin-inline:auto;box-sizing:border-box}.uc-gameover-main-grid{display:flex;flex-direction:column;gap:12px;width:100%;box-sizing:border-box}.uc-gameover-left-col,.uc-gameover-right-col{display:flex;flex-direction:column;gap:10px;width:100%;box-sizing:border-box}.game-phase.game-over .uc-panel{display:flex;flex-direction:column;width:100%;max-height:calc(100dvh - 120px);box-sizing:border-box}.game-phase.game-over .roles-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0 6px 0 0;list-style:none;width:100%;box-sizing:border-box;overflow-y:auto;max-height:min(420px,calc(100dvh - 180px));overscroll-behavior:contain}@media(min-width:768px){.uc-gameover-main-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:18px;align-items:start;width:100%;max-width:1040px;margin-inline:auto}.uc-gameover-left-col,.uc-gameover-right-col{display:flex;flex-direction:column;gap:12px}}.game-loading-card{margin:auto;padding:20px;border:3px solid var(--game-line);border-radius:15px;background:var(--game-surface);box-shadow:5px 5px 0 var(--game-line);font-weight:800}.game-phase .error-banner,.game-phase .status-banner{border:2px solid var(--game-line);border-radius:12px;box-shadow:2px 2px 0 var(--game-line);flex-shrink:0}@keyframes game-card-in{0%{opacity:0;transform:translateY(-10px) rotate(-.5deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes timer-spin{to{transform:rotate(360deg)}}@keyframes timer-urgent{50%{transform:scale(1.035);box-shadow:5px 5px 0 var(--game-line)}}@keyframes signal-wave{to{height:8px;opacity:.55}}@keyframes state-breathe{50%{opacity:.65}}@keyframes word-pop{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}@keyframes vote-card-in{0%{opacity:0;transform:translateY(10px) rotate(1deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes tally-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes tally-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes role-card-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.phase-lead{padding:13px 12px}.phase-lead p{font-size:.76rem}.game-countdown{flex-basis:66px;width:66px;height:66px}.game-countdown strong{font-size:1.24rem}.game-phase-step{flex-direction:column;gap:1px;font-size:.58rem}.game-phase-step:not(:last-child):after{top:12px;right:-9px;width:18px}.speaker-spotlight{grid-template-columns:58px minmax(0,1fr) auto;min-height:100px;padding:12px}.speaker-avatar{width:54px;height:54px}.speaker-avatar:before{top:9px;left:18px;width:17px;height:17px}.speaker-avatar:after{bottom:6px;left:9px;width:34px;height:16px}.speaker-avatar span:before{left:22px;top:20px}.speaker-avatar span:after{left:30px;top:20px}.game-phase .vote-candidates{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:9px}.game-phase .vote-card{min-height:132px;padding:12px 8px 10px}.uc-order__track{grid-template-columns:repeat(auto-fill,minmax(102px,1fr))}.game-phase .word-pair{grid-template-columns:1fr}.game-phase .tally-item{grid-template-columns:66px minmax(40px,1fr) 42px}}@media(max-width:380px){.uc-order__track{grid-template-columns:repeat(2,minmax(0,1fr))}.game-phase .role-item{grid-template-columns:36px 28px minmax(0,1fr)}.game-phase .role-badge{grid-column:3;justify-self:start}}.game-chat-trigger{position:fixed;z-index:9999;right:max(14px,calc((100vw - 760px)/2 + 18px));bottom:calc(var(--safe-bottom) + 18px);display:flex;gap:7px;align-items:center;min-width:94px;min-height:48px;padding:8px 13px;border:3px solid var(--game-line);border-radius:999px;color:#fff;background:var(--game-coral);box-shadow:4px 4px 0 var(--game-line);font-size:.82rem;font-weight:900;cursor:pointer;pointer-events:auto;transition:transform .18s ease,box-shadow .18s ease}.game-chat-trigger.is-snapping{transition:left .22s ease-out,top .22s ease-out,transform .18s ease,box-shadow .18s ease}.game-chat-trigger:hover:not(:disabled){border-color:var(--game-line);transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--game-line)}.game-chat-trigger.is-open{opacity:0;pointer-events:none}.chat-trigger-icon{display:flex;gap:2px;align-items:center;justify-content:center;width:25px;height:21px;border:2px solid var(--game-line);border-radius:8px;background:var(--game-surface)}.chat-trigger-icon i{display:block;width:3px;height:3px;border-radius:50%;background:var(--game-line)}.chat-unread-badge{position:absolute;top:-8px;right:-5px;display:grid;min-width:24px;height:24px;padding:0 5px;place-items:center;border:2px solid var(--game-line);border-radius:999px;color:var(--game-ink);background:var(--game-yellow);font-size:.62rem}.game-chat-layer{position:fixed;z-index:10000;inset:0;display:flex;justify-content:center;align-items:flex-end;padding:18px 14px max(14px,var(--safe-bottom));background:#231f1b6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:chat-layer-in .18s ease both;pointer-events:auto}.game-chat-drawer{display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto auto;width:min(100%,560px);max-height:min(78dvh,660px);overflow:hidden;border:3px solid var(--game-line);border-radius:20px;background:var(--game-surface);box-shadow:8px 8px 0 var(--game-line);animation:chat-drawer-in .3s cubic-bezier(.2,.8,.2,1) both;transition:transform .25s ease;will-change:transform}.game-chat-drawer.is-dragging{animation:none;transition:none}.game-chat-header{display:flex;align-items:center;justify-content:space-between;padding:14px 15px 11px;border-bottom:2px solid var(--game-line);background:#fff7e9}.game-chat-header--draggable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.game-chat-header--draggable:active{cursor:grabbing}.game-chat-header--draggable h2{cursor:inherit}.game-chat-header h2{margin:0;font-size:1.24rem}.game-chat-header .section-kicker{margin:0}.game-chat-close{width:var(--gp-touch, 44px);height:var(--gp-touch, 44px);min-width:var(--gp-touch, 44px);min-height:var(--gp-touch, 44px);padding:0;border:2px solid var(--game-line);border-radius:50%;color:var(--game-ink);background:var(--game-yellow);box-shadow:2px 2px 0 var(--game-line);font-size:1.45rem;line-height:1}.game-chat-notice{padding:8px 13px;border-bottom:2px dashed #cbbfac;color:#675f55;background:#fff0bd;font-size:.68rem;font-weight:700;text-align:center}.game-chat-messages{display:flex;min-height:180px;flex-direction:column;gap:9px;overflow-y:auto;overscroll-behavior:contain;padding:14px;background-image:radial-gradient(circle at 1px 1px,rgba(8,113,93,.11) 1px,transparent 1.2px);background-size:20px 20px;scroll-behavior:smooth}.game-chat-empty{display:grid;margin:auto;place-items:center;color:var(--game-muted);text-align:center}.game-chat-empty>span{display:grid;width:52px;height:42px;place-items:center;margin-bottom:6px;border:2px solid var(--game-line);border-radius:14px;color:var(--game-ink);background:var(--game-yellow);font-weight:900}.game-chat-empty p{margin:1px 0 0;font-size:.72rem}.game-chat-system{display:flex;justify-content:center}.game-chat-system span{max-width:90%;padding:4px 9px;border:1.5px dashed #9b9285;border-radius:999px;color:var(--game-muted);background:#fffdf7d9;font-size:.63rem;text-align:center}.game-chat-message{align-self:flex-start;max-width:min(84%,390px);animation:message-in .22s ease both}.game-chat-message.mine{align-self:flex-end}.game-chat-meta{display:flex;gap:8px;align-items:baseline;margin:0 5px 3px}.game-chat-meta strong{font-size:.67rem}.game-chat-meta time{color:var(--game-muted);font-size:.57rem}.game-chat-message.mine .game-chat-meta{justify-content:flex-end}.game-chat-message p{margin:0;padding:9px 11px;overflow-wrap:anywhere;border:2px solid var(--game-line);border-radius:5px 13px 13px;color:var(--game-ink);background:#fff;box-shadow:2px 2px 0 var(--game-line);font-size:.82rem}.game-chat-message.mine p{border-radius:13px 5px 13px 13px;background:#cfe8d8}.game-chat-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:11px;border-top:3px solid var(--game-line);background:#fff7e9}.game-chat-compose input{min-width:0;min-height:48px;border:2px solid var(--game-line);border-radius:12px;background:#fff;box-shadow:inset 2px 2px #29272214}.game-chat-compose input:focus{outline:3px solid var(--game-yellow);outline-offset:1px}.game-chat-compose button{min-width:68px;min-height:48px;border:2px solid var(--game-line);border-radius:12px;color:#fff;background:var(--game-green);box-shadow:2px 2px 0 var(--game-line);font-weight:900}.game-chat-compose button:hover:not(:disabled){border-color:var(--game-line);background:var(--game-green-dark)}.game-chat-error{padding:7px 12px;border-top:2px solid var(--game-line);color:#8b231b;background:#ffd7ce;font-size:.72rem;text-align:center}@keyframes chat-layer-in{0%{opacity:0}to{opacity:1}}@keyframes chat-drawer-in{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes message-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.game-chat-trigger{right:13px;bottom:calc(var(--safe-bottom) + 12px);min-width:84px;min-height:44px;padding:6px 11px}.game-chat-layer{padding:8px 7px max(7px,var(--safe-bottom))}.game-chat-drawer{max-height:86dvh;border-radius:17px;box-shadow:5px 5px 0 var(--game-line)}.game-chat-messages{min-height:210px}}.room-page.game-home-page{display:block;width:100%;max-width:none}.room-page>.room-layout{display:grid;width:min(100%,1440px);min-width:0;margin-inline:auto;gap:clamp(14px,1.35vw,22px)}.room-layout .room-header,.room-layout .room-hero,.room-layout .room-content-grid,.room-layout .home-join-callout,.room-layout>.error-banner,.room-layout>.status-banner{width:100%;min-width:0}.room-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.72fr);gap:clamp(14px,1.35vw,22px);align-items:stretch}.room-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.35vw,22px);align-items:start}.room-content-grid>*,.room-hero>*{min-width:0}.room-layout .room-share-note{max-width:none}.room-layout .tabletop-setup{--tabletop-ink: var(--room-ink);--tabletop-accent: var(--room-coral);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;align-content:start;margin:0;padding:clamp(16px,1.3vw,22px);min-height:0;border-width:3px;border-radius:20px;background:#fffaf0;box-shadow:7px 8px 0 var(--room-ink)}.room-layout .tabletop-setup__heading{display:grid;grid-column:1 / -1;justify-content:start;gap:2px}.room-layout .tabletop-setup__heading>span{color:var(--home-green)}.room-layout .tabletop-setup small{color:var(--room-muted)}.werewolf-camp-preview{margin:14px 0 0;padding:16px 20px;background:var(--home-surface, #ffffff);border:2.4px solid var(--room-ink, #292722);border-radius:20px;box-shadow:4px 5px 0 var(--room-ink, #292722);display:flex;flex-direction:column;gap:12px}.werewolf-camp-preview__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.werewolf-camp-preview__title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.werewolf-camp-preview__icon{font-size:1.25rem}.werewolf-camp-preview__title{font-size:.98rem;font-weight:900;color:var(--room-ink, #292722)}.werewolf-camp-preview__badge{padding:3px 10px;font-size:.74rem;font-weight:800;border-radius:999px;background:#fef08a;color:#854d0e;border:1.5px solid var(--room-ink, #292722);box-shadow:1.5px 1.5px 0 var(--room-ink, #292722)}.werewolf-camp-preview__tiers{font-size:.8rem;color:var(--home-muted, #716b61);font-weight:700}.werewolf-camp-preview__alert{padding:10px 14px;background:#fef2f2;border:2px solid #ef4444;border-radius:12px;color:#b91c1c;font-size:.84rem;font-weight:700;box-shadow:2px 2px #ef4444}.werewolf-camp-preview__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.werewolf-camp-card{padding:12px 14px;border-radius:16px;border:2px solid var(--room-ink, #292722);background:#fff;box-shadow:2.5px 3px 0 var(--room-ink, #292722);display:flex;flex-direction:column;gap:8px;transition:transform .12s ease}.werewolf-camp-card--wolf{background:#fff1f2}.werewolf-camp-card--god{background:#f5f3ff}.werewolf-camp-card--villager{background:#f0fdf4}.werewolf-camp-card__head{display:flex;align-items:center;gap:8px}.werewolf-camp-card__role-art{width:28px;height:28px;object-fit:contain;border-radius:50%;border:1.5px solid var(--room-ink, #292722);background:#fff;box-shadow:1px 1.5px 0 var(--room-ink, #292722);flex:none}.werewolf-camp-card__icon{font-size:1.15rem}.werewolf-camp-card__name{font-size:.88rem;font-weight:900;color:var(--room-ink, #292722)}.werewolf-camp-card__count{margin-left:auto;font-size:1rem;font-weight:900}.werewolf-camp-card--wolf .werewolf-camp-card__count{color:#b91c1c}.werewolf-camp-card--god .werewolf-camp-card__count{color:#6d28d9}.werewolf-camp-card--villager .werewolf-camp-card__count{color:#15803d}.werewolf-camp-preview__reset-btn{padding:3px 12px;font-size:.74rem;font-weight:800;border-radius:999px;background:#fff;color:var(--room-ink, #292722);border:1.5px solid var(--room-ink, #292722);box-shadow:1.5px 1.5px 0 var(--room-ink, #292722);cursor:pointer;transition:all .12s ease}.werewolf-camp-preview__reset-btn:hover{background:#f3f4f6;transform:translate(-.5px,-.5px);box-shadow:2px 2px 0 var(--room-ink, #292722)}.werewolf-camp-preview__reset-btn:active{transform:translate(1px,1px);box-shadow:.5px .5px 0 var(--room-ink, #292722)}.werewolf-camp-card__stepper{margin-left:auto;display:inline-flex;align-items:center;gap:8px}.werewolf-camp-card__stepper-btn{width:28px;height:28px;border-radius:50%;border:2px solid var(--room-ink, #292722);background:#fff;color:var(--room-ink, #292722);font-size:1.05rem;font-weight:900;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;line-height:1;padding:0;box-shadow:1.5px 1.5px 0 var(--room-ink, #292722);transition:all .12s ease}.werewolf-camp-card__stepper-btn:hover:not(:disabled){background:#fee2e2;color:#b91c1c;transform:translate(-.5px,-.5px);box-shadow:2px 2px 0 var(--room-ink, #292722)}.werewolf-camp-card__stepper-btn:active:not(:disabled){transform:translate(1px,1px);box-shadow:.5px .5px 0 var(--room-ink, #292722)}.werewolf-camp-card__stepper-btn:disabled{opacity:.35;cursor:not-allowed;background:#f3f4f6;border-color:#2927224d;color:#9ca3af;box-shadow:none;transform:none}.werewolf-camp-card__details{display:flex;flex-direction:column;gap:3px;font-size:.82rem;font-weight:700;color:var(--room-ink, #292722)}.werewolf-camp-card__hint{display:block;font-size:.72rem;color:var(--home-muted, #716b61);font-weight:600}.room-layout .room-header{align-items:center;padding:4px 2px}.room-hero__panel{display:flex;min-height:150px;flex-direction:column;justify-content:center;padding:clamp(18px,3vw,28px);border:var(--home-border);border-radius:27px;background:var(--home-surface);box-shadow:7px 8px 0 var(--home-ink);color:var(--home-ink)}.room-hero__panel .home-hero__eyebrow{margin-top:0}.room-hero__title{max-width:10em;margin:0;color:var(--home-ink);font-family:ui-serif,Songti SC,STSong,"Noto Serif SC",serif;font-size:clamp(2.35rem,8vw,4.6rem);font-weight:900;line-height:.98;letter-spacing:-.07em}.room-hero__title span{color:var(--home-coral);font-style:normal}.room-hero__description{max-width:34rem;margin:16px 0 0;color:var(--home-muted);font-weight:700}.room-code-card{display:flex;min-height:190px;flex-direction:column;gap:14px;padding:clamp(18px,3vw,24px);border:var(--home-border);border-radius:27px;background:var(--home-surface);box-shadow:7px 8px 0 var(--home-ink);color:var(--home-ink);transform:none}.room-code-card__head{display:flex;align-items:center;gap:10px}.room-code-card__logo-wrap{display:flex;align-items:center;justify-content:center;flex:none}.room-code-card__logo-img{width:44px;height:44px;object-fit:contain;border-radius:12px;border:2px solid var(--home-ink);background:var(--home-paper, #fff4df);box-shadow:2px 3px 0 var(--home-ink);padding:2px}.room-code-card__tile{display:grid;flex:none;width:44px;height:44px;place-items:center;border:2px solid var(--home-ink);border-radius:12px;color:var(--home-surface);background:var(--home-coral);box-shadow:2px 3px 0 var(--home-ink);font-weight:900;font-size:1.15rem}.room-code-card__identity h2{margin:0;font-size:1.02rem;font-weight:900}.room-code-card__online{margin:2px 0 0;color:var(--home-muted);font-size:.78rem;font-weight:700}.room-code-card__code{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:12px 14px;border:2px dashed color-mix(in srgb,var(--home-muted) 55%,transparent);border-radius:16px}.room-code-card__label{color:var(--home-muted);font-size:.76rem;font-weight:800}.room-code-card__value{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(1.8rem,7vw,2.6rem);line-height:1.1;letter-spacing:.12em}.room-code-card__copy{min-height:42px;margin-left:auto;padding:7px 14px;border:2px solid var(--home-ink);border-radius:12px;color:var(--home-surface);background:var(--home-coral);box-shadow:2px 3px 0 var(--home-ink);font:inherit;font-weight:900;cursor:pointer}.room-code-card__copy:hover:not(:disabled){transform:translateY(-1px)}.room-code-card__copy:active:not(:disabled){transform:translateY(1px);box-shadow:1px 1px 0 var(--home-ink)}.room-code-card__invite{display:flex;align-items:center;gap:14px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--home-muted) 35%,transparent)}.room-code-card__qr{flex:none;width:128px;height:128px;padding:6px;box-sizing:border-box;border-radius:10px;background:#fff}.room-code-card__invite-text{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:10px}.room-code-card__invite-text>span{color:var(--home-muted);font-size:.82rem;font-weight:800;letter-spacing:.04em}.smart-network-guide{display:flex;flex-direction:column;gap:12px;margin-top:10px}.smart-network-guide__badge-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.smart-network-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.76rem;font-weight:800;border:1.8px solid var(--home-ink, #221e1a);box-shadow:1.5px 1.5px 0 var(--home-ink, #221e1a);background:#fff;color:var(--home-ink, #221e1a)}.smart-network-badge.is-wifi{background:#eff6ff;color:#1e40af}.smart-network-badge.is-hotspot{background:#fdf4ff;color:#86198f}.smart-network-badge.is-success{background:#f0fdf4;color:#166534}.smart-network-badge.is-notice{background:#fffbeb;color:#92400e;cursor:pointer;transition:all .1s ease}.smart-network-badge.is-notice:hover{background:#fef3c7;transform:translate(1px,1px);box-shadow:.5px .5px 0 var(--home-ink, #221e1a)}.smart-network-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--home-paper, #fff4df);border:2px solid var(--home-ink, #221e1a);box-shadow:2px 2px 0 var(--home-ink, #221e1a);padding:4px;border-radius:12px}.smart-network-tab{padding:7px 10px;border:2px solid transparent;border-radius:8px;background:transparent;font-size:.82rem;font-weight:800;color:var(--home-muted, #716b61);cursor:pointer;transition:all .12s ease}.smart-network-tab:hover:not(.is-active){color:var(--home-ink, #221e1a)}.smart-network-tab.is-active{background:var(--home-surface, #ffffff);color:var(--home-ink, #221e1a);border-color:var(--home-ink, #221e1a);box-shadow:1.5px 1.5px 0 var(--home-ink, #221e1a)}.smart-network-card__content{display:flex;gap:16px;align-items:center;padding:14px 16px;background:var(--home-surface, #ffffff);border:2px solid var(--home-ink, #221e1a);border-radius:16px;box-shadow:3px 3px 0 var(--home-ink, #221e1a)}.smart-network-qr-wrapper{flex-shrink:0;background:#fff;padding:6px;border-radius:10px;border:1.5px solid var(--home-ink, #221e1a);box-shadow:1.5px 1.5px 0 var(--home-ink, #221e1a);display:grid;place-items:center}.smart-network-info{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.smart-network-code-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.smart-network-label{font-size:.84rem;color:var(--home-muted, #716b61);font-weight:800}.smart-network-code{font-family:monospace;font-size:1.2rem;font-weight:900;color:var(--home-coral, #ea4335);letter-spacing:.06em}.smart-network-copy-btn,.smart-network-url-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:8px;border:2px solid var(--home-ink, #221e1a);background:var(--home-paper, #fff4df);box-shadow:2px 2px 0 var(--home-ink, #221e1a);color:var(--home-ink, #221e1a);font-size:.76rem;font-weight:800;cursor:pointer;transition:all .1s ease}.smart-network-copy-btn:hover,.smart-network-url-btn:hover{background:#fff;transform:translate(-1px,-1px);box-shadow:2.5px 2.5px 0 var(--home-ink, #221e1a)}.smart-network-copy-btn:active,.smart-network-url-btn:active{transform:translate(1px,1px);box-shadow:.5px .5px 0 var(--home-ink, #221e1a)}.smart-network-url-btn{width:fit-content;padding:6px 14px;background:#fef08a;color:#713f12}.smart-network-hint{margin:0;font-size:.78rem;line-height:1.5;color:var(--home-ink, #221e1a)}.smart-network-form-row{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:800;color:var(--home-ink, #221e1a)}.smart-network-form-row label{width:65px;flex-shrink:0}.smart-network-input{flex:1;min-width:0;padding:5px 10px;border:2px solid var(--home-ink, #221e1a);border-radius:8px;font-size:.8rem;font-weight:600;background:#fff;box-shadow:inset 1px 1px #0000000f}.smart-network-ap-section{border:2px solid var(--home-ink, #221e1a);background:var(--home-paper, #fff4df);box-shadow:2px 2px 0 var(--home-ink, #221e1a);border-radius:12px;overflow:hidden}.smart-network-ap-toggle{width:100%;padding:9px 12px;background:transparent;border:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font:inherit;color:var(--home-ink, #221e1a)}.smart-network-ap-title{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:800;color:#92400e}.smart-network-ap-content{padding:8px 12px 12px;font-size:.78rem;line-height:1.55;color:#451a03;border-top:1.5px dashed rgba(41,39,34,.25)}.smart-network-ap-content p{margin:6px 0}.smart-network-ap-solution{background:#fff;padding:10px 12px;border-radius:8px;border:1.5px solid var(--home-ink, #221e1a);box-shadow:1.5px 1.5px 0 var(--home-ink, #221e1a);margin-top:8px}.smart-network-ap-solution ol{margin:4px 0 0;padding-left:18px}@media(max-width:1024px){.room-code-card{transform:none}}@media(max-width:480px){.room-code-card__invite{flex-direction:column;align-items:stretch}.room-code-card__qr{align-self:center;width:116px;height:116px}.room-code-card__invite-text{align-items:center}}.room-panel{min-height:0;padding:clamp(16px,3vw,24px);border:var(--home-border);border-radius:20px;background:var(--home-surface);box-shadow:5px 6px 0 var(--home-ink)}.room-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.room-panel__title{margin:0;color:var(--home-ink);font-family:ui-serif,Songti SC,STSong,serif;font-size:clamp(1.35rem,4vw,1.85rem);font-weight:900;line-height:1.1}.room-panel__glyph{font-size:1.5rem}.room-panel .members-hint{max-width:92px;margin-left:0;text-align:right}.room-panel .members-list{gap:8px}.room-content-grid .member{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1.5px solid color-mix(in srgb,var(--game-accent, #146e59) 28%,transparent);background:#fffdf8b8}.room-content-grid .member-actions{margin-left:4px;flex:0 0 auto;display:flex;align-items:center;gap:6px}.room-content-grid .member-seat{flex:0 0 34px;min-width:34px}.room-content-grid .member-name{flex:1 1 auto;gap:6px}.room-layout .chat-box{min-height:200px;background:#fffdf8b8}.room-layout .chat-send-btn{width:auto;min-height:44px;margin-top:0;white-space:nowrap}.room-console{grid-template-columns:1fr;margin-top:0;gap:12px}.room-console__head{display:flex;align-items:center;gap:12px}.room-console__ready{display:flex;margin-left:auto;flex-direction:column;gap:4px;align-items:flex-end}.room-console__ready-label{color:var(--home-muted);font-size:.74rem;font-weight:800;white-space:nowrap}.room-console__ready-track{width:150px;height:10px;overflow:hidden;border:2px solid var(--home-ink);border-radius:999px;background:var(--home-paper)}.room-console__ready-track span{display:block;height:100%;background:var(--home-green, #0c715d);transition:width .35s ease}@media(max-width:640px){.room-console__ready{display:none}}.room-console__title{margin:0;font-family:ui-serif,Songti SC,serif;font-weight:900}.room-layout .action-bar{gap:10px}.room-console__secondary{min-height:42px;padding:7px 13px;border:2px solid var(--home-ink);border-radius:12px;color:var(--home-ink);background:var(--home-surface);box-shadow:2px 3px 0 var(--home-ink);font:inherit;font-weight:800;cursor:pointer}.room-console__secondary:hover:not(:disabled){transform:translateY(-1px)}.room-console__secondary:active:not(:disabled){transform:translateY(1px);box-shadow:1px 1px 0 var(--home-ink)}.room-console__secondary:disabled{opacity:.55;box-shadow:none;cursor:not-allowed}.room-console__reason{margin:0;color:var(--home-muted);font-size:.8rem;font-weight:700;text-align:center}.room-inline-btn{width:auto;min-height:44px;margin-top:0}.room-loading{padding:20vh 0;text-align:center}@media(min-width:1280px){.room-page.game-home-page{padding-right:clamp(42px,4vw,76px);padding-left:clamp(42px,4vw,76px)}.room-page:before,.room-page:after{display:block}.room-hero{grid-template-columns:minmax(0,1.6fr) minmax(330px,.65fr)}.room-content-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.room-layout .chat-box{min-height:260px;max-height:380px}}@media(max-width:1024px){.room-page>.room-layout{width:min(100%,860px)}.room-hero{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr)}}@media(max-width:1024px){.room-page.game-home-page{display:block}.room-page>.room-layout{width:100%}.room-hero,.room-content-grid{grid-template-columns:minmax(0,1fr)}.room-layout .room-share-note{transform:none}}@media(max-width:640px){.room-hero__panel{min-height:auto;padding:18px 16px;border-radius:20px}.room-hero__title{font-size:1.85rem;line-height:1.1}.room-hero__description{font-size:.84rem;margin-top:6px}.room-code-card{padding:16px;border-radius:20px}.room-code-card__code{padding:10px 14px}.room-code-card__qr{width:100px;height:100px}}@media(max-width:640px){.room-layout .room-header{display:flex;flex-wrap:wrap;gap:10px;padding:8px 10px}.room-layout .home-brand{min-width:0;font-size:.94rem;letter-spacing:.04em}.room-layout .home-header__actions{width:100%;justify-content:flex-start}.room-hero__intro{min-height:0;padding:22px 19px}.room-hero h1{max-width:8em;font-size:clamp(2.25rem,14vw,3.45rem)}.room-content-grid .member{grid-template-columns:auto minmax(0,1fr) auto}.room-content-grid .member-actions{grid-column:2 / -1;justify-content:flex-end}.room-layout .chat-input-row{grid-template-columns:minmax(0,1fr) auto}}@media(max-width:380px){.room-page.game-home-page{padding-right:8px;padding-left:8px}.room-layout .home-local-badge,.room-layout .room-status{padding-right:7px;padding-left:7px;font-size:.68rem}.room-layout .chat-input-row{grid-template-columns:minmax(0,1fr)}.room-layout .chat-input-row button{width:100%}}.game-page{width:100%;max-width:none;margin:0}.game-shell{display:flex;width:min(100%,760px);min-width:0;margin-inline:auto;flex-direction:column;gap:14px}.game-shell>*,.game-shell .game-phase>*{min-width:0}.game-countdown.ended{color:var(--game-muted);background:#e8dfd2;animation:none}.game-countdown.ended:before{animation-duration:28s}.game-page:has(.game-action-dock)~.game-chat-trigger{bottom:calc(var(--safe-bottom) + var(--gp-dock-offset, 92px))}@media(min-width:1024px){.game-page{padding-right:clamp(28px,3vw,52px);padding-left:clamp(28px,3vw,52px)}.game-shell{width:min(100%,1120px)}.game-shell .game-phase{padding:0}.game-shell .game-phase-rail{margin:0}.game-page .speaking,.game-page .word-reveal,.game-page .vote-result,.game-page .game-over{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(440px,1.18fr);gap:18px;align-items:start}.game-page .speaking>.phase-lead,.game-page .word-reveal>.phase-lead,.game-page .vote-result>.phase-lead,.game-page .game-over>.winner-hero{grid-column:1 / -1}.game-page .speaking>.speaker-spotlight{grid-column:1}.game-page .speaking>.speaking-board{grid-column:2;grid-row:2 / span 4}.game-page .speaking>.game-tip-card,.game-page .speaking>.game-action-dock{grid-column:1}.game-page .speaking>.error-banner,.game-page .speaking>.status-banner{grid-column:1 / -1}.game-page .word-reveal>.word-reveal-box{grid-column:1;grid-row:2 / span 4;min-height:330px}.game-page .word-reveal>.reveal-progress-card,.game-page .word-reveal>.secret-tip,.game-page .word-reveal>.game-action-dock,.game-page .word-reveal>.game-waiting-card{grid-column:2}.game-page .word-reveal>.game-waiting-card{grid-column:1 / -1}.game-page .word-reveal>.error-banner,.game-page .word-reveal>.status-banner{grid-column:1 / -1}.game-page .voting .vote-candidates{grid-template-columns:repeat(4,minmax(0,1fr))}.game-page .voting .vote-card{min-height:190px}.game-page .vote-result>.result-banner,.game-page .vote-result>.eliminated-info{grid-column:1}.game-page .vote-result>.tally-box{grid-column:2;grid-row:2 / span 2}.game-page .vote-result>.countdown-hint,.game-page .vote-result>.game-waiting-card{grid-column:1 / -1}.game-page .game-over>.word-pair{grid-column:1}.game-page .game-over>.reveal-box{grid-column:2;grid-row:2 / span 2}.game-page .game-over>.game-action-dock,.game-page .game-over>.error-banner,.game-page .game-over>.game-waiting-card{grid-column:1 / -1}.game-page .game-action-dock{position:static}.game-chat-trigger{right:max(18px,calc((100vw - 1120px)/2 + 18px))}}@media(max-width:480px){.game-page:has(.game-action-dock)~.game-chat-trigger{bottom:calc(var(--safe-bottom) + var(--gp-dock-offset, 92px))}.game-chat-drawer{width:min(calc(100% - 8px),560px)}.game-page .tally-item{grid-template-columns:minmax(0,1fr) auto}.game-page .tally-bar{grid-column:1 / -1}}@media(max-width:380px){.game-page .speaking-item,.game-page .role-item{grid-template-columns:28px 31px minmax(0,1fr)}.game-page .speaking-state,.game-page .role-badge{grid-column:3;justify-self:start}}@media(min-width:1024px){.game-page .vote-result:not(:has(.tally-box))>.result-banner,.game-page .vote-result:not(:has(.tally-box))>.eliminated-info{grid-column:1 / -1;width:min(100%,720px);justify-self:center}}.new-player-chip{padding:12px;display:flex;flex-direction:column;gap:4px}.new-player-chip span{font-size:12px}.new-player-chip.dead{opacity:.42;filter:grayscale(1)}.uno-hand,.landlord-hand{display:flex;overflow-x:auto;padding:22px 4px 8px;gap:8px;align-items:flex-end}.uno-card{width:82px;min-width:82px;height:122px;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.uno-card strong,.uno-card span{font-size:22px}.uno-card small{font-size:10px;margin-top:8px}.color-red{background:#dc2626}.color-yellow{background:#d49a08}.color-green{background:#16a34a}.color-blue{background:#2563eb}.color-wild{background:conic-gradient(#dc2626,#d49a08,#16a34a,#2563eb,#dc2626)}.new-game-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px 0}.new-game-actions button{padding:12px 18px;border:0;border-radius:14px;background:#ffffff18;color:#fff;font-weight:700}.color-picker{position:fixed;inset:0;background:#000a;display:flex;align-items:center;justify-content:center;gap:10px;z-index:40}.color-picker strong{position:absolute;margin-top:-110px}.color-picker button{width:64px;height:64px;border:3px solid white;border-radius:50%}.game-alert,.game-error{text-align:center;padding:10px;border-radius:12px}.bottom-cards,.current-combo{margin:20px auto;text-align:center}.bottom-cards b,.current-combo b{display:inline-flex;padding:8px 10px;margin:4px;border-radius:8px;background:#fff;color:#111}.landlord-hand button{transition:.15s}.landlord-hand small{display:block;font-size:9px}@media(max-width:640px){.new-game-page{padding:12px}.uno-table,.landlord-table{border-radius:20px;padding:12px}.uno-card{width:68px;min-width:68px;height:104px}.new-game-header h1{font-size:36px}}.landlord-table.phase-bidding .current-combo{border-color:#fbbf2473;background:#fbbf241a}.landlord-panel{border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:16px;background:#00000029}.bottom-card-row{display:flex;justify-content:center;gap:8px;margin-top:10px}.bottom-cards b,.current-combo b{min-width:44px;min-height:60px;align-items:center;justify-content:center;flex-direction:column;font-size:18px;line-height:1}.bottom-cards b small,.current-combo b small{display:block;font-size:12px;margin-top:6px}.bottom-cards b.red,.current-combo b.red,.landlord-hand button.red{color:#dc2626}.bottom-cards .card-back{color:#fde68a;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.25),transparent 24px),linear-gradient(135deg,#1e3a8a,#111827 56%,#7c2d12);border:2px solid rgba(253,230,138,.75);box-shadow:inset 0 0 0 4px #ffffff14,0 12px 24px #00000040}.landlord-bid-actions{min-height:52px}.current-combo-row{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin:10px 0 6px}.color-picker button{font-size:19px;font-weight:900;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6)}.color-picker .color-picker-cancel{width:auto;height:auto;padding:11px 22px;border:2px solid rgba(255,255,255,.7);border-radius:999px;background:#ffffff24;font-size:15px;font-weight:800;text-shadow:none}.waiting-tip,.hand-hint{color:#d1fae5;text-align:center}.hand-hint{margin:4px 0 14px;font-size:14px}.landlord-hand{justify-content:center;padding-top:34px;padding-bottom:14px;scrollbar-width:thin}.landlord-hand button{position:relative;min-width:62px;height:104px;margin-left:-14px;border:1px solid rgba(15,23,42,.16);border-radius:12px;background:linear-gradient(180deg,#fff,#f8fafc);color:#111827;box-shadow:0 12px 22px #00000047;font-family:Georgia,Times New Roman,serif;cursor:default}.landlord-hand button:first-child{margin-left:0}.landlord-hand button strong{display:block;font-size:24px;line-height:1}.landlord-hand button small{display:block;font-size:18px;margin-top:6px}.landlord-hand.can-select button{cursor:pointer}.landlord-hand.readonly button{opacity:.96}.landlord-hand button:disabled{pointer-events:none}.landlord-hand button.selected{transform:translateY(-24px);box-shadow:0 0 0 3px #fbbf24,0 18px 30px #00000057}@media(max-width:640px){.landlord-hand{justify-content:flex-start}.landlord-hand button{min-width:52px;height:88px;margin-left:-18px}.landlord-hand button strong{font-size:19px}.landlord-hand button small{font-size:14px}}.new-game-page{--party-ink: #312d28;--party-muted: #71695f;--party-coral: #ff7f66;--party-yellow: #ffc857;--party-border: 3px solid var(--party-ink);min-height:100dvh;padding:clamp(14px,2.4vw,28px) clamp(12px,3vw,44px) calc(var(--safe-bottom, 0px) + 28px);background:radial-gradient(circle at 12% 12%,rgba(255,200,87,.33),transparent 25%),radial-gradient(circle at 88% 5%,rgba(255,127,102,.28),transparent 22%),linear-gradient(180deg,#fff5df,#f5dcc0);color:var(--party-ink)}.new-game-page:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(49,45,40,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(49,45,40,.035) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 88%);mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 88%)}.new-game-header{position:relative;z-index:1;width:min(100%,1120px);max-width:none;margin:0 auto 14px;padding:clamp(14px,2vw,22px) clamp(16px,2.6vw,30px);border:var(--party-border);border-radius:28px;background:#fffaf0e0;box-shadow:8px 10px #312d2824,inset 0 0 0 5px #ffffff8c}.new-game-header h1{margin:2px 0 4px;color:var(--party-ink);font-size:clamp(2.45rem,5.4vw,4.8rem);line-height:.95;letter-spacing:-.055em}.new-game-header p{margin:0;color:var(--party-muted);font-size:clamp(.95rem,1.7vw,1.18rem);font-weight:800}.new-game-kicker{display:inline-flex;width:fit-content;margin-bottom:6px;padding:6px 11px;border:2px solid var(--party-ink);border-radius:999px;background:var(--party-yellow);color:var(--party-ink);box-shadow:3px 4px 0 var(--party-ink);font-size:.72rem;font-weight:950;letter-spacing:.14em}.uno-table,.landlord-table{position:relative;z-index:1;width:min(100%,1120px);max-width:none;margin:0 auto;padding:clamp(16px,2.5vw,30px);border:var(--party-border);border-radius:32px;background:linear-gradient(180deg,#fffaf0f2,#fff0d6eb);box-shadow:12px 14px #312d2829,0 22px 60px #5230142e}.uno-players,.landlord-players{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}.new-player-chip{border:2px solid rgba(49,45,40,.72);border-radius:19px;background:#ffffffad;color:var(--party-ink);box-shadow:4px 5px #312d281c}.new-player-chip strong{font-size:1.05rem}.new-player-chip span{color:var(--party-muted);font-weight:800}.new-player-chip.active{border-color:var(--party-ink);background:var(--party-yellow);box-shadow:5px 6px 0 var(--party-ink)}.new-game-actions button{border:2px solid var(--party-ink);border-radius:16px;background:#fffaf0;color:var(--party-ink);box-shadow:4px 5px 0 var(--party-ink);transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.new-game-actions button:not(:disabled):hover{transform:translate(-1px,-2px);box-shadow:5px 7px 0 var(--party-ink)}.new-game-actions button:disabled{opacity:.55;box-shadow:2px 3px #312d2866}.new-game-actions .accent{background:var(--party-coral);color:var(--party-ink)}.game-alert,.game-error{position:fixed;top:clamp(48px,8vh,64px);left:50%;transform:translate(-50%);z-index:9999;width:fit-content;max-width:min(90vw,440px);margin:0;padding:8px 22px;border-radius:999px;text-align:center;font-weight:900!important;font-size:.92rem!important;line-height:1.4;box-shadow:0 8px 24px #00000073;pointer-events:none;animation:modal-fade-in .25s ease both}.game-alert{background:#d97706!important;color:#fff!important;border:2px solid #fde68a!important}.game-error{background:#dc2626!important;color:#fff!important;border:2px solid #fca5a5!important}.new-game-page--uno .uno-table{background:radial-gradient(circle at 18% 12%,rgba(77,124,255,.18),transparent 28%),radial-gradient(circle at 86% 18%,rgba(255,127,102,.22),transparent 26%),linear-gradient(180deg,#fffaf0,#ffe2bd)}.uno-discard{position:relative;margin:22px auto;transform:none}.uno-discard:after{content:"当前弃牌";position:absolute;right:-30px;bottom:-18px;padding:5px 9px;border:2px solid var(--party-ink);border-radius:999px;background:var(--party-yellow);color:var(--party-ink);font-size:.72rem;font-weight:950;box-shadow:3px 4px 0 var(--party-ink)}.uno-hand{justify-content:center;padding:24px 8px 12px}.uno-card{border:3px solid #fffaf0;outline:3px solid var(--party-ink);border-radius:20px;box-shadow:6px 8px #312d2847;font-weight:950}.uno-hand .uno-card:not(:disabled):hover{transform:translateY(-10px) rotate(-2deg)}.new-game-page--landlord{background:radial-gradient(circle at 15% 12%,rgba(255,200,87,.34),transparent 24%),radial-gradient(circle at 84% 6%,rgba(73,176,122,.24),transparent 22%),linear-gradient(180deg,#fff2d9,#efcfaa)}.new-game-page--landlord .landlord-table{display:grid;grid-template-columns:1fr;gap:16px;background:linear-gradient(180deg,#fffaf0f0,#ffe9cae6),radial-gradient(circle at 50% 24%,rgba(73,176,122,.32),transparent 48%)}.new-game-page--landlord .landlord-table:before{content:"";position:absolute;inset:92px 24px 118px;z-index:-1;border:3px solid var(--party-ink);border-radius:34px;background:linear-gradient(135deg,#63c389,#277553);box-shadow:inset 0 0 0 7px #ffffff2e,8px 10px #312d281f;opacity:.96}.new-game-page--landlord .landlord-panel{border:2px solid rgba(49,45,40,.72);border-radius:24px;background:#fffaf0db;color:var(--party-ink);box-shadow:5px 6px #312d281f}.new-game-page--landlord .bottom-cards,.new-game-page--landlord .current-combo{width:min(100%,760px);margin:0 auto}.new-game-page--landlord .bottom-cards span,.new-game-page--landlord .current-combo strong{color:var(--party-ink);font-weight:950}.new-game-page--landlord .current-combo p,.new-game-page--landlord .waiting-tip,.new-game-page--landlord .hand-hint{color:#5f554a;font-weight:850}.new-game-page--landlord .bottom-cards b,.new-game-page--landlord .current-combo b{border:2px solid var(--party-ink);border-radius:12px;background:#fffdf8;color:#18202a;box-shadow:3px 4px #312d282e}.new-game-page--landlord .bottom-cards .card-back{color:#fff4b6;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.22),transparent 27%),repeating-linear-gradient(45deg,rgba(255,255,255,.13) 0 4px,transparent 4px 9px),linear-gradient(135deg,#2d3b78,#14213d 58%,#9c3f2d);box-shadow:inset 0 0 0 4px #ffffff29,4px 5px #312d2847}.new-game-page--landlord .landlord-bid-actions{margin:4px 0 0}.new-game-page--landlord .landlord-bid-actions button{min-width:78px;background:var(--party-yellow)}.new-game-page--landlord .landlord-bid-actions button:first-child{background:#fffaf0}.new-game-page--landlord .landlord-hand{--card-width: clamp(44px, 5.4vw, 58px);--card-overlap: clamp(-28px, -2.4vw, -18px);position:sticky;bottom:calc(var(--safe-bottom, 0px) + 10px);z-index:2;width:min(100%,980px);max-width:calc(100vw - 24px);box-sizing:border-box;margin:10px auto 0;padding:28px clamp(8px,2vw,16px) 18px;display:flex;flex-wrap:nowrap;justify-content:center;align-items:flex-end;gap:0;overflow:visible;border:2px solid var(--party-ink);border-radius:26px;background:#fffaf0ed;box-shadow:6px 8px #312d2829,0 -14px 38px #6d411c21}.new-game-page--landlord .landlord-hand button{flex:0 0 var(--card-width);min-width:0;width:var(--card-width);height:clamp(82px,13.5vw,98px);margin-left:var(--card-overlap);border:2px solid var(--party-ink);border-radius:14px;background:linear-gradient(180deg,#fff,#f5efe5);box-shadow:4px 6px #312d2838}.new-game-page--landlord .landlord-hand button:first-child{margin-left:0}.new-game-page--landlord .landlord-hand button strong{font-size:1.45rem;font-family:ui-serif,Georgia,Times New Roman,serif}.new-game-page--landlord .landlord-hand button small{font-size:1.08rem}.new-game-page--landlord .landlord-hand.can-select button:not(:disabled):hover{transform:translateY(-12px)}.new-game-page--landlord .landlord-hand button.selected{transform:translateY(-22px);background:#fff8db;box-shadow:0 0 0 4px var(--party-yellow),5px 8px 0 var(--party-ink)}@media(max-width:768px){.new-game-header h1{font-size:clamp(2.1rem,15vw,3.45rem)}.uno-players,.landlord-players{grid-template-columns:1fr}.new-game-page--landlord .landlord-table:before{inset:118px 12px;border-radius:24px}.new-game-page--landlord .landlord-hand{--card-width: clamp(34px, 10.6vw, 45px);--card-overlap: clamp(-27px, -6.2vw, -20px);max-width:calc(100vw - 16px);justify-content:center;padding-inline:8px}.new-game-page--landlord .landlord-hand button{height:clamp(76px,21vw,88px)}}.game-page .vote-card,.game-page .tally-item,.game-page .role-item{animation-delay:calc(var(--stagger-index, 0) * var(--stagger-step, 45ms))}.game-page .tally-item{--stagger-step: 70ms}.game-page .role-item{--stagger-step: 55ms}.new-game-header{display:flex;align-items:center;justify-content:space-between;gap:18px}.new-game-header__copy{min-width:0}.game-leave{position:relative;z-index:4;display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:6px}.game-leave__button{min-height:44px;padding:10px 16px;border:2px solid #312d28;border-radius:12px;background:#fffaf0;color:#8f2f22;box-shadow:4px 5px #312d28;font:inherit;font-size:.9rem;font-weight:950;cursor:pointer}.game-leave__button:hover:not(:disabled){transform:translate(-1px,-2px);box-shadow:5px 7px #312d28}.game-leave__button:disabled{cursor:wait;opacity:.65}.game-leave__error{max-width:260px;color:#a11e15;font-size:.78rem;font-weight:850;text-align:right}.game-header-actions{display:flex;align-items:center;gap:10px}.game-page .game-leave__button{border-color:var(--ink, #25221f);background:#fff8ec;color:#9b2f20;box-shadow:3px 4px 0 var(--ink, #25221f)}.new-game-page--uno .uno-players{grid-template-columns:repeat(auto-fit,minmax(138px,1fr));max-height:214px;padding:6px;overflow-y:auto;overscroll-behavior:contain;border:2px solid rgba(49,45,40,.45);border-radius:22px;background:#ffffff70;scrollbar-width:thin}.uno-player-chip{position:relative;min-height:72px;padding:12px 12px 12px 48px;justify-content:center}.uno-player-chip__seat{position:absolute;left:11px;top:50%;display:grid!important;width:27px;height:27px;place-items:center;border:2px solid currentColor;border-radius:50%;transform:translateY(-50%);font-size:.78rem!important;font-weight:950}.uno-player-chip.self{background:#e9f6ff}.uno-player-chip.uno-called{border-color:#bb231d;box-shadow:4px 5px #bb231d}.uno-player-chip.uno-called>span:last-child{color:#9f1f1a}.uno-center-stage{display:grid;grid-template-columns:minmax(180px,1fr) auto;width:min(100%,560px);min-height:174px;margin:18px auto 24px;padding:18px 28px;align-items:center;gap:24px;border:3px solid var(--party-ink);border-radius:28px;background:#fffaf0d1;box-shadow:inset 0 0 0 5px #ffffff80,7px 9px #312d2824}.uno-discard-copy{display:flex;min-width:0;flex-direction:column;gap:7px}.uno-discard-copy>span{color:#8b4437;font-size:.76rem;font-weight:950;letter-spacing:.12em}.uno-discard-copy strong{color:var(--party-ink);font-size:clamp(1.25rem,3vw,1.8rem);line-height:1.15}.uno-discard-copy small{color:#5c544b;font-size:.86rem;font-weight:850}.new-game-page--uno .uno-discard{margin:0;flex:0 0 auto}.new-game-page--landlord .landlord-table,.new-game-page--landlord .current-combo,.new-game-page--landlord .landlord-hand{overflow-anchor:none}.new-game-page--landlord .landlord-hand.can-select{touch-action:none;user-select:none;-webkit-user-select:none}.new-game-page--landlord .landlord-hand button{border-radius:8px}.new-game-page--landlord .landlord-hand button strong{color:#111827;font-family:Arial,Microsoft YaHei,sans-serif;font-size:clamp(1.42rem,2.8vw,1.72rem);font-weight:950;letter-spacing:-.04em;text-shadow:0 1px 0 #fff}.new-game-page--landlord .landlord-hand button.red strong{color:#c81e1e}.new-game-page--landlord .landlord-hand button small{font-weight:900}.new-game-page--landlord .landlord-hand button:focus-visible{outline:4px solid #1677ff;outline-offset:2px}@media(min-width:640px)and (max-width:1024px){.new-game-page--landlord .current-combo{min-height:188px;box-sizing:border-box}.new-game-page--landlord .current-combo-row{min-height:126px;align-content:center}.new-game-page--landlord .landlord-hand{position:relative;bottom:auto}}@media(max-width:768px){.new-game-header{align-items:flex-start}.new-game-header .game-leave__button{min-height:40px;padding:8px 11px}.new-game-page--uno .uno-players{grid-template-columns:repeat(2,minmax(0,1fr));max-height:184px;gap:8px}.uno-player-chip{min-height:64px;padding:9px 8px 9px 39px}.uno-player-chip__seat{left:8px;width:23px;height:23px}.uno-center-stage{grid-template-columns:minmax(0,1fr) auto;min-height:148px;padding:14px 18px;gap:14px}.new-game-page--uno .uno-discard{width:68px;min-width:68px;height:104px}}@media(max-width:480px){.new-game-header{flex-wrap:wrap}.new-game-header .game-leave{width:100%;align-items:stretch}.new-game-header .game-leave__button{width:100%}.uno-discard-copy strong{font-size:1.08rem}.uno-discard-copy small{font-size:.76rem}}.new-game-page--landlord .landlord-table.phase-bidding .current-combo{border-color:#312d28b8;background:#fffaf0e8}.new-game-page--landlord .landlord-table.phase-bidding .current-combo strong,.new-game-page--landlord .landlord-table.phase-bidding .current-combo p{color:#2f2b26;text-shadow:none}.playing-card{display:block;width:100%;height:100%;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.08))}.card-face-static{display:inline-block;width:52px;height:75px;vertical-align:middle;border-radius:6px;filter:drop-shadow(2px 3px 4px rgba(0,0,0,.18))}.bottom-card-row .card-face-static{margin:0 2px}.current-combo-row .card-face-static{margin:2px}.new-game-page--landlord .landlord-hand button.landlord-hand__card{padding:0;overflow:hidden;display:flex;align-items:stretch;justify-content:center;background:none;border:none;box-shadow:none;border-radius:10px}.new-game-page--landlord .landlord-hand button.landlord-hand__card .playing-card{border-radius:10px;filter:drop-shadow(2px 4px 0 rgba(49,45,40,.22)) drop-shadow(0 1px 2px rgba(0,0,0,.12))}.new-game-page--landlord .landlord-hand button.landlord-hand__card.selected .playing-card{filter:drop-shadow(0 0 0 rgba(251,191,36,1)) drop-shadow(0 0 8px rgba(251,191,36,.6)) drop-shadow(3px 5px 0 rgba(49,45,40,.3))}.new-game-page--landlord .landlord-hand button.landlord-hand__card.selected{transform:translateY(-22px);background:none;box-shadow:none}.new-game-page--landlord .landlord-hand.can-select button.landlord-hand__card:not(:disabled):hover{transform:translateY(-12px);background:none;box-shadow:none}.new-game-page--landlord .landlord-hand.can-select button.landlord-hand__card.selected:not(:disabled):hover{transform:translateY(-26px)}.new-game-page--landlord .landlord-hand button.landlord-hand__card strong,.new-game-page--landlord .landlord-hand button.landlord-hand__card small{display:none}@media(min-width:640px){.card-face-static{width:62px;height:89px}.new-game-page--landlord .landlord-hand button.landlord-hand__card,.new-game-page--landlord .landlord-hand button.landlord-hand__card .playing-card{border-radius:12px}}@media(min-width:1024px){.card-face-static{width:70px;height:100px}}.room-sheet:has(.settings-layout){width:min(960px,calc(100vw - 40px));max-height:min(90dvh,820px);overflow:hidden}.settings-layout{display:grid;min-height:0;grid-template-columns:220px minmax(0,1fr);border:2px solid var(--home-ink);border-radius:20px;overflow:hidden;background:#fffdf8}.settings-navigation{padding:14px;color:#fffaf0;background:var(--home-ink)}.settings-navigation__tabs{display:grid;gap:8px}.settings-navigation__tab{display:grid;min-height:68px;gap:4px;border:2px solid transparent;border-radius:14px;padding:11px 12px;color:#fffaf0b8;background:transparent;text-align:left;cursor:pointer}.settings-navigation__tab strong{font-size:.92rem}.settings-navigation__tab small{font-size:.7rem;line-height:1.4}.settings-navigation__tab[aria-selected=true]{border-color:#fffaf0;color:var(--home-ink);background:#f7d661;box-shadow:3px 3px 0 var(--home-coral)}.settings-content{min-width:0;max-height:min(66dvh,620px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:22px}.settings-category,.settings-category__header{display:grid;gap:8px}.settings-category__header{margin-bottom:10px}.settings-category__eyebrow{color:var(--home-coral);font-size:.7rem;font-weight:900;letter-spacing:.12em}.settings-category__header h2,.settings-category__header p{margin:0}.settings-category__header h2{font-family:ui-serif,Songti SC,serif;font-size:clamp(1.35rem,3vw,1.8rem)}.settings-category__header p{color:var(--home-muted);font-size:.82rem;line-height:1.6}.settings-profiles-list{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.settings-profile-chip{display:inline-flex;align-items:center;border:2px solid var(--home-ink);border-radius:999px;background:#fffaf1;box-shadow:2px 3px 0 var(--home-ink);font-size:.78rem;font-weight:800;overflow:hidden}.settings-profile-chip button{min-width:44px;min-height:44px;border:0;background:transparent;padding:4px 10px;color:var(--home-ink);cursor:pointer}.settings-profile-chip.is-active{background:var(--home-coral);border-color:var(--home-ink)}.settings-profile-chip.is-active button{color:#fffaf0}.settings-profile-delete{padding:4px 8px!important;border-left:1.5px solid rgba(49,45,40,.2)!important;color:#3f3931!important;font-weight:700}.settings-profile-chip.is-active .settings-profile-delete{color:#fff!important;border-left-color:#fff6!important}.settings-profile-delete:hover{color:var(--home-coral-dark)!important;background:#c2361626!important}.settings-profile-save-box{display:flex;gap:8px;margin-top:10px;padding:10px;border:2px solid var(--home-ink);border-radius:12px;background:#fff8eb}.settings-profile-save-box input{flex:1;border:1.5px solid var(--home-ink);border-radius:8px;padding:4px 8px;font-size:.82rem}.settings-profile-save-box button{min-width:44px;min-height:44px;border:1.5px solid var(--home-ink);border-radius:8px;padding:4px 10px;font-size:.78rem;font-weight:800;background:#fff;box-shadow:2px 2px 0 var(--home-ink);cursor:pointer}.settings-field-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.settings-fetch-btn{min-width:44px;min-height:44px;border:1.5px solid var(--home-ink);border-radius:999px;padding:2px 10px;background:#f7d661;color:var(--home-ink);box-shadow:2px 2px 0 var(--home-ink);font-size:.72rem;font-weight:900;cursor:pointer;transition:transform .18s ease}.settings-fetch-btn:hover:not(:disabled){transform:scale(1.04)}.ai-engine-settings{display:grid;gap:18px}.ai-engine-status{display:grid;gap:12px;padding:14px;border:2px solid var(--home-ink);border-radius:16px;background:#fffaf1;box-shadow:3px 4px 0 var(--home-ink)}.ai-engine-status__headline{display:flex;align-items:center;gap:8px}.ai-status-dot{width:12px;height:12px;border:2px solid var(--home-ink);border-radius:50%;background:#aaa}.ai-status-dot--success{background:#35ad7a}.ai-status-dot--testing{background:#f7d661}.ai-status-dot--stale{background:#f1a83a}.ai-status-dot--error{background:var(--home-coral)}.ai-engine-status dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.ai-engine-status dl div{min-width:0}.ai-engine-status dt{font-size:.7rem;color:var(--home-muted)}.ai-engine-status dd{margin:2px 0 0;overflow:hidden;font-size:.82rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.ai-section-heading,.ai-quick-connect__actions,.ai-inline-actions,.ai-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-section-heading h3,.ai-quick-connect h3{margin:2px 0 0;font-size:1rem}.ai-eyebrow{color:var(--home-coral);font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.ai-text-action{min-height:44px;border:0;color:var(--home-green);background:transparent;font-weight:900;cursor:pointer}.ai-quick-connect{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,1fr);gap:12px 18px;padding:16px;border:2px solid var(--home-ink);border-radius:18px;background:#e6f2e8;box-shadow:4px 5px 0 var(--home-ink)}.ai-quick-connect p{margin:4px 0 0;color:var(--home-muted);font-size:.78rem}.ai-key-saved-tag{color:#075544;font-size:.76rem;font-weight:800;margin-left:6px}.ai-key-hint{display:block;margin-top:4px;color:#075544;font-size:.74rem;line-height:1.35}.ai-key-hint--pending{color:#925400}.ai-key-input-wrap{position:relative;display:block}.ai-key-input-wrap input{width:100%;padding-right:44px}.ai-key-reveal{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:9px;background:transparent;color:var(--home-muted);cursor:pointer;padding:0}.ai-key-reveal:hover:not(:disabled){color:var(--home-ink);background:#0000000f}.ai-key-reveal:focus-visible{outline:2px solid var(--home-ink);outline-offset:-2px}.ai-quick-connect__actions,.ai-diagnostic{grid-column:1 / -1}.ai-secondary-action,.ai-danger-zone button{min-height:44px;border:2px solid var(--home-ink);border-radius:10px;padding:8px 14px;background:#fffaf1;box-shadow:2px 3px 0 var(--home-ink);font-weight:900;cursor:pointer}.ai-diagnostic{padding:9px 12px;border-radius:10px;font-size:.8rem;font-weight:800}.ai-diagnostic--success{background:#d9f3e6;color:#075544}.ai-diagnostic--testing{background:#fff1b8}.ai-diagnostic--stale{background:#ffead0;color:#7d4700}.ai-diagnostic--error{background:#ffe1dc;color:#8f2518}.ai-current-model{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:2px solid var(--home-ink);border-radius:14px;padding:12px 14px;background:#fff3cd}.ai-current-model>span,.ai-current-model small{color:var(--home-muted);font-size:.74rem}.ai-current-model strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-advanced-toggle{display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:14px;border:2px solid var(--home-ink);border-radius:14px;padding:10px 14px;color:var(--home-ink);background:#fffaf1;box-shadow:3px 4px 0 var(--home-ink);text-align:left;cursor:pointer}.ai-advanced-toggle>span:first-child{display:grid;gap:3px}.ai-advanced-toggle small{color:var(--home-muted);font-size:.74rem;font-weight:700}.ai-advanced-toggle>span:last-child{color:var(--home-green);font-size:.78rem;font-weight:900}.ai-advanced-content{padding:16px;border:2px dashed rgba(49,45,40,.34);border-radius:16px;background:#fffaf1bd}.ai-settings-grid{display:grid;gap:14px}.ai-model-picker{display:grid;gap:8px}.ai-model-picker>input{min-height:44px;border:2px solid var(--home-ink);border-radius:10px;padding:8px 10px}.ai-model-results{display:grid;max-height:220px;overflow-y:auto;border:2px solid var(--home-ink);border-radius:10px;background:#fff}.ai-model-results button{width:100%;min-height:44px;border:0;border-bottom:1px solid rgba(49,45,40,.14);padding:8px 10px;overflow-wrap:anywhere;text-align:left;background:transparent;cursor:pointer}.ai-model-results button.is-selected{color:#fff;background:var(--home-green);font-weight:900}.ai-model-results p{padding:10px;color:var(--home-muted);font-size:.78rem}.ai-danger-zone{padding:12px;border:2px solid var(--home-coral);border-radius:12px;background:#fff0ed}.ai-danger-zone p{margin:3px 0 0;color:var(--home-muted);font-size:.76rem}.ai-danger-zone--pending{border-color:#c47810;background:#fff4d6}@media(max-width:640px){.room-sheet:has(.settings-layout){width:100%;max-height:92dvh;padding-right:12px;padding-left:12px}.settings-layout{grid-template-columns:minmax(0,1fr)}.settings-navigation{min-width:0;padding:8px}.settings-navigation__tabs{display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.settings-navigation__tab{min-width:132px;min-height:44px;padding:8px 10px}.settings-navigation__tab small{display:none}.settings-content{max-height:calc(92dvh - 190px);padding:16px 12px 20px}.ai-quick-connect,.ai-engine-status dl,.ai-current-model{grid-template-columns:1fr}.ai-quick-connect__actions,.ai-danger-zone{align-items:stretch;flex-direction:column}.ai-quick-connect__actions>button{width:100%}}.home-header__button{display:inline-flex;min-width:42px;min-height:40px;align-items:center;justify-content:center;gap:7px;border:2px solid var(--home-ink);border-radius:10px;padding:7px 10px;color:var(--home-ink);background:#fffdf8e6;box-shadow:2px 3px 0 var(--home-ink);font-size:.82rem;font-weight:900;white-space:nowrap}.home-header__button:hover:not(:disabled){color:#fffdf7;background:var(--home-coral)}.home-header__button--join{color:#fffdf7;background:var(--home-green)}.home-header__button--join:hover:not(:disabled){background:#075544}.home-header__button:active:not(:disabled){box-shadow:1px 1px 0 var(--home-ink);transform:translate(2px,2px)}.home-hero{padding:44px 3px 32px}.home-hero h1{font-size:5.7rem;letter-spacing:0}.home-hero h1 span{color:var(--home-coral);background:none;-webkit-text-fill-color:currentColor;animation:none;filter:none}.home-hero__description{margin-top:18px;font-size:1.05rem;line-height:1.65}.home-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.home-hero__actions a,.home-hero__actions button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border:2px solid var(--home-ink);border-radius:11px;padding:8px 15px;color:var(--home-ink);background:#fffaf1;box-shadow:3px 4px 0 var(--home-ink);font-size:.88rem;font-weight:900;text-decoration:none}.home-hero__actions .home-hero__primary{color:#fffdf7;background:var(--home-coral)}.home-hero__actions a:hover,.home-hero__actions button:hover:not(:disabled){transform:translateY(-2px);box-shadow:4px 6px 0 var(--home-ink)}.player-filter{grid-template-columns:minmax(190px,.65fr) minmax(0,1.35fr);align-items:center;gap:24px;margin-bottom:42px;border-radius:18px;padding:20px 24px}.player-filter__eyebrow{margin:0 0 4px!important;color:var(--home-coral)!important;font-size:.7rem!important;font-weight:900!important;letter-spacing:.05em}.player-filter__copy h2{font-size:1.65rem;letter-spacing:0}.player-filter__copy p:not(.player-filter__eyebrow){margin-top:4px;font-size:.8rem}.player-filter__control{grid-template-columns:minmax(0,1fr);gap:5px}.player-filter .player-filter__readout{grid-column:1;grid-row:auto;min-height:36px;flex-direction:row;align-items:baseline;gap:6px}.player-filter__readout strong{min-width:auto;font-size:2rem;letter-spacing:0}.player-filter__readout em{font-size:.76rem}.player-filter__range-track-wrapper,.player-filter__ticks{grid-column:1}.player-filter__range-track-wrapper{padding-top:17px}.player-filter__range{height:12px}.player-filter__range::-webkit-slider-thumb{width:28px;height:28px;box-shadow:2px 3px 0 var(--home-ink),inset 0 0 0 4px #fff9ee,0 0 0 4px #ef4d392e}.player-filter__thumb-tooltip{top:-5px;padding:1px 7px;font-size:.62rem}.player-filter__ticks{grid-template-columns:repeat(12,minmax(0,1fr));gap:2px;margin-top:3px}.player-filter__tick-btn{min-width:0;min-height:32px;border-radius:7px;padding:4px 0;font-size:.98rem;font-weight:800}.player-filter__tick-btn:hover,.player-filter__tick-btn.is-active{color:#fffdf7;background:var(--home-coral);transform:none;filter:none}.player-filter__reset{display:inline-flex;min-height:28px;align-items:center;gap:4px;grid-column:auto;margin-left:auto;padding:3px 9px;box-shadow:1px 2px 0 var(--home-ink);font-size:.68rem}.home-games__heading{margin-bottom:16px}.home-games h2{font-size:2.6rem;letter-spacing:0}.game-grid{gap:19px}.game-card,.game-card:not(.game-card--featured),.game-card--featured{min-height:340px;border-radius:19px;padding:18px}.game-card__ticket{top:17px;right:17px;width:38px;height:34px}.game-card__meta{min-height:22px;padding-right:45px}.game-card__players{display:inline-flex;align-items:center;gap:4px}.game-card__illustration,.game-card--featured .game-card__illustration{height:98px;margin:0 0 4px}.game-card__card,.game-card--featured .game-card__card{width:67px;height:86px;border-radius:11px;font-size:1.8rem}.game-card--featured .game-card__card--back{left:28%}.game-card h3{margin:2px 0 5px;font-size:1.75rem;letter-spacing:0}.game-card__summary{font-size:.82rem;line-height:1.5}.game-card__tags{gap:5px;margin:10px 0 13px}.game-card__tags li{padding:2px 7px;font-size:.66rem}.game-card__action{min-height:42px;justify-content:center;border-radius:11px;padding:7px 13px;font-size:.86rem}.home-join-callout{margin-top:24px;margin-bottom:40px}.home-join-callout__icon{font-size:0}@media(max-width:1024px){.home-hero{padding-top:66px}.home-hero h1{font-size:4.8rem}}@media(max-width:640px){.home-header__actions{gap:6px}.home-header__button{width:40px;min-width:40px;height:40px;min-height:40px;padding:0}.home-header__button span{display:none}.home-local-badge{min-height:30px;padding:3px 8px 3px 20px;font-size:.64rem}.home-hero{max-width:100%;padding:48px 2px 26px}.home-hero h1{max-width:6.8em;font-size:3.5rem;line-height:1.02}.home-hero__description{max-width:21rem;margin-top:13px;font-size:.9rem;line-height:1.6}.home-hero__actions{margin-top:16px}.home-hero__actions a,.home-hero__actions button{min-height:42px;padding:7px 12px;font-size:.8rem}.home-party-scene{position:relative;top:auto;right:auto;transform:none;width:min(100%,340px);height:220px;margin:8px auto 0;opacity:.95}.player-filter{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:34px;padding:16px}.player-filter__copy h2{font-size:1.4rem}.player-filter__copy p:not(.player-filter__eyebrow){display:none}.player-filter__ticks{gap:1px}.player-filter__tick-btn{min-height:32px;font-size:.95rem;font-weight:800}.home-games__heading{align-items:center;margin-bottom:14px}.home-games h2{font-size:2rem;line-height:1.12}.home-games__count{padding:3px 8px;font-size:.68rem}.game-grid{gap:17px}.game-card,.game-card:not(.game-card--featured),.game-card--featured{min-height:0;border-radius:18px;padding:15px}.game-card__ticket{top:14px;right:14px;width:34px;height:31px;font-size:.72rem}.game-card__meta{min-height:19px;padding-right:40px}.game-card__availability,.game-card__players{font-size:.68rem}.game-card__illustration,.game-card--featured .game-card__illustration{height:80px;margin:-2px 0 1px}.game-card__card,.game-card--featured .game-card__card{width:56px;height:71px;border-width:2.5px;border-radius:9px;font-size:1.52rem}.game-card__card--back,.game-card--featured .game-card__card--back{top:7px;left:27%}.game-card__card--front,.game-card--featured .game-card__card--front{top:2px;left:45%}.game-card h3{margin-bottom:4px;font-size:1.55rem}.game-card__summary{font-size:.78rem;line-height:1.45}.game-card__tags{margin:8px 0 11px}.game-card__action{min-height:40px}.home-join-callout{margin-top:20px;margin-bottom:32px}}@media(max-width:380px){.home-hero h1{font-size:3.15rem}.player-filter,.game-card{padding:15px}}.app-background-root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;flex:1;position:relative;transition:background-color .5s ease;background-color:#fff5e6}.bg-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.85}.bg-video-wrapper{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.bg-video-canvas{width:100%;height:100%;display:block}.bg-video-overlay{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,#0f172a33,#0f172abf);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}html[data-bg-mode=minimal] .app-background-root{background:#0f172a}html[data-bg-mode=minimal] .home-party-scene{display:none!important}html:not([data-bg-mode=party]) .home-party-scene{opacity:.15;filter:blur(10px);transition:opacity .5s ease,filter .5s ease}.room-sheet__content,.game-card,.playing-card,.winner-hero,.reveal-box{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.bg-mode-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px}.bg-mode-card{position:relative;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;border:2px solid #c7b8a8;background:#fffaf1;cursor:pointer;transition:all .2s ease}.bg-mode-card:hover{border-color:var(--color-primary);background:#6366f114}.bg-mode-card.is-selected{border-color:var(--home-green);background:#e6f2e8;box-shadow:3px 4px 0 var(--home-ink)}.bg-mode-card input[type=radio]{margin-top:3px;width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.bg-mode-card__info{display:flex;min-width:0;flex-direction:column;gap:2px}.bg-mode-card__info strong{font-size:.92rem;color:var(--color-text)}.bg-mode-card__info small{font-size:.76rem;color:var(--color-text-muted);line-height:1.35}.bg-mode-card__info em{margin-top:5px;color:var(--home-green);font-size:.7rem;font-style:normal;font-weight:900}:root,html,.game-home-page{--home-motion-parallax: 1}[data-motion-level=reduced],.game-home-page[data-motion-level=reduced],[data-motion-level=minimal],.game-home-page[data-motion-level=minimal]{--home-motion-parallax: 0}.home-motion-layer{animation:home-layer-reveal var(--home-motion-duration) cubic-bezier(.2,.85,.2,1) both;animation-delay:calc(var(--motion-step, 0) * 45ms)}.home-motion-layer[data-motion-step="0"]{--motion-step: 0}.home-motion-layer[data-motion-step="1"]{--motion-step: 1}.home-motion-layer[data-motion-step="2"]{--motion-step: 2}.home-motion-layer[data-motion-step="3"]{--motion-step: 3}.home-motion-layer[data-motion-step="4"]{--motion-step: 4}.home-motion-layer[data-motion-step="5"]{--motion-step: 5}.home-party-scene__table-wrap,.home-party-scene__people-layer{translate:calc(var(--motion-x, 0) * 8px * var(--home-motion-parallax)) calc(var(--motion-y, 0) * 5px * var(--home-motion-parallax))}.home-party-scene__lamp-wrap{translate:calc(var(--motion-x, 0) * 4px * var(--home-motion-parallax)) calc(var(--motion-y, 0) * 3px * var(--home-motion-parallax))}.home-party-scene__plant-wrap{translate:calc(var(--motion-x, 0) * -6px * var(--home-motion-parallax)) calc(var(--motion-y, 0) * -4px * var(--home-motion-parallax))}.home-party-scene__glow{animation:scene-glow-breathe 5.8s ease-in-out infinite}.home-party-scene__garland--one{animation:home-garland-sway 5.2s ease-in-out infinite alternate}.home-party-scene__garland--two{animation:home-garland-sway 6.1s .9s ease-in-out infinite alternate-reverse}.home-hero h1 span{display:inline-block;transform-origin:left center;animation:home-title-mark .72s .18s cubic-bezier(.18,.9,.2,1.15) both}.motion-mode-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:5px 0 10px;border-radius:12px;padding:10px 12px;color:var(--home-ink);background:#f7d66138}.motion-mode-status span,.motion-mode-hint{color:var(--color-text-muted);font-size:.76rem}.motion-mode-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:8px}.motion-mode-card{position:relative;display:flex;min-height:58px;align-items:flex-start;gap:9px;border:2px solid #c7b8a8;border-radius:12px;padding:10px 12px;background:#fffaf1;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.motion-mode-card.is-selected{border-color:var(--home-green);background:#e6f2e8;box-shadow:3px 4px 0 var(--home-ink)}.motion-mode-card input{width:18px;height:18px;margin-top:2px;accent-color:var(--color-primary)}.motion-mode-card span{display:flex;min-width:0;flex-direction:column;gap:2px}.motion-mode-card small{color:var(--color-text-muted);font-size:.75rem;line-height:1.35}.motion-mode-hint{margin:0 0 18px}.settings-choice-mark{display:grid;width:22px;min-width:22px;height:22px;place-items:center;border-radius:50%;color:#fff;background:var(--home-green);font-size:.72rem}.home-header__button,.home-hero__actions a,.home-hero__actions button,.game-card__action,.player-filter__tick-btn,.player-filter__reset{min-height:44px}.player-filter__ticks{grid-template-columns:repeat(11,minmax(0,1fr))}@media(hover:hover)and (pointer:fine){.motion-mode-card:hover{border-color:var(--color-primary);background:#6366f114}html[data-motion-level=full] .game-card:hover{transform:translateY(-6px) rotate(-.35deg)}html[data-motion-level=full] .game-card:hover .game-card__illustration{transform:translateY(-4px) scale(1.025)}}html[data-motion-level=reduced] .home-party-scene__person.is-visible,html[data-motion-level=reduced] .home-party-scene__spark,html[data-motion-level=reduced] .home-party-scene__glow,html[data-motion-level=reduced] .home-party-scene__garland,html[data-motion-level=minimal] .home-party-scene__person.is-visible,html[data-motion-level=minimal] .home-party-scene__spark,html[data-motion-level=minimal] .home-party-scene__glow,html[data-motion-level=minimal] .home-party-scene__garland,html[data-motion-level=minimal] .game-card,html[data-motion-level=minimal] .home-hero h1 span{animation:none}html[data-motion-level=minimal] .game-home-page *,html[data-motion-level=minimal] .motion-mode-card{transition-duration:.14s}html[data-motion-level=minimal] *,html[data-motion-level=minimal] *:before,html[data-motion-level=minimal] *:after{animation-iteration-count:1!important;animation-duration:.14s!important}html[data-motion-level=reduced] .bg-video-overlay,html[data-motion-level=minimal] .bg-video-overlay{-webkit-backdrop-filter:none;backdrop-filter:none}html[data-motion-level=off] *,html[data-motion-level=off] *:before,html[data-motion-level=off] *:after{animation:none!important;transition-duration:0s!important;scroll-behavior:auto!important}@keyframes home-layer-reveal{0%{opacity:.15;transform:translateY(var(--home-motion-distance, 8px))}to{opacity:1;transform:translateY(0)}}@keyframes home-title-mark{0%{opacity:0;transform:translateY(10px) rotate(2deg) scaleX(.88)}to{opacity:1;transform:translateY(0) rotate(0) scaleX(1)}}@keyframes home-garland-sway{0%{rotate:-.6deg;translate:0 0}to{rotate:.8deg;translate:0 -2px}}@media(max-width:640px){.home-header__button{width:44px;min-width:44px;height:44px;min-height:44px}.bg-mode-selector,.motion-mode-selector{grid-template-columns:1fr}.motion-mode-status{align-items:flex-start;flex-direction:column}.player-filter__tick-btn{min-height:44px;margin-inline:-2px}}@media(prefers-reduced-motion:reduce){.bg-canvas,.bg-video-wrapper{display:none!important}}.tabletop-setup{--tabletop-ink: #1e2924;--tabletop-paper: #fff8e8;--tabletop-felt: #173f35;--tabletop-accent: #e85d3f;--tabletop-gold: #e8bd62}.tabletop-shell__header,.tabletop-setup__heading,.tabletop-drawer header{display:flex;align-items:center;justify-content:space-between;gap:12px}.tabletop-shell__header h1,.tabletop-setup h2,.tabletop-drawer h2{margin:0;font-family:ui-serif,Songti SC,serif}.tabletop-shell__eyebrow,.tabletop-setup__heading>span{color:var(--tabletop-gold);font-size:.7rem;font-weight:900;letter-spacing:.16em}.tabletop-shell__phase{display:grid;justify-items:end;font-size:.78rem}.tabletop-shell__phase strong{color:var(--tabletop-gold)}.tabletop-player-strip{display:flex;gap:8px;margin:14px -12px;padding:0 12px 6px;overflow-x:auto;list-style:none}.tabletop-player{position:relative;min-width:104px;padding:10px 10px 10px 30px;border:1px solid rgba(255,248,232,.24);border-radius:12px;background:#0517138f}.tabletop-player strong,.tabletop-player span{display:block}.tabletop-player>span:last-child{color:#c4d5cf;font-size:.72rem}.tabletop-player__seat{position:absolute;left:8px;top:10px;color:var(--tabletop-gold);font-weight:900}.tabletop-player.is-active{border-color:var(--tabletop-gold);box-shadow:inset 0 0 0 1px var(--tabletop-gold)}.tabletop-player.is-eliminated{opacity:.48;text-decoration:line-through}.tabletop-player-strip--compact .tabletop-player{min-width:82px}.tabletop-surface{min-height:48dvh;border:3.5px solid var(--game-line, #312d28);border-radius:24px;background:repeating-linear-gradient(35deg,rgba(255,255,255,.03) 0 2px,transparent 2px 7px),var(--2d5-felt-green, radial-gradient(circle at 50% 35%, #145946 0%, #083327 100%));box-shadow:0 8px 0 var(--game-line, #312d28),inset 0 0 40px #00000059;transform-style:preserve-3d;perspective:1000px}.tabletop-action-dock{position:relative;z-index:30;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;width:min(100%,560px);max-width:560px;margin:auto;padding:12px;border:3.5px solid var(--game-line, #312d28);border-radius:20px;background:#fffdf7fa;box-shadow:0 8px 0 var(--game-line, #312d28),0 18px 50px #00000052;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tabletop-action-dock--equal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tabletop-action{flex:1 1 0;min-width:0;width:100%;min-height:44px;padding:8px 14px;color:var(--game-ink, #312d28);border:3px solid var(--game-line, #312d28);border-radius:14px;background:#fffdf8;box-shadow:0 4px 0 var(--game-line, #312d28);font-weight:850;font-size:.92rem;transition:transform .12s ease,box-shadow .12s ease;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-align:center;box-sizing:border-box}.tabletop-action:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 var(--game-line, #312d28)}.tabletop-action:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--game-line, #312d28)}.tabletop-action--primary{color:#fff;border-color:var(--game-line, #312d28);background:var(--game-green, #0c715d);box-shadow:0 5px 0 var(--game-line, #312d28);font-weight:900}.tabletop-action--primary:hover:not(:disabled){background:var(--game-green-dark, #085848)}.tabletop-action:disabled,.tabletop-action--primary:disabled{color:#3b362f;border:3px solid var(--game-line, #312d28);background:#ebe4d8;box-shadow:0 3px 0 var(--game-line, #312d28);cursor:not-allowed;opacity:.9}.tabletop-action-dock__reason{grid-column:1 / -1;width:100%;flex-basis:100%;margin:0 0 2px;text-align:center;color:#53605a;font-size:.78rem;font-weight:700;line-height:1.35;white-space:normal;overflow-wrap:anywhere;text-wrap:pretty}.tabletop-drawer-backdrop{position:fixed;z-index:100000;inset:0;display:grid;align-items:end;background:#040f0cc2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:modal-fade-in .2s ease both}.tabletop-drawer{position:relative;z-index:100001;max-height:min(88dvh,780px);padding:18px 22px calc(var(--safe-bottom) + 20px);color:var(--tabletop-ink, #2d261e);border-top:4px solid var(--game-line, #312d28);border-inline:4px solid var(--game-line, #312d28);border-radius:24px 24px 0 0;background:var(--tabletop-paper, #fffdf8);box-shadow:0 -10px 0 var(--game-line, #312d28),0 -24px 70px #000000a6;animation:modal-scale-in .25s cubic-bezier(.16,1,.3,1) both;overflow:hidden;display:flex;flex-direction:column}.tabletop-drawer__content{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.tabletop-drawer header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:2px dashed rgba(49,45,40,.2);margin-bottom:12px}.tabletop-drawer header button{width:34px;height:34px;border:2px solid var(--game-line, #312d28);border-radius:10px;background:#fff;color:var(--game-line, #312d28);box-shadow:2px 2px 0 var(--game-line, #312d28);font-size:1.3rem;font-weight:900;line-height:1;display:grid;place-items:center;cursor:pointer;transition:transform .12s ease,background .12s ease}.tabletop-drawer header button:hover{background:#fee2e2;color:#dc2626;transform:scale(1.06)}.tabletop-private{display:grid;min-height:160px;place-items:center;border:2px dashed rgba(232,189,98,.55);border-radius:18px;background:#0003}.tabletop-private>button{min-height:48px;margin:14px;padding:10px 20px;border:1px solid #c69a58;border-radius:14px;color:#1e170d;background:linear-gradient(135deg,#e8bd62,#c69a58);font:inherit;font-weight:800;cursor:pointer;box-shadow:0 4px 14px #c69a5859;transition:all .2s cubic-bezier(.2,.8,.2,1)}.tabletop-private>button:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 6px 18px #c69a5880}.tabletop-setup{display:grid;align-content:start;gap:12px;margin:14px 0;padding:18px;min-height:0;color:var(--tabletop-ink);border:2px solid var(--tabletop-ink);border-radius:18px;background:linear-gradient(110deg,#fff8e8,#f4e6c7);box-shadow:5px 6px 0 var(--tabletop-ink)}.tabletop-setup label{display:grid;gap:6px;font-weight:800}.tabletop-setup select,.tabletop-setup input{min-height:44px;font:inherit}.tabletop-setup select{appearance:none;-webkit-appearance:none;padding-right:38px;border:2px solid rgba(30,41,36,.32);border-radius:11px;padding-left:12px;color:var(--tabletop-ink, #1e2924);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%231e2924' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:15px 15px;cursor:pointer}.tabletop-setup select:focus-visible{outline:3px solid var(--tabletop-accent, #e85d3f);outline-offset:2px}.tabletop-setup input[type=checkbox]{width:44px;accent-color:var(--tabletop-accent)}.tabletop-setup small{color:#617069;font-weight:500}.tabletop-setup__field{display:grid;gap:8px;font-weight:900;color:var(--home-ink, #221e1a)}.tabletop-setup__label{font-size:.94rem;font-weight:900;color:var(--home-ink, #221e1a)}.setup-chips{display:flex;flex-wrap:wrap;gap:8px}.setup-chip{display:inline-flex;gap:6px;align-items:center;min-height:40px;padding:6px 16px;border:2px solid var(--home-ink, #221e1a);border-radius:999px;color:var(--home-ink, #221e1a);background:#fff;font:inherit;font-size:.88rem;font-weight:900;cursor:pointer;box-shadow:2px 2px #221e1a33;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.setup-chip:hover:not(:disabled){border-color:var(--home-ink, #221e1a);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--home-ink, #221e1a)}.setup-chip:active:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px 0 var(--home-ink, #221e1a)}.setup-chip.is-selected{border-color:var(--home-ink, #221e1a);color:#fff;background:var(--home-coral, #ea4335);box-shadow:3px 3px 0 var(--home-ink, #221e1a)}.setup-chip:disabled{opacity:.55;cursor:not-allowed}.setup-chip__badge{padding:1px 7px;border-radius:999px;color:#3b2a0c;background:#ecd9b3;border:1px solid rgba(59,42,12,.2);font-size:.64rem;font-style:normal;font-weight:900}.setup-chip.is-selected .setup-chip__badge{color:#fff;background:#7f1d1d;border:1px solid rgba(255,255,255,.4)}.setup-chip-group{display:inline-flex;align-items:center;position:relative;gap:6px}.setup-chip-info-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--home-ink, #221e1a);background:#fff;color:var(--home-muted, #716b61);cursor:pointer;box-shadow:1.5px 1.5px #221e1a33;transition:transform .12s ease,background .12s ease,color .12s ease,box-shadow .12s ease;padding:0;flex-shrink:0}.setup-chip-info-btn:hover{background:#fef08a;color:#854d0e;transform:scale(1.1);box-shadow:2px 2px 0 var(--home-ink, #221e1a)}.setup-chip-info-btn:active{transform:scale(.95);box-shadow:1px 1px 0 var(--home-ink, #221e1a)}.rules-detail-backdrop{position:fixed;inset:0;z-index:99999;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .15s ease-out}.rules-detail-modal{width:100%;max-width:480px;max-height:min(88dvh,720px);display:flex;flex-direction:column;background:#fff;border:3px solid var(--home-ink, #221e1a);border-radius:20px;box-shadow:6px 6px 0 var(--home-ink, #221e1a);overflow:hidden;animation:scaleUp .18s cubic-bezier(.16,1,.3,1)}.rules-detail-modal__header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 20px 14px;background:#fef9c3;border-bottom:2px solid var(--home-ink, #221e1a)}.rules-detail-modal__title-row{display:flex;flex-direction:column;gap:4px}.rules-detail-modal__tag{font-size:.72rem;font-weight:900;color:#a16207;background:#fde047;padding:2px 8px;border-radius:999px;border:1.5px solid var(--home-ink, #221e1a);width:fit-content}.rules-detail-modal__header h3{margin:0;font-size:1.12rem;font-weight:900;color:var(--home-ink, #221e1a)}.rules-detail-modal__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:2px solid var(--home-ink, #221e1a);background:#fff;color:var(--home-ink, #221e1a);cursor:pointer;box-shadow:2px 2px 0 var(--home-ink, #221e1a);transition:transform .1s ease;flex-shrink:0}.rules-detail-modal__close:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--home-ink, #221e1a)}.rules-detail-modal__close:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--home-ink, #221e1a)}.rules-detail-modal__body{padding:18px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.rules-detail-modal__summary{margin:0;font-size:.92rem;line-height:1.55;color:#374151;background:#f3f4f6;padding:12px 14px;border-radius:12px;border:1.5px solid #e5e7eb}.rules-detail-modal__points h4{margin:0 0 8px;font-size:.92rem;font-weight:800;color:var(--home-ink, #221e1a)}.rules-detail-modal__points ul{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:8px}.rules-detail-modal__points li{font-size:.86rem;line-height:1.5;color:#4b5563;padding:8px 12px;background:#fafafa;border-radius:8px;border-left:3px solid var(--home-coral, #ea4335)}.rules-detail-modal__footer{padding:12px 20px;border-top:2px solid var(--home-ink, #221e1a);background:#f9fafb;display:flex;justify-content:flex-end}.rules-detail-modal__ok-btn{padding:8px 22px;border:2px solid var(--home-ink, #221e1a);border-radius:999px;background:var(--home-coral, #ea4335);color:#fff;font-weight:800;font-size:.9rem;cursor:pointer;box-shadow:2px 2px 0 var(--home-ink, #221e1a);transition:transform .1s ease}.rules-detail-modal__ok-btn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--home-ink, #221e1a)}.rules-detail-modal__ok-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--home-ink, #221e1a)}.tabletop-setup__desc{font-size:.78rem;color:var(--home-muted, #716b61);font-weight:600;margin-top:-2px}.setup-stepper{display:inline-flex;align-items:center;gap:8px}.setup-stepper__btn{width:38px;height:38px;border:2px solid var(--home-ink, #221e1a);border-radius:50%;background:#fff;color:var(--home-ink, #221e1a);font-size:1.2rem;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:2px 2px 0 var(--home-ink, #221e1a);transition:all .12s ease}.setup-stepper__btn:hover:not(:disabled){background:#fff8db;transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--home-ink, #221e1a)}.setup-stepper__btn:active:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px 0 var(--home-ink, #221e1a)}.setup-stepper__btn:disabled{opacity:.4;cursor:not-allowed}.setup-stepper__display{display:flex;align-items:center;justify-content:center;gap:4px;min-width:90px;padding:6px 14px;background:#fff;border:2px solid var(--home-ink, #221e1a);border-radius:999px;box-shadow:2px 2px 0 var(--home-ink, #221e1a)}.setup-stepper__number{font-size:.95rem;font-weight:900;color:var(--home-ink, #221e1a)}.setup-stepper__unit{font-size:.78rem;font-weight:800;color:var(--home-muted, #716b61)}.tabletop-setup--compact{gap:12px;margin:4px 0 6px;padding:16px;background:#fff8db;border:2px solid var(--home-ink, #221e1a);border-radius:18px;box-shadow:4px 5px 0 var(--home-ink, #221e1a)}.tabletop-setup--compact .tabletop-setup__heading h2{font-size:1rem;font-weight:900;color:var(--home-ink, #221e1a);margin:0}@media(orientation:landscape)and (max-height:520px){.tabletop-shell{padding-bottom:calc(var(--safe-bottom) + 8px)}.tabletop-player-strip{margin-block:8px}.tabletop-surface{min-height:42dvh}.tabletop-bottom-bar{padding:4px 8px}.card-fan-container{--fan-card-w: 44px;--fan-card-h: 64px;--fan-lift: 12px;--fan-max-angle-cap: 30}.card-fan-action-bar{top:-38px}.card-fan-play-btn{padding:5px 16px;font-size:.85rem}.new-game-actions button{min-height:36px;padding:4px 12px}.tabletop-action{min-height:38px;font-size:.85rem}.tabletop-action-dock{padding:6px;gap:6px}}@media(min-width:768px){.tabletop-shell{max-width:1120px;margin:auto;padding-inline:28px}.tabletop-drawer-backdrop{justify-items:end}.tabletop-drawer{width:min(440px,92vw);height:100dvh;max-height:none;border-radius:24px 0 0 24px}}.werewolf-arena{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:12px 16px 8px;gap:8px;overflow:hidden;box-sizing:border-box}.werewolf-arena>.moon-header{max-width:680px;width:100%;flex-shrink:0}.werewolf-arena__board{position:relative;flex:1;width:100%;min-height:0;display:flex;align-items:center;justify-content:center}.werewolf-arena__center-stack{position:relative;z-index:5;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:560px;max-height:82%;width:86%}.wc-eye-blink{position:fixed;inset:0;z-index:999999;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between}.wc-eye-blink__lid{width:100%;height:52%;background:#0d0a08;position:absolute;left:0}.wc-eye-blink__lid--top{top:0;transform-origin:top;animation:eyelid-shut-open-top .7s cubic-bezier(.45,.05,.55,.95) forwards;box-shadow:0 12px 48px #000000f2}.wc-eye-blink__lid--bottom{bottom:0;transform-origin:bottom;animation:eyelid-shut-open-bottom .7s cubic-bezier(.45,.05,.55,.95) forwards;box-shadow:0 -12px 48px #000000f2}.wc-eye-blink__center-focus{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;color:var(--wc-gold, #c5a059);font-size:2.4rem;animation:eye-center-fade .7s ease-in-out forwards;text-shadow:0 0 24px rgba(197,160,89,.8),0 0 48px rgba(197,160,89,.4)}@keyframes eyelid-shut-open-top{0%{transform:translateY(-100%)}35%{transform:translateY(0)}65%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes eyelid-shut-open-bottom{0%{transform:translateY(100%)}35%{transform:translateY(0)}65%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes eye-center-fade{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}35%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}65%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.35)}}.werewolf-ambient-fx{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.werewolf-fog-drift{position:absolute;inset:-35%;background:radial-gradient(circle at 35% 35%,rgba(184,134,11,.09),transparent 55%),radial-gradient(circle at 65% 40%,rgba(138,28,28,.14),transparent 60%),radial-gradient(circle at 45% 70%,rgba(255,255,255,.05),transparent 55%),radial-gradient(circle at 55% 55%,rgba(0,0,0,.3),transparent 62%);filter:blur(20px);animation:wc-fog-drift 22s ease-in-out infinite}@keyframes wc-fog-drift{0%{transform:translate3d(-2%,-1%,0) scale(1)}50%{transform:translate3d(2%,1.5%,0) scale(1.05)}to{transform:translate3d(-2%,-1%,0) scale(1)}}.werewolf-night-stars{position:absolute;inset:0;background-image:radial-gradient(1.5px 1.5px at 15% 25%,rgba(255,255,255,.85) 50%,transparent 100%),radial-gradient(2px 2px at 45% 15%,rgba(255,255,255,.9) 50%,transparent 100%),radial-gradient(1px 1px at 75% 35%,rgba(255,255,255,.7) 50%,transparent 100%),radial-gradient(2.5px 2.5px at 85% 65%,rgba(197,160,89,.85) 50%,transparent 100%),radial-gradient(1.5px 1.5px at 25% 75%,rgba(212,170,85,.8) 50%,transparent 100%),radial-gradient(2px 2px at 60% 80%,rgba(255,255,255,.8) 50%,transparent 100%),radial-gradient(1.5px 1.5px at 90% 18%,rgba(255,255,255,.75) 50%,transparent 100%);background-size:550px 550px;animation:wwStarsTwinkle 4s ease-in-out infinite alternate}@keyframes wwStarsTwinkle{0%{opacity:.45;transform:scale(1)}50%{opacity:.85;transform:scale(1.02)}to{opacity:.6;transform:scale(.99)}}.werewolf-day-sunbeams{position:absolute;inset:0;background:radial-gradient(circle at 50% -10%,rgba(255,225,140,.35) 0%,transparent 70%),radial-gradient(circle at 20% 20%,rgba(255,240,180,.2) 0%,transparent 50%),radial-gradient(circle at 80% 30%,rgba(255,245,200,.25) 0%,transparent 55%);animation:wwSunbeamPulse 6s ease-in-out infinite alternate}@keyframes wwSunbeamPulse{0%{opacity:.6;transform:translateY(0)}to{opacity:1;transform:translateY(-4px)}}.werewolf-dawn-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,rgba(245,158,11,.35) 0%,rgba(239,68,68,.18) 45%,transparent 75%);animation:dawn-horizon-pulse 5s ease-in-out infinite alternate}@keyframes dawn-horizon-pulse{0%{opacity:.7;transform:scaleY(.95)}to{opacity:1;transform:scaleY(1.05)}}.werewolf-spotlight{position:relative;z-index:6;display:flex;align-items:center;gap:14px;padding:10px 16px;border-radius:12px;border:1px solid var(--wc-line, rgba(197, 160, 89, .3));background:linear-gradient(135deg,#231c18f0,#120e0cf5);box-shadow:0 12px 36px #00000073,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:580px;width:100%;animation:wwSpotlightFadeIn .35s ease-out}.tabletop-theme-tribunal-day .werewolf-spotlight{background:linear-gradient(135deg,#fffaf0f2,#f6ebd7f2);border-color:#b37e1b59;box-shadow:0 10px 30px #78501429,inset 0 1px #fffc;color:#2b2216}@keyframes wwSpotlightFadeIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.werewolf-spotlight__avatar-frame{position:relative;flex-shrink:0;width:68px;height:78px;display:flex;align-items:flex-end;justify-content:center;border-radius:12px;background:radial-gradient(ellipse at 50% 35%,rgba(255,255,255,.08),transparent 75%);border:1.5px solid var(--wc-gold, #c5a059);box-shadow:0 8px 22px #00000073,inset 0 0 16px #c5a05926;overflow:visible}.werewolf-spotlight__avatar-frame:after{content:"";position:absolute;bottom:2px;left:12%;right:12%;height:7px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.75) 0%,transparent 80%);filter:blur(2px);z-index:1;pointer-events:none}.werewolf-spotlight--wolf .werewolf-spotlight__avatar-frame{border-color:var(--wc-blood-light, #cf3838);box-shadow:0 0 20px #cf383873,inset 0 0 16px #cf383833}.werewolf-spotlight--seer .werewolf-spotlight__avatar-frame{border-color:#60a5fa;box-shadow:0 0 20px #60a5fa73,inset 0 0 16px #60a5fa33}.werewolf-spotlight--witch .werewolf-spotlight__avatar-frame{border-color:#c084fc;box-shadow:0 0 20px #c084fc73,inset 0 0 16px #c084fc33}.werewolf-spotlight--guard .werewolf-spotlight__avatar-frame{border-color:#4ade80;box-shadow:0 0 20px #4ade8073,inset 0 0 16px #4ade8033}.werewolf-spotlight--hunter .werewolf-spotlight__avatar-frame{border-color:#fb923c;box-shadow:0 0 20px #fb923c73,inset 0 0 16px #fb923c33}.werewolf-spotlight__img{width:100%;height:100%;object-fit:contain;display:block;position:relative;z-index:2;filter:drop-shadow(0 4px 10px rgba(0,0,0,.6));animation:wc-card-float 3.6s ease-in-out infinite}@keyframes wc-card-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.werewolf-spotlight__role-badge{position:absolute;bottom:0;left:0;right:0;text-align:center;background:#000000bf;color:#fff;font-size:.62rem;font-weight:800;padding:1px 0;letter-spacing:.08em}.werewolf-spotlight__content{flex:1;min-width:0}.werewolf-spotlight__tag{font-size:.68rem;font-weight:700;letter-spacing:.12em;color:var(--wc-gold, #c5a059);text-transform:uppercase;margin-bottom:2px}.tabletop-theme-tribunal-day .werewolf-spotlight__tag{color:#a16207}.werewolf-spotlight__role-name{margin:0 0 4px;font-size:1.15rem;font-weight:900;color:var(--wc-paper, #f0e6d2);font-family:var(--wc-font-title);letter-spacing:.06em}.tabletop-theme-tribunal-day .werewolf-spotlight__role-name{color:#1f1a14}.werewolf-spotlight__desc{margin:0;font-size:.76rem;color:var(--wc-text-dim, rgba(240, 230, 210, .75));line-height:1.4}.tabletop-theme-tribunal-day .werewolf-spotlight__desc{color:#4b3d2b}.werewolf-role-intel{display:flex;flex-direction:column;gap:4px}.werewolf-role-intel__header{display:flex;align-items:center;gap:6px;font-weight:800;font-size:.88rem;color:var(--wc-gold, #c5a059)}.tabletop-theme-tribunal-day .werewolf-role-intel__header{color:#a16207}.werewolf-role-intel__teammates,.werewolf-role-intel__history,.werewolf-role-intel__potions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.74rem;color:var(--wc-paper, #f0e6d2)}.werewolf-role-intel__label{font-weight:700;color:var(--wc-gold, #c5a059)}.tabletop-theme-tribunal-day .werewolf-role-intel__teammates,.tabletop-theme-tribunal-day .werewolf-role-intel__history,.tabletop-theme-tribunal-day .werewolf-role-intel__potions{color:#4b3d2b}.tabletop-theme-tribunal-day .werewolf-role-intel__label{color:#a16207}.werewolf-role-intel__tag{display:inline-flex;align-items:center;padding:2px 7px;border-radius:4px;font-size:.72rem;font-weight:700;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:var(--wc-paper, #f0e6d2)}.werewolf-role-intel__tag.is-alive{border-color:#8a1c1c99;background:#8a1c1c40;color:#fca5a5}.werewolf-role-intel__tag--wolves{border-color:#dc262699;background:#dc262633;color:#f87171}.werewolf-role-intel__tag--village{border-color:#10b98199;background:#10b98133;color:#6ee7b7}.potion-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:700}.potion-badge.is-ready{background:#10b98133;border:1px solid rgba(16,185,129,.5);color:#6ee7b7}.potion-badge.is-spent{background:#64646433;border:1px solid rgba(100,100,100,.4);color:#9ca3af;text-decoration:line-through}.werewolf-role-intel__alert{padding:4px 8px;border-radius:6px;background:#dc262633;border:1px solid rgba(220,38,38,.4);color:#fca5a5;font-size:.76rem;font-weight:700}.werewolf-role-intel__tip{margin:0;font-size:.72rem;color:var(--wc-text-dim, rgba(240, 230, 210, .6));line-height:1.35}.tabletop-theme-tribunal-day .werewolf-role-intel__tip{color:#5c4b38}.werewolf-spotlight--dawn{border-color:#f59e0b66;background:linear-gradient(135deg,#2d1a14f0,#1c0f0ef5)}.werewolf-spotlight__headline{margin:0 0 3px;font-size:1.05rem;font-weight:800;color:#fbbf24;font-family:var(--wc-font-title)}.werewolf-spotlight__subhint{margin:0;font-size:.74rem;color:#fbbf24bf}.werewolf-spotlight--speaking{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;background:linear-gradient(145deg,#261e19f5,#16110efa)!important;border:1.5px solid rgba(197,160,89,.45)!important;box-shadow:0 10px 28px #00000080,inset 0 1px #ffffff14!important;padding:12px 18px 14px!important;width:100%!important;max-width:480px!important;min-height:88px!important;margin:0 auto!important;border-radius:16px!important;box-sizing:border-box!important;transition:all .25s ease!important}.tabletop-theme-tribunal-day .werewolf-spotlight--speaking{background:linear-gradient(145deg,#fff,#faf6ee)!important;border-color:#b48c5073!important;box-shadow:0 8px 24px #7850141f,inset 0 1px #fffc!important}.werewolf-spotlight--free-discussion{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;background:linear-gradient(145deg,#261e19f5,#16110efa)!important;border:1.5px solid rgba(197,160,89,.45)!important;box-shadow:0 10px 28px #00000080,inset 0 1px #ffffff14!important;padding:12px 18px 14px!important;width:100%!important;max-width:480px!important;margin:0 auto!important;border-radius:16px!important;box-sizing:border-box!important}.tabletop-theme-tribunal-day .werewolf-spotlight--free-discussion{background:linear-gradient(145deg,#fff,#faf6ee)!important;border-color:#b48c5073!important;box-shadow:0 8px 24px #7850141f,inset 0 1px #fffc!important;color:#291e14!important}.werewolf-spotlight--voting{display:flex!important;flex-direction:column!important;gap:8px!important;background:linear-gradient(135deg,#201915f5,#2b211af5)!important;border:1px solid rgba(197,160,89,.45)!important;box-shadow:0 12px 32px #00000080,inset 0 1px #ffffff14!important;border-radius:14px!important;padding:12px 18px 14px!important;width:100%!important;max-width:480px!important;margin:0 auto!important;box-sizing:border-box!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important}.tabletop-theme-tribunal-day .werewolf-spotlight--voting{background:linear-gradient(135deg,#fffcf5f5,#f6ebd7f5)!important;border-color:#b48c5073!important;box-shadow:0 8px 24px #78501424,inset 0 1px #fffc!important;color:#291e14!important}.werewolf-spotlight__vote-header{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.werewolf-spotlight__vote-title-wrap{display:flex;align-items:center;gap:8px}.werewolf-spotlight__pulsing-dot{width:8px;height:8px;border-radius:50%;background:var(--wc-gold-light, #fde047);box-shadow:0 0 10px #fde047cc;animation:pulse 1.8s infinite}.werewolf-spotlight__vote-title{font-size:.92rem;font-weight:700;letter-spacing:.03em;color:#f5ebd7}.tabletop-theme-tribunal-day .werewolf-spotlight__vote-title{color:#451a03}.werewolf-spotlight__vote-tally{display:flex;align-items:center;gap:4px;font-size:.82rem;color:#f0e6d2b3}.tabletop-theme-tribunal-day .werewolf-spotlight__vote-tally{color:#78350f}.werewolf-spotlight__vote-tally-label{font-size:.75rem;color:#f0e6d299}.werewolf-spotlight__vote-tally-num{font-family:var(--wc-font-title, inherit);font-size:1.1rem;font-weight:800;color:var(--wc-gold-light, #fde047)}.tabletop-theme-tribunal-day .werewolf-spotlight__vote-tally-num{color:#b45309}.werewolf-spotlight__vote-percent-badge{display:inline-block;font-size:.7rem;font-weight:700;font-family:monospace;padding:1px 6px;border-radius:4px;background:#c5a05940;color:var(--wc-gold-light, #fef08a);border:1px solid rgba(197,160,89,.4);margin-left:4px}.tabletop-theme-tribunal-day .werewolf-spotlight__vote-percent-badge{background:#b4530926;color:#92400e;border-color:#b453094d}.werewolf-spotlight__vote-track{width:100%;height:10px;background:#140f0ce6;border-radius:9999px;border:1px solid rgba(197,160,89,.35);overflow:hidden;box-shadow:inset 0 2px 4px #0009;position:relative}.tabletop-theme-tribunal-day .werewolf-spotlight__vote-track{background:#00000014;border-color:#b48c5059;box-shadow:inset 0 1px 3px #00000026}.werewolf-spotlight__vote-fill{height:100%;border-radius:9999px;background:linear-gradient(90deg,#b8860b,#c5a059 40%,#fde047 80%,#c5a059);background-size:200% 100%;box-shadow:0 0 12px #fde04766;transition:width .4s cubic-bezier(.4,0,.2,1);position:relative}.werewolf-spotlight__vote-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:werewolfVoteShimmer 2.2s infinite}@keyframes werewolfVoteShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.werewolf-spotlight__vote-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.78rem;padding-top:4px;border-top:1px solid rgba(197,160,89,.15);width:100%;flex-wrap:wrap}.tabletop-theme-tribunal-day .werewolf-spotlight__vote-footer{border-top-color:#b48c5033}.werewolf-spotlight__vote-status-text{display:inline-flex;align-items:center;gap:6px;color:#e5d8c6}.tabletop-theme-tribunal-day .werewolf-spotlight__vote-status-text{color:#3b2a1a}.werewolf-spotlight__voted-badge{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:4px;background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.35);font-weight:700;font-size:.74rem}.tabletop-theme-tribunal-day .werewolf-spotlight__voted-badge{background:#0596691f;color:#047857;border-color:#0596694d}.werewolf-spotlight__vote-hint{color:#f0e6d2a6;font-size:.74rem}.tabletop-theme-tribunal-day .werewolf-spotlight__vote-hint{color:#6b5842}.werewolf-spotlight__vote-remaining{font-size:.74rem;color:#f0e6d299;font-family:monospace}.tabletop-theme-tribunal-day .werewolf-spotlight__vote-remaining{color:#78350f}.werewolf-spotlight__vote-remaining strong{color:var(--wc-gold-light, #fde047);font-weight:700}.tabletop-theme-tribunal-day .werewolf-spotlight__vote-remaining strong{color:#b45309}.werewolf-spotlight__speaker-halo{display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;margin-bottom:6px!important}.werewolf-spotlight__speaker-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.werewolf-spotlight__speaker-tag{padding:2px 7px!important;background:var(--wc-gold, #c5a059)!important;color:#1a1614!important;border-radius:4px!important;font-size:.72rem!important;font-weight:800!important;line-height:1.2!important}.tabletop-theme-tribunal-day .werewolf-spotlight__speaker-tag{background:#b45309!important;color:#fff!important}.werewolf-spotlight__speaker-name{font-size:1.05rem!important;color:var(--wc-gold, #e0b468)!important;font-weight:800!important;line-height:1.2!important}.tabletop-theme-tribunal-day .werewolf-spotlight__speaker-name{color:#854d0e!important}.werewolf-spotlight__self-badge{font-size:.7rem;font-weight:800;padding:1px 5px;border-radius:4px;background:#c5a05933;color:var(--wc-gold, #c5a059);border:1px solid rgba(197,160,89,.4)}.werewolf-spotlight__speaker-line{margin:0!important;width:100%!important;max-width:100%!important;color:#f7ede2!important;font-size:.95rem!important;font-weight:500!important;line-height:1.55!important;text-align:left!important;word-break:break-word!important;white-space:pre-wrap!important}.tabletop-theme-tribunal-day .werewolf-spotlight__speaker-line{color:#291e14!important}.moon-header{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(10px,2vw,18px);min-height:80px;padding:10px clamp(12px,2.5vw,22px);border:1px solid rgba(197,160,89,.28);border-radius:10px;background:linear-gradient(118deg,#1f1914eb,#110d0ae6);box-shadow:inset 0 1px #c5a0591f,0 14px 40px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tabletop-theme-tribunal-day .moon-header{background:linear-gradient(118deg,#fffaf0f0,#f6ebd7f2);border-color:#b37e1b59;box-shadow:inset 0 1px #fffc,0 10px 30px #78501424}.moon-header__dial{display:grid;width:clamp(48px,6vw,64px);aspect-ratio:1;place-items:center;border:1px solid rgba(197,160,89,.4);border-radius:50%;background:radial-gradient(circle,rgba(197,160,89,.16),transparent 68%);box-shadow:0 0 20px #c5a05924}.moon-header__glyph{display:inline-flex;align-items:center;justify-content:center;font-size:clamp(1.6rem,3.5vw,2.4rem);line-height:1;filter:drop-shadow(0 0 10px rgba(197,160,89,.45))}.moon-header__role-art{width:90%;height:90%;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.55));animation:moon-role-pop .35s cubic-bezier(.34,1.56,.64,1)}@keyframes moon-role-pop{0%{transform:scale(.65);opacity:0}to{transform:scale(1);opacity:1}}.moon-header__copy{min-width:0}.moon-header__copy h1{margin:2px 0 3px;color:var(--wc-paper, #f0e6d2);font-family:var(--wc-font-title);font-size:clamp(1.05rem,2.2vw,1.45rem);font-weight:800;letter-spacing:.08em}.tabletop-theme-tribunal-day .moon-header__copy h1{color:#1f1a14}.moon-header__eyebrow{display:inline-block;color:var(--wc-gold, #c5a059);font-family:var(--wc-font-body);font-size:.68rem;font-weight:700;letter-spacing:.18em}.tabletop-theme-tribunal-day .moon-header__eyebrow{color:#a16207}.moon-header__copy p{margin:0;color:var(--wc-text-dim, rgba(240, 230, 210, .72));font-size:.76rem;line-height:1.35}.tabletop-theme-tribunal-day .moon-header__copy p{color:#4b3d2b}.moon-header__side{display:flex;align-items:center;gap:8px}.moon-header__timer{display:flex;align-items:baseline;gap:2px;padding:4px 10px;border-radius:6px;background:#00000059;border:1px solid rgba(197,160,89,.3);color:var(--wc-gold, #c5a059)}.moon-header__timer strong{font-size:1.25rem;font-weight:900}.moon-header__timer small{font-size:.65rem}.moon-header__timer.is-urgent{border-color:var(--wc-blood-light, #cf3838);background:#8a1c1c66;color:#fca5a5;animation:wwUrgentPulse 1s ease-in-out infinite}@keyframes wwUrgentPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.tabletop-theme-tribunal-day .moon-header__timer{background:#14100eb8;border-color:#b37e1b80;color:#d4a017}.tabletop-theme-tribunal-day .moon-header__timer strong{color:#e8b020}.tabletop-theme-tribunal-day .moon-header__timer small{color:#d4a017d9}.seat-ring{position:absolute;inset:0;width:100%;height:100%;margin:0;pointer-events:none}.werewolf-arena__caption{position:absolute;bottom:8px;z-index:3;margin:0;padding:3px 12px;border:1px solid rgba(197,160,89,.35);border-radius:999px;color:var(--wc-gold, #c5a059);background:#14100db3;font-family:var(--wc-font-body);font-size:.68rem;letter-spacing:.16em;white-space:nowrap}.tabletop-theme-tribunal-day .werewolf-arena__caption{background:#fffaf0d9;border-color:#b37e1b66;color:#a16207}.seat-ring__list{position:absolute;inset:0;margin:0;padding:0;list-style:none}.seat-chip{position:absolute;z-index:2;pointer-events:auto;display:flex;flex-direction:column;justify-content:space-between;gap:2px;width:clamp(100px,12vw,132px);min-height:60px;height:auto;padding:6px 8px 5px;border:1px solid rgba(197,160,89,.24);border-radius:8px;translate:-50% -50%;color:var(--wc-paper, #f0e6d2);background-color:#1a1411;background:linear-gradient(150deg,#261e1af0,#14100df2);box-shadow:0 8px 20px #00000059,inset 0 1px #f0e6d20f;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;overflow:visible;box-sizing:border-box}.seat-ring.is-dense .seat-chip{width:88px;padding-inline:6px}.tabletop-theme-tribunal-day .seat-chip{background-color:#fffcf5;background:linear-gradient(150deg,#fffcf5f0,#f5ebd7f2);border-color:#b37e1b4d;box-shadow:0 6px 16px #7850141f,inset 0 1px #fffc;color:#2b2216}.seat-chip__head{display:flex;align-items:center;justify-content:space-between;width:100%;gap:2px}.seat-chip__head-left{display:flex;align-items:center;gap:4px}.seat-chip__head-badges{display:flex;align-items:center;gap:2px}.seat-chip__seat{color:var(--wc-gold, #c5a059);font-family:var(--wc-font-title);font-size:.68rem;font-weight:800;letter-spacing:.08em;line-height:1}.tabletop-theme-tribunal-day .seat-chip__seat{color:#a16207}.seat-chip__name{overflow:hidden;color:var(--wc-paper, #f0e6d2);font-family:var(--wc-font-body);font-size:.82rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap;line-height:1.25;margin:1px 0}.tabletop-theme-tribunal-day .seat-chip__name{color:#1f1a14}.seat-chip__status-line{display:flex;flex-direction:column;gap:1px}.seat-chip__status{color:var(--wc-text-dim, #f0e6d2);font-size:.66rem;font-weight:800;line-height:1.2;white-space:normal;word-break:break-all}.tabletop-theme-tribunal-day .seat-chip__status{color:#5c4b38}.seat-chip__mark{margin-right:3px;color:#8fb59ce6}.seat-chip__role{color:var(--wc-gold, #c5a059);font-size:.66rem;font-weight:700}.seat-chip__badges{display:flex;flex-wrap:wrap;gap:3px}.seat-chip__badges:empty{display:none}.seat-chip__badge{padding:1px 5px;border:1px solid rgba(240,230,210,.28);border-radius:999px;color:var(--wc-paper, #f0e6d2);font-size:.58rem;font-weight:800}.seat-chip__badge--ally{color:#fca5a5;border-color:#dc2626b3;background:#dc262640}.seat-chip__badge--self{border-color:#f59e0b;color:#f59e0b;background:#f59e0b26}.seat-chip__badge--speaking{color:#1a1614;border-color:var(--wc-gold, #c5a059);background:var(--wc-gold, #c5a059)}.seat-chip.is-self{border-color:#c5a059b3;box-shadow:0 0 0 2px #c5a05933,0 10px 24px #0006}.seat-chip.is-speaking{border-color:var(--wc-gold, #c5a059)!important;box-shadow:0 0 0 2px #c5a05966,0 0 24px #c5a05980!important;transform:scale(1.04);animation:wc-speaking-breathe 2.4s ease-in-out infinite}.seat-chip.is-speaking:before{content:"";position:absolute;inset:-6px;border-radius:12px;border:1.5px solid rgba(197,160,89,.7);pointer-events:none;animation:wc-speech-ripple 1.8s cubic-bezier(.25,.46,.45,.94) infinite}@keyframes wc-speaking-breathe{0%,to{transform:scale(1.04)}50%{transform:scale(1.07)}}@keyframes wc-speech-ripple{0%{transform:scale(.96);opacity:.95}to{transform:scale(1.18);opacity:0}}.seat-chip.is-out{opacity:.55;filter:grayscale(.8)}.seat-chip.is-out:after{content:"出局";position:absolute;top:3px;right:4px;padding:1px 5px;border:1.5px solid rgba(185,54,54,.9);border-radius:4px;color:#fff;background:radial-gradient(circle at 30% 30%,#b93636,#8a1c1c 65%,#581010);box-shadow:0 2px 8px #00000080,inset 0 1px 1px #ffffff59;font-size:.54rem;font-weight:900;letter-spacing:.05em;transform:rotate(-8deg);text-shadow:0 1px 2px rgba(0,0,0,.6)}.seat-chip.is-targetable{cursor:pointer}.seat-chip.is-targetable:hover{border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b66,0 8px 24px #00000073}.seat-chip.is-target-selected{border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b8c,0 0 16px #f59e0b4d}.tabletop-shell .seat-chip:active,.seat-chip:active{transform:scale(.97)!important}.tabletop-shell .seat-chip.is-speaking:active,.seat-chip.is-speaking:active{transform:scale(1.02)!important}.jv-target-menu{position:fixed;z-index:10050;display:flex;flex-direction:column;gap:10px;min-width:200px;max-width:280px;padding:12px 14px;border:1.5px solid rgba(197,160,89,.45);border-radius:12px;background:linear-gradient(150deg,#241c18fa,#120e0bfa);box-shadow:0 16px 36px #000000bf,0 0 0 1px #ffffff14,0 0 20px #c5a0592e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--wc-paper, #f0e6d2);pointer-events:auto;box-sizing:border-box;animation:jv-menu-pop .16s cubic-bezier(.16,1,.3,1)}.jv-target-menu--above{transform:translate(-50%,-100%)}.jv-target-menu--below{transform:translate(-50%);animation-name:jv-menu-pop-below}@keyframes jv-menu-pop{0%{opacity:0;transform:translate(-50%,-100%) scale(.92)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}@keyframes jv-menu-pop-below{0%{opacity:0;transform:translate(-50%) scale(.92)}to{opacity:1;transform:translate(-50%) scale(1)}}.jv-target-menu__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:8px;border-bottom:1px solid rgba(197,160,89,.2)}.jv-target-menu__seat{color:var(--wc-gold, #c5a059);font-size:.76rem;font-weight:800}.jv-target-menu__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:800;color:#fff}.jv-target-menu__close{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:50%;background:#ffffff1a;color:#f0e6d2b3;font-size:.75rem;cursor:pointer;transition:background .15s ease,color .15s ease}.jv-target-menu__close:hover{background:#fff3;color:#fff}.jv-target-menu__actions{display:flex;flex-direction:column;gap:8px}.jv-target-menu__btn{display:flex;align-items:center;justify-content:center;width:100%;padding:9px 14px;border:1px solid rgba(197,160,89,.35);border-radius:8px;background:#2d241ee6;color:var(--wc-paper, #f0e6d2);font-family:inherit;font-size:.85rem;font-weight:800;letter-spacing:.04em;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease;box-shadow:0 4px 12px #0000004d}.jv-target-menu__btn:hover{background:#46362cf2;border-color:var(--wc-gold, #c5a059)}.jv-target-menu__btn:active{transform:scale(.97)}.jv-target-menu__btn--danger{border-color:#ef444499;background:linear-gradient(135deg,#b91c1cd9,#7f1d1de6);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.jv-target-menu__btn--danger:hover{background:linear-gradient(135deg,#dc2626f2,#991b1bf2);border-color:#f87171;box-shadow:0 4px 16px #dc262666}.jv-target-menu__btn--safe{border-color:#22c55e99;background:linear-gradient(135deg,#15803dd9,#14532de6);color:#fff}.jv-target-menu__btn--safe:hover{background:linear-gradient(135deg,#22c55ef2,#166534f2);border-color:#4ade80;box-shadow:0 4px 16px #22c55e66}.jv-target-menu__btn--primary{border-color:#c5a05999;background:linear-gradient(135deg,#c5a05940,#a0783259);color:#fef08a}.jv-target-menu__btn--primary:hover{background:linear-gradient(135deg,#c5a05973,#a078328c);border-color:#fef08a}.vote-ledger,.werewolf-reveal{border:1px solid rgba(197,160,89,.24);border-radius:8px;background:#1c1612f0;padding:8px 12px;box-shadow:0 10px 24px #0006;color:var(--wc-text, #f0e6d2)}.vote-ledger__progress-box{display:flex;flex-direction:column;gap:5px;min-width:140px}.vote-ledger__progress-header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.76rem;color:var(--wc-text-dim, rgba(240, 230, 210, .62))}.vote-ledger__progress-label{font-weight:600;color:var(--wc-text, #f0e6d2)}.tabletop-theme-tribunal-day .vote-ledger__progress-label{color:#2b2216}.vote-ledger__progress-tally{font-family:var(--wc-font-body)}.vote-ledger__progress-tally strong{color:var(--wc-gold, #c5a059);font-family:var(--wc-font-title);font-size:.95rem}.tabletop-theme-tribunal-day .vote-ledger__progress-tally strong{color:#a16207}.vote-ledger__progress-percent{font-size:.7rem;color:var(--wc-text-dim, rgba(240, 230, 210, .5));margin-left:3px}.tabletop-theme-tribunal-day .vote-ledger__progress-percent{color:#78350f}.vote-ledger__progress-track{width:100%;height:6px;background:#120e0bd9;border:1px solid rgba(197,160,89,.25);border-radius:9999px;overflow:hidden;box-shadow:inset 0 1px 2px #0006}.tabletop-theme-tribunal-day .vote-ledger__progress-track{background:#00000014;border-color:#b37e1b4d;box-shadow:inset 0 1px 2px #0000001a}.vote-ledger__progress-fill{height:100%;border-radius:9999px;background:linear-gradient(90deg,#b8860b,#c5a059,#fde047);box-shadow:0 0 6px #fde04759;transition:width .35s ease-out}.vote-ledger__rows li,.werewolf-reveal li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 10px;border:1px solid rgba(197,160,89,.1);border-radius:6px;background:#f0e6d20a;color:var(--wc-text, #f0e6d2);font-size:.88rem}.vote-ledger__rows li span,.werewolf-reveal li span{color:var(--wc-text, #f0e6d2);font-weight:600;font-family:var(--wc-font-body)}.tabletop-theme-tribunal-day .vote-ledger,.tabletop-theme-tribunal-day .werewolf-reveal{background:linear-gradient(135deg,#fffcf5f5,#f6ebd7f5);border-color:#b37e1b59;box-shadow:0 8px 24px #78501426;color:#2b2216}.tabletop-theme-tribunal-day .vote-ledger__rows li span,.tabletop-theme-tribunal-day .werewolf-reveal li span{color:#2b2216}.vote-ledger__candidate-name{color:var(--wc-text, #f0e6d2)!important;font-weight:700!important;font-size:.92rem!important}.vote-ledger__candidate-count{color:var(--wc-gold, #c5a059)!important;font-weight:800!important;font-size:.92rem!important}.tabletop-theme-tribunal-day .vote-ledger__candidate-name{color:#2b2216!important}.tabletop-theme-tribunal-day .vote-ledger__candidate-count{color:#a16207!important}.werewolf-bottom-dock{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:960px;margin:0 auto;min-height:52px}.werewolf-bottom-dock__left{flex-shrink:0}.werewolf-bottom-dock__main{flex:1;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px}.werewolf-compact-role{position:relative;border-radius:8px;border:1px solid var(--wc-line, rgba(197, 160, 89, .3));background:linear-gradient(135deg,#231c18eb,#120e0cf2);box-shadow:0 6px 18px #00000059;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tabletop-theme-tribunal-day .werewolf-compact-role{background:linear-gradient(135deg,#fffaf0f2,#f6ebd7f2);border-color:#b37e1b59;box-shadow:0 4px 14px #7850141f}.werewolf-compact-role__main{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 6px;cursor:pointer}.werewolf-compact-role__thumb-box{position:relative;width:38px;height:38px;border-radius:6px;overflow:hidden;border:1px solid var(--wc-gold, #c5a059);flex-shrink:0}.werewolf-compact-role__thumb{width:100%;height:100%;object-fit:contain;display:block;background:#00000047}.werewolf-compact-role__thumb.is-blurred{filter:blur(6px);transform:scale(1.2)}.werewolf-compact-role__lock{position:absolute;inset:0;display:grid;place-items:center;font-size:.85rem;background:#00000073}.werewolf-compact-role__info{display:flex;flex-direction:column;gap:1px}.werewolf-compact-role__label-row{display:flex;align-items:center;gap:6px}.werewolf-compact-role__label{font-size:.62rem;color:var(--wc-gold, #c5a059);letter-spacing:.08em}.tabletop-theme-tribunal-day .werewolf-compact-role__label{color:#a16207}.werewolf-compact-role__status-pill{font-size:.55rem;padding:1px 4px;border-radius:3px;font-weight:700}.werewolf-compact-role__status-pill.is-alive{background:#10b98133;color:#6ee7b7}.werewolf-compact-role__status-pill.is-out{background:#dc262633;color:#f87171}.werewolf-compact-role__camp-pill{font-size:.58rem;padding:1px 6px;border-radius:999px;font-weight:800;display:inline-flex;align-items:center;gap:2px;line-height:1.15}.werewolf-compact-role__camp-pill.is-wolf{background:#dc262640;color:#fca5a5;border:1px solid rgba(239,68,68,.5)}.werewolf-compact-role__camp-pill.is-good{background:#0ea5e940;color:#bae6fd;border:1px solid rgba(56,189,248,.5)}.werewolf-compact-role__name-row{display:flex;align-items:center;gap:8px;min-width:0}.werewolf-compact-role__name{font-size:.95rem;color:var(--wc-paper, #f0e6d2);font-family:var(--wc-font-title);font-weight:900;white-space:nowrap;flex-shrink:0}.tabletop-theme-tribunal-day .werewolf-compact-role__name{color:#1f1a14}.werewolf-compact-role__skill-snippet{font-size:.72rem;color:var(--wc-text-dim, rgba(240, 230, 210, .8));font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px;line-height:1.2}.tabletop-theme-tribunal-day .werewolf-compact-role__skill-snippet{color:#5c4b38}.werewolf-bottom-dock__row{display:flex;align-items:stretch;gap:8px;width:100%}.werewolf-bottom-chat-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:84px;min-height:46px;padding:0 14px;border:2px solid var(--home-ink, #221e1a);border-radius:12px;color:#fff;background:var(--game-coral, #ef4d39);box-shadow:2.5px 2.5px 0 var(--home-ink, #221e1a);font-size:.85rem;font-weight:900;cursor:pointer;flex-shrink:0;position:relative;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;-webkit-user-select:none;user-select:none}.werewolf-bottom-chat-btn:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:3.5px 3.5px 0 var(--home-ink, #221e1a);filter:brightness(1.08)}.werewolf-bottom-chat-btn:active:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px 0 var(--home-ink, #221e1a)}.werewolf-compact-role__toggle-btn{padding:4px 10px;border-radius:6px;font-size:.72rem;font-weight:800;background:#2b2118;border:1px solid #c5a059;color:#fef08a;cursor:pointer;margin-left:auto;flex-shrink:0}.werewolf-compact-role__toggle-btn:hover{background:var(--wc-gold, #c5a059);color:#1a1614}.werewolf-compact-role__popover{position:absolute;bottom:calc(100% + 10px);left:0;width:280px;padding:12px;border-radius:10px;background:linear-gradient(135deg,#201916fa,#100c0afa);border:1px solid var(--wc-gold, #c5a059);box-shadow:0 16px 40px #0009;z-index:100;animation:wwSpotlightFadeIn .2s ease-out}.tabletop-theme-tribunal-day .werewolf-compact-role__popover{background:linear-gradient(135deg,#fffcf5fa,#f5ebd7fa);border-color:#a16207;color:#2b2216}.werewolf-compact-role__popover-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.werewolf-compact-role__popover-art{width:44px;height:44px;border-radius:8px;object-fit:contain;background:#00000047;border:1.5px solid var(--wc-gold, #c5a059)}.werewolf-compact-role__popover-header h3{margin:0;font-size:1.1rem;color:var(--wc-gold, #c5a059);font-family:var(--wc-font-title)}.werewolf-compact-role__popover-tag{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:700;line-height:1.2}.werewolf-compact-role__popover-tag-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.werewolf-compact-role__popover-tag.is-good{background:#22c55e38;color:#86efac;border:1px solid rgba(74,222,128,.45)}.werewolf-compact-role__popover-tag.is-good .werewolf-compact-role__popover-tag-dot{background:#4ade80}.werewolf-compact-role__popover-tag.is-wolf{background:#ef44443d;color:#fca5a5;border:1px solid rgba(248,113,113,.45)}.werewolf-compact-role__popover-tag.is-wolf .werewolf-compact-role__popover-tag-dot{background:#f87171}.tabletop-theme-tribunal-day .werewolf-compact-role__popover-tag.is-good{background:#dcfce7;color:#14532d;border:1.5px solid #86efac}.tabletop-theme-tribunal-day .werewolf-compact-role__popover-tag.is-good .werewolf-compact-role__popover-tag-dot{background:#16a34a}.tabletop-theme-tribunal-day .werewolf-compact-role__popover-tag.is-wolf{background:#fee2e2;color:#7f1d1d;border:1.5px solid #fca5a5}.tabletop-theme-tribunal-day .werewolf-compact-role__popover-tag.is-wolf .werewolf-compact-role__popover-tag-dot{background:#dc2626}.tabletop-theme-tribunal-day .werewolf-compact-role__popover-header h3{color:#78350f}.werewolf-compact-role__popover-hint{margin:0 0 8px;font-size:.74rem;color:var(--wc-paper, #f0e6d2);line-height:1.45}.werewolf-compact-role__popover-hint:last-child{margin-bottom:0}.werewolf-compact-role__popover-hint strong{display:block;margin-bottom:2px;color:var(--wc-gold, #c5a059)}.tabletop-theme-tribunal-day .werewolf-compact-role__popover-hint{color:#3b2d1d}.tabletop-theme-tribunal-day .werewolf-compact-role__popover-hint strong{color:#92400e}.werewolf-actions{display:flex;align-items:center;gap:10px;padding:4px 10px;border-radius:8px;border:1px solid var(--wc-line, rgba(197, 160, 89, .3));background:linear-gradient(135deg,#231c18eb,#120e0cf2);box-shadow:0 6px 18px #00000059;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tabletop-theme-tribunal-day .werewolf-actions{background:linear-gradient(135deg,#fffaf0f2,#f6ebd7f2);border-color:#b37e1b59}.werewolf-actions--waiting{display:flex;align-items:center;gap:6px;padding:6px 14px}.werewolf-actions__waiting-dot{width:7px;height:7px;border-radius:50%;background:var(--wc-gold, #c5a059);animation:wwUrgentPulse 1.2s ease-in-out infinite}.werewolf-actions__waiting-text{font-size:.74rem;color:var(--wc-text-dim, rgba(240, 230, 210, .75))}.tabletop-theme-tribunal-day .werewolf-actions__waiting-text{color:#5c4b38}.werewolf-actions__group{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0;max-width:100%}.werewolf-actions__header-line{display:flex;flex-direction:column;gap:1px}.werewolf-actions__title{margin:0;font-size:.82rem;font-weight:800;color:var(--wc-gold, #c5a059);white-space:nowrap}.tabletop-theme-tribunal-day .werewolf-actions__title{color:#a16207}.werewolf-actions__hint{font-size:.65rem;color:var(--wc-text-dim, #f0e6d2);white-space:normal}.werewolf-actions__options{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.werewolf-action-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:4px 14px;border-radius:6px;font-size:.8rem;font-weight:800;font-family:var(--wc-font-body);border:1px solid var(--wc-gold, #c5a059);background:#c5a05926;color:var(--wc-paper, #f0e6d2);cursor:pointer;transition:all .16s ease;white-space:normal;text-align:center;min-width:0}.tabletop-theme-tribunal-day .werewolf-action-btn{background:#b37e1b1f;border-color:#b37e1b;color:#2b2216}.werewolf-action-btn:hover:not(:disabled){background:var(--wc-gold, #c5a059);color:#1a1614;transform:translateY(-1px);box-shadow:0 4px 12px #c5a05959}.werewolf-action-btn--primary{background:linear-gradient(180deg,#e5b967,#c5a059);color:#1a1614;border-color:#a8853e;font-weight:900;box-shadow:0 4px 14px #c5a0594d}.werewolf-action-btn--primary:hover:not(:disabled){background:#f0c978;box-shadow:0 6px 20px #c5a05980}.werewolf-action-btn:disabled{opacity:.5;cursor:not-allowed}.vote-ledger,.werewolf-reveal{border:1px solid rgba(197,160,89,.24);border-radius:8px;background:#1c1612f0;padding:8px 12px;box-shadow:0 10px 24px #0006}.vote-ledger h2,.werewolf-reveal h2{margin:0 0 6px;font-size:.88rem;color:var(--wc-gold, #c5a059)}.vote-ledger__progress{margin:0;color:var(--wc-text-dim, rgba(240, 230, 210, .62));font-family:var(--wc-font-body)}.vote-ledger__progress strong{color:var(--wc-gold, #c5a059);font-family:var(--wc-font-title);font-size:1.15rem}.vote-ledger__rows,.werewolf-reveal ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.vote-ledger__rows li,.werewolf-reveal li{display:flex;justify-content:space-between;gap:12px;padding:6px 10px;border:1px solid rgba(197,160,89,.1);border-radius:6px;background:#f0e6d20a}.vote-ledger__rows strong,.werewolf-reveal strong{color:var(--wc-gold, #c5a059);font-weight:700}.werewolf-reveal li span{font-family:var(--wc-font-body)}.vote-ledger__abstain,.vote-ledger__empty{margin:6px 0 0;color:var(--wc-text-dim, rgba(240, 230, 210, .62));font-size:.76rem}.tabletop-theme-tribunal-day .vote-ledger,.tabletop-theme-tribunal-day .werewolf-reveal{background:linear-gradient(135deg,#fffcf5f5,#f6ebd7f5);border-color:#b37e1b59;box-shadow:0 8px 24px #78501426}.tabletop-theme-tribunal-day .vote-ledger h2,.tabletop-theme-tribunal-day .werewolf-reveal h2{color:#a16207}.tabletop-theme-tribunal-day .vote-ledger__progress{color:#5c4b38}.tabletop-theme-tribunal-day .vote-ledger__progress strong{color:#a16207}.tabletop-theme-tribunal-day .vote-ledger__rows li,.tabletop-theme-tribunal-day .werewolf-reveal li{background:#b37e1b14;border-color:#b37e1b33;color:#2b2216}.tabletop-theme-tribunal-day .vote-ledger__rows strong,.tabletop-theme-tribunal-day .werewolf-reveal strong{color:#a16207}.tabletop-theme-tribunal-day .vote-ledger__abstain,.tabletop-theme-tribunal-day .vote-ledger__empty{color:#6b5842}@keyframes wolf-urgent{50%{box-shadow:0 0 22px #b9363680}}@keyframes wolf-busy{50%{opacity:.3}}.werewolf-desktop-seat-ring{display:block;position:absolute;inset:50% auto auto 50%;width:924px;height:450px;transform:translate(-50%,-50%) scale(var(--ring-scale, 1));transition:transform .25s ease;transform-origin:center center}.werewolf-wing{display:none}@media(max-width:768px),(orientation:landscape)and (max-height:520px){.werewolf-stage{padding-inline:4px}.werewolf-arena{position:static!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:8px!important;height:100%!important;min-height:0!important;width:100%!important;max-width:680px!important;margin:0 auto!important;padding:6px 8px 10px!important;box-sizing:border-box!important}.werewolf-desktop-seat-ring,.werewolf-arena__caption{display:none!important}.moon-header{width:100%!important;max-width:100%!important;min-height:56px!important;margin:0!important;padding:6px 12px!important;border-radius:12px!important;box-sizing:border-box!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;text-align:left!important;gap:10px!important;flex-shrink:0!important}.moon-header__dial{width:38px!important;height:38px!important;min-width:38px!important;font-size:1.35rem!important;margin:0!important}.moon-header__copy{min-width:0!important;width:100%!important;text-align:left!important;margin:0!important;display:flex!important;flex-direction:column!important;gap:1px!important}.moon-header__eyebrow{font-size:.68rem!important;font-weight:700!important;margin:0!important;line-height:1.15!important;color:var(--wc-gold, #c5a059)!important}.tabletop-theme-tribunal-day .moon-header__eyebrow{color:#a16207!important}.moon-header__copy h1{font-size:1.05rem!important;font-weight:800!important;margin:0!important;line-height:1.2!important;color:var(--wc-paper, #f0e6d2)!important}.tabletop-theme-tribunal-day .moon-header__copy h1{color:#1f1a14!important}.moon-header__copy p{font-size:.74rem!important;margin:0!important;line-height:1.25!important;color:var(--wc-text-dim, rgba(240, 230, 210, .75))!important;white-space:normal!important;word-break:break-word!important}.tabletop-theme-tribunal-day .moon-header__copy p{color:#4b3d2b!important}.moon-header__side{position:static!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:4px!important;flex-shrink:0!important}.moon-header__timer{min-width:36px!important;min-height:28px!important;padding:2px 8px!important;border-radius:8px!important;font-size:.8rem!important}.moon-header__timer strong{font-size:1.12rem!important;font-weight:900!important}.werewolf-arena__board{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;flex:1 1 auto!important;min-height:0!important;width:100%!important;position:relative!important}.werewolf-wing{display:flex!important;flex-direction:column!important;justify-content:center!important;width:clamp(82px,22.5vw,94px)!important;flex-shrink:0!important;margin:0!important;padding:0!important;list-style:none!important;height:auto!important;max-height:100%!important;gap:8px!important}.werewolf-wing--left{gap:8px!important}.werewolf-wing--right{gap:12px!important}.werewolf-arena__center-stack{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;flex:1 1 auto!important;min-width:0!important;max-width:none!important;width:auto!important;height:100%!important;margin:0 auto!important}.werewolf-spotlight{flex-direction:column!important;align-items:center!important;text-align:center!important;padding:8px 10px!important;gap:6px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}.werewolf-spotlight--reveal-3d{padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important;width:100%!important;max-width:250px!important;display:flex!important;align-items:center!important;justify-content:center!important}.werewolf-spotlight--reveal-3d .identity-flip-container{width:100%!important;max-width:240px!important}.werewolf-spotlight--reveal-3d .identity-flip-card{min-height:250px!important;height:clamp(250px,38dvh,310px)!important}.werewolf-spotlight--reveal-3d .identity-card-inner{min-height:250px!important;height:100%!important}.werewolf-spotlight--reveal-3d .identity-card-back__border{margin:8px!important;padding:12px 10px!important;gap:12px!important}.werewolf-spotlight--reveal-3d .identity-card-back__emblem{width:44px!important;height:44px!important}.werewolf-spotlight--reveal-3d .identity-card-back__badge{font-size:.92rem!important;letter-spacing:1px!important}.werewolf-spotlight--reveal-3d .identity-card-front__artwork-wrap{width:58px!important;height:58px!important}.werewolf-spotlight--reveal-3d .identity-card-front__role-name{font-size:1.25rem!important;margin:4px 0 2px!important}.werewolf-spotlight__avatar-frame{width:52px!important;height:52px!important}.werewolf-spotlight__content{width:100%!important;text-align:center!important}.werewolf-spotlight__tag{font-size:.62rem!important}.werewolf-spotlight__role-name{font-size:.9rem!important;margin:1px 0!important}.werewolf-spotlight__desc{font-size:.68rem!important;line-height:1.25!important}.werewolf-spotlight--speaking,.werewolf-spotlight--free-discussion{padding:8px 10px 10px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:0 auto!important}.werewolf-spotlight__speaker-halo{flex-direction:row!important;align-items:center!important;gap:6px!important;padding:0!important;width:100%!important;box-sizing:border-box!important}.werewolf-spotlight__speaker-name{font-size:.92rem!important;line-height:1.2!important}.werewolf-spotlight__speaker-line{font-size:.84rem!important;line-height:1.45!important;margin-top:3px!important;text-align:left!important}.tabletop-theme-tribunal-day .werewolf-spotlight__speaker-line{color:#291e14!important}.werewolf-spotlight--voting{padding:7px 8px 8px!important;gap:5px!important;border-radius:10px!important;box-shadow:0 4px 16px #00000059!important;box-sizing:border-box!important;width:100%!important}.werewolf-spotlight__vote-header{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;width:100%!important;text-align:center!important}.werewolf-spotlight__vote-title-wrap{display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;width:100%!important}.werewolf-spotlight__pulsing-dot{width:6px!important;height:6px!important;flex-shrink:0!important}.werewolf-spotlight__vote-title{font-size:.86rem!important;font-weight:800!important;white-space:nowrap!important;letter-spacing:.02em!important;line-height:1.2!important}.werewolf-spotlight__vote-tally{display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;width:100%!important;white-space:nowrap!important;font-size:.74rem!important}.werewolf-spotlight__vote-tally-label{white-space:nowrap!important;font-size:.68rem!important;line-height:1!important}.werewolf-spotlight__vote-tally-num{font-size:.96rem!important;line-height:1!important;font-weight:800!important}.werewolf-spotlight__vote-percent-badge{font-size:.62rem!important;padding:0 4px!important;margin-left:2px!important;line-height:1.3!important}.werewolf-spotlight__vote-track{height:6px!important;margin:1px 0!important}.werewolf-spotlight__vote-footer{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;padding-top:4px!important;width:100%!important;text-align:center!important;border-top:1px solid rgba(197,160,89,.15)!important}.werewolf-spotlight__vote-feedback-left,.werewolf-spotlight__vote-feedback-right{display:flex!important;justify-content:center!important;width:100%!important;text-align:center!important}.werewolf-spotlight__vote-status-text{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;font-size:.7rem!important;line-height:1.25!important;text-align:center!important}.werewolf-spotlight__vote-remaining{font-size:.66rem!important;text-align:center!important;line-height:1.2!important}.seat-chip{position:relative!important;inset:auto!important;transform:none!important;translate:none!important;width:100%!important;min-height:56px!important;height:auto!important;padding:7px 8px!important;box-sizing:border-box!important;overflow:visible!important;border-radius:10px!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:2px!important}.seat-chip__head{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;gap:4px!important}.seat-chip__head-left{display:flex!important;align-items:center!important;gap:5px!important}.seat-chip__head-badges{display:flex!important;align-items:center!important;gap:3px!important}.seat-chip__avatar{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important}.seat-chip__seat{font-size:.74rem!important;font-weight:800!important;line-height:1!important}.seat-chip__name{font-size:.8rem!important;font-weight:800!important;line-height:1.2!important;margin:1px 0 0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.seat-chip__status-line{display:flex!important;flex-direction:column!important;gap:2px!important;margin-top:2px!important}.seat-chip__status{font-size:.68rem!important;font-weight:700!important;line-height:1.2!important;white-space:normal!important;word-break:break-all!important}.seat-chip__role{font-size:.68rem!important;font-weight:800!important;color:var(--wc-gold, #c5a059)!important}.seat-chip__speaking-strip{margin-top:2px!important}.seat-chip__badge--speaking{display:inline-block!important;padding:1px 5px!important;font-size:.58rem!important;font-weight:900!important;border-radius:999px!important}.seat-chip__badge--self{display:inline-block!important;padding:1px 5px!important;font-size:.58rem!important;font-weight:800!important;border-radius:999px!important;border:1px solid #f59e0b!important;color:#f59e0b!important;background:#f59e0b26!important}.seat-chip__badge--ally{display:inline-block!important;padding:1px 5px!important;font-size:.58rem!important;font-weight:800!important;border-radius:999px!important;border:1px solid rgba(220,38,38,.7)!important;color:#fca5a5!important;background:#dc262633!important}.werewolf-stage__panels{grid-template-columns:1fr}.private-role-panel{order:2}.werewolf-actions__options{grid-template-columns:1fr}.game-session-root:has(.werewolf-arena) .tabletop-bottom-bar{padding-left:10px!important;padding-right:10px!important;padding-bottom:calc(var(--safe-bottom) + 8px)!important}.game-session-root:has(.werewolf-arena) .tabletop-bottom-bar>*{max-width:680px!important}.werewolf-bottom-dock{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;width:100%!important;min-height:0!important}.werewolf-bottom-dock__main{justify-content:stretch;flex-direction:column;align-items:stretch}.werewolf-actions--waiting{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:100%!important;box-sizing:border-box!important;padding:8px 14px!important;border-radius:10px!important}.werewolf-bottom-dock__row{display:flex!important;flex-direction:row!important;align-items:stretch!important;gap:8px!important;width:100%!important}.werewolf-compact-role{flex:1 1 auto!important;min-width:0!important}.werewolf-compact-role__main{padding:6px 12px 6px 8px!important;gap:10px!important}.werewolf-compact-role__thumb-box{width:42px!important;height:42px!important}.werewolf-compact-role__info{flex:1 1 auto!important;min-width:0!important}.werewolf-compact-role__name-row{display:flex!important;align-items:center!important;gap:6px!important;overflow:hidden!important}.werewolf-compact-role__name{font-size:.95rem!important;white-space:nowrap!important}.werewolf-bottom-chat-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-width:78px!important;height:auto!important;padding:0 12px!important;border-radius:10px!important;flex-shrink:0!important}.tabletop-shell .seat-chip:active,.seat-chip:active{transform:scale(.97)!important}.game-session-root:has(.werewolf-arena) .game-chat-trigger{display:none!important}}.uno-house-stage{display:grid;gap:18px;width:min(100%,980px);margin:0 auto;padding:24px 16px 40px}.uno-house-stage__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.uno-house-stage__kicker{color:var(--color-primary);font-size:.72rem;font-weight:900;letter-spacing:.14em}.uno-house-stage__copy h1{margin:2px 0 0;font-size:clamp(1.4rem,4vw,2rem)}.uno-house-stage__copy p{margin:2px 0 0;color:var(--color-text-muted)}.uno-house-stage__error{margin:0}.uno-house-banner{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:12px 16px;border-radius:14px;font-size:.92rem}.uno-house-banner--penalty{color:var(--color-danger);border:1px solid rgba(220,38,38,.4);background:#dc262614}.uno-house-banner--race{color:var(--color-warning);border:1px solid rgba(245,158,11,.4);background:#f59e0b14}.uno-house-banner--over{color:var(--color-success);border:1px solid rgba(22,163,74,.4);background:#16a34a14}.uno-house-players{display:flex;flex-wrap:wrap;gap:10px}.uno-house-player{display:grid;gap:2px;min-width:120px;padding:10px 14px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface)}.uno-house-player.is-current{border-color:var(--color-primary);box-shadow:0 0 0 2px #4f46e524}.uno-house-player.is-self{background:#4f46e514}.uno-house-player.is-uno-called .uno-house-player__seat{color:var(--color-warning)}.uno-house-player__seat{font-size:.68rem;font-weight:900;color:var(--color-primary);letter-spacing:.1em}.uno-house-player strong{font-size:.94rem}.uno-house-player span{color:var(--color-text-muted);font-size:.8rem}.uno-house-player small{color:var(--color-text-muted);font-size:.7rem}.uno-house-center{display:grid;place-items:center;gap:12px;padding:24px 16px;border:1px solid var(--color-border);border-radius:20px;background:var(--color-surface)}.uno-house-discard{display:grid;place-items:center;gap:4px;width:clamp(120px,20vw,170px);aspect-ratio:5 / 7;border-radius:14px;font-weight:900;box-shadow:0 10px 24px #00000029}.uno-house-discard strong{font-size:clamp(1.2rem,4vw,1.9rem)}.uno-house-discard small{font-size:.72rem}.uno-house-center__meta{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;margin:0;color:var(--color-text-muted)}.uno-house-hand{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.uno-deck-pile-wrap{display:flex;align-items:center;justify-content:center;gap:clamp(20px,4vw,48px);margin:12px 0 8px}.uno-house-draw-pile{position:relative;width:clamp(76px,12vw,98px);aspect-ratio:2 / 3;padding:0;border:none;background:transparent;cursor:pointer;border-radius:12px;box-shadow:0 1px #fff,0 2px #18181b,0 3px #fff,0 4px #18181b,0 5px #fff,0 6px #18181b,0 16px 32px #00000073;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease;touch-action:manipulation}.uno-house-draw-pile.is-my-turn-playable{animation:unoDrawPilePulse 2s ease-in-out infinite}@keyframes unoDrawPilePulse{0%,to{filter:drop-shadow(0 0 6px rgba(249,115,22,.35))}50%{filter:drop-shadow(0 0 18px rgba(249,115,22,.85));transform:translateY(-4px) scale(1.03)}}.uno-house-draw-pile:not(:disabled):hover{transform:translateY(-8px) scale(1.05);box-shadow:0 1px #fff,0 2px #18181b,0 3px #fff,0 4px #18181b,0 5px #fff,0 6px #18181b,0 22px 42px #0009}.uno-house-draw-pile:disabled{cursor:not-allowed;opacity:.88}.uno-house-card-img{width:100%;height:100%;object-fit:contain;display:block;border-radius:12px;pointer-events:none}.uno-house-pile-badge{position:absolute;top:-8px;right:-8px;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#ef4444;color:#fff;font-size:.78rem;font-weight:900;display:flex;align-items:center;justify-content:center;border:2px solid #ffffff;box-shadow:0 3px 8px #00000080}.uno-house-discard{position:relative;width:clamp(76px,12vw,98px);aspect-ratio:2 / 3;border-radius:12px;box-shadow:0 8px 24px #00000080;display:flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0}.uno-house-discard-color-badge{position:absolute;bottom:-10px;left:50%;transform:translate(-50%);padding:2px 10px;border-radius:999px;background:#12181beb;color:#ffd93d;font-size:.72rem;font-weight:800;border:1.5px solid rgba(255,255,255,.3);box-shadow:0 4px 10px #00000080;white-space:nowrap}.uno-house-hand .uno-card{display:grid;place-items:center;gap:3px;width:clamp(64px,11vw,96px);aspect-ratio:5 / 7;padding:6px;border-radius:12px;font-weight:900;color:#1f2937}.uno-house-hand .uno-card.uno-card--illustrated{width:clamp(72px,11vw,98px);aspect-ratio:2 / 3;height:auto;padding:0;border:none;background:transparent;border-radius:12px;box-shadow:0 6px 16px #0006;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,filter .2s ease;overflow:visible;position:relative}.uno-house-hand .uno-card.uno-card--illustrated:not(:disabled):hover{transform:translateY(-12px) scale(1.08);box-shadow:0 16px 32px #0009,0 0 16px #ffd93d80;z-index:10}.uno-house-hand .uno-card.uno-card--illustrated:disabled{opacity:.55;filter:grayscale(.4) brightness(.8);cursor:not-allowed}.uno-card__asset-img{width:100%;height:100%;object-fit:contain;display:block;border-radius:12px;pointer-events:none}.card-fan-item.card-fan-item--has-image{background:transparent!important;border:none!important;padding:0!important;box-shadow:0 6px 16px #0006!important;border-radius:12px!important}.card-fan-item.card-fan-item--has-image .card-fan-image{width:100%;height:100%;object-fit:contain;display:block;border-radius:12px;pointer-events:none}.card-fan-item.card-fan-item--has-image.card-fan-item--selected{box-shadow:0 14px 28px #0009,0 0 16px #ffd93d99!important}.tabletop-theme-sunset{background:radial-gradient(1200px 750px at 50% 30%,#fff7ed,#ffedd5,#fed7aa 80%,#fdba74);color:#431407}.tabletop-theme-sunset .tabletop-header{background:#ffffffeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1.5px solid rgba(234,88,12,.18);box-shadow:0 4px 16px #c2410c14}.tabletop-theme-sunset .tabletop-header__kicker{color:#ea580c!important;font-weight:900;letter-spacing:.05em}.tabletop-theme-sunset .tabletop-header__title{color:#7c2d12!important;font-weight:900}.tabletop-theme-sunset .tabletop-header__sub{color:#9a3412!important;font-weight:600}.tabletop-theme-sunset .tabletop-sound-btn,.tabletop-theme-sunset .tabletop-rules-btn,.tabletop-theme-sunset .game-leave__button{background:#fff;border:1.5px solid rgba(234,88,12,.22);color:#7c2d12;box-shadow:0 2px 8px #ea580c14}.tabletop-theme-sunset .tabletop-sound-btn:hover,.tabletop-theme-sunset .tabletop-rules-btn:hover,.tabletop-theme-sunset .game-leave__button:hover{background:#fff7ed;border-color:#f97316}.uno-tabletop-arena{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;position:relative}.uno-direction-compass{position:absolute;width:clamp(220px,34vw,320px);height:clamp(220px,34vw,320px);border-radius:50%;pointer-events:none;display:flex;align-items:center;justify-content:center;opacity:.85}.uno-direction-compass:before{content:"";position:absolute;inset:0;border-radius:50%;border:3px dashed rgba(234,88,12,.35);box-shadow:0 0 24px #f973162e,inset 0 0 24px #f973161f}.uno-direction-compass.is-cw:before{animation:unoSpinCW 16s linear infinite}.uno-direction-compass.is-ccw:before{animation:unoSpinCCW 16s linear infinite}@keyframes unoSpinCW{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes unoSpinCCW{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.uno-discard-halo{position:absolute;inset:-12px;border-radius:20px;pointer-events:none;transition:all .35s ease;z-index:0}.uno-discard-halo--red{background:radial-gradient(circle,rgba(239,68,68,.45) 0%,transparent 75%);box-shadow:0 0 28px #ef444480}.uno-discard-halo--yellow{background:radial-gradient(circle,rgba(234,179,8,.45) 0%,transparent 75%);box-shadow:0 0 28px #eab30880}.uno-discard-halo--green{background:radial-gradient(circle,rgba(34,197,94,.45) 0%,transparent 75%);box-shadow:0 0 28px #22c55e80}.uno-discard-halo--blue{background:radial-gradient(circle,rgba(59,130,246,.45) 0%,transparent 75%);box-shadow:0 0 28px #3b82f680}.uno-color-wheel-backdrop{position:fixed;inset:0;background:#0f172aa6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:unoFadeIn .2s ease-out}.uno-color-wheel-dialog{background:#fff;padding:24px;border-radius:28px;box-shadow:0 24px 64px #0006,0 0 0 1px #0000000f;display:flex;flex-direction:column;align-items:center;gap:18px;max-width:340px;width:90%;animation:unoPopIn .25s cubic-bezier(.34,1.56,.64,1)}.uno-color-wheel-dialog h3{margin:0;font-size:1.15rem;font-weight:900;color:#1f2937;display:flex;align-items:center;gap:8px}.uno-color-wheel-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.uno-color-wheel-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px 12px;border-radius:18px;border:none;color:#fff;font-weight:900;font-size:1.05rem;cursor:pointer;box-shadow:0 8px 16px #00000026,inset 0 2px 4px #fff6;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease}.uno-color-wheel-btn:hover{transform:translateY(-4px) scale(1.04);box-shadow:0 12px 24px #00000040,inset 0 2px 4px #ffffff80}.uno-color-wheel-btn.color-red{background:linear-gradient(135deg,#ef4444,#dc2626)}.uno-color-wheel-btn.color-yellow{background:linear-gradient(135deg,#fbbf24,#d97706);color:#78350f}.uno-color-wheel-btn.color-green{background:linear-gradient(135deg,#22c55e,#16a34a)}.uno-color-wheel-btn.color-blue{background:linear-gradient(135deg,#3b82f6,#2563eb)}.uno-color-wheel-cancel{padding:8px 24px;border-radius:999px;border:1.5px solid #e5e7eb;background:#f9fafb;color:#6b7280;font-weight:700;font-size:.88rem;cursor:pointer;transition:all .15s ease}.uno-color-wheel-cancel:hover{background:#f3f4f6;color:#1f2937}.uno-shout-overlay{position:fixed;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:center;z-index:1200;animation:unoFadeOut 1.8s ease-in forwards}.uno-shout-stamp{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 48px;border-radius:36px;background:radial-gradient(ellipse at center,#fef08a,#f59e0b 60%,#b45309);border:8px solid #ffffff;box-shadow:0 20px 80px #f59e0bcc,0 0 0 8px #f59e0b;animation:unoStampBurst .6s cubic-bezier(.175,.885,.32,1.275) forwards;transform-origin:center center}.uno-shout-stamp__title{font-family:Impact,Arial Black,sans-serif;font-size:clamp(3rem,10vw,5.5rem);font-style:italic;font-weight:900;color:#dc2626;text-shadow:0 4px 0 #ffffff,0 8px 16px rgba(0,0,0,.4);line-height:1;margin:0;letter-spacing:.05em}.uno-shout-stamp__sub{font-size:1.1rem;font-weight:900;color:#78350f;margin-top:6px;letter-spacing:.08em}@keyframes unoStampBurst{0%{opacity:0;transform:scale(2.6) rotate(-15deg)}60%{opacity:1;transform:scale(.95) rotate(4deg)}80%{transform:scale(1.05) rotate(-2deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes unoFadeIn{0%{opacity:0}to{opacity:1}}@keyframes unoFadeOut{0%{opacity:1}75%{opacity:1}to{opacity:0}}@keyframes unoPopIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.uno-floating-controls{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;padding:6px 12px;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;box-shadow:0 4px 18px #0000001f;border:1px solid rgba(234,88,12,.2);margin-bottom:6px}.uno-floating-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font-size:.86rem;font-weight:800;cursor:pointer;border:1.5px solid transparent;transition:all .15s ease}.uno-floating-btn.btn-primary{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;box-shadow:0 2px 8px #ea580c59}.uno-floating-btn.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ea580c80}.uno-floating-btn.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px #dc262659}.uno-floating-btn.btn-danger:hover{transform:translateY(-2px);box-shadow:0 4px 12px #dc262680}.uno-floating-btn.btn-outline{background:#fff;border-color:#d1d5db;color:#374151}.uno-floating-btn.btn-outline:hover{background:#f3f4f6;border-color:#9ca3af}.uno-house-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.uno-house-actions button.is-accent{border-color:var(--color-primary);color:#fff;background:var(--color-primary)}.uno-house-actions__hint{margin:0;color:var(--color-text-muted)}.uno-house-color-picker{max-width:320px;margin:0 auto}.uno-house-spectator-note,.blank-spectator-note{color:var(--color-text-muted);text-align:center}.uno-house-scores{padding:18px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface)}.uno-house-scores h2{margin:0 0 12px;font-size:1.05rem}.uno-house-scores__table{width:100%;border-collapse:collapse;font-size:.86rem}.uno-house-scores__table th,.uno-house-scores__table td{padding:7px 10px;border-bottom:1px solid var(--color-border);text-align:right}.uno-house-scores__table th:first-child,.uno-house-scores__table td:first-child{text-align:left}.uno-house-scores__ranking{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none}.uno-house-scores__ranking li{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:#0000000a}.uno-house-scores__rank{color:var(--color-primary);font-weight:900}@media(max-width:640px){.uno-house-stage{padding-inline:10px}.uno-house-player{min-width:44%}.uno-house-hand .uno-card{width:17vw}}@media(prefers-reduced-motion:reduce){.moon-header__timer.is-urgent{animation:none}.werewolf-actions button{transition:none}}.tabletop-shell{--tabletop-avatar: 56px;--tabletop-felt-radius: 240px;--tabletop-center-pad: 40px;display:flex;flex-direction:column;height:100vh;height:100dvh;width:100%;max-width:100%;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;font-family:inherit;padding-top:max(var(--safe-top),env(safe-area-inset-top,0px),24px);padding-bottom:max(var(--safe-bottom),env(safe-area-inset-bottom,0px),8px);padding-left:max(env(safe-area-inset-left,0px),0px);padding-right:max(env(safe-area-inset-right,0px),0px);box-sizing:border-box}.tabletop-shell--table-mode .tabletop-arena-container{flex:1;max-height:calc(100dvh - 58px)}.tabletop-shell--table-mode .tabletop-center-content{transform:scale(1.06);transform-origin:center center;transition:transform .25s cubic-bezier(.2,.8,.2,1)}.tabletop-shell--table-mode .tabletop-bottom-bar{opacity:.25;transform:translateY(60%);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.tabletop-shell--table-mode .tabletop-bottom-bar:hover,.tabletop-shell--table-mode .tabletop-bottom-bar:focus-within{opacity:1;transform:translateY(0);pointer-events:auto}.tabletop-viewmode-btn{background:#fef08a!important;color:#854d0e!important;border-color:#ca8a04!important}.tabletop-viewmode-btn:hover{background:#fde047!important;transform:scale(1.05)}.tabletop-theme-poker{background:radial-gradient(1200px 750px at 50% 30%,#fffef8,#f6efe1 45%,#ebdcc2);color:#2b2722}.tabletop-header{display:flex;flex-direction:column;gap:4px;padding:6px 14px;min-height:46px;background:#fffdf8f5;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:var(--gp-chrome-width, 2.5px) solid var(--gp-chrome-line, var(--home-ink, #312d28));border-radius:16px;box-shadow:0 4px 0 var(--home-ink, #312d28),0 10px 30px #312d2824;z-index:500;width:calc(100% - 16px);margin:0 auto 6px;box-sizing:border-box;flex-shrink:0;transition:background .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}.tabletop-header__main{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;min-width:0}.tabletop-header__info{display:flex;flex-direction:column;gap:1px;min-width:0;flex-shrink:1}.tabletop-header__title-row{display:flex;align-items:baseline;gap:6px;flex-wrap:nowrap;white-space:nowrap}.tabletop-header__kicker{font-size:.64rem;letter-spacing:.5px;text-transform:uppercase;color:var(--home-coral, #ef4d39)!important;font-weight:900;display:block;line-height:1;white-space:nowrap;transition:color .3s ease}.tabletop-header__title{margin:0;padding:0;line-height:1.2;font-size:1.05rem;font-weight:950;letter-spacing:.3px;color:var(--home-ink, #312d28)!important;text-shadow:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .3s ease,text-shadow .3s ease}.tabletop-header__sub{margin:1px 0 0;padding:0;line-height:1.2;font-size:.74rem;font-weight:700;color:var(--home-muted, #6f665d)!important;opacity:.95!important;text-shadow:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .3s ease}.tabletop-header__actions{display:flex;align-items:center;gap:6px;margin-left:auto;min-width:0;flex-shrink:0;flex-wrap:nowrap}.tabletop-sound-btn,.tabletop-rules-btn,.cheese-tts-icon-btn,.ll-tracker-toggle-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:32px;padding:0 10px;border-radius:10px;border:2px solid var(--home-ink, #312d28);background:#fffaf1;color:var(--home-ink, #312d28);font-size:.78rem;font-weight:900;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .2s ease,color .2s ease,border-color .2s ease;white-space:nowrap;flex-shrink:0;box-sizing:border-box;box-shadow:2px 2.5px 0 var(--home-ink, #312d28)}.tabletop-sound-btn:hover:not(:disabled),.tabletop-rules-btn:hover:not(:disabled),.cheese-tts-icon-btn:hover:not(:disabled),.ll-tracker-toggle-btn:hover:not(:disabled){background:#ffeac2;transform:translateY(-1px);box-shadow:2px 3.5px 0 var(--home-ink, #312d28)}.tabletop-sound-btn:active:not(:disabled),.tabletop-rules-btn:active:not(:disabled),.cheese-tts-icon-btn:active:not(:disabled),.ll-tracker-toggle-btn:active:not(:disabled){transform:translate(1px,2px);box-shadow:1px 1px 0 var(--home-ink, #312d28)}.tabletop-theme-tribunal,.tabletop-theme-tribunal-night,.tabletop-theme-tribunal-dawn,.tabletop-theme-mystery,.tabletop-theme-court,.tabletop-theme-party,.tabletop-theme-night,.tabletop-theme-letter,.tabletop-theme-arena,.tabletop-theme-orchard,.tabletop-theme-dark,.tabletop-shell[data-game-id=werewolf]:not(.tabletop-theme-tribunal-day){--gp-chrome-line: var(--gp-chrome-line-inverse);--gp-chrome-width: var(--gp-chrome-width-inverse)}.tabletop-theme-tribunal .tabletop-header,.tabletop-theme-tribunal-night .tabletop-header,.tabletop-theme-tribunal-dawn .tabletop-header,.tabletop-theme-mystery .tabletop-header,.tabletop-theme-court .tabletop-header,.tabletop-theme-party .tabletop-header,.tabletop-theme-night .tabletop-header,.tabletop-theme-letter .tabletop-header,.tabletop-theme-arena .tabletop-header,.tabletop-theme-orchard .tabletop-header,.tabletop-theme-dark .tabletop-header,.tabletop-shell[data-game-id=werewolf]:not(.tabletop-theme-tribunal-day) .tabletop-header{background:#120e18e0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:var(--gp-chrome-width) solid var(--gp-chrome-line);box-shadow:0 4px 20px #00000073,inset 0 1px #ffffff1a}.tabletop-theme-tribunal .tabletop-header__kicker,.tabletop-theme-tribunal-night .tabletop-header__kicker,.tabletop-theme-tribunal-dawn .tabletop-header__kicker,.tabletop-theme-mystery .tabletop-header__kicker,.tabletop-theme-court .tabletop-header__kicker,.tabletop-theme-party .tabletop-header__kicker,.tabletop-theme-night .tabletop-header__kicker,.tabletop-theme-letter .tabletop-header__kicker,.tabletop-theme-arena .tabletop-header__kicker,.tabletop-theme-orchard .tabletop-header__kicker,.tabletop-theme-dark .tabletop-header__kicker,.tabletop-shell[data-game-id=werewolf]:not(.tabletop-theme-tribunal-day) .tabletop-header__kicker{color:#f87171!important;text-shadow:0 0 8px rgba(248,113,113,.4)}.tabletop-theme-tribunal .tabletop-header__title,.tabletop-theme-tribunal-night .tabletop-header__title,.tabletop-theme-tribunal-dawn .tabletop-header__title,.tabletop-theme-mystery .tabletop-header__title,.tabletop-theme-court .tabletop-header__title,.tabletop-theme-party .tabletop-header__title,.tabletop-theme-night .tabletop-header__title,.tabletop-theme-letter .tabletop-header__title,.tabletop-theme-arena .tabletop-header__title,.tabletop-theme-orchard .tabletop-header__title,.tabletop-theme-dark .tabletop-header__title,.tabletop-shell[data-game-id=werewolf]:not(.tabletop-theme-tribunal-day) .tabletop-header__title{color:#f8fafc!important;text-shadow:0 1px 3px rgba(0,0,0,.6)}.tabletop-theme-tribunal .tabletop-header__sub,.tabletop-theme-tribunal-night .tabletop-header__sub,.tabletop-theme-tribunal-dawn .tabletop-header__sub,.tabletop-theme-mystery .tabletop-header__sub,.tabletop-theme-court .tabletop-header__sub,.tabletop-theme-party .tabletop-header__sub,.tabletop-theme-night .tabletop-header__sub,.tabletop-theme-letter .tabletop-header__sub,.tabletop-theme-arena .tabletop-header__sub,.tabletop-theme-orchard .tabletop-header__sub,.tabletop-theme-dark .tabletop-header__sub,.tabletop-shell[data-game-id=werewolf]:not(.tabletop-theme-tribunal-day) .tabletop-header__sub{color:#e2e8f0d9!important;text-shadow:0 1px 2px rgba(0,0,0,.5)}.tabletop-theme-tribunal .tabletop-sound-btn,.tabletop-theme-tribunal-night .tabletop-sound-btn,.tabletop-theme-tribunal-dawn .tabletop-sound-btn,.tabletop-theme-mystery .tabletop-sound-btn,.tabletop-theme-court .tabletop-sound-btn,.tabletop-theme-party .tabletop-sound-btn,.tabletop-theme-night .tabletop-sound-btn,.tabletop-theme-letter .tabletop-sound-btn,.tabletop-theme-arena .tabletop-sound-btn,.tabletop-theme-orchard .tabletop-sound-btn,.tabletop-theme-dark .tabletop-sound-btn,.tabletop-shell[data-game-id=werewolf]:not(.tabletop-theme-tribunal-day) .tabletop-sound-btn{background:#1e1828e0;border:1.5px solid rgba(255,255,255,.18);color:#f1f5f9;box-shadow:0 2px 8px #0000004d}.tabletop-theme-tribunal .tabletop-sound-btn:hover:not(:disabled),.tabletop-theme-tribunal-night .tabletop-sound-btn:hover:not(:disabled),.tabletop-theme-tribunal-dawn .tabletop-sound-btn:hover:not(:disabled),.tabletop-theme-mystery .tabletop-sound-btn:hover:not(:disabled),.tabletop-theme-court .tabletop-sound-btn:hover:not(:disabled),.tabletop-theme-party .tabletop-sound-btn:hover:not(:disabled),.tabletop-theme-night .tabletop-sound-btn:hover:not(:disabled),.tabletop-theme-letter .tabletop-sound-btn:hover:not(:disabled),.tabletop-theme-arena .tabletop-sound-btn:hover:not(:disabled),.tabletop-theme-orchard .tabletop-sound-btn:hover:not(:disabled),.tabletop-theme-dark .tabletop-sound-btn:hover:not(:disabled),.tabletop-shell[data-game-id=werewolf]:not(.tabletop-theme-tribunal-day) .tabletop-sound-btn:hover:not(:disabled){background:#302640f2;border-color:#ffffff61;color:#fff;box-shadow:0 4px 12px #0006}.tabletop-theme-tribunal-day{--gp-chrome-line: rgba(49, 45, 40, .65);--gp-chrome-width: 2px}.tabletop-theme-tribunal-day .tabletop-header{background:#fffcf5f0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:var(--gp-chrome-width) solid var(--gp-chrome-line);box-shadow:0 4px #312d28a6,0 10px 24px #7850141f}.tabletop-theme-tribunal-day .tabletop-header__kicker{color:#dc2626!important;text-shadow:none!important}.tabletop-theme-tribunal-day .tabletop-header__title{color:#1c1917!important;text-shadow:none!important}.tabletop-theme-tribunal-day .tabletop-header__sub{color:#57534e!important;text-shadow:none!important}.tabletop-theme-tribunal-day .tabletop-sound-btn{background:#fff;border:2px solid var(--home-ink, #312d28);color:var(--home-ink, #312d28);box-shadow:2px 2.5px 0 var(--home-ink, #312d28)}.tabletop-theme-tribunal-day .tabletop-sound-btn:hover:not(:disabled){background:#fff8eb;border-color:#000;color:#000}.tabletop-exit-btn{color:var(--home-coral, #ef4d39)!important}.tabletop-exit-btn:hover:not(:disabled){background:var(--home-coral, #ef4d39)!important;color:#fffaf0!important;border-color:var(--home-ink, #312d28)!important}.durian-top-controls,.cheese-top-controls,.tabletop-btn-group{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.durian-role-switch,.cheese-role-switch,.tabletop-role-switch{display:inline-flex;align-items:center;height:32px;padding:2px;background:#f5eedf;border:2px solid var(--home-ink, #312d28);border-radius:10px;box-sizing:border-box;gap:2px;box-shadow:2px 2.5px 0 var(--home-ink, #312d28);overflow:hidden}.durian-role-pill,.cheese-role-pill,.tabletop-role-pill{height:100%;padding:0 8px;border:none;border-radius:6px;background:transparent;color:var(--home-muted, #6f665d);font-size:.76rem;font-weight:850;cursor:pointer;transition:background .12s ease,color .12s ease;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;box-sizing:border-box}.durian-role-pill:hover:not(.is-active),.cheese-role-pill:hover:not(.is-active),.tabletop-role-pill:hover:not(.is-active){color:var(--home-ink, #312d28);background:#312d2814}.durian-role-pill.is-active,.cheese-role-pill.is-active,.tabletop-role-pill.is-active,.cheese-tts-icon-btn.is-active{background:var(--home-yellow, #ffd43b);color:var(--home-ink, #312d28);font-weight:950}.tabletop-arena-container{flex:1 1 auto;min-height:0;width:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:2px 8px 12px;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.tabletop-center-content{width:100%;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow:hidden}.tabletop-shell-stage{width:100%;height:100%;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.tabletop-seats-bar{display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:flex-start;padding:2px 2px 4px;background:transparent!important;border:none!important;box-shadow:none!important;z-index:100;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.tabletop-seats-bar::-webkit-scrollbar{display:none}.tabletop-seat{display:inline-flex;flex-direction:row;flex-shrink:0;gap:6px;align-items:center;padding:3px 10px 3px 4px;border:2px solid var(--home-ink, #312d28);border-radius:999px;background:#fffdf8;color:var(--home-ink, #312d28);z-index:10;transition:all .15s ease;pointer-events:auto;box-shadow:2px 2px 0 var(--home-ink, #312d28)}.tabletop-seat.tabletop-seat--active-turn{border-color:var(--home-ink, #312d28)!important;box-shadow:0 0 0 2px #ffd43b,3px 3px 0 var(--home-ink, #312d28)!important;background:#fff3c4!important;transform:scale(1.04)}.tabletop-seat.tabletop-seat--active-turn .tabletop-seat-name{color:var(--home-ink, #312d28)!important;text-shadow:none!important}.tabletop-seat--speaking{border-color:var(--home-green, #0c715d);box-shadow:0 0 0 2px #0c715d,2px 2px 0 var(--home-ink, #312d28)}.tabletop-seat--eliminated{opacity:.55;filter:grayscale(1);background:#eae5dc;box-shadow:none}.tabletop-seat .tabletop-avatar-box{position:relative;width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.tabletop-seat .tabletop-avatar-img{border:1.5px solid var(--home-ink, #312d28);box-shadow:1px 1px 0 var(--home-ink, #312d28)}.tabletop-seat-name{font-size:.82rem;font-weight:850;color:var(--home-ink, #312d28)}.tabletop-custom-badge{display:inline-flex;align-items:center;gap:3px;background:var(--home-coral, #ef4d39);color:#fff;font-size:.7rem;font-weight:900;padding:1px 6px;border-radius:6px;border:1.5px solid var(--home-ink, #312d28);box-shadow:1px 1px 0 var(--home-ink, #312d28);white-space:nowrap}.tabletop-role-tag{display:inline-flex;align-items:center;gap:3px;background:var(--home-yellow, #ffd43b);color:var(--home-ink, #312d28);font-size:.7rem;font-weight:900;padding:1px 6px;border-radius:6px;border:1.5px solid var(--home-ink, #312d28);box-shadow:1px 1px 0 var(--home-ink, #312d28);white-space:nowrap}.tabletop-turn-halo{position:absolute;inset:-4px;border-radius:50%;border:2px dashed #ffd166;animation:turnSpin 6s linear infinite}@keyframes turnSpin{to{transform:rotate(360deg)}}.tabletop-speech-wave{position:absolute;inset:-4px;border-radius:50%;border:2px solid #06d6a0;animation:speakPulse .8s infinite alternate}@keyframes speakPulse{0%{box-shadow:0 0 6px #06d6a0}to{box-shadow:0 0 18px #06d6a0}}.tabletop-hand-badge{position:absolute;bottom:-4px;right:-6px;background:#be123c;color:#fff;font-size:.65rem;font-weight:800;padding:1px 5px;border-radius:10px;border:1px solid rgba(255,255,255,.35);box-shadow:0 2px 6px #00000080;white-space:nowrap}.tabletop-custom-badge{position:static;transform:none;background:#085f7c;color:#fff;font-size:.68rem;font-weight:800;padding:2px 6px;border-radius:6px;border:1px solid rgba(8,95,124,.4);box-shadow:0 1px 3px #00000040;white-space:nowrap}.tabletop-seat-info{display:flex;flex-direction:row;align-items:center;gap:6px;background:transparent;padding:0;border:none}.tabletop-seat-name{font-size:.8rem;font-weight:700;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabletop-seat-score{font-size:.68rem;font-weight:800;color:#047857}.tabletop-theme-dark .tabletop-seat-score,.tabletop-theme-tribunal-night .tabletop-seat-score,.tabletop-theme-orchard .tabletop-seat-score,.tabletop-theme-mystery .tabletop-seat-score{color:#34d399}.tabletop-theme-orchard{background:radial-gradient(circle at center,#1b3821,#0a170d);color:#e6f4e0}.tabletop-theme-meadow{background:radial-gradient(circle at center,#26401a,#0d1a09);color:#f0f8df}.tabletop-theme-letter{background:radial-gradient(circle at center,#3d1b2a,#160810);color:#ffeef0}.tabletop-theme-night{background:radial-gradient(circle at center,#182344,#070a16);color:#e8eeff}.tabletop-theme-arena{background:radial-gradient(circle at center,#352148,#140822);color:#fff0f5}.tabletop-phase-banner{position:absolute;top:clamp(8px,2vw,18px);left:50%;transform:translate(-50%);max-width:min(calc(100% - 24px),520px);background:#0f172ae6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1.5px solid rgba(255,209,102,.5);border-radius:30px;padding:6px 24px;text-align:center;z-index:300;box-shadow:0 4px 20px #00000073,0 0 14px #ffd16666;color:#fff}.tabletop-phase-banner__title{font-size:.95rem;font-weight:800;color:#ffd166;line-height:1.3}.tabletop-phase-banner__sub{font-size:.8rem;color:#f1f5f9;opacity:.95;margin-top:2px;line-height:1.35}.tabletop-center-content{position:relative;z-index:50;padding:clamp(6px,1.2vw,18px)}.landlord-top-bar{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;z-index:50;margin-top:-2px}.landlord-bottom-cards-panel{display:flex;flex-direction:column;align-items:center;gap:4px;background:#00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1.5px solid rgba(255,209,102,.4);border-radius:16px;padding:6px 18px;box-shadow:0 4px 20px #0006}.landlord-bottom-cards-label{font-size:.76rem;font-weight:800;color:#ffd166;letter-spacing:.5px}.landlord-bottom-cards-row{display:flex;justify-content:center;align-items:center;gap:8px}.landlord-bottom-cards-row .playing-card,.landlord-bottom-cards-row .card-face-static,.landlord-bottom-cards-row svg{width:44px;height:62px;border-radius:6px;box-shadow:0 4px 10px #00000059}.landlord-multiplier-badge{background:#fffdfa;border:2.5px solid var(--game-line, #2d261e);border-radius:999px;padding:5px 14px;font-size:.8rem;color:#1f2937;box-shadow:0 3px 0 var(--game-line, #2d261e);white-space:nowrap}.landlord-multiplier-badge strong{color:#b45309;font-size:.95rem}.landlord-battlefield{display:flex;flex-direction:column;align-items:center;justify-content:space-between;width:100%;height:100%;padding:0 16px;position:relative;gap:8px}.landlord-top-bar{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;z-index:50;margin-top:-8px;margin-bottom:2px}.landlord-bottom-cards-panel{display:flex;flex-direction:column;align-items:center;gap:2px;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid #f59e0b;border-radius:14px;padding:3px 14px;box-shadow:0 3px 14px #d9770629}.landlord-bottom-cards-label{font-size:.72rem;font-weight:800;color:#b45309;letter-spacing:.5px;white-space:nowrap}.landlord-bottom-cards-row{display:flex;justify-content:center;align-items:center;gap:6px}.landlord-bottom-cards-row .playing-card,.landlord-bottom-cards-row .card-face-static,.landlord-bottom-cards-row svg{width:38px;height:54px;border-radius:6px;box-shadow:0 3px 10px #00000026}.landlord-table-watermark{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1;opacity:.15}.landlord-table-watermark__logo{display:flex;align-items:center;gap:6px;font-size:.86rem;font-weight:900;letter-spacing:2px;color:#b45309;text-transform:uppercase;margin-bottom:3px}.landlord-table-watermark__title{font-size:clamp(3.2rem,9.5vw,6rem);font-weight:900;letter-spacing:.16em;color:#92400e;line-height:1;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;text-shadow:0 2px 8px rgba(245,158,11,.28)}.landlord-table-watermark__badge{font-size:.7rem;font-weight:800;letter-spacing:4px;color:#78350f;border-top:1.5px solid rgba(120,53,15,.45);border-bottom:1.5px solid rgba(120,53,15,.45);padding:2px 14px;margin-top:5px}.landlord-countdown-pill{display:inline-flex;align-items:center;gap:4px;font-weight:900;font-size:.85rem;color:#d97706;background:#fef3c7;padding:3px 8px;border-radius:12px;border:1px solid #fde68a;box-shadow:0 2px 6px #d977062e;animation:pulse 1.2s infinite}.landlord-countdown-badge{color:#b45309!important;border-color:#f59e0b!important;background:#fffbeb!important;font-weight:900!important;box-shadow:0 2px 8px #f59e0b40!important;animation:pulse 1.5s infinite}.landlord-mid-arena{display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);align-items:center;justify-content:space-between;width:100%;flex:1;min-height:0;position:relative;padding:0 16px;gap:8px;box-sizing:border-box}.landlord-station-group{display:flex;flex-direction:row;align-items:center;gap:10px;z-index:60;max-width:100%}.landlord-station-group--left{justify-self:start;align-items:center}.landlord-station-group--right{justify-self:end;align-items:center}.landlord-opponent{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;padding:8px 12px;border-radius:16px;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid rgba(217,119,6,.22);box-shadow:0 4px 18px #b48c5a2e;transition:all .2s cubic-bezier(.2,.8,.2,1);min-width:86px;flex-shrink:0}.landlord-opponent.is-turn{border-color:#f59e0b;box-shadow:0 0 22px #f59e0b73;background:#fef3c7e6;transform:translateY(-2px)}.landlord-bubble{position:absolute;top:-26px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;z-index:80;padding:3px 10px;border:2px solid var(--game-line, #2d261e);border-radius:999px;background:#fffdfa;box-shadow:0 2px 0 var(--game-line, #2d261e);white-space:nowrap}.landlord-bubble--left{left:60%}.landlord-bubble--right{left:40%}.landlord-opponent-avatar-box{position:relative;width:50px;height:50px}.landlord-opponent-avatar{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:900;color:#92400e;box-shadow:0 3px 10px #b4782840}.landlord-opponent-hand-count{position:absolute;bottom:-4px;right:-6px;background:#ef4444;color:#fff;font-size:.72rem;font-weight:900;padding:1px 6px;border-radius:10px;box-shadow:0 2px 8px #ef444466;white-space:nowrap}.landlord-opponent-info{display:flex;flex-direction:column;align-items:center;gap:3px}.landlord-opponent-name{font-size:.8rem;font-weight:800;color:#1f2937;max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.landlord-role-badge{font-size:.68rem;font-weight:900;padding:2px 8px;border-radius:999px;white-space:nowrap;background:#e9ecef;color:#212529;border:1.5px solid #adb5bd;box-shadow:0 1px 3px #0000001f}.landlord-role-badge.is-landlord{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-color:#92400e;box-shadow:0 2px 8px #f59e0b59}.landlord-role-badge.is-farmer{background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;border-color:#0c4a6e;box-shadow:0 2px 8px #0284c759}.landlord-drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:120px;min-height:80px;transition:all .2s ease}.landlord-drop-zone.is-played{animation:dropPop .22s cubic-bezier(.2,.8,.2,1)}@keyframes dropPop{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.landlord-drop-combo-header{margin-bottom:4px}.landlord-drop-combo-tag{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1.5px solid #f59e0b;color:#92400e;font-weight:800;font-size:.76rem;padding:2px 9px;border-radius:12px;box-shadow:0 2px 8px #f59e0b33;white-space:nowrap}.landlord-drop-cards{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;max-width:100%}.landlord-drop-cards .playing-card,.landlord-drop-cards .card-face-static,.landlord-drop-cards svg{width:50px;height:72px;border-radius:6px;box-shadow:0 4px 14px #00000026;flex-shrink:0}.landlord-drop-badge{padding:5px 14px;border-radius:999px;font-size:.84rem;font-weight:800;white-space:nowrap;border:2.5px solid var(--game-line, #2d261e);box-shadow:0 3px 0 var(--game-line, #2d261e);background:#fffdfa;color:var(--game-ink)}.landlord-drop-badge--bid{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b;color:#92400e;font-size:.9rem}.landlord-drop-badge--thinking{background:#f1f3f5;border-color:#adb5bd;color:#212529}.landlord-center-nexus{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.landlord-self-drop-wrapper,.landlord-self-drop-bar{display:flex;justify-content:center;align-items:center;width:100%;min-height:80px;z-index:70}.landlord-self-drop-wrapper .landlord-drop-cards .playing-card,.landlord-self-drop-wrapper .landlord-drop-cards svg,.landlord-self-drop-bar .landlord-drop-cards .playing-card,.landlord-self-drop-bar .landlord-drop-cards svg{width:54px;height:78px}.card-fan-deck{display:flex;justify-content:center;align-items:flex-end;height:calc(var(--fan-card-h, 112px) + 28px);width:100%;perspective:1000px;touch-action:none;user-select:none;-webkit-user-select:none}.card-fan-item{width:var(--fan-card-w, 76px);height:var(--fan-card-h, 112px);background:linear-gradient(145deg,#fff,#e2e8f0);border:2px solid #cbd5e1;border-radius:10px;color:#1e293b;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;cursor:pointer;position:absolute;transform-origin:bottom center;transition:transform .22s cubic-bezier(.175,.885,.32,1.275),border-color .18s ease,box-shadow .18s ease;box-shadow:0 6px 16px #0000004d;padding:6px;touch-action:none;user-select:none;-webkit-user-select:none}.card-fan-item--peeking{border-color:#f59e0b!important;box-shadow:0 0 24px #f59e0be6,0 16px 36px #00000073!important;filter:brightness(1.12)!important}.landlord-self-bar{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;position:relative;margin-bottom:4px}.landlord-self-badge{display:inline-flex;align-items:center;gap:6px;min-height:36px;background:#fffdfa;padding:4px 12px;border-radius:999px;border:2.5px solid var(--game-line);box-shadow:0 3px 0 var(--game-line);box-sizing:border-box}.landlord-self-name{font-size:.85rem;font-weight:900;color:var(--game-ink);white-space:nowrap}.landlord-action-dock{display:flex;justify-content:center;align-items:center;min-height:40px;z-index:200}.landlord-bid-row,.landlord-play-row{display:flex;gap:10px;align-items:center}.landlord-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:4px 14px;font-weight:900;font-size:.85rem;cursor:pointer;border:2.5px solid var(--game-line);background:#fff;color:var(--game-ink);transition:transform .12s ease,box-shadow .12s ease;box-shadow:0 3px 0 var(--game-line);white-space:nowrap;box-sizing:border-box}.landlord-btn:hover:not(:disabled){transform:translate3d(0,-2px,0);box-shadow:0 6px 0 var(--game-line)}.landlord-btn:active:not(:disabled){transform:translate3d(0,3px,0);box-shadow:0 1px 0 var(--game-line)}.landlord-btn:disabled{opacity:.45;cursor:not-allowed}.landlord-btn--primary{background:var(--game-yellow, #ffd43b);border-color:var(--game-line);color:var(--game-ink);box-shadow:0 4px 0 var(--game-line)}.landlord-btn--primary:hover:not(:disabled){box-shadow:0 6px 0 var(--game-line)}.landlord-btn--bid{background:#ff922b;border-color:var(--game-line);color:#fff;box-shadow:0 4px 0 var(--game-line)}.landlord-btn--pass{background:#fff3bf;border-color:var(--game-line);color:var(--game-ink)}.landlord-btn--reset{background:#ffe3e3;border-color:var(--game-line);color:#c92a2a}.landlord-wait-tag,.landlord-game-over-tag{display:inline-flex;align-items:center;min-height:36px;padding:4px 12px;border-radius:999px;border:2.5px solid var(--game-line, #2d261e);box-shadow:0 3px 0 var(--game-line, #2d261e);background:#fffdfa;color:var(--game-ink, #292722);font-size:.85rem;font-weight:900;white-space:nowrap;box-sizing:border-box}.landlord-game-over-tag{background:var(--game-yellow, #ffd43b)}.landlord-hand-container{width:100%;max-width:100%;min-width:0;display:flex;justify-content:center;align-items:flex-end;padding-top:24px;overflow-x:auto;scrollbar-width:none}.landlord-hand-container::-webkit-scrollbar{display:none}.landlord-hand-rack{display:inline-flex;justify-content:center;align-items:flex-end;padding:4px 20px 6px;min-height:110px}.landlord-hand-card{position:relative;background:transparent;border:none;padding:0;margin-left:calc(-1 * var(--landlord-card-overlap, 34px));cursor:pointer;transform-origin:bottom center;transition:transform .18s cubic-bezier(.2,.8,.2,1),filter .15s ease;-webkit-user-select:none;user-select:none}.landlord-hand-card.card-fan-item{position:relative;flex-shrink:0}.landlord-hand-card:first-child{margin-left:0}.landlord-hand-card .playing-card,.landlord-hand-card svg{width:64px;height:92px;border-radius:6px;box-shadow:0 2px 6px #0000002e;display:block;pointer-events:none}.landlord-hand-card:hover{transform:translateY(-8px);z-index:150!important}.landlord-hand-card.is-selected,.card-fan-item--selected,.card-fan-item.is-selected{transform:translateY(-24px) scale(1.02);z-index:200!important}.landlord-hand-card.is-selected .playing-card,.landlord-hand-card.is-selected svg{filter:drop-shadow(0 0 12px rgba(245,158,11,.95)) drop-shadow(0 8px 16px rgba(0,0,0,.35))}@media(max-width:768px){.landlord-battlefield{padding:0 6px;gap:4px}.landlord-top-bar{gap:6px;margin-top:0}.landlord-bottom-cards-panel{padding:3px 10px}.landlord-bottom-cards-label{font-size:.68rem}.landlord-bottom-cards-row .playing-card,.landlord-bottom-cards-row .card-face-static,.landlord-bottom-cards-row svg{width:34px;height:48px}.landlord-multiplier-badge{padding:3px 8px;font-size:.72rem}.landlord-mid-arena{padding:0 4px;gap:4px;grid-template-columns:minmax(68px,1fr) auto minmax(68px,1fr);align-items:center}.landlord-station-group{flex-direction:column;gap:4px;align-items:center}.landlord-station-group--left{justify-self:start;align-items:flex-start}.landlord-station-group--right{justify-self:end;align-items:flex-end}.landlord-opponent{padding:4px 6px;min-width:64px;border-radius:12px}.landlord-opponent-avatar-box{width:38px;height:38px}.landlord-opponent-avatar{font-size:.92rem}.landlord-opponent-hand-count{font-size:.62rem;padding:1px 4px;right:-4px;bottom:-3px}.landlord-opponent-name{font-size:.7rem;max-width:60px}.landlord-role-badge{font-size:.58rem;padding:1px 4px}.landlord-bubble{font-size:.7rem;padding:2px 6px;top:-24px}.landlord-drop-zone{min-width:80px;min-height:60px}.landlord-drop-cards .playing-card,.landlord-drop-cards svg{width:40px;height:58px}.landlord-self-drop-wrapper,.landlord-self-drop-bar{min-height:64px}.landlord-self-drop-wrapper .landlord-drop-cards .playing-card,.landlord-self-drop-wrapper .landlord-drop-cards svg,.landlord-self-drop-bar .landlord-drop-cards .playing-card,.landlord-self-drop-bar .landlord-drop-cards svg{width:44px;height:64px}.tabletop-shell--portrait{padding-top:0!important}.tabletop-shell--portrait .tabletop-header{width:100%!important;max-width:100%!important;margin:0!important;border-radius:0 0 16px 16px!important;border-top:none!important;border-left:none!important;border-right:none!important;padding-top:max(var(--safe-top),env(safe-area-inset-top,0px),8px)!important;padding-left:max(env(safe-area-inset-left,0px),12px)!important;padding-right:max(env(safe-area-inset-right,0px),12px)!important;padding-bottom:6px!important}body.is-immersive .tabletop-shell--portrait .tabletop-header{padding-top:6px!important}.tabletop-shell--landscape .tabletop-arena-container{max-width:1280px}.tabletop-shell--landscape .landlord-station-group{flex-direction:row!important;gap:12px!important}.tabletop-shell--portrait .landlord-station-group{flex-direction:column!important;gap:6px!important}.landlord-self-bar{gap:6px}.landlord-self-badge{padding:2px 8px}.landlord-self-name{font-size:.75rem}.landlord-wait-tag,.landlord-game-over-tag{min-height:32px;padding:3px 10px;font-size:.78rem;border-radius:999px}.landlord-hand-rack{padding:2px 8px 4px;min-height:88px}.landlord-hand-card{margin-left:calc(-1 * var(--landlord-card-overlap, 40px))}.landlord-hand-card .playing-card,.landlord-hand-card svg{width:54px;height:78px}.landlord-hand-card.is-selected{transform:translateY(-18px)}}.tabletop-bottom-bar{background:transparent;border-top:none;padding:10px 16px;display:flex;justify-content:center;align-items:center;z-index:400}.card-fan-container{--fan-card-w: 76px;--fan-card-h: 112px;--fan-lift: 24px;--fan-slope: .8;--fan-max-angle-cap: 40;display:flex;flex-direction:column;align-items:center;width:100%;max-width:1080px;position:relative}.card-fan-action-bar{position:absolute;top:-48px;left:0;right:0;display:flex;justify-content:center;z-index:300;pointer-events:none}.card-fan-action-bar .card-fan-play-btn{pointer-events:auto}.card-fan-play-btn{background:linear-gradient(135deg,#ffd166,#f72585);color:#fff;border:none;padding:8px 24px;border-radius:24px;font-weight:800;font-size:1rem;cursor:pointer;box-shadow:0 4px 18px #f7258580;transition:transform .15s ease,box-shadow .15s ease}.card-fan-play-btn:hover{transform:scale(1.06);box-shadow:0 6px 24px #f72585b3}.card-fan-deck{display:flex;justify-content:center;align-items:flex-end;height:calc(var(--fan-card-h, 112px) + 28px);width:100%;perspective:1000px}.card-fan-item{width:var(--fan-card-w, 76px);height:var(--fan-card-h, 112px);background:linear-gradient(145deg,#fff,#e2e8f0);border:2px solid #cbd5e1;border-radius:10px;color:#1e293b;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;cursor:pointer;position:absolute;transform-origin:bottom center;transition:transform .25s cubic-bezier(.175,.885,.32,1.275),border-color .2s ease,box-shadow .2s ease;box-shadow:0 6px 16px #0000004d;padding:6px}.card-fan-item:hover{border-color:#3b82f6;box-shadow:0 10px 24px #3b82f680}.card-fan-item--selected{border-color:#f59e0b!important;box-shadow:0 0 20px #f59e0b,0 12px 28px #f59e0b99!important}.card-fan-item:not([aria-disabled=true]):active{filter:brightness(1.08)}.card-fan-item--playing{pointer-events:none;animation:cardFanPlay .18s ease-in forwards}@keyframes cardFanPlay{0%{opacity:1}to{opacity:0;translate:0 -36px;scale:1.18}}.card-fan-badge{position:absolute;top:4px;left:4px;background:#3b82f6;color:#fff;font-size:.65rem;padding:1px 4px;border-radius:4px}.card-fan-label{font-size:1.1rem;text-align:center;line-height:1.1}.card-fan-sublabel{font-size:.68rem;opacity:.75;margin-top:4px}.card-fan-item--red{background:linear-gradient(145deg,#fee2e2,#fca5a5);border-color:#ef4444;color:#991b1b}.card-fan-item--blue{background:linear-gradient(145deg,#dbeafe,#93c5fd);border-color:#3b82f6;color:#1e3a8a}.card-fan-item--green{background:linear-gradient(145deg,#dcfce7,#86efac);border-color:#22c55e;color:#14532d}.card-fan-item--yellow{background:linear-gradient(145deg,#fef9c3,#fde047);border-color:#eab308;color:#713f12}.card-fan-item--wild{background:linear-gradient(145deg,#f3e8ff,#c084fc);border-color:#a855f7;color:#581c87}.confirm-backdrop{align-items:center;padding:20px 16px}.confirm-dialog-backdrop{position:fixed;inset:0;width:100vw;height:100dvh;background:#221e1aa6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:99999;padding:16px;animation:modalFadeIn .18s ease-out}.confirm-dialog{display:flex;flex-direction:column;gap:16px;width:100%;max-width:420px;padding:24px 20px 20px;border:3px solid var(--home-ink, #221e1a);border-radius:24px;color:var(--home-ink, #221e1a);background:var(--home-surface, #fffdf8);box-shadow:6px 7px 0 var(--home-ink, #221e1a);animation:modalPop .2s cubic-bezier(.2,.8,.2,1);box-sizing:border-box}.confirm-dialog h2{margin:0;font-size:1.25rem;font-weight:900;color:var(--home-ink, #221e1a);letter-spacing:.5px}.confirm-dialog p{margin:0;color:var(--home-muted, #716b61);font-size:.92rem;line-height:1.55;font-weight:700}.confirm-dialog__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:8px;width:100%;box-sizing:border-box}.confirm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;min-width:72px;padding:8px 14px;border-radius:12px;font-size:.9rem;font-weight:900;cursor:pointer;white-space:nowrap;border:2px solid var(--home-ink, #221e1a);box-shadow:3px 3px 0 var(--home-ink, #221e1a);transition:all .12s ease;flex:1 1 auto}.confirm-btn:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:4px 5px 0 var(--home-ink, #221e1a)}.confirm-btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--home-ink, #221e1a)}.confirm-btn--cancel{background:#fff;color:var(--home-ink, #221e1a)}.confirm-btn--cancel:hover:not(:disabled){background:#f5f0e8}.confirm-btn--primary{background:var(--home-yellow, #f8c822);color:var(--home-ink, #221e1a)}.confirm-btn--primary:hover:not(:disabled){background:#f5b700}.confirm-btn--danger{background:var(--home-coral, #ea4335);color:#fff!important}.confirm-btn--danger:hover:not(:disabled){background:#d9382b}@media(max-width:480px){.tabletop-shell{--tabletop-avatar: 42px;--tabletop-felt-radius: 90px;--tabletop-center-pad: 8px}.tabletop-header{padding:6px 10px!important;min-height:38px!important;gap:6px!important}.tabletop-header__kicker,.tabletop-recommend-chip__label{display:none!important}.tabletop-seats-bar{mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 28px),transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 28px),transparent 100%)}.tabletop-header__title{font-size:.98rem!important;line-height:1.1!important}.tabletop-header__sub{font-size:.7rem!important;margin:0!important}.tabletop-header__actions{gap:5px!important}.tabletop-sound-btn,.tabletop-rules-btn,.cheese-tts-icon-btn,.ll-tracker-toggle-btn,.tabletop-orient-btn,.game-leave__button{height:32px!important;min-width:32px!important;padding:0 8px!important;font-size:.72rem!important;border-radius:10px!important;box-shadow:2px 2.5px 0 var(--home-ink, #312d28)!important}.tabletop-sound-btn__label,.tabletop-rules-btn .durian-btn-text,.tabletop-rules-btn .cheese-btn-text{display:none}.tabletop-arena-container{padding:4px!important}.tabletop-oval-felt{border-width:4px}.tabletop-avatar-inner{font-size:.92rem}.tabletop-seat-info{padding:1px 4px}.tabletop-seat-name{max-width:60px;font-size:.66rem}.tabletop-hand-badge{font-size:.58rem;padding:0 4px}.tabletop-phase-banner{top:4px;padding:3px 12px}.tabletop-phase-banner__title{font-size:.8rem}.tabletop-phase-banner__sub{font-size:.68rem}.tabletop-bottom-bar{padding:6px 8px calc(var(--safe-bottom) + 4px)}.tabletop-shell--dense .tabletop-turn-halo{inset:-4px}}.tabletop-shell--dense .tabletop-seat{padding:2px 7px 2px 3px;gap:4px}.tabletop-shell--dense .tabletop-seat .tabletop-avatar-box{width:22px;height:22px}.tabletop-shell--dense .tabletop-seat .tabletop-avatar-img{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important}.tabletop-shell--dense .tabletop-seat-name{max-width:64px;font-size:.68rem}.tabletop-shell--dense .tabletop-custom-badge{font-size:.6rem;padding:1px 5px}.tabletop-shell--dense .tabletop-seat-info{gap:4px}.tabletop-shell--landscape .tabletop-seats-bar{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;justify-content:flex-start}.tabletop-shell--landscape .tabletop-seats-bar::-webkit-scrollbar{display:none}@media(min-width:480px)and (max-width:768px){.tabletop-shell{--tabletop-avatar: 52px;--tabletop-felt-radius: 140px;--tabletop-center-pad: 14px}.tabletop-header{padding:8px 12px}.tabletop-header__kicker{display:none}.tabletop-header__title{font-size:1.08rem}.tabletop-arena-container{padding:8px}}.tabletop-shell--landscape .tabletop-arena-container{max-width:1280px}.tabletop-shell--landscape .landlord-station-group{flex-direction:row!important;gap:12px!important}.tabletop-shell--portrait .landlord-station-group{flex-direction:column!important;gap:6px!important}@media(min-width:768px)and (max-width:1024px){.tabletop-shell{--tabletop-avatar: 64px;--tabletop-felt-radius: 180px;--tabletop-center-pad: 30px}.tabletop-header{padding:14px 24px}.tabletop-arena-container{padding:18px}}@media(min-width:1024px){.tabletop-shell{max-width:none;margin:0;padding-inline:0;--tabletop-avatar: 72px;--tabletop-felt-radius: 240px;--tabletop-center-pad: 44px}.tabletop-header{padding:10px 24px}.tabletop-header__title{font-size:1.35rem}.tabletop-arena-container{padding:10px 16px}.tabletop-seat-name{max-width:104px;font-size:.82rem}.tabletop-bottom-bar{padding:8px 20px}.tabletop-bottom-bar>*{width:100%;max-width:1080px}}@media(min-width:1280px){.tabletop-shell{--tabletop-avatar: 80px;--tabletop-felt-radius: 280px;--tabletop-center-pad: 56px}.tabletop-oval-felt{max-width:min(92%,1240px);max-height:min(84%,840px)}}@media(orientation:landscape)and (max-height:520px){.tabletop-shell{--tabletop-avatar: 44px;--tabletop-felt-radius: 110px;--tabletop-center-pad: 10px}.tabletop-header{padding:6px 12px}.tabletop-header__title{font-size:1rem}.tabletop-header__kicker,.tabletop-header__sub,.tabletop-sound-btn__label{display:none}.tabletop-sound-btn{padding:5px 10px}.tabletop-arena-container{padding:6px}.tabletop-oval-felt{height:78%}.tabletop-phase-banner{top:6px;padding:3px 14px}.tabletop-phase-banner__title{font-size:.78rem}.tabletop-bottom-bar{padding:8px 10px}}.user-profile-badge{display:inline-flex;align-items:center;gap:8px;background:#fff;border:2px solid var(--home-ink, #221e1a);border-radius:999px;padding:3px 12px 3px 4px;cursor:pointer;box-shadow:3px 3px 0 var(--home-ink, #221e1a);transition:all .12s ease;min-height:40px}.user-profile-badge:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--home-ink, #221e1a);background:#fffdf5}.user-profile-badge:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--home-ink, #221e1a)}.user-profile-badge__name{font-size:.88rem;font-weight:900;color:var(--home-ink, #221e1a);max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-profile-badge__edit-icon{color:#d97706;display:flex;align-items:center}.room-sheet__profile-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.room-sheet__avatar-btn{display:flex;flex-direction:column;align-items:center;gap:4px;background:transparent;border:none;padding:0;cursor:pointer}.room-sheet__avatar-tip,.room-sheet__avatar-badge{font-size:.7rem;font-weight:800;color:#b45309;background:#fef3c7;border:1px solid #fde68a;border-radius:10px;padding:1px 6px}.profile-modal-backdrop{position:fixed;inset:0;width:100vw;height:100dvh;background:#221e1aa6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:99999;padding:16px;animation:modalFadeIn .18s ease-out}.profile-modal{background:var(--home-surface, #fffdf8);border:3px solid var(--home-ink, #221e1a);border-radius:24px;width:100%;max-width:520px;box-shadow:6px 7px 0 var(--home-ink, #221e1a);overflow:hidden;display:flex;flex-direction:column;animation:modalPop .22s cubic-bezier(.2,.8,.2,1);color:var(--home-ink, #221e1a)}.profile-modal__header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:2px solid var(--home-ink, #221e1a);background:#fff8db}.profile-modal__header-icon{width:38px;height:38px;border-radius:50%;background:var(--home-yellow, #f8c822);border:2px solid var(--home-ink, #221e1a);box-shadow:2px 2px 0 var(--home-ink, #221e1a);display:flex;align-items:center;justify-content:center;color:var(--home-ink, #221e1a)}.profile-modal__title{margin:0;font-size:1.22rem;font-weight:900;color:var(--home-ink, #221e1a)}.profile-modal__sub{margin:2px 0 0;font-size:.82rem;font-weight:600;color:var(--home-muted, #716b61)}.profile-modal__close-btn{margin-left:auto;background:#fff;border:2px solid var(--home-ink, #221e1a);box-shadow:2px 2px 0 var(--home-ink, #221e1a);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;color:var(--home-ink, #221e1a);cursor:pointer;padding:0;font-weight:900;transition:all .12s ease}.profile-modal__close-btn:hover{background:#fee2e2;color:#dc2626;transform:scale(1.05)}.profile-modal__form{padding:18px 20px;display:flex;flex-direction:column;gap:16px;max-height:min(75dvh,640px);overflow-y:auto}.profile-modal__preview-box{display:flex;align-items:center;gap:16px;background:#fffdf5;border:2px solid var(--home-ink, #221e1a);box-shadow:3px 3px 0 var(--home-ink, #221e1a);border-radius:18px;padding:14px}.profile-modal__preview-info{flex:1;display:flex;flex-direction:column;gap:4px}.profile-modal__label{font-size:.88rem;font-weight:900;color:var(--home-ink, #221e1a)}.profile-modal__name-input{width:100%;padding:8px 12px;border-radius:12px;border:2px solid var(--home-ink, #221e1a);box-shadow:2px 2px 0 var(--home-ink, #221e1a);font-size:.95rem;font-weight:900;background:#fff;color:var(--home-ink, #221e1a)}.profile-modal__name-input:focus{outline:none;border-color:#f59e0b;box-shadow:3px 3px #f59e0b}.profile-modal__hint{font-size:.74rem;font-weight:600;color:var(--home-muted, #716b61)}.room-sheet:has(#user-profile-form){width:min(600px,calc(100vw - 24px));max-height:min(92dvh,800px)}@media(min-width:640px)and (orientation:landscape),(min-width:768px){.room-sheet:has(#user-profile-form){width:min(880px,calc(100vw - 32px));max-height:min(90dvh,560px)}}.profile-modal__layout{display:flex;flex-direction:column;gap:14px;width:100%}@media(min-width:640px)and (orientation:landscape),(min-width:768px){.profile-modal__layout{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:start}}.profile-modal__sidebar{display:flex;flex-direction:column;gap:12px}@media(min-width:640px)and (orientation:landscape),(min-width:768px){.profile-modal__sidebar{padding-right:14px;border-right:2px dashed rgba(34,30,26,.15)}}.profile-modal__preview-box{display:flex;gap:14px;align-items:center;background:#fffdf5;border:2px solid var(--home-ink, #221e1a);border-radius:16px;padding:12px 14px;box-shadow:2px 2px 0 var(--home-ink, #221e1a)}@media(min-width:640px)and (orientation:landscape),(min-width:768px){.profile-modal__preview-box{flex-direction:column;text-align:center;padding:14px 10px}}.profile-modal__preview-info{display:flex;flex-direction:column;gap:4px;width:100%}.profile-modal__upload-bar{display:flex;width:100%}.profile-upload-trigger{width:100%;font-size:.8rem;font-weight:900;color:var(--home-ink, #221e1a);background:var(--home-yellow, #f8c822);border:2px solid var(--home-ink, #221e1a);box-shadow:2px 2px 0 var(--home-ink, #221e1a);padding:8px 12px;border-radius:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .12s ease}.profile-upload-trigger:hover{background:#f5b700;transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--home-ink, #221e1a)}.profile-modal__main{display:flex;flex-direction:column;gap:8px;min-width:0}.profile-modal__section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.profile-modal__count-badge{font-size:.72rem;font-weight:800;padding:2px 8px;background:#fff3c4;border:1.5px solid var(--home-ink, #221e1a);border-radius:999px;color:var(--home-ink, #221e1a)}.profile-category-tabs{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.profile-category-tabs::-webkit-scrollbar{display:none}.profile-category-tab{flex-shrink:0;padding:5px 11px;border-radius:999px;border:2px solid var(--home-ink, #221e1a);background:#fff;color:var(--home-ink, #221e1a);font-size:.76rem;font-weight:800;cursor:pointer;box-shadow:2px 2px 0 var(--home-ink, #221e1a);transition:all .12s ease;white-space:nowrap}.profile-category-tab:hover{transform:translateY(-1px)}.profile-category-tab.is-active{background:var(--home-yellow, #f8c822);transform:translateY(1px);box-shadow:1px 1px 0 var(--home-ink, #221e1a)}.profile-preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:8px;max-height:min(48dvh,320px);overflow-y:auto;overflow-x:hidden;padding:8px 6px;-webkit-overflow-scrolling:touch;border:2px solid var(--home-ink, #221e1a);border-radius:16px;background:#faf7f2;box-shadow:inset 0 2px 6px #0000000f}@media(min-width:640px)and (orientation:landscape),(min-width:768px){.profile-preset-grid{max-height:min(54dvh,360px);grid-template-columns:repeat(auto-fill,minmax(66px,1fr));gap:9px}}.profile-preset-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 3px;background:#fff;border:2px solid var(--home-ink, #221e1a);box-shadow:2px 2px 0 var(--home-ink, #221e1a);border-radius:12px;cursor:pointer;position:relative;transition:all .12s ease;min-height:76px;width:100%;box-sizing:border-box}.profile-preset-card:hover{transform:translateY(-2px);box-shadow:3px 3px 0 var(--home-ink, #221e1a)}.profile-preset-card.is-selected{background:#fff8db;border:2.5px solid #d97706;box-shadow:2px 3px 0 var(--home-ink, #221e1a);transform:translateY(-2px)}.profile-preset-name{flex:none;line-height:1.25;font-size:.68rem;font-weight:800;color:var(--home-ink, #221e1a);width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 1px}.profile-preset-check{position:absolute;top:2px;right:2px;width:16px;height:16px;background:#2bb673;color:#fff;font-size:.65rem;font-weight:900;border-radius:50%;border:1.5px solid var(--home-ink, #221e1a);display:flex;align-items:center;justify-content:center}.profile-crop-panel{display:flex;flex-direction:column;align-items:center;gap:14px;background:#fffdf5;border:2px dashed var(--home-ink, #221e1a);border-radius:18px;padding:16px}.profile-crop-title{margin:0;font-size:.9rem;font-weight:900;color:var(--home-ink, #221e1a)}.profile-crop-canvas-wrapper{cursor:grab;border-radius:50%;overflow:hidden;box-shadow:3px 4px 0 var(--home-ink, #221e1a);border:2px solid var(--home-ink, #221e1a)}.profile-crop-canvas-wrapper:active{cursor:grabbing}.profile-crop-canvas{width:200px;height:200px;display:block}.profile-crop-controls{display:flex;align-items:center;gap:10px;width:100%;max-width:260px;font-size:.85rem;font-weight:900;color:var(--home-ink, #221e1a)}.profile-crop-controls input[type=range]{flex:1;accent-color:#f59e0b}.profile-crop-actions{display:flex;gap:12px}.profile-modal__footer{display:flex;justify-content:flex-end;gap:12px;padding-top:6px;align-items:center}.room-header__brand{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:nowrap}.room-header__title{font-size:1.02rem;font-weight:900;color:var(--home-ink, #221e1a);white-space:nowrap;letter-spacing:-.01em}.room-status-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;background:#ecfdf5;color:#065f46;border:1.5px solid #a7f3d0;font-size:.74rem;font-weight:800;white-space:nowrap}.room-status-badge__dot{width:6px;height:6px;border-radius:50%;background:#10b981;box-shadow:0 0 0 2px #10b98140}.room-header__actions{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:nowrap}.room-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 12px;min-height:32px;border-radius:999px;border:2px solid var(--game-line, #221e1a);box-shadow:2px 2px 0 var(--game-line, #221e1a);font-size:.8rem;font-weight:900;cursor:pointer;white-space:nowrap;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.room-action-btn--switch{background:#fef08a;color:#854d0e}.room-action-btn--switch:hover:not(:disabled){background:#fde047;transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--game-line, #221e1a)}.room-action-btn--leave{background:#fff;color:var(--game-line, #221e1a)}.room-action-btn--leave:hover:not(:disabled){background:#fee2e2;color:#991b1b;transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--game-line, #221e1a)}.room-action-btn:active:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px 0 var(--game-line, #221e1a)}.room-switch-game-btn{font-size:.76rem;font-weight:900;color:var(--home-ink, #221e1a);background:var(--home-yellow, #f8c822);border:1.5px solid var(--home-ink, #221e1a);border-radius:14px;padding:3px 10px;cursor:pointer;margin-left:10px;box-shadow:2px 2px 0 var(--home-ink, #221e1a);transition:all .12s ease}.room-switch-game-btn:hover{background:#f5b700;transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--home-ink, #221e1a)}.game-switcher-backdrop{position:fixed;inset:0;width:100vw;height:100dvh;background:#221e1aa6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:99999;padding:16px}.game-switcher-modal{background:var(--home-surface, #fffdf8);border:3px solid var(--home-ink, #221e1a);border-radius:24px;width:94vw;max-width:820px;max-height:84dvh;box-shadow:6px 7px 0 var(--home-ink, #221e1a);display:flex;flex-direction:column;overflow:hidden;animation:modal-pop .2s cubic-bezier(.2,.8,.2,1) both}.game-switcher-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:2.5px solid var(--home-ink, #221e1a);background:#fff8db;flex-shrink:0}.game-switcher-header h3{margin:0;font-size:1.18rem;font-weight:900;color:var(--home-ink, #221e1a)}.game-switcher-grid{padding:16px 18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr));gap:12px;overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;width:100%}.game-switcher-card{display:flex;align-items:center;gap:12px;padding:12px 14px;min-height:74px;background:#fff;border:2.5px solid var(--home-ink, #221e1a);border-radius:16px;cursor:pointer;text-align:left;box-shadow:2.5px 3px 0 var(--home-ink, #221e1a);transition:all .12s ease}.game-switcher-card:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:3.5px 4.5px 0 var(--home-ink, #221e1a);background:#fffdf5}.game-switcher-card.is-current{background:#fff8db;border-color:var(--home-ink, #221e1a);box-shadow:3px 4px 0 var(--home-ink, #221e1a);cursor:default}.game-switcher-card__icon-box{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#fff8db;border:2px solid var(--home-ink, #221e1a)}.game-switcher-card__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.game-switcher-card__name{font-size:.96rem;font-weight:900;color:var(--home-ink, #221e1a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-switcher-card__players{font-size:.72rem;font-weight:800;color:#b3251b;background:#ffe3e3;padding:1px 6px;border-radius:6px;border:1px solid #ffa8a8;white-space:nowrap;flex-shrink:0}.game-switcher-card__desc{font-size:.75rem;color:#60594f;font-weight:650;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.game-switcher-card__btn{font-size:.8rem;font-weight:900;color:var(--home-ink, #221e1a);background:var(--home-yellow, #f8c822);border:2px solid var(--home-ink, #221e1a);padding:5px 14px;border-radius:12px;box-shadow:2px 2px 0 var(--home-ink, #221e1a);flex-shrink:0;white-space:nowrap}.game-switcher-card__badge{font-size:.76rem;font-weight:900;color:#065f46;background:#d1fae5;border:2px solid #059669;padding:4px 12px;border-radius:12px;flex-shrink:0;white-space:nowrap}.post-game-dock-backdrop{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:800;padding:16px;animation:modalFadeIn .22s ease-out}.post-game-dock{background:#fffffff2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:2px solid #f59e0b;border-radius:24px;padding:20px 24px;width:100%;max-width:540px;box-shadow:0 12px 40px #00000040;display:flex;flex-direction:column;gap:16px;animation:modalPop .25s cubic-bezier(.2,.8,.2,1)}.post-game-dock__header{display:flex;align-items:center;gap:14px}.post-game-dock__trophy{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 14px #f59e0b4d}.post-game-dock__titles{display:flex;flex-direction:column;gap:2px}.post-game-dock__title{margin:0;font-size:1.22rem;font-weight:900;color:#1f2937}.post-game-dock__sub{margin:0;font-size:.84rem;font-weight:600;color:#4b5563}.post-game-dock__roster{display:flex;flex-direction:column;gap:8px;background:#f59e0b0f;border:1.5px solid rgba(245,158,11,.2);border-radius:16px;padding:12px 14px}.post-game-dock__roster-title{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;font-weight:800;color:#4b5563}.post-game-dock__roster-count{color:#d97706;font-size:.92rem}.post-game-dock__roster-count.is-complete{color:#059669}.post-game-dock__roster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.post-game-dock__chip{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-radius:12px;font-size:.8rem;font-weight:800;background:#fff;border:1.5px solid rgba(43,39,34,.12)}.post-game-dock__chip.is-ready{border-color:#10b981;background:#ecfdf5;color:#047857}.post-game-dock__chip.is-waiting{border-color:#cbd5e1;background:#f8fafc;color:#64748b}.post-game-dock__chip.is-me{box-shadow:0 0 0 1.5px #f59e0b}.post-game-dock__chip-name{max-width:68px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-game-dock__chip-badge{display:inline-flex;align-items:center;font-size:.72rem}.post-game-dock__auto-hint{display:flex;align-items:center;justify-content:center;font-size:.88rem;font-weight:900;color:#059669;background:#ecfdf5;border:1.5px solid #10b981;border-radius:14px;padding:8px 16px;animation:pulse 1.5s infinite}.post-game-dock__actions{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.post-game-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 24px;border-radius:22px;font-size:.95rem;font-weight:900;cursor:pointer;border:1.5px solid transparent;transition:all .18s cubic-bezier(.2,.8,.2,1);box-shadow:0 4px 12px #0000001a;white-space:nowrap}.post-game-btn--ready{background:linear-gradient(135deg,#10b981,#059669);border-color:#34d399;color:#fff;box-shadow:0 4px 16px #10b98166}.post-game-btn--ready:hover:not(:disabled){transform:translateY(-2px) scale(1.03);box-shadow:0 6px 20px #10b98180}.post-game-btn--cancel{background:#fff;border-color:#cbd5e1;color:#475569}.post-game-btn--cancel:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5;color:#dc2626}.post-game-btn--start{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#fbbf24;color:#fff;box-shadow:0 4px 14px #f59e0b59}.post-game-btn--start:hover:not(:disabled){transform:translateY(-2px) scale(1.03);box-shadow:0 6px 18px #f59e0b73}.post-game-btn--lobby{background:#fff;border-color:#cbd5e1;color:#475569}.post-game-btn--lobby:hover:not(:disabled){background:#f1f5f9}.error-page-tabletop{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:20px;background:radial-gradient(1000px 650px at 50% 30%,#fffef8,#f6efe1 45%,#ebdcc2)}.game-error-panel{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;background:var(--home-surface, #fffdf8);border:3px solid var(--home-ink, #221e1a);border-radius:24px;padding:36px 30px 28px;max-width:440px;width:100%;box-shadow:6px 7px 0 var(--home-ink, #221e1a);animation:modalPop .22s cubic-bezier(.2,.8,.2,1)}.game-error-icon{width:58px;height:58px;border-radius:50%;background:var(--home-yellow, #f8c822);border:2.5px solid var(--home-ink, #221e1a);box-shadow:3px 3px 0 var(--home-ink, #221e1a);display:flex;align-items:center;justify-content:center;color:var(--home-ink, #221e1a)}.game-error-title{margin:0;font-size:1.35rem;font-weight:900;color:var(--home-ink, #221e1a);letter-spacing:.5px}.game-error-desc{margin:0;font-size:.92rem;line-height:1.6;color:var(--home-muted, #716b61);font-weight:700}.game-error-actions{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:8px;width:100%}.tabletop-settlement-dock{position:fixed;bottom:0;left:0;right:0;z-index:800;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 clamp(8px,2vw,18px) max(env(safe-area-inset-bottom,0px),clamp(6px,1.5vh,14px));pointer-events:none;animation:settlement-dock-slide-up .35s cubic-bezier(.16,1,.3,1) both}@keyframes settlement-dock-slide-up{0%{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.settlement-dock-strip{pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:820px;padding:10px 16px;background:#121c16f0;border:2px solid rgba(245,158,11,.45);border-radius:18px;box-shadow:0 12px 36px #0000008c,0 4px #0009;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-sizing:border-box}.settlement-dock-status{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}.settlement-dock-title{font-size:.88rem;font-weight:900;color:#fef08a;text-shadow:0 1px 3px rgba(0,0,0,.6);letter-spacing:.02em}.settlement-dock-players{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;width:100%}.settlement-player-chip{display:flex;align-items:center;gap:6px;padding:2px 8px 2px 3px;border-radius:999px;background:#00000059;border:1.5px solid rgba(255,255,255,.18);transition:all .2s ease}.settlement-player-chip.is-ready{border-color:#22c55e;background:#22c55e2e;box-shadow:0 0 10px #22c55e4d}.settlement-player-chip.is-waiting{border-color:#fff3;opacity:.82}.settlement-avatar-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.settlement-badge{position:absolute;bottom:-2px;right:-4px;width:15px;height:15px;border-radius:50%;font-size:.65rem;font-weight:900;display:grid;place-items:center;color:#fff;border:1.5px solid #121c16}.badge--ready{background:#22c55e}.badge--waiting{background:#94a3b8}.settlement-player-name{font-size:.76rem;font-weight:800;color:#f1f5f9;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settlement-dock-actions{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;width:100%}.settlement-btn{height:38px;min-height:38px;padding:0 18px;border-radius:12px;font-size:.88rem;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;white-space:nowrap;box-sizing:border-box}.settlement-btn:hover:not(:disabled){transform:translateY(-1px)}.settlement-btn:active:not(:disabled){transform:translateY(2px)}.settlement-btn:disabled{opacity:.55;cursor:not-allowed}.settlement-btn--primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:2px solid #047857;box-shadow:0 3px #065f46,0 4px 12px #10b9814d}.settlement-btn--primary.is-ready-state{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#b45309;box-shadow:0 3px #78350f,0 4px 12px #f59e0b59}.settlement-btn--fast-start{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:2px solid #991b1b;box-shadow:0 3px #7f1d1d,0 4px 12px #ef444459}.settlement-btn--secondary{background:#ffffff1f;color:#f1f5f9;border:1.5px solid rgba(255,255,255,.3);box-shadow:0 3px #00000080}.settlement-btn--secondary:hover:not(:disabled){background:#ffffff38}.settlement-btn--danger{background:#ef444424;color:#fca5a5;border:1.5px solid rgba(239,68,68,.45);box-shadow:0 3px #00000080}.settlement-btn--danger:hover:not(:disabled){background:#ef444447;color:#fff}.settlement-dock-error{margin-top:4px;font-size:.78rem;font-weight:800;color:#f87171;text-align:center}.werewolf-reveal-overlay{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:#000000c7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:16px;box-sizing:border-box;animation:wwRevealFadeIn .25s ease-out}@keyframes wwRevealFadeIn{0%{opacity:0}to{opacity:1}}.werewolf-reveal-modal{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;width:min(94vw,580px);max-height:min(84vh,680px);padding:20px 22px 18px;border-radius:18px;background:linear-gradient(135deg,#1e1814fa,#100c0afa);border:2px solid var(--wc-gold, #c5a059);box-shadow:0 24px 60px #000c,inset 0 0 24px #c5a0591f;animation:modalPop .28s cubic-bezier(.16,1,.3,1) both;box-sizing:border-box}.tabletop-theme-tribunal-day .werewolf-reveal-modal{background:linear-gradient(135deg,#fffcf5fa,#f5ebd7fa);border-color:#b453098c;box-shadow:0 20px 50px #78501440,inset 0 1px #ffffffe6}.werewolf-reveal__close-btn{position:absolute;top:12px;right:14px;width:32px;height:32px;border-radius:50%;border:1.5px solid rgba(197,160,89,.45);background:#000000a6;color:var(--wc-gold, #c5a059);font-size:1rem;font-weight:900;display:grid;place-items:center;cursor:pointer;transition:all .16s ease;z-index:10}.werewolf-reveal__close-btn:hover{background:var(--wc-gold, #c5a059);color:#1a1614;transform:scale(1.08)}.tabletop-theme-tribunal-day .werewolf-reveal__close-btn{background:#ffffffe6;border-color:#b45309;color:#b45309}.werewolf-reveal__header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;padding-inline:36px}.werewolf-reveal__tag{display:inline-block;padding:2px 10px;border-radius:999px;background:#eab30826;border:1px solid rgba(234,179,8,.4);color:#fef08a;font-size:.72rem;font-weight:800;letter-spacing:.1em}.tabletop-theme-tribunal-day .werewolf-reveal__tag{background:#d977061f;border-color:#d9770659;color:#b45309}.werewolf-reveal__headline{margin:0;font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:900;letter-spacing:.04em}.werewolf-reveal__headline.winner-wolves{color:#f87171;text-shadow:0 0 16px rgba(239,68,68,.5)}.werewolf-reveal__headline.winner-village{color:#fbbf24;text-shadow:0 0 16px rgba(245,158,11,.5)}.werewolf-reveal__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;width:100%;max-height:calc(84vh - 190px);overflow-y:auto;padding:4px;box-sizing:border-box}@media(max-width:480px){.werewolf-reveal__grid{grid-template-columns:1fr;max-height:calc(84vh - 200px)}}.werewolf-reveal-card{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:#00000061;border:1.5px solid rgba(197,160,89,.25);box-shadow:0 4px 12px #0000004d;transition:transform .15s ease}.tabletop-theme-tribunal-day .werewolf-reveal-card{background:#fff;border-color:#d9770638;box-shadow:0 4px 12px #78501414}.werewolf-reveal-card.is-eliminated{opacity:.65;filter:grayscale(.6)}.reveal-card__avatar{position:relative;display:flex;flex-direction:column;align-items:center;flex-shrink:0}.reveal-card__seat{position:absolute;bottom:-4px;padding:0 4px;border-radius:4px;background:#0f172a;border:1px solid rgba(255,255,255,.2);color:#fef08a;font-size:.6rem;font-weight:800;line-height:1.2}.reveal-card__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.reveal-card__name{font-size:.84rem;font-weight:800;color:#f1f5f9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabletop-theme-tribunal-day .reveal-card__name{color:#1e293b}.reveal-card__role{display:flex;align-items:center;gap:4px}.role-icon{font-size:1rem;line-height:1}.role-text{font-size:.82rem;font-weight:900}.role-wolf .role-text{color:#f87171}.role-witch .role-text{color:#c084fc}.role-seer .role-text{color:#60a5fa}.role-hunter .role-text{color:#4ade80}.role-guard .role-text{color:#fbbf24}.role-villager .role-text{color:#cbd5e1}.role-idiot .role-text{color:#f472b6}.tabletop-theme-tribunal-day .role-villager .role-text{color:#475569}.reveal-card__status{padding:2px 6px;border-radius:6px;font-size:.65rem;font-weight:900;flex-shrink:0}.reveal-card__status.status-alive{background:#22c55e33;border:1px solid #22c55e;color:#4ade80}.reveal-card__status.status-out{background:#ef444433;border:1px solid #ef4444;color:#fca5a5}.werewolf-reveal__footer{display:flex;justify-content:center;width:100%;margin-top:4px}.werewolf-reveal__dismiss-btn{min-height:38px;padding:6px 18px;border-radius:8px;border:1.5px solid var(--wc-gold, #c5a059);background:linear-gradient(135deg,#c5a05940,#c5a0591f);color:var(--wc-paper, #f0e6d2);font-size:.84rem;font-weight:800;cursor:pointer;transition:all .16s ease;width:100%;max-width:320px}.werewolf-reveal__dismiss-btn:hover{background:var(--wc-gold, #c5a059);color:#1a1614}.tabletop-theme-tribunal-day .werewolf-reveal__dismiss-btn{background:#b453091f;border-color:#b45309;color:#2b2216}.werewolf-reopen-reveal-container{display:flex;justify-content:center;margin:4px auto;width:100%}.werewolf-reopen-reveal-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:6px 16px;border-radius:8px;border:1.5px solid var(--wc-gold, #c5a059);background:linear-gradient(135deg,#c5a0594d,#c5a05926);color:var(--wc-gold, #c5a059);font-size:.84rem;font-weight:800;cursor:pointer;box-shadow:0 4px 14px #0006;transition:all .16s ease;animation:wc-speaking-breathe 2.4s infinite}.werewolf-reopen-reveal-btn:hover{background:var(--wc-gold, #c5a059);color:#1a1614}.cheese-secret-card{width:100%;max-width:600px;margin:0 auto;padding:0;background:transparent;border:none;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;flex-direction:column;align-items:center;gap:8px;box-sizing:border-box}.cheese-secret-card__body{display:flex;align-items:center;justify-content:center;gap:12px;width:100%}.cheese-secret-card--has-identity .cheese-secret-card__body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:12px}@media(max-width:768px){.cheese-secret-card{padding:0;gap:6px}.cheese-secret-card--has-identity .cheese-secret-card__body{grid-template-columns:1fr;gap:8px}.cheese-dice-cup-container{padding:0}.cheese-secret-card .identity-flip-container--compact{max-width:100%}}.cheese-dice-cup-container{min-width:0;width:100%}.cheese-identity-card-container{width:100%;min-width:0}.cheese-secret-role{flex:1;min-width:200px;display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:12px;border:1.5px solid rgba(255,255,255,.15);background:#0000004d}.role--thief{background:linear-gradient(135deg,#ef444433,#b91c1c47);border-color:#ef444480}.role--thief strong{color:#fca5a5}.role--accomplice{background:linear-gradient(135deg,#a855f733,#7e22ce47);border-color:#a855f780}.role--accomplice strong{color:#d8b4fe}.role--sleeper{background:linear-gradient(135deg,#3b82f62e,#2563eb40);border-color:#3b82f673}.role--sleeper strong{color:#93c5fd}.secret-role-icon{font-size:1.5rem;line-height:1}.secret-role-text{display:flex;flex-direction:column;gap:1px}.secret-role-label{font-size:.68rem;font-weight:700;color:#94a3b8}.secret-role-text strong{font-size:.92rem;font-weight:900}.cheese-secret-dice{display:flex;flex-direction:column;gap:2px;padding:6px 14px;border-radius:12px;background:#f59e0b29;border:1.5px solid rgba(245,158,11,.45)}.secret-dice-label{font-size:.68rem;font-weight:800;color:#fef08a}.secret-dice-display{display:flex;align-items:center;gap:5px}.secret-dice-icon{font-size:1.15rem;line-height:1}.secret-dice-num{font-size:.94rem;font-weight:900;color:#fbbf24}.cheese-secret-intel-row{display:flex;flex-direction:column;gap:6px;width:100%}.cheese-intel-chip{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;background:#00000059;border:1px solid rgba(255,255,255,.12);font-size:.8rem;color:#f1f5f9}.cheese-intel-chip strong{color:#fde047}.intel-icon{font-size:1rem;line-height:1}.home-active-room-banner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 18px;margin:0 0 20px;padding:12px 20px;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:2.5px solid #f59e0b;border-radius:18px;box-shadow:0 6px #d97706,0 12px 24px #d9770626;box-sizing:border-box;animation:modal-fade-in .25s ease-out}.home-active-room-banner__content{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.home-active-room-banner__tag{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:#f59e0b;color:#fff;border-radius:999px;font-size:.76rem;font-weight:900;letter-spacing:.5px;box-shadow:0 2px #d97706}.home-active-room-banner__tag.is-playing{background:#ef4444;box-shadow:0 2px #dc2626}.home-active-room-pulse{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 #ffffffb3;animation:pulse-ring 1.5s infinite cubic-bezier(.45,0,.55,1)}@keyframes pulse-ring{0%{transform:scale(.95);box-shadow:0 0 #ffffffb3}70%{transform:scale(1);box-shadow:0 0 0 6px #fff0}to{transform:scale(.95);box-shadow:0 0 #fff0}}.home-active-room-banner__main{display:flex;flex-direction:column;gap:2px}.home-active-room-banner__title{margin:0;font-size:.98rem;font-weight:900;color:#78350f;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.home-active-room-banner__title code{font-family:JetBrains Mono,monospace;background:#fff;padding:1px 6px;border-radius:6px;border:1.5px solid #d97706;color:#b45309;font-weight:800}.home-active-room-banner__desc{margin:0;font-size:.8rem;font-weight:700;color:#92400e}.home-active-room-banner__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.home-active-room-banner__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 16px;border-radius:12px;font-size:.88rem;font-weight:900;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.home-active-room-banner__btn--return{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:2px solid #047857;box-shadow:0 3px #065f46}.home-active-room-banner__btn--return:hover{transform:translateY(-2px);box-shadow:0 5px #065f46}.home-active-room-banner__btn--return:active{transform:translateY(1px);box-shadow:0 1px #065f46}.home-active-room-banner__btn--leave{background:#fff;color:#b91c1c;border:2px solid #ef4444;box-shadow:0 3px #dc2626}.home-active-room-banner__btn--leave:hover:not(:disabled){transform:translateY(-2px);background:#fef2f2;box-shadow:0 5px #dc2626}.home-active-room-banner__btn--leave:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px #dc2626}.home-active-room-banner__btn--leave:disabled{opacity:.6;cursor:not-allowed}.cheese-dice-cup-container{display:flex;justify-content:center;padding:12px 0;user-select:none;-webkit-user-select:none}.cheese-dice-cup-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none;outline:none}.cheese-dice-cup-scene{position:relative;width:240px;height:250px;display:flex;align-items:center;justify-content:center}.cheese-dice-cup-wrapper--compact .cheese-dice-cup-scene{width:140px;height:150px}.cheese-cup-base{position:absolute;bottom:10px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,#2d5a3f,#173824);box-shadow:0 8px 16px #0006,inset 0 2px 4px #ffffff26;border:3px solid #8b5a2b;display:flex;align-items:center;justify-content:center}.cheese-dice-cup-wrapper--compact .cheese-cup-base{width:82px;height:82px;bottom:6px;border-width:2px}.cheese-cup-mat{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.cheese-die-3d{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.cheese-die-face{position:relative;width:52px;height:52px;background:#fff;border-radius:10px;border:2px solid #e2e8f0;box-shadow:0 6px 12px #00000059,inset 0 2px 4px #ffffffe6}.cheese-dice-cup-wrapper--compact .cheese-die-face{width:38px;height:38px;border-radius:8px}.cheese-die-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#1e293b;transform:translate(-50%,-50%);box-shadow:inset 0 1px 2px #0009}.cheese-die-dot--red{background:#ef4444;box-shadow:0 0 6px #ef444480,inset 0 1px 2px #0006}.cheese-dice-cup-wrapper--compact .cheese-die-dot{width:7px;height:7px}.cheese-die-number-badge{font-size:.76rem;font-weight:900;color:#fef08a;text-shadow:0 1px 3px rgba(0,0,0,.8);white-space:nowrap}.cheese-die-unknown{color:#fff6;font-size:1.8rem;font-weight:900}.cheese-cup-dome{position:absolute;bottom:12px;width:108px;height:112px;background:linear-gradient(135deg,#a05a2c,#683416 60%,#4a220b);border-radius:48% 48% 16px 16px/52% 52% 12px 12px;box-shadow:0 10px 24px #00000080,inset 0 4px 6px #ffffff40,inset 0 -4px 8px #0006;border:3px solid #3e1b09;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:6px 4px 4px;transform-origin:bottom center;transition:transform .24s cubic-bezier(.18,.89,.32,1.28),box-shadow .24s ease;z-index:10}.cheese-dice-cup-wrapper--compact .cheese-cup-dome{width:74px;height:78px;bottom:8px;border-width:2px}.cheese-cup-dome.is-lifted{transform:translateY(-84px) rotateX(-24deg) scale(1.06);box-shadow:0 34px 40px #00000059,inset 0 4px 8px #ffffff4d}.cheese-dice-cup-wrapper--compact .cheese-cup-dome.is-lifted{transform:translateY(-56px) rotateX(-22deg) scale(1.06)}.identity-flip-container{--tilt-x: 0deg;--tilt-y: 0deg;--glare-x: 50%;--glare-y: 50%;width:100%;max-width:320px;margin:0 auto;perspective:1100px}.identity-flip-container--compact{max-width:240px}.identity-flip-card{position:relative;width:100%;border-radius:20px;outline:none;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none;transform:rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));transition:transform .15s ease-out}.identity-card-inner{position:relative;width:100%;min-height:250px;border-radius:20px;transform-style:preserve-3d;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .36s ease}.identity-card-back,.identity-card-front{position:absolute;inset:0;width:100%;height:100%;border-radius:20px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;box-shadow:0 16px 36px #0000008c,0 0 0 1px #ffffff26,inset 0 1px 2px #ffffff4d;display:flex;flex-direction:column}.identity-card-holo-foil{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle 220px at var(--glare-x, 50%) var(--glare-y, 50%),rgba(255,255,255,.45) 0%,rgba(251,191,36,.22) 30%,rgba(244,63,94,.18) 55%,rgba(56,189,248,.18) 80%,transparent 100%);mix-blend-mode:overlay;opacity:.85;z-index:5;transition:opacity .2s ease}.identity-card-back__border{position:relative;margin:10px;flex:1;border:1.5px dashed rgba(255,255,255,.25);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:16px;background:radial-gradient(circle,rgba(255,255,255,.05) 0%,transparent 80%)}.identity-card-back__emblem{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#ffffff26,#ffffff0a);border:2px solid rgba(255,255,255,.3);box-shadow:inset 0 2px 6px #ffffff4d,0 6px 16px #00000080;display:flex;align-items:center;justify-content:center;position:relative}.identity-card-back__emblem:after{content:"✦";font-size:1.5rem}.identity-card-back__badge{font-size:.96rem;letter-spacing:2px;color:var(--game-ink, #292722);text-shadow:none}.tip-press{display:flex;align-items:center;gap:4px;color:var(--game-ink, #292722);font-weight:700;animation:pulseTip 2s infinite ease-in-out}@keyframes pulseTip{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}.cheese-cup-dome__top{width:22px;height:14px;border-radius:50%;background:#f59e0b;border:2px solid #78350f;box-shadow:inset 0 1px 2px #ffffff80}.cheese-cup-dome__body{display:flex;flex-direction:column;align-items:center;gap:2px}.cheese-cup-dome__pattern{font-size:1.4rem}.cheese-cup-dome__label{font-size:.68rem;font-weight:900;color:#fef3c7;text-shadow:0 1px 2px rgba(0,0,0,.8);white-space:nowrap}.cheese-cup-dome__rim{width:90%;height:6px;background:#78350f;border-radius:4px;border-top:1px solid rgba(255,255,255,.2)}.cheese-cup-info{margin-top:8px;text-align:center}.cheese-cup-owner{font-size:.84rem;font-weight:800;color:#fff;margin-bottom:2px}.cheese-cup-hint{font-size:.74rem;font-weight:800;color:#94a3b8}.cheese-hint-lifted{color:#38bdf8;font-weight:900}.cheese-peek-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-top:12px}.cheese-peek-item{display:flex;flex-direction:column;align-items:center;padding:10px;background:#0003;border:2px dashed rgba(255,255,255,.15);border-radius:18px;transition:all .15s ease}.cheese-peek-item.is-selected{border-color:#38bdf8;background:#38bdf81a}.cheese-tabletop-arena{display:flex;flex-direction:column;gap:16px;width:100%;max-width:960px;margin:0 auto;padding:8px 4px}.cheese-arena-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#0f172a99;padding:10px 16px;border-radius:20px;border:2px solid rgba(255,255,255,.1)}.cheese-hour-track{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cheese-hour-node{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;border-radius:12px;background:#ffffff0d;border:1.5px solid rgba(255,255,255,.1);transition:all .2s ease}.cheese-hour-node.is-current{background:#f59e0b;border-color:#fef08a;transform:scale(1.08);box-shadow:0 0 16px #f59e0b66}.cheese-hour-node.is-current .cheese-hour-node__badge,.cheese-hour-node.is-current .cheese-hour-node__status{color:#1e1b18;font-weight:900}.cheese-hour-node.is-past{opacity:.5}.cheese-hour-node__badge{font-size:.85rem;font-weight:900;color:#f1f5f9}.cheese-hour-node__status{font-size:.68rem;color:#94a3b8}.cheese-tts-btn{padding:6px 12px;border-radius:999px;background:#0f766e;color:#fff;border:2px solid #14b8a6;font-size:.8rem;font-weight:800;cursor:pointer;transition:all .15s ease}.cheese-tts-btn.is-active{background:#10b981;border-color:#34d399;box-shadow:0 0 12px #10b98159}.cheese-center-table{display:flex;justify-content:center;padding:24px 0}.cheese-wood-platter{position:relative;width:min(100%,380px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#9a572a,#5c2f13 70%,#3e1b09);border:10px solid #2b1206;box-shadow:0 20px 40px #0009,inset 0 4px 12px #fff3;display:flex;align-items:center;justify-content:center;padding:20px}.cheese-cloth{width:100%;height:100%;border-radius:50%;background:radial-gradient(circle,#f8fafc,#cbd5e1);border:3px dashed #94a3b8;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 4px 12px #0003;transition:background .3s ease}.cheese-cloth.is-stolen{background:radial-gradient(circle,#fee2e2,#fca5a5);border-color:#ef4444}.cheese-night-stage,.cheese-stolen-stage,.cheese-safe-stage{display:flex;flex-direction:column;align-items:center;gap:8px}.cheese-model-3d{position:relative;display:flex;align-items:center;justify-content:center}.cheese-model-emoji{font-size:clamp(4.5rem,12vw,6.5rem);filter:drop-shadow(0 10px 14px rgba(0,0,0,.4));animation:cheese-breathe 3s ease-in-out infinite}@keyframes cheese-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.cheese-glow{position:absolute;inset:-10px;border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.25) 0%,transparent 70%);pointer-events:none}.cheese-steal-silent-btn{margin-top:6px;padding:6px 14px;border-radius:999px;background:#1e293bd9;border:2px solid #f59e0b;color:#fef08a;font-size:.82rem;font-weight:900;cursor:pointer;box-shadow:0 4px 12px #0006;transition:all .12s ease}.cheese-steal-silent-btn.is-stolen-hidden{background:#0f172a99;border-color:#10b981;color:#a7f3d0;opacity:.6}.cheese-night-guide{margin:0;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:.85rem;font-weight:800;color:#475569}.cheese-night-guide__rule{font-size:.68rem;font-weight:700;color:#8a8378;letter-spacing:.04em}.cheese-model-3d-btn{display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px 18px 12px;border:none;border-radius:18px;background:transparent;cursor:pointer;transition:transform .15s ease}.cheese-model-3d-btn:hover:not(:disabled){transform:translateY(-2px)}.cheese-model-3d-btn:disabled{cursor:default}.cheese-model-3d-btn.is-submitting .cheese-model-emoji{animation:none;opacity:.7}.cheese-model-3d-btn.is-stolen{cursor:default}.cheese-model-3d-btn.is-stolen .cheese-model-emoji{filter:grayscale(.35) drop-shadow(0 8px 12px rgba(0,0,0,.3));animation:none;opacity:.9}.cheese-steal-status-badge{min-height:26px;display:flex;align-items:center}.badge-ready,.badge-stolen{display:inline-flex;align-items:center;padding:4px 14px;border-radius:999px;font-size:.78rem;font-weight:900;white-space:nowrap}.badge-ready{color:#fef08a;background:#1e293bd9;border:2px solid #f59e0b;box-shadow:0 0 14px #f59e0b59;animation:cheese-badge-breathe 2.4s ease-in-out infinite}@keyframes cheese-badge-breathe{0%,to{box-shadow:0 0 10px #f59e0b47}50%{box-shadow:0 0 18px #f59e0b80}}.badge-stolen{color:#d1fae5;background:#064e3bd9;border:2px solid #10b981;box-shadow:0 4px 14px #10b9814d}.cheese-stolen-crumbs{display:flex;flex-direction:column;align-items:center;gap:4px}.crumbs-emoji{font-size:4rem}.crumbs-warning{font-size:1.25rem;font-weight:950;color:#dc2626;text-shadow:0 2px 8px rgba(220,38,38,.2)}.cheese-crime-alert{font-size:.82rem;color:#991b1b;font-weight:800;text-align:center;padding:4px 12px}.cheese-players-ring{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.cheese-player-pod{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;background:#0f172a99;border:2px solid rgba(255,255,255,.1);border-radius:16px;text-align:center;transition:all .15s ease}.cheese-player-pod.is-me{border-color:#38bdf8;background:#38bdf81f}.cheese-player-pod.is-winner{border-color:#10b981;box-shadow:0 0 12px #10b98140}.cheese-pod-avatar{width:42px;height:42px;border-radius:50%;background:#ffffff1a;display:grid;place-items:center}.cheese-pod-avatar__emoji{font-size:1.5rem}.cheese-pod-name{font-size:.82rem;font-weight:800;color:#fff;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cheese-pod-dice-badge{font-size:.72rem;font-weight:900;color:#fef08a;background:#00000059;padding:2px 6px;border-radius:6px}.cheese-table-settlement-card{background:#0f172ad9;border:2.5px solid #f59e0b;border-radius:20px;padding:16px 20px;box-shadow:0 10px 30px #00000080}.cheese-settlement-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:8px}.cheese-settlement-header h3{margin:0;font-size:1.1rem;color:#fff}.cheese-settlement-tag{font-size:.85rem;font-weight:900;color:#fef08a;background:#f59e0b33;padding:3px 10px;border-radius:999px;border:1.5px solid #f59e0b}.cheese-settlement-body{display:flex;flex-direction:column;gap:8px;font-size:.88rem;color:#e2e8f0}.cheese-settlement-row{display:flex;gap:8px}.cheese-settlement-peeks ul{margin:4px 0 0 18px;padding:0;line-height:1.6}.cheese-phase-countdown-bar{display:flex;align-items:center;gap:12px;background:#0f172abf;border:1.5px solid rgba(245,158,11,.35);border-radius:999px;padding:6px 16px;box-shadow:0 4px 16px #0000004d}.cheese-phase-name-badge{font-size:.92rem;font-weight:900;color:#92400e}.cheese-countdown-pill{display:inline-flex;align-items:center;gap:6px;background:#fef3c7;border:1.5px solid #d97706;border-radius:999px;padding:3px 12px;box-shadow:0 2px 4px #261e1614}.cheese-countdown-pill__label{font-size:.78rem;font-weight:800;color:#92400e}.cheese-countdown-pill__time{font-size:1.05rem;font-weight:950;font-variant-numeric:tabular-nums;color:#78350f;letter-spacing:.05em}.cheese-dawn-control-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#0f172a;border:2.5px solid #f59e0b;border-radius:20px;padding:16px 24px;box-shadow:0 10px 30px #00000080,0 0 20px #f59e0b40;margin-bottom:16px}.cheese-dawn-info h4{margin:0 0 4px;font-size:1.25rem;font-weight:950;color:#fef08a;text-shadow:0 1px 4px rgba(0,0,0,.8)}.cheese-dawn-info p{margin:0;font-size:.9rem;font-weight:700;color:#f1f5f9}.cheese-steal-panel{display:flex;flex-direction:column;gap:12px;background:#0f172a;border:2.5px solid #f59e0b;border-radius:20px;padding:18px 20px;box-shadow:0 8px 25px #f59e0b40;animation:cheese-panel-pulse 2s ease-in-out infinite}@keyframes cheese-panel-pulse{0%,to{box-shadow:0 0 15px #f59e0b33}50%{box-shadow:0 0 28px #f59e0b73}}.cheese-player-steal-btn{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;padding:14px 20px;border-radius:16px;background:linear-gradient(135deg,#f59e0b,#d97706);border:2px solid #fef08a;color:#1e1b18;cursor:pointer;box-shadow:0 6px 20px #f59e0b73;transition:all .15s ease}.cheese-player-steal-btn:hover:not(:disabled){transform:translateY(-2px);background:linear-gradient(135deg,#fbbf24,#d97706);box-shadow:0 8px 26px #f59e0b99}.cheese-player-steal-btn:active:not(:disabled){transform:translateY(1px)}.cheese-icon-bounce{font-size:2.2rem;animation:cheese-breathe 2s ease-in-out infinite}.cheese-steal-btn-text{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.cheese-steal-btn-text strong{font-size:1.15rem;font-weight:950;color:#1e1b18}.cheese-steal-btn-text small{font-size:.8rem;font-weight:800;color:#1e1b18cc}.cheese-skip-discussion-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#f59e0b,#d97706);border:2px solid #fef08a;border-radius:999px;color:#1e1b18;font-weight:950;cursor:pointer;box-shadow:0 6px 18px #f59e0b66,inset 0 1px #fff6;transition:all .15s ease;white-space:nowrap}.cheese-skip-discussion-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #f59e0b8c;background:linear-gradient(135deg,#fbbf24,#d97706)}.cheese-skip-discussion-btn:active:not(:disabled){transform:translateY(1px)}.cheese-skip-discussion-btn .btn-icon{font-size:1.25rem}.cheese-skip-discussion-btn .btn-main-text{font-size:1rem;font-weight:950}.cheese-skip-discussion-btn .btn-sub-text{font-size:.76rem;opacity:.85}.cheese-table-vote-board{display:flex;flex-direction:column;gap:16px;padding:20px;background:#0f172acc;border:2px solid rgba(245,158,11,.4);border-radius:20px;box-shadow:0 10px 30px #0006}.cheese-vote-board-header{display:flex;flex-direction:column;gap:4px}.cheese-vote-board-title-group{display:flex;align-items:center;justify-content:space-between;gap:12px}.cheese-vote-board-title-group h3{margin:0;font-size:1.25rem;font-weight:900;color:#fff}.cheese-vote-progress-badge{font-size:.85rem;font-weight:900;color:#10b981;background:#10b98126;border:1.5px solid rgba(16,185,129,.4);padding:3px 12px;border-radius:999px}.cheese-vote-board-hint{margin:0;font-size:.8rem;color:#94a3b8}.cheese-vote-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.cheese-vote-tally-card{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:14px;background:#1e293bb3;border:1.5px solid rgba(255,255,255,.1);transition:all .2s ease}.cheese-vote-tally-card.is-voted{background:#f59e0b1f;border-color:#f59e0b99;box-shadow:0 4px 16px #f59e0b33}.cheese-tally-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.cheese-tally-name{font-size:.95rem;font-weight:900;color:#fff}.cheese-tally-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.8rem;font-weight:900;background:#ffffff14;color:#94a3b8}.cheese-tally-badge.is-active{background:#f59e0b;color:#1e1b18;box-shadow:0 0 10px #f59e0b66}.cheese-tally-voters{display:flex;flex-wrap:wrap;gap:6px;min-height:24px;align-items:center}.cheese-voter-chip{display:inline-block;padding:2px 8px;border-radius:6px;background:#38bdf826;border:1px solid rgba(56,189,248,.4);color:#7dd3fc;font-size:.74rem;font-weight:800}.cheese-voter-chip--empty{font-size:.72rem;color:#64748b}.cheese-abstain-banner{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:12px;background:#ffffff0d;border:1px dashed rgba(255,255,255,.15)}.cheese-abstain-label{font-size:.78rem;font-weight:800;color:#94a3b8;white-space:nowrap}.cheese-abstain-names{display:flex;flex-wrap:wrap;gap:6px}.cheese-abstain-chip{padding:2px 8px;border-radius:6px;background:#94a3b826;color:#cbd5e1;font-size:.74rem;font-weight:700}.cheese-mobile-vote-modal-backdrop{position:fixed;inset:0;z-index:1000;background:#000000b8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px;animation:cheese-modal-fade-in .25s cubic-bezier(.16,1,.3,1)}@keyframes cheese-modal-fade-in{0%{opacity:0}to{opacity:1}}.cheese-mobile-vote-modal{position:relative;width:100%;max-width:440px;max-height:88vh;display:flex;flex-direction:column;background:#1e293b;border:2.5px solid #f59e0b;border-radius:24px;box-shadow:0 20px 50px #000000b3,0 0 20px #f59e0b40;overflow:hidden;animation:cheese-modal-slide-up .3s cubic-bezier(.16,1,.3,1)}@keyframes cheese-modal-slide-up{0%{transform:translateY(24px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.cheese-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#0f172acc;border-bottom:1px solid rgba(255,255,255,.1)}.cheese-modal-title-box{display:flex;flex-direction:column;gap:2px}.cheese-modal-title-box h3{margin:0;font-size:1.15rem;font-weight:900;color:#fff}.cheese-modal-timer{font-size:.78rem;font-weight:800;color:#fef08a}.cheese-modal-close-btn{width:32px;height:32px;border-radius:50%;background:#ffffff14;border:none;color:#94a3b8;font-size:1rem;cursor:pointer;display:grid;place-items:center;transition:all .15s ease}.cheese-modal-close-btn:hover{background:#ffffff26;color:#fff}.cheese-modal-body{padding:18px 20px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.cheese-vote-instruction{margin:0;font-size:.88rem;color:#cbd5e1;font-weight:700}.cheese-candidate-stack{display:flex;flex-direction:column;gap:10px}.cheese-vote-candidate-card{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:14px;background:#ffffff0d;border:1.5px solid rgba(255,255,255,.12);color:#fff;cursor:pointer;transition:all .15s ease}.cheese-vote-candidate-card:hover{background:#f59e0b1f;border-color:#f59e0b;transform:translate(4px)}.candidate-avatar{font-size:1.3rem;margin-right:12px}.candidate-name{flex:1;text-align:left;font-size:1rem;font-weight:900}.candidate-action{font-size:.82rem;font-weight:800;color:#f59e0b}.cheese-vote-abstain-btn{width:100%;padding:11px;border-radius:12px;background:#ffffff0a;border:1px dashed rgba(255,255,255,.2);color:#94a3b8;font-size:.85rem;font-weight:800;cursor:pointer;transition:all .15s ease}.cheese-vote-abstain-btn:hover{background:#ffffff14;color:#cbd5e1;border-color:#fff6}.cheese-vote-confirm-pane{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:10px 0}.cheese-vote-confirm-pane h4{margin:0;font-size:1.15rem;font-weight:900;color:#fff}.cheese-confirm-target-box{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:14px;background:#f59e0b26;border:2px solid #f59e0b}.cheese-confirm-target-avatar{font-size:1.5rem}.cheese-confirm-target-name{font-size:1.15rem;font-weight:950;color:#fef08a}.cheese-confirm-warning{margin:0;font-size:.78rem;color:#94a3b8;line-height:1.4}.cheese-vote-confirm-actions{display:flex;flex-direction:column;gap:10px;width:100%}.cheese-confirm-btn{width:100%;padding:13px;border-radius:12px;border:none;font-size:.95rem;font-weight:900;cursor:pointer;transition:all .15s ease}.cheese-confirm-btn.is-primary{background:linear-gradient(135deg,#f59e0b,#d97706);color:#1e1b18;box-shadow:0 4px 14px #f59e0b66}.cheese-confirm-btn.is-danger{background:#dc2626;color:#fff}.cheese-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.cheese-cancel-btn{width:100%;padding:10px;border-radius:12px;background:transparent;border:1px solid rgba(255,255,255,.15);color:#cbd5e1;font-size:.85rem;font-weight:700;cursor:pointer}.cheese-cancel-btn:hover{background:#ffffff0d}.cheese-vote-submitted-pane{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:16px 0}.cheese-submitted-icon{width:56px;height:56px;border-radius:50%;background:#10b98126;border:2px solid #10b981;color:#10b981;font-size:1.8rem;display:grid;place-items:center}.cheese-voted-target-desc{margin:0;font-size:1.1rem;font-weight:900;color:#fff}.cheese-vote-modal-progress{display:flex;flex-direction:column;gap:4px;padding:10px 16px;background:#ffffff0d;border-radius:12px;width:100%}.cheese-vote-modal-progress span{font-size:.88rem;font-weight:900;color:#fef08a}.cheese-vote-modal-sub{margin:0;font-size:.76rem;color:#94a3b8}.cheese-vote-btn--done{margin-top:8px;padding:10px 20px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:#cbd5e1;font-size:.85rem;font-weight:800;cursor:pointer}.cheese-vote-reopen-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#f59e0b26;border:1.5px solid rgba(245,158,11,.5);border-radius:14px;margin-bottom:12px}.cheese-vote-reopen-banner span{font-size:.85rem;font-weight:800;color:#fef08a}.cheese-reopen-vote-btn{padding:6px 14px;border-radius:999px;background:#f59e0b;border:none;color:#1e1b18;font-size:.8rem;font-weight:900;cursor:pointer;white-space:nowrap}.cheese-reopen-reveal-container{display:flex;justify-content:center;width:100%;margin:8px 0 16px}.cheese-reopen-reveal-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border-radius:999px;background:linear-gradient(135deg,#f59e0b,#d97706);border:2px solid #fef08a;color:#1e1b18;font-size:.95rem;font-weight:950;box-shadow:0 4px 18px #f59e0b73;cursor:pointer;transition:all .15s ease}.cheese-reopen-reveal-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #f59e0b99}.cheese-reveal-overlay{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:#000000d1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:16px;box-sizing:border-box;animation:cheese-modal-slide-up .25s cubic-bezier(.16,1,.3,1) both}.cheese-reveal-modal{position:relative;display:flex;flex-direction:column;gap:16px;width:min(94vw,680px);max-height:min(90vh,760px);padding:22px 24px 20px;border-radius:24px;background:linear-gradient(145deg,#181c24,#0d1117);border:2.5px solid #f59e0b;box-shadow:0 24px 60px #000000e6,0 0 30px #f59e0b33;box-sizing:border-box;overflow-y:auto;color:#f8fafc}.cheese-reveal__close-btn{position:absolute;top:14px;right:16px;width:32px;height:32px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#cbd5e1;font-size:1rem;cursor:pointer;display:grid;place-items:center;transition:all .15s ease;z-index:10}.cheese-reveal__close-btn:hover{background:#fff3;color:#fff;transform:scale(1.05)}.cheese-reveal__header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.cheese-reveal__badge{display:inline-flex;align-items:center;gap:4px;padding:4px 14px;border-radius:999px;font-size:.85rem;font-weight:900;letter-spacing:.04em}.cheese-reveal__badge.is-no-thief{background:#10b98133;color:#6ee7b7;border:1.5px solid #10b981}.cheese-reveal__badge.is-caught{background:#f59e0b33;color:#fef08a;border:1.5px solid #f59e0b}.cheese-reveal__badge.is-escaped{background:#ec489933;color:#f472b6;border:1.5px solid #ec4899}.cheese-reveal__headline{margin:0;font-size:clamp(1.3rem,3.5vw,1.7rem);font-weight:950;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.5)}.cheese-reveal__headline.is-no-thief{color:#6ee7b7}.cheese-reveal__headline.is-caught{color:#fde047}.cheese-reveal__headline.is-escaped{color:#f472b6}.cheese-reveal__desc{margin:0;font-size:.88rem;color:#cbd5e1;max-width:500px;line-height:1.5}.cheese-reveal__facts{display:flex;flex-direction:column;gap:10px;background:#1e293b99;border:1.5px solid rgba(245,158,11,.35);border-radius:16px;padding:12px 16px}.cheese-reveal__fact-item{display:flex;align-items:flex-start;gap:10px;font-size:.9rem}.cheese-reveal__fact-item .fact-icon{font-size:1.25rem;flex-shrink:0}.cheese-reveal__fact-item .fact-content{display:flex;flex-direction:column;gap:2px}.cheese-reveal__fact-item .fact-content strong{font-size:.92rem;color:#fef08a}.cheese-reveal__fact-item .fact-content span{color:#e2e8f0;line-height:1.4}.cheese-reveal__section{display:flex;flex-direction:column;gap:10px}.cheese-reveal__section-title{margin:0;display:flex;align-items:center;gap:6px;font-size:.95rem;font-weight:900;color:#fef08a}.cheese-reveal-players-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.cheese-reveal-player-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:#1e293bb3;border:1.5px solid rgba(255,255,255,.1);transition:all .15s ease}.cheese-reveal-player-card.role-thief{border-color:#ec4899;background:#ec48991f;box-shadow:0 0 12px #ec489933}.cheese-reveal-player-card.role-accomplice{border-color:#f59e0b;background:#f59e0b1f}.cheese-reveal-player-card.is-winner{border-color:#10b981}.player-card__avatar{flex-shrink:0}.player-card__meta{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.player-card__name{font-size:.88rem;font-weight:900;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-tag--me{font-size:.7rem;padding:1px 4px;border-radius:4px;background:#38bdf8;color:#0f172a;margin-left:4px}.player-card__hour{font-size:.78rem;color:#cbd5e1}.player-card__hour strong{color:#fef08a}.player-card__badges{display:flex;flex-direction:column;gap:4px;align-items:flex-end;flex-shrink:0}.player-role-tag{font-size:.72rem;font-weight:800;padding:2px 6px;border-radius:6px;white-space:nowrap}.player-role-tag.tag-thief{background:#ec489940;color:#f472b6;border:1px solid #ec4899}.player-role-tag.tag-acc{background:#f59e0b40;color:#fef08a;border:1px solid #f59e0b}.player-role-tag.tag-villager{background:#ffffff1a;color:#94a3b8;border:1px solid rgba(255,255,255,.15)}.player-win-tag{font-size:.7rem;font-weight:800;padding:1px 5px;border-radius:4px}.player-win-tag.tag-win{background:#10b98140;color:#6ee7b7}.player-win-tag.tag-lose{background:#ef444426;color:#f87171}.cheese-reveal-peeks-list{margin:0;padding:8px 14px 8px 24px;background:#1e293b80;border-radius:12px;border:1px solid rgba(255,255,255,.08);font-size:.85rem;color:#e2e8f0;line-height:1.6}.cheese-reveal-votes-grid{display:flex;flex-wrap:wrap;gap:8px}.cheese-vote-summary-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px;background:#1e293b99;border:1px solid rgba(255,255,255,.12);font-size:.82rem;color:#e2e8f0}.cheese-vote-summary-chip.hit-thief{background:#f59e0b26;border-color:#f59e0b}.cheese-vote-summary-chip.is-abstain{opacity:.7}.cheese-vote-summary-chip .voter{font-weight:800;color:#fff}.cheese-vote-summary-chip .arrow{color:#94a3b8}.cheese-vote-summary-chip .target{font-weight:800;color:#fef08a}.cheese-vote-summary-chip .hit-badge{font-size:.72rem;font-weight:900;padding:1px 6px;border-radius:4px;background:#f59e0b;color:#1e1b18}.cheese-reveal__footer{display:flex;justify-content:center;padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}.cheese-reveal__dismiss-btn{width:100%;padding:12px 20px;border-radius:14px;background:#ffffff14;border:1.5px solid rgba(245,158,11,.4);color:#fef08a;font-size:.95rem;font-weight:900;cursor:pointer;transition:all .15s ease}.cheese-reveal__dismiss-btn:hover{background:#f59e0b26;border-color:#f59e0b;transform:translateY(-1px)}.cheese-tabletop-arena[data-phase=game_over],.cheese-player-stage.cheese-phase--game_over{padding-bottom:160px}.identity-flip-container{display:flex;flex-direction:column;align-items:center;width:100%;max-width:380px;margin:0 auto;user-select:none;-webkit-user-select:none}.identity-flip-container--compact{max-width:320px}.identity-flip-card{position:relative;width:100%;min-height:240px;perspective:900px;cursor:pointer;touch-action:none;outline:none}.identity-flip-card--tap{touch-action:manipulation}.identity-flip-container--compact .identity-flip-card{min-height:min(140px,28dvh)}.identity-card-inner{position:relative;width:100%;min-height:240px;border-radius:20px;transform-style:preserve-3d;transition:transform .36s cubic-bezier(.2,.9,.3,1.15),box-shadow .36s ease}.identity-flip-container--compact .identity-card-inner{min-height:min(140px,28dvh);border-radius:16px}.identity-flip-card.is-revealed .identity-card-inner{transform:rotateY(180deg) scale(1.02)}.identity-card-back,.identity-card-front{position:absolute;inset:0;width:100%;height:100%;border-radius:20px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;box-shadow:0 12px 32px #00000073,0 2px 6px #0000004d;display:flex;flex-direction:column}.identity-flip-container--compact .identity-card-back,.identity-flip-container--compact .identity-card-front{border-radius:16px}.identity-card-back{background:linear-gradient(180deg,#fffdf7,#fff4df);border:3px solid var(--game-line, #292722);box-shadow:0 6px 0 var(--game-line, #292722);z-index:2;transform:rotateY(0)}.identity-card-back__border{position:relative;margin:10px;flex:1;border:1.5px dashed rgba(41,39,34,.28);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:16px;background:radial-gradient(circle,rgba(255,255,255,.03) 0%,transparent 80%)}.identity-card-back__seal{display:flex;flex-direction:column;align-items:center;gap:10px}.identity-card-back__emblem{width:48px;height:48px;border-radius:50%;background:#ffffff14;border:2px solid rgba(255,255,255,.2);box-shadow:inset 0 2px 4px #fff3,0 4px 12px #0006;display:flex;align-items:center;justify-content:center;position:relative}.identity-card-back__emblem:after{content:"✦";font-size:1.4rem}.identity-card-back__badge{font-size:.95rem;letter-spacing:2px;color:var(--game-ink, #292722);text-shadow:none}.identity-card-back__action-tip{font-size:.85rem;color:var(--game-muted, #716b61);display:flex;align-items:center;gap:6px}.identity-flip-container--compact .identity-card-inner,.identity-flip-container--compact .identity-flip-card{min-height:clamp(158px,30dvh,188px)}.identity-flip-container--compact .identity-card-back__border{margin:8px;padding:10px 12px;gap:8px;border-radius:12px}.identity-flip-container--compact .identity-card-back__seal{gap:6px}.identity-flip-container--compact .identity-card-back__emblem{width:32px;height:32px}.identity-card-back__action-tip{flex-direction:column;gap:3px}.identity-card-back__note{font-size:.62rem;font-weight:700;color:var(--game-muted, #8a8378);letter-spacing:.05em}.identity-card-front{background:linear-gradient(180deg,#fffdf7,#fff4df);border:3px solid var(--game-line, #292722);box-shadow:0 6px 0 var(--game-line, #292722);transform:rotateY(180deg);padding:16px;justify-content:space-between}.identity-card-front__aura{position:absolute;inset:-20px;border-radius:40px;pointer-events:none;opacity:.15;filter:blur(24px);background:radial-gradient(circle,#38bdf8 0%,transparent 70%)}.camp-good .identity-card-front__aura{background:radial-gradient(circle,#38bdf8 0%,transparent 70%)}.camp-evil .identity-card-front__aura{background:radial-gradient(circle,#f43f5e 0%,transparent 70%)}.camp-neutral .identity-card-front__aura{background:radial-gradient(circle,#fbbf24 0%,transparent 70%)}.camp-human .identity-card-front__aura{background:radial-gradient(circle,#10b981 0%,transparent 70%)}.camp-echo .identity-card-front__aura{background:radial-gradient(circle,#a855f7 0%,transparent 70%)}.identity-card-lock-btn{position:absolute;top:12px;right:12px;padding:4px 10px;font-size:.76rem;font-weight:800;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);color:#e2e8f0;cursor:pointer;transition:all .2s;z-index:10}.identity-card-lock-btn.is-locked{background:#38bdf8;color:#0f172a;border-color:#7dd3fc;box-shadow:0 0 10px #38bdf880}.identity-card-front__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.identity-card-front__camp-tag{font-size:.8rem;font-weight:800;padding:2px 10px;border-radius:6px;background:#fff4df;color:var(--game-ink, #292722);border:1.5px solid var(--game-line, #292722)}.identity-card-front__content{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;justify-content:center;text-align:center}.identity-card-front__artwork-wrap{width:72px;height:72px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,255,255,.3);box-shadow:0 4px 12px #00000080;margin-bottom:2px}.identity-card-front__artwork{width:100%;height:100%;object-fit:contain;background:#00000040}.identity-card-front__role-name{margin:0;font-size:1.45rem;font-weight:900;color:var(--game-ink, #292722);text-shadow:none;letter-spacing:1px}.identity-card-front__secret-word-box{background:#f59e0b26;border:1.5px solid #f59e0b;border-radius:12px;padding:6px 16px;display:flex;flex-direction:column;align-items:center;gap:2px;box-shadow:0 4px 16px #f59e0b33}.identity-card-front__secret-word-box .secret-label{font-size:.72rem;color:var(--game-muted, #716b61);font-weight:700;letter-spacing:1px}.identity-card-front__secret-word-box .secret-word{font-size:1.35rem;font-weight:900;color:var(--game-ink, #292722);letter-spacing:2px}.identity-card-front__hints{display:flex;flex-direction:column;gap:4px;max-width:90%;margin-top:4px}.identity-hint-text{margin:0;font-size:.82rem;color:var(--game-muted, #716b61);line-height:1.4}.identity-card-front__footer{text-align:center;font-size:.74rem;color:var(--game-muted, #716b61);padding-top:4px}.theme-confidential .identity-card-back,.theme-confidential .identity-card-front{background:linear-gradient(180deg,#fffdf7,#fff4df);border-color:var(--game-line, #292722)}.theme-confidential .identity-card-back__border{border-color:#29272247}.theme-confidential .identity-card-back__emblem:after{content:"✦"}.theme-confidential .identity-card-back__badge{color:var(--game-ink, #292722)}.theme-gothic .identity-card-back{background:radial-gradient(circle,#1e1b4b,#030712);border-color:#6366f1}.theme-gothic .identity-card-back__border{border-color:#6366f173}.theme-gothic .identity-card-back__emblem:after{content:"◆"}.theme-gothic .identity-card-back__badge{color:#e0e7ff;text-shadow:0 0 12px rgba(99,102,241,.6)}.theme-gothic .identity-card-back .tip-press{color:#fde047;font-weight:800;text-shadow:0 0 12px rgba(253,224,71,.6)}.theme-gothic .identity-card-back .identity-card-back__note{color:#c7d2fe;opacity:.95}.theme-gothic .identity-card-back .tip-spectator,.theme-gothic .identity-card-back .tip-disabled{color:#e0e7ff}.theme-gothic .identity-card-front{background:radial-gradient(circle,#18181b,#09090b);border-color:#71717a}.theme-gothic .identity-card-front__role-name{color:#fbbf24;text-shadow:0 2px 12px rgba(251,191,36,.45)}.theme-gothic .identity-card-front__camp-tag{color:#f8fafc;background:#6366f14d;border:1px solid rgba(99,102,241,.6)}.theme-gothic .identity-hint-text{color:#cbd5e1}.theme-gothic .identity-card-front__footer{color:#94a3b8}.theme-cyber .identity-card-back{background:linear-gradient(135deg,#042f2e,#022c22);border-color:#14b8a6}.theme-cyber .identity-card-back__border{border-color:#14b8a666}.theme-cyber .identity-card-back__emblem:after{content:"✦"}.theme-cyber .identity-card-back__badge{color:#99f6e4}.theme-cyber .identity-card-back .tip-press{color:#2dd4bf;text-shadow:0 0 10px rgba(45,212,191,.5)}.theme-cyber .identity-card-back .identity-card-back__note{color:#99f6e4}.theme-cyber .identity-card-front{background:linear-gradient(145deg,#0f172a,#020617);border-color:#06b6d4}.theme-cyber .identity-card-front__role-name{color:#2dd4bf;text-shadow:0 0 12px rgba(45,212,191,.4)}.theme-cyber .identity-hint-text{color:#ccfbf1}.theme-prison .identity-card-back{background:linear-gradient(135deg,#3f3f46,#18181b);border-color:#71717a}.theme-prison .identity-card-back__border{border-color:#a1a1aa4d}.theme-prison .identity-card-back__emblem:after{content:"◆"}.theme-prison .identity-card-back__badge{color:#e4e4e7}.theme-prison .identity-card-back .tip-press{color:#fde047;text-shadow:0 0 8px rgba(253,224,71,.4)}.theme-prison .identity-card-back .identity-card-back__note{color:#e4e4e7}.theme-prison .identity-card-front__role-name{color:#fde047}.theme-prison .identity-hint-text{color:#e4e4e7}.identity-card-action-bar{width:100%;margin-top:14px}.identity-confirm-btn{width:100%;min-height:44px;padding:10px 20px;font-size:.96rem;font-weight:900;border-radius:999px;background:var(--gp-yellow, #f7c84b);color:var(--gp-ink, #292722);border:2.5px solid var(--gp-line, #292722);box-shadow:0 4px 0 var(--gp-line, #292722);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.identity-confirm-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 var(--gp-line, #292722)}.identity-confirm-btn:disabled{background:#fff4df;color:var(--game-muted, #716b61);border-color:var(--gp-line, #292722);box-shadow:0 2px 0 var(--gp-line, #292722);cursor:not-allowed}.shared-dice-cup-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none;outline:none;padding:8px 0}.shared-dice-cup-scene{position:relative;width:240px;height:250px;display:flex;align-items:center;justify-content:center}.shared-dice-cup-wrapper--compact .shared-dice-cup-scene{width:140px;height:150px}.shared-cup-info{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:4px;text-align:center}.shared-cup-owner{font-size:.86rem;font-weight:800;color:#fff}.shared-cup-hint{display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;color:#e2e8f0;background:#0f172ad9;border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:3px 12px;box-shadow:0 2px 6px #00000059;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hint-press{color:#38bdf8;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.8)}.hint-lifted{color:#fde047;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.8)}.shared-cup-shake-btn{margin-top:4px;padding:4px 12px;font-size:.78rem;font-weight:800;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);color:#e2e8f0;cursor:pointer;transition:all .2s}.shared-cup-shake-btn:active{transform:scale(.95)}.settings-nav-tabs{display:flex;gap:4px;margin-bottom:20px;background:var(--home-cream-dark, #eedfca);padding:4px;border-radius:12px;border:2px solid var(--home-ink, #221e1a);width:100%;box-sizing:border-box}.settings-nav-tab{flex:1;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 4px;border-radius:8px;border:none;background:transparent;color:var(--home-ink, #221e1a);font-size:.82rem;font-weight:800;white-space:nowrap;cursor:pointer;transition:all .15s ease}.settings-nav-tab.is-active{background:var(--home-yellow, #f8c822);box-shadow:0 2px 4px #0000001f;font-weight:900}.settings-nav-tab .tab-icon{font-size:.95rem;flex-shrink:0}.tabletop-shell[data-game-id]{background:transparent!important}.tabletop-shell[data-game-id]:before{content:"";position:fixed;inset:0;z-index:-1;background-size:cover;background-position:center center;background-repeat:no-repeat;background-color:#fff7ef}.tabletop-shell[data-game-id=undercover]:before{background-image:url(/assets/backgrounds/bg_undercover_portrait.jpg)}.tabletop-shell[data-game-id=uno]:before{background-image:url(/assets/backgrounds/bg_uno_portrait.jpg)}.tabletop-shell[data-game-id=landlord]:before{background-image:url(/assets/backgrounds/bg_landlord_portrait.jpg)}.tabletop-shell[data-game-id=loveletter]:before{background-image:url(/assets/backgrounds/bg_loveletter_portrait.jpg)}.tabletop-shell[data-game-id=cheese-thief]:before{background-image:url(/assets/backgrounds/bg_cheese_thief_portrait.jpg)}.tabletop-shell[data-game-id=durian]:before{background-image:url(/assets/backgrounds/bg_durian_portrait.jpg)}.tabletop-shell[data-game-id=goose-relay]:before{background-image:url(/assets/backgrounds/bg_goose_relay_portrait.jpg)}.tabletop-shell[data-game-id=night-testimony]:before{background-image:url(/assets/backgrounds/bg_night_testimony_portrait.jpg)}.tabletop-shell[data-game-id=bell-clash]:before{background-image:url(/assets/backgrounds/bg_bell_clash_portrait.jpg)}.tabletop-shell[data-game-id=echo-judge]:before{background-image:url(/assets/backgrounds/bg_echo_judge_portrait.jpg)}.tabletop-shell[data-game-id=werewolf]:before,.tabletop-shell.tabletop-theme-tribunal-night[data-game-id=werewolf]:before,.tabletop-shell.tabletop-theme-tribunal-dawn[data-game-id=werewolf]:before{background-color:#0a0810;background-image:radial-gradient(900px 600px at 72% 12%,rgba(197,160,89,.16),transparent 60%),radial-gradient(700px 520px at 20% 78%,rgba(138,28,28,.22),transparent 58%),radial-gradient(1400px 900px at 50% 50%,rgba(24,19,29,.5),transparent 70%),linear-gradient(176deg,#1a1320,#120e18 44%,#07050b);background-repeat:no-repeat}.tabletop-shell.tabletop-theme-tribunal-dawn[data-game-id=werewolf]:before{background-image:radial-gradient(800px 480px at 50% 6%,rgba(245,140,60,.22),transparent 58%),radial-gradient(640px 520px at 22% 80%,rgba(110,30,60,.28),transparent 56%),radial-gradient(1200px 800px at 80% 90%,rgba(40,24,38,.45),transparent 66%),linear-gradient(174deg,#2a1826,#1c1018 48%,#0c0710)}.tabletop-shell.tabletop-theme-tribunal-day[data-game-id=werewolf]:before{background-color:#f4ead4;background-image:radial-gradient(1000px 620px at 50% 0%,rgba(255,238,194,.9),transparent 66%),radial-gradient(1200px 760px at 82% 92%,rgba(245,218,170,.55),transparent 60%),radial-gradient(900px 600px at 12% 88%,rgba(220,190,140,.3),transparent 62%),linear-gradient(176deg,#faf5e6,#f4e8cb 46%,#ebd6b0);background-repeat:no-repeat}@media(min-width:1024px)and (orientation:landscape){.tabletop-shell[data-game-id=undercover]:before,.tabletop-shell--landscape[data-game-id=undercover]:before{background-image:url(/assets/backgrounds/bg_undercover_landscape.jpg)}.tabletop-shell[data-game-id=uno]:before,.tabletop-shell--landscape[data-game-id=uno]:before{background-image:url(/assets/backgrounds/bg_uno_landscape.jpg)}.tabletop-shell[data-game-id=landlord]:before,.tabletop-shell--landscape[data-game-id=landlord]:before{background-image:url(/assets/backgrounds/bg_landlord_landscape.jpg)}.tabletop-shell[data-game-id=loveletter]:before,.tabletop-shell--landscape[data-game-id=loveletter]:before{background-image:url(/assets/backgrounds/bg_loveletter_landscape.jpg)}.tabletop-shell[data-game-id=cheese-thief]:before,.tabletop-shell--landscape[data-game-id=cheese-thief]:before{background-image:url(/assets/backgrounds/bg_cheese_thief_landscape.jpg)}.tabletop-shell[data-game-id=durian]:before,.tabletop-shell--landscape[data-game-id=durian]:before{background-image:url(/assets/backgrounds/bg_durian_landscape.jpg)}.tabletop-shell[data-game-id=goose-relay]:before,.tabletop-shell--landscape[data-game-id=goose-relay]:before{background-image:url(/assets/backgrounds/bg_goose_relay_landscape.jpg)}.tabletop-shell[data-game-id=night-testimony]:before,.tabletop-shell--landscape[data-game-id=night-testimony]:before{background-image:url(/assets/backgrounds/bg_night_testimony_landscape.jpg)}.tabletop-shell[data-game-id=bell-clash]:before,.tabletop-shell--landscape[data-game-id=bell-clash]:before{background-image:url(/assets/backgrounds/bg_bell_clash_landscape.jpg)}.tabletop-shell[data-game-id=echo-judge]:before,.tabletop-shell--landscape[data-game-id=echo-judge]:before{background-image:url(/assets/backgrounds/bg_echo_judge_landscape.jpg)}}.tabletop-shell.game-motion-root{--game-motion-fast-duration: .14s;--game-motion-standard-duration: .26s;--game-motion-phase-duration: .42s;isolation:isolate}.tabletop-header,.tabletop-arena-container,.tabletop-bottom-bar{position:relative;z-index:2}.tabletop-header{flex:0 0 auto}.tabletop-arena-container{flex:1 1 auto;min-height:0;overscroll-behavior:contain}.tabletop-center-content.game-motion-phase-transition{display:flex;flex:1 1 auto;width:100%;min-width:0;min-height:0}.tabletop-bottom-bar{flex:0 0 auto;width:100%;max-width:100%;padding-bottom:max(8px,env(safe-area-inset-bottom,0px))}.tabletop-action-stack,.tabletop-action-stack__actions,.tabletop-action-stack__drawer{display:flex;width:100%;min-width:0;align-items:center;justify-content:center}.tabletop-action-stack{flex-direction:column;gap:8px}.tabletop-shell button,.tabletop-shell [role=button]{touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform var(--game-motion-fast-duration, .14s) cubic-bezier(.2,.8,.2,1),box-shadow var(--game-motion-fast-duration, .14s) cubic-bezier(.2,.8,.2,1),opacity var(--game-motion-fast-duration, .14s) ease,filter var(--game-motion-fast-duration, .14s) ease}.tabletop-shell button:not(:disabled):not(.seat-chip):active,.tabletop-shell [role=button]:not([aria-disabled=true]):not(.seat-chip):active{transform:translate3d(0,2px,0) scale(.985)}.tabletop-shell button:disabled:not(.landlord-hand-card):not(.card-fan-item),.tabletop-shell [role=button][aria-disabled=true]:not(.landlord-hand-card):not(.card-fan-item){cursor:not-allowed;opacity:.55;filter:saturate(.65)}.tabletop-shell .landlord-hand-card,.tabletop-shell .card-fan-item,.landlord-hand-card,.card-fan-item{opacity:1!important;filter:none!important}.tabletop-shell .landlord-hand-card:disabled,.tabletop-shell .card-fan-item:disabled{opacity:1!important;filter:none!important;cursor:default}.tabletop-seat{transition:transform var(--game-motion-standard-duration, .26s) cubic-bezier(.2,.8,.2,1),opacity var(--game-motion-standard-duration, .26s) ease,border-color var(--game-motion-fast-duration, .14s) ease,box-shadow var(--game-motion-standard-duration, .26s) ease}.tabletop-seat--active-turn{will-change:transform}.tabletop-phase-banner.game-motion-phase-transition{transform-origin:50% 0}html[data-motion-level=minimal] .tabletop-turn-halo,html[data-motion-level=minimal] .tabletop-speech-wave,html[data-motion-level=minimal] .seat-chip.is-speaking:before,html[data-motion-level=off] .tabletop-turn-halo,html[data-motion-level=off] .tabletop-speech-wave,html[data-motion-level=off] .seat-chip.is-speaking:before{animation:none!important}html[data-motion-level=off] .tabletop-shell *,html[data-motion-level=off] .tabletop-shell *:before,html[data-motion-level=off] .tabletop-shell *:after{scroll-behavior:auto!important;transition-duration:0ms!important}@media(max-width:768px),(orientation:landscape)and (max-height:520px){.tabletop-shell.game-motion-root{--tabletop-center-pad: 10px}.tabletop-header{gap:6px;padding-inline:max(8px,env(safe-area-inset-left,0px)) max(8px,env(safe-area-inset-right,0px))}.tabletop-header__actions{gap:5px}.tabletop-arena-container{padding-inline:max(6px,env(safe-area-inset-left,0px)) max(6px,env(safe-area-inset-right,0px))}.tabletop-bottom-bar{padding-inline:max(8px,env(safe-area-inset-left,0px)) max(8px,env(safe-area-inset-right,0px))}.tabletop-action-stack__actions>*{max-width:100%}.tabletop-shell .card-fan,.tabletop-shell .landlord-hand,.tabletop-shell .uno-hand{max-width:100%;overscroll-behavior-x:contain}}@media(orientation:landscape)and (max-height:520px){.tabletop-header{min-height:48px}.tabletop-bottom-bar{padding-top:4px;padding-bottom:max(4px,env(safe-area-inset-bottom,0px))}.tabletop-action-stack{gap:4px}}@media(prefers-reduced-motion:reduce){.tabletop-shell button,.tabletop-shell [role=button],.tabletop-seat{transition-duration:1ms!important}}.game-session-root{display:contents}.game-session-root:has(.tabletop-bottom-bar) .game-chat-trigger{bottom:calc(var(--safe-bottom) + var(--gp-dock-offset, 92px))}.landlord-hand-container{overflow-x:auto;overflow-y:visible}.landlord-hand-rack{max-width:none}.landlord-hand-card:disabled{cursor:default}.landlord-inline-countdown{min-width:30px;min-height:30px;margin-left:4px;font-size:.76rem;font-weight:900}@media(max-width:768px){:root{--gp-dock-offset: 72px}.game-session-root:has(.tabletop-bottom-bar) .game-chat-trigger{right:8px;bottom:calc(var(--safe-bottom) + 16px);min-width:64px}.tabletop-bottom-bar{padding-right:var(--gp-dock-offset, 72px)}.tabletop-action-dock{width:100%;max-width:100%;flex-direction:column;align-items:stretch;box-sizing:border-box}.tabletop-action-dock .tabletop-action{flex:0 0 auto;width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.2}.landlord-hand-container{padding-inline:0}}.durian-sim-card-flip{perspective:800px;animation:durian-sim-flip-up .6s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes durian-sim-flip-up{0%{transform:translateY(40px) rotateX(-90deg) scale(.8);opacity:0}to{transform:translateY(0) rotateX(0) scale(1);opacity:1}}.durian-sim-card-flip .durian-card{width:240px;height:120px;min-height:auto;border-width:3px;box-shadow:0 6px 0 var(--game-line, #2d261e)}.durian-sim-card-flip .durian-card-half:hover{filter:brightness(1.1)}.durian-card-half--btn{background:none;border:none;cursor:pointer;outline:none;font:inherit;width:100%}html[data-motion-level=off] .durian-sim-card-flip,html[data-motion-level=minimal] .durian-sim-card-flip{animation:none!important;transform:none!important}.loveletter-immersive-board{position:relative;display:flex;flex-direction:column;justify-content:space-between;width:100%;max-width:min(100%,1240px);margin:0 auto;flex:1 1 auto;min-height:0;height:100%;background:radial-gradient(circle at center,#3d1b2a66,#160810cc),url(/assets/backgrounds/bg_loveletter_portrait.jpg) center/cover;border-radius:20px;box-shadow:inset 0 0 40px #000c;overflow:hidden;padding:16px 22px 10px;box-sizing:border-box}.loveletter-immersive-board.is-selecting-target:before{content:"";position:absolute;inset:0;background:#0009;z-index:10;pointer-events:none}.loveletter-immersive-board.is-selecting-target .loveletter-my-area,.loveletter-immersive-board.is-selecting-target .ll-opponent.is-targetable,.loveletter-immersive-board.is-selecting-target .ll-role-picker{z-index:11;position:relative}.loveletter-opponents{display:flex;justify-content:space-around;align-items:flex-start;gap:clamp(12px,2.5vw,32px);width:100%;max-width:980px;margin:0 auto;padding-top:4px;flex-shrink:0}.ll-opponent{display:flex;flex-direction:column;align-items:center;gap:8px;transition:transform .2s,filter .2s;position:relative}.ll-opponent.is-out{opacity:.4;filter:grayscale(1)}.ll-opponent.is-targetable{cursor:pointer;filter:drop-shadow(0 0 8px rgba(250,200,100,.8))}.ll-opponent.is-targetable:hover{transform:scale(1.05)}.ll-opponent.is-selected{transform:scale(1.1);filter:drop-shadow(0 0 12px rgba(250,82,82,.9))}.ll-opponent-avatar{background:#3e2825;border:2px solid #cfa358;border-radius:12px;padding:8px 12px;text-align:center;box-shadow:0 4px 10px #00000080;position:relative}.ll-opponent-name{color:#f7e1b5;font-weight:800;font-size:.9rem;display:block}.ll-shield-icon{position:absolute;top:-10px;right:-10px;font-size:1.2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.ll-opponent-affection{display:flex;gap:4px;justify-content:center;margin-top:4px}.ll-token-heart{width:12px;height:12px;background:#555;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E") no-repeat center/contain;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E") no-repeat center/contain}.ll-token-heart.is-lit{background:#fa5252;filter:drop-shadow(0 0 4px #fa5252)}.ll-opponent-hand{display:flex;margin-top:-5px}.ll-card-back{width:40px;height:60px;background:url(/assets/loveletter/card_back.png) center/contain no-repeat,linear-gradient(135deg,#7c2b33,#4a131b);border:1.5px solid #b88645;border-radius:4px;box-shadow:2px 2px 5px #00000080;margin-left:-15px}.ll-card-back:first-child{margin-left:0}.ll-role-picker{position:absolute;top:100%;left:50%;transform:translate(-50%) translateY(10px);background:#fdf5e6;border:3px solid #cfa358;border-radius:8px;padding:12px;box-shadow:0 10px 25px #000c;width:260px;z-index:20}.ll-role-picker h4{margin:0 0 10px;color:#5c3a21;text-align:center;font-weight:900;border-bottom:1px dashed #cfa358;padding-bottom:5px}.ll-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ll-role-btn{background:#fff;border:1.5px solid #a87e43;border-radius:4px;padding:6px 0;font-size:.8rem;font-weight:700;color:#3e2825;cursor:pointer}.ll-role-btn:hover{background:#ffe4b5}.ll-role-btn.is-active{background:#cfa358;color:#fff}.loveletter-center-area{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}.ll-deck-zone{position:relative}.ll-deck-stack{position:relative;width:56px;height:84px}.ll-deck-stack .ll-card-back{width:100%;height:100%;margin:0}.ll-deck-stack .ll-card-back.shadow{position:absolute;transform:rotate(-5deg) translate(-5px);opacity:.8}.ll-deck-stack .ll-card-back.top{position:absolute}.ll-deck-corner{position:absolute;top:14px;right:18px;z-index:15;display:flex;flex-direction:column;align-items:center;color:#fef08a;background:#1e1410e0;border:1px solid rgba(254,240,138,.35);border-radius:12px;padding:4px 10px;box-shadow:0 4px 12px #00000080;pointer-events:none}.ll-deck-corner__num{font-size:1.8rem;font-weight:900;line-height:1;text-shadow:0 1px 3px rgba(0,0,0,.9);animation:ll-deck-pop .35s ease-out}.ll-deck-corner__label{font-size:.68rem;letter-spacing:.15em;color:#fde68a;font-weight:800;margin-top:2px}.ll-deck-corner.is-low .ll-deck-corner__num{color:#fa5252;animation:pulse 1.2s ease-in-out infinite}@keyframes ll-deck-pop{0%{transform:scale(1.5);opacity:0}to{transform:scale(1);opacity:1}}.ll-feed{position:absolute;bottom:108px;left:50%;transform:translate(-50%);z-index:16;display:flex;flex-direction:column-reverse;align-items:center;gap:6px;width:max-content;max-width:86%;pointer-events:none}.ll-feed__item{padding:5px 14px;border-radius:999px;background:#14080ee0;border:1px solid rgba(207,163,88,.55);color:#f7e1b5;font-size:.88rem;font-weight:700;white-space:nowrap;box-shadow:0 4px 12px #0009;animation:ll-feed-in .3s ease-out}.ll-feed__item--out{border-color:#fa5252cc;color:#ffb3b3}.ll-feed__item--protect{border-color:#74c0fccc;color:#cde5ff}.ll-feed__item--peek{border-color:#bf90ffcc;color:#e6d6ff}@keyframes ll-feed-in{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.ll-round-banner{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#0a03079e;animation:ll-banner-in .3s ease-out}.ll-round-banner__card{display:flex;flex-direction:column;align-items:center;gap:8px;background:#fdf5e6;border:3px solid #cfa358;border-radius:14px;padding:22px 34px;box-shadow:0 14px 40px #000000d9;max-width:86%;text-align:center}.ll-round-banner__round{font-size:.8rem;font-weight:700;letter-spacing:.15em;color:#8b5a2b}.ll-round-banner__title{font-size:1.6rem;font-weight:900;color:#5c3a21}.ll-round-banner__reason{font-size:.9rem;font-weight:700;color:#7a4a2b}.ll-round-banner__progress{font-size:.85rem;font-weight:700;color:#a87e43;border-top:1px dashed #cfa358;padding-top:8px}.ll-round-banner.is-me-win .ll-round-banner__title{color:#c0392b}.ll-round-banner.is-me-win .ll-round-banner__card{border-color:#fa5252;box-shadow:0 0 34px #fa52528c,0 14px 40px #000000d9}.ll-round-banner.is-me-lose .ll-round-banner__title{color:#4a4a4a}@keyframes ll-banner-in{0%{opacity:0}to{opacity:1}}.ll-over-note{font-size:.9rem;color:#f7e1b5;opacity:.85;margin:4px 0 0}.ll-removed-zone{background:#0000004d;padding:10px;border-radius:12px;border:1px solid rgba(207,163,88,.3)}.ll-removed-cards{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.ll-mini-card{background:#fdf5e6;border:2px solid #8b5a2b;border-radius:4px;padding:4px 8px;font-size:.8rem;font-weight:800;color:#3e2825;display:flex;align-items:center;gap:4px}.ll-mini-card--hidden{background:#3e2825;color:#f7e1b5}.ll-mini-card--hidden .ll-mini-thumb,.ll-mini-card--hidden .ll-card-back{width:18px;height:26px;border-radius:3px;flex-shrink:0}.ll-mini-seal{display:block}.ll-mini-seal i{display:inline-block;width:10px;height:10px;background:#c33;border-radius:50%}.loveletter-my-area{display:flex;flex-direction:column;align-items:center;gap:8px;padding-bottom:4px;flex-shrink:0}.loveletter-my-hand{display:flex;justify-content:center;gap:clamp(12px,2.5vw,24px);align-items:flex-end}.ll-target-self-btn{background:#2b1d1a;border:2px solid #cfa358;color:#f7e1b5;padding:8px 16px;border-radius:20px;font-weight:700;cursor:pointer;transition:all .2s}.ll-target-self-btn:hover{background:#3e2825}.ll-target-self-btn.is-selected{background:#cfa358;color:#fff;box-shadow:0 0 10px #cfa358}.ll-history-notebook{position:absolute;bottom:20px;right:20px;z-index:30}.ll-history-toggle{width:50px;height:50px;border-radius:50%;background:#fdf5e6;border:3px solid #8b5a2b;color:#5c3a21;font-weight:900;font-size:.75rem;line-height:1.1;cursor:pointer;box-shadow:2px 4px 8px #00000080;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .2s}.ll-history-toggle:hover{transform:scale(1.1)}.ll-history-drawer{position:absolute;bottom:60px;right:0;width:250px;background:#fdf5e6;border:3px solid #8b5a2b;border-radius:8px;padding:16px;box-shadow:-5px 5px 15px #000c}.ll-history-drawer h4{margin:0 0 12px;color:#5c3a21;border-bottom:2px solid #cfa358;padding-bottom:4px}.ll-history-drawer ul{list-style:none;padding:0;margin:0;font-size:.85rem;color:#3e2825;max-height:200px;overflow-y:auto}.ll-history-drawer li{padding:6px 0;border-bottom:1px dashed #dcb888}.ll-history-drawer li:last-child{border:none}.ll-history-drawer strong{color:#8b5a2b}.ll-history-drawer span{font-weight:700;color:#c33}@media(max-width:640px){.loveletter-immersive-board{padding:8px 10px 4px;border-radius:14px;gap:4px}.loveletter-opponents{gap:6px;width:100%;justify-content:space-around}.ll-opponent{gap:3px;min-width:0}.ll-opponent-avatar{padding:4px 6px;border-radius:8px}.ll-opponent-name{font-size:.74rem;max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ll-token-heart{width:9px;height:9px}.ll-card-back{width:26px;height:38px;margin-left:-10px;border-radius:3px}.ll-role-picker{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(290px,92vw);box-shadow:0 0 0 100vmax #000000a6,0 12px 30px #000000d9;z-index:100}.ll-deck-corner{top:8px;right:10px}.ll-deck-corner__num{font-size:1.5rem}.loveletter-my-hand{gap:12px}.env-card.loveletter-card{width:clamp(94px,38vw,130px);height:clamp(130px,22vh,175px);padding:4px 4px 6px}.ll-history-notebook{bottom:8px;right:8px}.ll-history-toggle{width:42px;height:42px;font-size:.68rem}}@media(max-height:620px){.loveletter-immersive-board{padding:6px 12px;gap:4px;border-radius:12px}.loveletter-opponents{height:auto;gap:8px}.ll-opponent{gap:4px}.ll-opponent-avatar{padding:3px 8px;border-radius:8px}.ll-opponent-name{font-size:.72rem}.ll-token-heart{width:9px;height:9px}.ll-card-back{width:24px;height:36px;margin-left:-10px;border-radius:3px}.loveletter-center-area{gap:6px}.ll-deck-stack{width:36px;height:52px}.ll-deck-corner{top:8px;right:10px}.ll-deck-corner__num{font-size:1.4rem}.ll-feed{bottom:96px}.ll-feed__item{font-size:.78rem;padding:4px 10px}.ll-round-banner__card{padding:14px 18px}.ll-round-banner__title{font-size:1.2rem}.loveletter-my-area{gap:4px;padding-bottom:2px}.loveletter-my-hand{gap:10px}.env-card.loveletter-card{width:82px;min-height:90px;padding:6px 4px;gap:3px;border-width:2.5px;border-radius:4px 10px 10px;box-shadow:0 4px 0 var(--game-line)}.env-card.loveletter-card strong{font-size:.8rem}.env-card.loveletter-card .env-card__seal{width:22px;height:22px}.env-card.loveletter-card .env-card__seal i{width:8px;height:8px}.env-card.loveletter-card .env-card__value{width:24px;height:24px;font-size:.88rem;border-radius:6px}.tabletop-bottom-bar{padding:4px 8px}}.env-card.loveletter-card{width:clamp(100px,13.5vw,142px);height:clamp(140px,25vh,195px);min-height:0;padding:5px 5px 6px;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:4px;background:linear-gradient(160deg,#fffdf8,#f6ecd5);border:3px solid #b88645;border-radius:10px;box-shadow:0 8px 16px #00000073,0 4px #7a4f21;position:relative;overflow:hidden;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease}.env-card.loveletter-card:hover{transform:translateY(-6px) scale(1.03);box-shadow:0 14px 24px #0009,0 6px #7a4f21}.env-card.loveletter-card.is-selected{transform:translateY(-10px) scale(1.05);border-color:gold;box-shadow:0 0 20px #ffd700cc,0 6px #b88645}.loveletter-card__art{position:relative;flex:1 1 0;min-height:0;width:100%;overflow:hidden;border-radius:6px;border:1.5px solid #cfa358;background:radial-gradient(circle at 50% 48%,#441a20,#200d11 68%,#120507);box-shadow:inset 0 0 8px #0009;display:flex;align-items:center;justify-content:center}.loveletter-card__img{width:100%;height:100%;object-fit:contain;padding:2px;display:block;filter:drop-shadow(0 3px 6px rgba(0,0,0,.5))}.env-card.loveletter-card .loveletter-card__corner-value{position:absolute;top:0;right:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;color:#ffdf70;font-size:1.15rem;font-weight:900;font-family:Cinzel,"Noto Serif SC",serif,Georgia;text-shadow:0 1px 3px rgba(0,0,0,.95);pointer-events:none;z-index:10;line-height:1}.loveletter-card__info{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:2px 4px 1px;gap:6px}.loveletter-card__info strong{color:#3e2825;font-size:clamp(.85rem,1.1vw,1rem);font-weight:900;text-align:center;letter-spacing:.05em;white-space:nowrap}.loveletter-card__info .env-card__seal{width:18px;height:18px;flex-shrink:0}.loveletter-card__info .env-card__seal i{width:7px;height:7px}.ll-role-thumb{width:24px;height:32px;object-fit:contain;background:#2a1618;border-radius:3px;border:1px solid #cfa358;margin-right:6px;vertical-align:middle}.ll-mini-thumb{width:18px;height:24px;object-fit:contain;background:#2a1618;border-radius:2px;border:1px solid #cfa358;margin-right:4px}.ll-role-btn{display:flex;align-items:center;justify-content:flex-start;padding:4px 8px}@media(max-height:620px){.env-card.loveletter-card{width:95px;min-height:120px;padding:4px;gap:3px}.loveletter-card__info strong{font-size:.72rem}.loveletter-card__info .env-card__seal{width:16px;height:16px}.loveletter-card__info .env-card__seal i{width:6px;height:6px}.loveletter-card__info .env-card__value{width:20px;height:20px;font-size:.8rem}}.tabletop-btn-group{display:flex;align-items:center;gap:8px}.ll-tracker-toggle-btn{background:linear-gradient(135deg,#4a2818,#2b150c)!important;color:#ffdf70!important;border-color:#cfa358!important;box-shadow:0 2px 8px #0006!important}.ll-tracker-toggle-btn.is-active{background:linear-gradient(135deg,#7a3e1d,#4a2410)!important;border-color:gold!important;box-shadow:0 0 12px #ffd70099!important}.ll-card-info-badge{position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:#23140fd9;border:1px solid #d4af37;color:#ffdf70;display:flex;align-items:center;justify-content:center;font-size:11px;cursor:pointer;z-index:12;transition:transform .15s ease,background .15s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ll-card-info-badge:hover{transform:scale(1.18);background:#502d19f2;color:#fff}.ll-opponent-discards{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;max-width:130px}.ll-discard-pill{display:inline-flex;align-items:center;gap:3px;padding:1px 5px;border-radius:10px;background:#1c100cd9;border:1px solid rgba(207,163,88,.5);color:#f7e7c4;font-size:.72rem;cursor:pointer;transition:background .15s,border-color .15s}.ll-discard-pill:hover{background:#3c2014f2;border-color:gold;color:#fff}.ll-discard-pill__val{font-weight:800;color:#ffcf40}.ll-hover-ability-popover{position:fixed;bottom:210px;left:50%;transform:translate(-50%);width:min(92vw,420px);background:linear-gradient(170deg,#261610f5,#140a08fa);border:2px solid #d4af37;border-radius:12px;padding:12px 14px;box-shadow:0 12px 32px #000c,0 0 16px #d4af374d;color:#fcebd0;z-index:1000;pointer-events:none;animation:popoverFadeIn .2s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes popoverFadeIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.ll-hover-ability-popover__header{display:flex;align-items:center;gap:8px;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid rgba(212,175,55,.3)}.ll-hover-ability-popover__badge{padding:2px 6px;border-radius:4px;background:#cfa358;color:#1e1008;font-weight:900;font-size:.78rem}.ll-hover-ability-popover__header strong{font-size:1.05rem;color:gold;flex:1}.ll-hover-ability-popover__count{font-size:.75rem;color:#c9b197}.ll-hover-ability-popover__desc{margin:0 0 6px;font-size:.88rem;line-height:1.45;color:#f7e8d0}.ll-hover-ability-popover__tip{display:block;font-size:.78rem;color:#e2be82;background:#0000004d;padding:4px 8px;border-radius:6px}.ll-tracker-backdrop,.ll-ability-detail-backdrop{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1200;padding:16px;animation:fadeIn .2s ease}.ll-tracker-modal{width:min(94vw,680px);max-height:min(88dvh,720px);background:linear-gradient(175deg,#2b1812,#170d0a);border:2px solid #cfa358;border-radius:16px;box-shadow:0 20px 48px #000000e6,0 0 24px #cfa35859;display:flex;flex-direction:column;overflow:hidden;color:#f7e7c4}.ll-tracker-modal__head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#00000059;border-bottom:1.5px solid rgba(207,163,88,.4)}.ll-tracker-modal__title{display:flex;align-items:center;gap:8px}.ll-tracker-modal__title h3{margin:0;font-size:1.15rem;color:#ffdf70;letter-spacing:.05em}.ll-tracker-modal__close,.ll-ability-detail-close{width:32px;height:32px;border-radius:50%;background:#ffffff14;border:1px solid rgba(207,163,88,.4);color:#ffdf70;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:all .15s}.ll-tracker-modal__close:hover,.ll-ability-detail-close:hover{background:#cfa3584d;color:#fff;transform:scale(1.08)}.ll-tracker-tabs{display:flex;background:#0006;border-bottom:1px solid rgba(207,163,88,.25)}.ll-tracker-tab{flex:1;padding:10px 12px;background:none;border:none;border-bottom:2px solid transparent;color:#c9b197;font-size:.92rem;font-weight:700;cursor:pointer;transition:all .15s}.ll-tracker-tab.is-active{color:gold;border-bottom-color:gold;background:#cfa3581f}.ll-tracker-content{flex:1;overflow-y:auto;padding:16px}.ll-tracker-table{display:flex;flex-direction:column;gap:8px}.ll-tracker-table__header{display:grid;grid-template-columns:2fr 1fr 1.6fr 1.4fr 2.4fr;padding:6px 10px;font-size:.78rem;color:#b89874;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(207,163,88,.2)}.ll-tracker-table__rows{display:flex;flex-direction:column;gap:6px}.ll-tracker-row{display:grid;grid-template-columns:2fr 1fr 1.6fr 1.4fr 2.4fr;align-items:center;padding:8px 10px;background:#2d191299;border:1px solid rgba(207,163,88,.3);border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s}.ll-tracker-row:hover{background:#41261cd9;border-color:gold}.ll-tracker-row.is-exhausted{opacity:.6;background:#190f0c66}.ll-tracker-row__name{display:flex;align-items:center;gap:8px}.ll-tracker-row__val{width:22px;height:22px;border-radius:4px;background:#cfa358;color:#170d0a;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.82rem}.ll-tracker-row__thumb{width:26px;height:34px;border-radius:3px;object-fit:contain;background:#2a1618;border:1px solid #cfa358}.ll-tracker-row__name strong{display:block;font-size:.88rem;color:#ffdf70}.ll-tracker-row__name small{display:block;font-size:.72rem;color:#b89874}.ll-tracker-row__total{font-weight:700;font-size:.85rem;color:#e2be82}.ll-tracker-row__known{display:flex;flex-direction:column;gap:3px}.ll-tracker-row__known-num{font-size:.82rem;color:#f7e7c4}.ll-tracker-row__bar{width:90%;height:5px;background:#00000080;border-radius:3px;overflow:hidden}.ll-tracker-row__bar-fill{height:100%;background:linear-gradient(90deg,#cfa358,gold);border-radius:3px;transition:width .3s ease}.ll-tracker-row__remain{font-weight:800;font-size:.9rem;color:gold}.ll-tracker-row__remain.is-zero{color:#4ade80;font-size:.82rem}.ll-tracker-row__who{display:flex;flex-wrap:wrap;gap:4px}.ll-tracker-player-tag{font-size:.72rem;padding:1px 5px;border-radius:4px;background:#00000073;border:1px solid rgba(207,163,88,.4);color:#f7e7c4}.ll-tracker-player-tag.is-removed{border-color:#f87171;color:#fca5a5}.ll-tracker-player-tag.is-hand{border-color:#60a5fa;color:#93c5fd}.ll-history-rounds-list{display:flex;flex-direction:column;gap:12px}.ll-history-round-card{background:#261610bf;border:1.5px solid rgba(207,163,88,.35);border-radius:10px;padding:12px}.ll-history-round-card.is-current{border-color:gold;background:#371e14d9}.ll-history-round-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgba(207,163,88,.2)}.ll-history-round-card__header strong{font-size:.95rem;color:gold}.ll-history-round-badge{padding:2px 6px;border-radius:4px;background:#3b82f6;color:#fff;font-size:.72rem;font-weight:700}.ll-history-round-winner{font-size:.82rem;color:#4ade80;font-weight:700}.ll-history-round-card__discards{display:flex;flex-direction:column;gap:6px}.ll-history-player-line{display:flex;align-items:center;gap:8px;font-size:.85rem}.ll-history-player-name{color:#cfa358;font-weight:700;min-width:60px}.ll-history-empty{font-size:.78rem;color:#887462;font-style:italic}.ll-history-cards-flow{display:flex;flex-wrap:wrap;gap:4px}.ll-history-card-tag{padding:1px 6px;border-radius:4px;background:#cfa35833;border:1px solid #cfa358;color:#fff;font-size:.75rem;cursor:pointer;transition:all .15s}.ll-history-card-tag:hover{background:#ffd70066;border-color:gold}.ll-ability-detail-modal{width:min(92vw,480px);background:linear-gradient(175deg,#2b1812,#150b08);border:2px solid #ffd700;border-radius:16px;box-shadow:0 20px 48px #000000f2,0 0 28px #ffd70066;position:relative;overflow:hidden;color:#f7e7c4}.ll-ability-detail-close{position:absolute;top:12px;right:12px;z-index:10}.ll-ability-detail-banner{display:flex;align-items:center;gap:14px;padding:16px 18px;background:linear-gradient(90deg,#00000080,#46231499);border-bottom:1.5px solid rgba(207,163,88,.4)}.ll-ability-detail-img{width:58px;height:78px;object-fit:contain;background:radial-gradient(circle at 50% 48%,#441a20,#1a0a0d);border-radius:6px;border:2px solid #ffd700;box-shadow:0 4px 12px #0009;padding:3px}.ll-ability-detail-meta h3{margin:2px 0 4px;font-size:1.25rem;color:gold}.ll-ability-detail-value{display:inline-block;padding:2px 8px;border-radius:4px;background:#cfa358;color:#170d0a;font-weight:900;font-size:.85rem}.ll-ability-detail-tag{display:block;font-size:.8rem;color:#c9b197}.ll-ability-detail-body{padding:16px 18px;display:flex;flex-direction:column;gap:12px}.ll-ability-detail-section h4{margin:0 0 4px;font-size:.92rem;color:#ffdf70}.ll-ability-detail-section p{margin:0;font-size:.9rem;line-height:1.5;color:#f7e8d0}.app-mode-gate{flex:1;min-height:0;height:100%;max-height:100dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:max(calc(var(--safe-top) + 16px),20px) 16px calc(32px + var(--safe-bottom));background-color:#fcf9f2;background-image:radial-gradient(#dfd7c5 1.2px,transparent 1.2px);background-size:16px 16px;color:#29241f;box-sizing:border-box}.app-mode-gate__content{width:100%;max-width:520px;display:flex;flex-direction:column;gap:20px;margin:auto 0}.app-mode-gate__brand{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.app-mode-gate__eyebrow{margin:0;font-size:.85rem;font-weight:800;color:#c2410c;letter-spacing:.05em}.app-mode-gate__title{margin:0;font-size:1.6rem;font-weight:900;color:#29241f;font-family:ui-serif,Songti SC,"Noto Serif SC",serif}.app-mode-gate__subtitle{margin:0;color:#6b6357;font-size:.88rem}.app-mode-gate__cards{display:grid;grid-template-columns:1fr;gap:14px}.app-mode-gate__cards--three{grid-template-columns:1fr}@media(min-width:480px){.app-mode-gate__cards--three{grid-template-columns:1fr 1fr 1fr}}.app-mode-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px 14px;border:2.5px solid #29241f;border-radius:18px;background:#fffdf9;box-shadow:0 4px #29241f;cursor:pointer;text-align:center;position:relative;transition:all .15s ease}.app-mode-card:hover{transform:translateY(-2px);box-shadow:0 6px #29241f;border-color:#ff4757}.app-mode-card:active{transform:translateY(3px);box-shadow:0 1px #29241f}.app-mode-card.is-selected{border-color:#ff4757;background:#fffbf5;box-shadow:0 4px #29241f,0 0 0 2px #ff475740}.app-mode-card__top{display:flex;align-items:center;justify-content:space-between;width:100%;gap:4px}.app-mode-card__tag{font-size:.72rem;font-weight:800;padding:1px 6px;border-radius:6px;background:#f4efe6;color:#716655;border:1px solid rgba(41,36,31,.15)}.app-mode-card__recommend-badge{display:inline-flex;align-items:center;gap:2px;font-size:.7rem;font-weight:800;padding:1px 6px;border-radius:6px;background:#fef08a;color:#854d0e;border:1px solid #ca8a04}.app-mode-card__icon-box{width:48px;height:48px;border-radius:14px;background:#fdf2e9;border:1.5px solid #29241f;display:flex;align-items:center;justify-content:center;margin:4px 0 2px}.app-mode-card__icon{color:#ff4757}.app-mode-card__title{font-size:1.05rem;font-weight:900;color:#29241f;font-family:ui-serif,Songti SC,"Noto Serif SC",serif}.app-mode-card__desc{font-size:.78rem;color:#554d42;line-height:1.35}.app-mode-card__hint{font-size:.72rem;color:#8c8272;font-weight:600}.app-mode-gate__connect{display:flex;flex-direction:column;gap:12px;padding:18px;border:2.5px solid #29241f;border-radius:18px;background:#fffdf9;box-shadow:0 4px #29241f}.app-mode-gate__connect-head{display:flex;flex-direction:column;gap:2px}.app-mode-gate__connect-title{font-size:1.05rem;font-weight:900;color:#29241f;font-family:ui-serif,Songti SC,"Noto Serif SC",serif}.app-mode-gate__connect-sub{font-size:.78rem;color:#716655}.connection-settings{display:flex;flex-direction:column;gap:14px}.connection-settings__field{display:flex;flex-direction:column;gap:6px}.connection-settings__label{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:800;color:#29241f}.connection-settings__input-row{display:flex;gap:8px}.connection-settings__input{flex:1;min-height:44px;padding:8px 14px;border:2px solid #29241f;border-radius:12px;background:#fff;color:#29241f;font-size:.95rem;font-weight:600;box-shadow:inset 0 2px 4px #0000000a}.connection-settings__input:focus{outline:none;border-color:#ff4757;box-shadow:0 0 0 3px #ff475733}.connection-settings__scan-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:2px solid #29241f;border-radius:12px;background:#fffdf9;color:#29241f;box-shadow:0 3px #29241f;cursor:pointer;transition:all .15s}.connection-settings__scan-btn:hover{background:#fef3c7;transform:translateY(-1px)}.connection-settings__scan-btn:active{transform:translateY(2px);box-shadow:0 1px #29241f}.connection-settings__error{margin:0;font-size:.8rem;font-weight:700;color:#dc2626}.connection-settings__submit{width:100%;min-height:46px;border:2.5px solid #29241f;border-radius:14px;background:#ff4757;color:#fff;font-size:1rem;font-weight:900;box-shadow:0 4px #29241f;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .15s}.connection-settings__submit:hover{background:#ff5e6d;transform:translateY(-1px);box-shadow:0 5px #29241f}.connection-settings__submit:active{transform:translateY(3px);box-shadow:0 1px #29241f}.connection-settings__recent{display:flex;flex-direction:column;gap:6px;padding-top:4px}.connection-settings__recent-title{margin:0;display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:800;color:#716655}.connection-settings__recent-list{display:flex;flex-wrap:wrap;gap:8px}.connection-chip{padding:6px 12px;min-height:32px;border:1.5px solid #29241f;border-radius:999px;background:#fffdf9;color:#29241f;font-size:.82rem;font-weight:700;box-shadow:0 2px #29241f;cursor:pointer;transition:all .15s}.connection-chip:hover{border-color:#ff4757;color:#ff4757;transform:translateY(-1px)}.connection-chip.is-active{border-color:#ff4757;background:#ffe4e6;color:#be123c;font-weight:800}.host-console{flex:1;min-height:0;height:100%;max-height:100dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:max(calc(var(--safe-top) + 16px),20px) 16px calc(32px + var(--safe-bottom));background-color:#fcf9f2;background-image:radial-gradient(#dfd7c5 1.2px,transparent 1.2px);background-size:16px 16px;color:#29241f;box-sizing:border-box}.host-console__content{width:100%;max-width:440px;display:flex;flex-direction:column;gap:16px;margin:auto 0}.host-console__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.host-console__badge{display:inline-block;margin-left:8px;font-size:.72rem;font-weight:800;padding:2px 7px;border-radius:6px;background:#e6f7f2;border:1px solid #0c715d;color:#0c715d;vertical-align:middle}.host-console__switch{font-size:.85rem;font-weight:800;color:#29241f;padding:6px 12px;border:2px solid #29241f;border-radius:10px;background:#fffdf9;box-shadow:0 2px #29241f;cursor:pointer;text-decoration:none;transition:all .15s}.host-console__switch:hover{background:#fef3c7;transform:translateY(-1px)}.host-console__switch:active{transform:translateY(2px);box-shadow:0 0 #29241f}.host-status-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:2.5px solid #29241f;border-radius:16px;background:#fffdf9;box-shadow:0 4px #29241f}.host-status-card.is-running{background:#f0fdf4;border-color:#0c715d;box-shadow:0 4px #0c715d}.host-status-card.is-error{background:#fef2f2;border-color:#dc2626;box-shadow:0 4px #dc2626}.host-status-card__row{display:flex;align-items:flex-start;gap:10px;min-width:0}.host-status-dot{width:12px;height:12px;border-radius:50%;background:#16a34a;border:2px solid #14532d;margin-top:4px;flex-shrink:0;box-shadow:0 0 8px #22c55e;animation:statusDotPulse 1.8s infinite ease-in-out}@keyframes statusDotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.host-status-card__row strong{display:block;font-size:.92rem;font-weight:900;color:#29241f}.host-status-card__sub{margin:2px 0 0;font-size:.74rem;color:#554d42;line-height:1.35}.host-status-card__action{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:800;padding:5px 10px;border:1.5px solid #29241f;border-radius:8px;background:#fffdf9;color:#29241f;box-shadow:0 2px #29241f;cursor:pointer;text-decoration:none}.host-status-card__action:hover{background:#fef3c7}.host-net-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border:2px solid #29241f;border-radius:14px;background:#fffdf9;box-shadow:0 3px #29241f;flex-wrap:wrap}.host-net-card__link{font-size:.78rem;font-weight:800;color:#b45309;text-decoration:none;background:transparent;border:none;cursor:pointer}.host-qr-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 16px;border:2.5px solid #29241f;border-radius:18px;background:#fffdf9;box-shadow:0 4px #29241f}.host-qr-frame{padding:10px;background:#fff;border:2px solid #29241f;border-radius:14px;box-shadow:0 3px #29241f}.host-qr-hint{margin:0;font-size:.8rem;font-weight:700;color:#554d42;text-align:center}.host-qr-url-row{display:flex;align-items:center;gap:6px;width:100%;justify-content:center}.host-qr-url{font-size:.85rem;font-weight:800;color:#29241f;background:#fef3c7;border:1.5px solid #29241f;border-radius:8px;padding:5px 12px;max-width:100%;overflow-wrap:anywhere}.host-qr-candidates{width:100%;margin-top:4px;display:flex;flex-direction:column;gap:6px}.host-qr-candidates__hint{margin:0;font-size:.74rem;color:#716655;text-align:center}.host-qr-candidates__list{display:flex;flex-direction:column;gap:4px;align-items:stretch}.host-qr-candidate{display:block;width:100%;text-align:center;font-size:.76rem;font-weight:700;padding:5px 8px;border:1.5px solid #29241f;border-radius:8px;background:#fff;color:#29241f;overflow-wrap:anywhere;cursor:pointer}.host-qr-candidate.is-active{border-color:#ff4757;background:#ffe4e6;color:#be123c;font-weight:800}.host-qr-warn{margin:4px 0 0;font-size:.78rem;font-weight:700;color:#dc2626;text-align:center}.host-console__grid{display:flex;flex-direction:column;gap:16px;width:100%}.host-console__col{display:flex;flex-direction:column;gap:16px}@media(min-width:768px){.host-console__content{max-width:860px}.host-console__grid{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;align-items:start}}.host-console__switch--return{display:inline-flex;align-items:center;gap:6px;background:#f0fdf4;border-color:#0c715d;color:#0c715d}.host-console__switch--return:hover{background:#dcfce7}.host-net-card__tip{font-size:.76rem;font-weight:700;color:#554d42}.host-online-banner{display:flex;align-items:center;gap:8px;padding:8px 14px;border:2px solid #0c715d;border-radius:12px;background:#f0fdf4;color:#065f46;font-size:.84rem;font-weight:700;box-shadow:0 2px #0c715d}.host-online-banner strong{font-weight:900;font-size:.95rem;color:#047857}.host-online-banner__dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 6px #10b981;animation:statusDotPulse 1.8s infinite ease-in-out;flex-shrink:0}.host-enter-section{display:flex;flex-direction:column;gap:8px;width:100%}.host-enter-btn{width:100%;min-height:50px;border:2.5px solid #29241f;border-radius:16px;background:#ff4757;color:#fff;font-size:1.05rem;font-weight:900;box-shadow:0 4px #29241f;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .15s ease}.host-enter-btn:hover{background:#ff5e6d;transform:translateY(-2px);box-shadow:0 6px #29241f}.host-enter-btn:active{transform:translateY(3px);box-shadow:0 1px #29241f}.host-enter-btn--table{background:#0c715d;border-color:#29241f;color:#fff}.host-enter-btn--table:hover{background:#0f8a72}.host-enter-desc{margin:0;font-size:.76rem;color:#554d42;line-height:1.4;padding:0 4px}.host-enter-desc strong{color:#b45309}.host-enter-btn--secondary{width:100%;min-height:42px;border:2px solid #29241f;border-radius:14px;background:#fffdf9;color:#29241f;font-size:.92rem;font-weight:800;box-shadow:0 3px #29241f;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .15s ease}.host-enter-btn--secondary:hover{background:#fef3c7;transform:translateY(-1px);box-shadow:0 4px #29241f}.host-enter-btn--secondary:active{transform:translateY(2px);box-shadow:0 1px #29241f}.host-qr-copy-btn{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:800;color:#29241f;background:#fffdf9;border:1.5px solid #29241f;border-radius:8px;padding:5px 10px;box-shadow:0 2px #29241f;cursor:pointer;flex-shrink:0;transition:all .15s}.host-qr-copy-btn:hover{background:#fef3c7;transform:translateY(-1px)}.host-qr-copy-btn:active{transform:translateY(1px);box-shadow:0 1px #29241f}.host-qr-candidate{display:flex;align-items:center;gap:8px;text-align:left}.host-qr-candidate__radio{font-size:.85rem;color:#0c715d;flex-shrink:0}.host-qr-candidate.is-active .host-qr-candidate__radio{color:#b91c1c}.host-qr-candidate__text{flex:1;overflow-wrap:anywhere}.home-header__host-capsule{background:#ecfdf5!important;border-color:#0c715d!important;color:#065f46!important;font-weight:800!important;box-shadow:0 3px #0c715d!important;display:inline-flex!important;align-items:center!important;gap:6px!important}.home-header__host-capsule:hover{background:#d1fae5!important}.home-header__host-dot{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 6px #10b981;animation:statusDotPulse 1.8s infinite ease-in-out;flex-shrink:0}.connection-settings__input-row{display:flex;gap:8px;align-items:stretch}.connection-settings__input-row .connection-settings__input{flex:1;min-width:0}.connection-settings__scan-btn{min-width:var(--touch-size);min-height:var(--touch-size);display:grid;place-items:center;border:1.5px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text);cursor:pointer}.connection-settings__scan-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.scan-overlay{position:fixed;inset:0;z-index:1200;background:#111827eb;display:flex;align-items:center;justify-content:center;padding:20px}.scan-overlay__frame{width:100%;max-width:380px;display:flex;flex-direction:column;gap:10px;background:var(--color-surface);border-radius:16px;padding:14px}.scan-overlay__head{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--color-text)}.scan-overlay__close{margin-left:auto;color:var(--color-text-muted)}.scan-overlay__video{width:100%;border-radius:12px;background:#000;aspect-ratio:4 / 3;object-fit:cover}.scan-overlay__canvas{display:none}.scan-overlay__hint{margin:0;text-align:center;font-size:.78rem;color:var(--color-text-muted)}.scan-overlay__error{margin:12px 0;text-align:center;font-size:.85rem;color:var(--color-danger)}body.is-immersive{--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}body.is-immersive .tabletop-shell{padding-top:max(var(--safe-top),6px)!important}body.is-immersive .tabletop-arena-container{padding-bottom:max(var(--safe-bottom),6px)}.tabletop-recommend-chip{background:linear-gradient(135deg,#ea580c,#f59e0b)!important;color:#fff!important;border:1.5px solid #fed7aa!important;box-shadow:0 2px 8px #ea580c66!important;font-weight:800!important}.tabletop-landscape-tip{display:flex;align-items:center;gap:10px;margin:6px 12px 0;padding:7px 10px 7px 14px;border-radius:14px;background:linear-gradient(135deg,#ea580c2e,#f59e0b1a);border:1px solid rgba(254,215,170,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff7ed;font-size:.85rem;font-weight:600}.tabletop-landscape-tip__icon{font-size:1rem;line-height:1}.tabletop-landscape-tip__text{flex:1;min-width:0}.tabletop-landscape-tip__switch{flex-shrink:0;cursor:pointer;border:1.5px solid #fed7aa;border-radius:999px;padding:4px 12px;background:linear-gradient(135deg,#ea580c,#f59e0b);color:#fff;font-weight:800;font-size:.8rem}.tabletop-landscape-tip__switch:hover{filter:brightness(1.1)}.tabletop-landscape-tip__switch:active{filter:brightness(.92)}.tabletop-landscape-tip__close{flex-shrink:0;cursor:pointer;width:26px;height:26px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:#1e18128c;color:#ffffffd9;font-size:.8rem;line-height:1;display:flex;align-items:center;justify-content:center}.tabletop-landscape-tip__close:hover{background:#ffffff38;color:#fff}.tabletop-drawer-backdrop{position:fixed;inset:0;z-index:9999;background:#111827a6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:flex-end;justify-content:center;animation:drawerFadeIn .2s ease-out}@media(min-width:640px){.tabletop-drawer-backdrop{align-items:center;padding:20px}}.tabletop-drawer-panel{width:100%;max-width:480px;max-height:min(88dvh,720px);overflow-y:auto;background-color:#fcf9f2;background-image:radial-gradient(#dfd7c5 1.2px,transparent 1.2px);background-size:16px 16px;border:2.5px solid #29241f;border-radius:24px 24px 0 0;box-shadow:0 -8px 32px #00000059;display:flex;flex-direction:column;box-sizing:border-box;animation:drawerSlideUp .25s cubic-bezier(.16,1,.3,1)}@media(min-width:640px){.tabletop-drawer-panel{border-radius:24px;box-shadow:0 12px 40px #00000073}}.tabletop-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:2px dashed #dfd7c5}.tabletop-drawer-title-group{display:flex;flex-direction:column;gap:2px}.tabletop-drawer-kicker{font-size:.68rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#ea580c}.tabletop-drawer-title{margin:0;font-size:1.15rem;font-weight:900;color:#29241f;font-family:"Noto Serif SC",Songti SC,serif}.tabletop-drawer-close-btn{width:var(--gp-touch, 44px);height:var(--gp-touch, 44px);border-radius:50%;border:2px solid #29241f;background:#fff;color:#29241f;font-size:1rem;font-weight:900;display:grid;place-items:center;cursor:pointer;box-shadow:0 2px #29241f;transition:all .15s ease}.tabletop-drawer-close-btn:active{transform:translateY(2px);box-shadow:none}.tabletop-drawer-content{padding:16px 20px 24px;display:flex;flex-direction:column;gap:16px}.tabletop-drawer-section{display:flex;flex-direction:column;gap:8px}.tabletop-drawer-section-title{font-size:.76rem;font-weight:800;color:#78716c;text-transform:uppercase;letter-spacing:.5px}.tabletop-drawer-grid{display:grid;grid-template-columns:1fr;gap:8px}@media(min-width:380px){.tabletop-drawer-grid{grid-template-columns:repeat(2,1fr)}}.tabletop-drawer-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;border:2px solid #29241f;background:#fff;color:#29241f;text-align:left;cursor:pointer;box-shadow:0 3px #29241f;transition:all .15s ease;min-height:48px}.tabletop-drawer-item:active{transform:translateY(2px);box-shadow:0 1px #29241f}.tabletop-drawer-item__icon{font-size:1.25rem;flex-shrink:0}.tabletop-drawer-item__text{display:flex;flex-direction:column;gap:1px;min-width:0}.tabletop-drawer-item__text strong{font-size:.86rem;font-weight:800;color:#29241f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabletop-drawer-item__text span{font-size:.7rem;color:#78716c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabletop-drawer-section--danger .tabletop-drawer-item--danger{background:#fef2f2;border-color:#dc2626;color:#dc2626;box-shadow:0 3px #991b1b;width:100%}.tabletop-drawer-section--danger .tabletop-drawer-item--danger strong{color:#dc2626}.tabletop-drawer-section--danger .tabletop-drawer-item--danger:active{transform:translateY(2px);box-shadow:0 1px #991b1b}.uno-opponents-ring{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;max-width:480px;margin:0 auto 10px;flex-wrap:wrap;z-index:10;position:relative}.tabletop-shell:has(.tabletop-seats-bar) .uno-opponents-ring{display:none}@media(max-width:768px){.tabletop-shell:has(.tabletop-seats-bar) .landlord-opponent{display:none}}.uno-opponent-station{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 6px;border-radius:20px;background:#1e1812cc;border:1.5px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 3px 10px #00000059;transition:all .2s ease;min-width:90px}.uno-opponent-station.is-active-turn{border-color:#ffd43b;background:#322410eb;box-shadow:0 0 16px #ffd43b99;transform:scale(1.04)}.uno-opponent-station.is-uno-shout{border-color:#f43f5e;animation:unoPulseShout 1s infinite alternate}.uno-opponent-avatar-box{position:relative;flex-shrink:0;display:grid;place-items:center}.uno-opponent-turn-halo{position:absolute;inset:-3px;border-radius:50%;border:2px solid #ffd43b;animation:turnPulse 1.5s infinite}.uno-opponent-uno-badge{position:absolute;bottom:-4px;right:-6px;background:#e11d48;color:#fff;font-size:.6rem;font-weight:900;padding:1px 4px;border-radius:6px;border:1px solid #ffffff;box-shadow:0 2px 4px #0006}.uno-opponent-info{display:flex;flex-direction:column;min-width:0;text-align:left;gap:1px}.uno-opponent-name{font-size:.74rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:76px}.uno-opponent-cards-tag{font-size:.72rem;color:#facc15;font-weight:800;display:flex;align-items:center;white-space:nowrap}.uno-opponent-score{font-size:.65rem;color:#94a3b8;font-weight:600}@keyframes drawerFadeIn{0%{opacity:0}to{opacity:1}}@keyframes drawerSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes unoPulseShout{0%{box-shadow:0 0 8px #f43f5e66}to{box-shadow:0 0 20px #f43f5ee6}}@keyframes turnPulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.15);opacity:.4}}.room-console__actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;box-sizing:border-box!important;border-top:2px dashed rgba(49,45,40,.48)!important;padding-top:16px!important;margin-top:4px!important;align-items:stretch!important}@media(min-width:480px){.room-console__actions{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}}@media(min-width:640px){.room-console__actions{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important;gap:10px!important}}@media(min-width:1024px){.room-console__actions{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important;gap:10px!important}}.room-console__btn{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;width:100%!important;height:48px!important;min-height:48px!important;max-height:48px!important;padding:0 10px!important;border-radius:14px!important;font-size:.9rem!important;font-weight:900!important;line-height:1!important;border:2.5px solid var(--home-ink, #221e1a)!important;box-shadow:3px 3px 0 var(--home-ink, #221e1a)!important;cursor:pointer!important;transition:transform .12s ease,box-shadow .12s ease,background .12s ease!important;box-sizing:border-box!important;text-decoration:none!important;white-space:nowrap!important;-webkit-user-select:none!important;user-select:none!important}.room-console__btn span{display:inline-block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.2!important}.room-console__btn svg,.room-console__btn .game-icon{flex-shrink:0!important}.room-console__btn:hover:not(:disabled){transform:translate(-1px,-1px)!important;box-shadow:4px 4px 0 var(--home-ink, #221e1a)!important}.room-console__btn:active:not(:disabled){transform:translate(2px,2px)!important;box-shadow:1px 1px 0 var(--home-ink, #221e1a)!important}.room-console__btn:disabled{opacity:.55!important;box-shadow:none!important;cursor:not-allowed!important}.room-console__btn--ready.is-not-ready{background:var(--home-yellow, #f8c822)!important;color:var(--home-ink, #221e1a)!important}.room-console__btn--ready.is-ready{background:#047857!important;color:#fff!important}.room-console__btn--primary{background:var(--home-green, #0c715d)!important;color:#fff!important}.room-console__btn--secondary,.room-console__btn--leave{background:#fff!important;color:var(--home-ink, #221e1a)!important}.room-console__btn--danger{background:var(--room-coral, #ef4d39)!important;color:#fff!important}.tabletop-exit-btn{background:#dc262640!important;border-color:#ef444499!important;color:#fecaca!important}.tabletop-exit-btn:hover,.tabletop-exit-btn:active{background:#dc262673!important;border-color:#ef4444!important;color:#fff!important}.tabletop-drawer-item--stepout{border-color:#0c715d!important;background:#f0fdf4!important}.tabletop-drawer-item--stepout:hover{background:#dcfce7!important}.tabletop-drawer-item--leave{border-color:#d97706!important;background:#fffbeb!important}.tabletop-drawer-item--leave:hover{background:#fef3c7!important}.sim-board{display:flex;flex-direction:column;gap:12px;width:100%;max-width:720px;margin:0 auto;padding:12px}.sim-panel{background:var(--gp-surface-card, #fdfbf7);border:2.5px solid var(--gp-line, #292722);border-radius:16px;box-shadow:0 4px 0 var(--gp-line, #292722);color:var(--gp-ink, #292722);padding:14px 16px}.sim-panel__head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.sim-panel__head h3{margin:0;font-size:.95rem;font-weight:850;color:var(--gp-ink, #292722)}.sim-board__row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.sim-toolbar{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.sim-toolbar__btn{padding:8px 14px;border-radius:12px;border:2px solid var(--gp-line, #292722);background:#fff;box-shadow:0 3px 0 var(--gp-line, #292722);color:var(--gp-ink, #292722);font-weight:800;font-size:.84rem;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.sim-toolbar__btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 0 var(--gp-line, #292722)}.sim-toolbar__btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--gp-line, #292722)}.sim-toolbar__btn:disabled{opacity:.45;cursor:not-allowed}.sim-toolbar__btn--primary{background:var(--game-green, #0c715d);color:#fff}.sim-hand{display:flex;gap:8px;flex-wrap:wrap}.sim-tools{align-items:stretch}.sim-tool{display:flex;flex-direction:column;gap:6px;align-items:flex-start;border:2px dashed var(--gp-line, #292722);border-radius:12px;background:#00000008;padding:10px 12px;min-width:120px}.sim-tool__row{display:flex;gap:6px}.sim-tool__btn{padding:6px 10px;border-radius:8px;border:2px solid var(--gp-line, #292722);background:#fff;box-shadow:0 2px 0 var(--gp-line, #292722);color:var(--gp-ink, #292722);font-weight:800;font-size:.8rem;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.sim-tool__btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 0 var(--gp-line, #292722)}.sim-tool__btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px 0 var(--gp-line, #292722)}.sim-tool__btn:disabled{opacity:.45;cursor:not-allowed}.sim-tool__btn--bell{background:#fff8db}.sim-tool__value{font-size:.88rem;font-weight:900;color:var(--gp-ink, #292722)}.sim-tool__value.is-exploded{color:#dc2626;animation:sim-pulse .6s ease-in-out infinite alternate}@keyframes sim-pulse{0%{transform:scale(1)}to{transform:scale(1.08)}}.sim-logs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.sim-logs__item{font-size:.82rem;color:var(--gp-ink, #292722);opacity:.9}.sim-empty{opacity:.6;font-size:.85rem}.sim-secret-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px;border:2px solid var(--gp-line, #292722);border-radius:14px;background:#f4efe6;box-shadow:inset 0 2px 4px #0000000d}.sim-secret-card__label{font-size:.75rem;font-weight:750;color:#786f66}.sim-secret-card__word{font-size:1.5rem;font-weight:900;letter-spacing:.04em;color:var(--gp-ink, #292722)}.sim-secret-card__word--warden{color:#d97706}.sim-secret-card__word--role{font-size:1.1rem}.sim-topic-card{border:2px solid var(--gp-line, #292722);border-left:5px solid var(--game-accent, #e76835);border-radius:12px;padding:12px 14px;background:#fdfbf7;box-shadow:0 3px 0 var(--gp-line, #292722);color:var(--gp-ink, #292722)}.sim-topic-card__category{font-size:.74rem;font-weight:750;color:#8a7e70}.sim-topic-card__text{margin:6px 0;font-size:1.02rem;font-weight:800;line-height:1.5;color:var(--gp-ink, #292722)}.sim-hint{font-size:.82rem;font-weight:700;color:#786f66;margin:10px 0 0}.sim-case{display:flex;gap:16px;justify-content:center}.sim-case__item{display:flex;flex-direction:column;align-items:center;gap:4px}.sim-case__img{width:84px;height:84px;border:2px solid var(--gp-line, #292722);border-radius:12px;object-fit:cover;box-shadow:0 3px 0 var(--gp-line, #292722)}.sim-case__role{font-size:.78rem;font-weight:850;color:var(--gp-ink, #292722)}.sim-case__name{font-size:.8rem;font-weight:750;color:var(--gp-ink, #292722)}.sim-goose-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}.sim-goose-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border:2px solid var(--gp-line, #292722);border-radius:10px;background:#fff;box-shadow:0 2px 0 var(--gp-line, #292722)}.sim-goose-card__img{width:60px;height:60px;border-radius:8px;object-fit:cover}.sim-goose-card__name{font-size:.72rem;font-weight:800;text-align:center;color:var(--gp-ink, #292722)}.sim-bell-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 18px;border-radius:14px;border:2.5px solid var(--gp-line, #292722);background:#fff8db;box-shadow:0 4px 0 var(--gp-line, #292722);color:var(--gp-ink, #292722);font-weight:900;font-size:.95rem;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.sim-bell-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 var(--gp-line, #292722)}.sim-bell-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--gp-line, #292722)}.sim-bell-btn--rung{border-color:var(--gp-line, #292722);background:#fde047;box-shadow:0 4px 0 var(--gp-line, #292722)}.sim-bell-btn small{font-size:.72rem;font-weight:750;color:#786f66}.sim-rules{position:fixed;inset:0;z-index:60000;display:flex;flex-direction:column;justify-content:center;max-width:440px;margin:auto;padding:24px;background:var(--gp-surface-card, #fdfbf7);border:3px solid var(--gp-line, #292722);border-radius:18px;box-shadow:0 16px 48px #0006;color:var(--gp-ink, #292722)}.sim-rules__close{position:absolute;top:14px;right:14px;border:2px solid var(--gp-line, #292722);border-radius:8px;background:#fff;box-shadow:0 2px 0 var(--gp-line, #292722);color:var(--gp-ink, #292722);font-size:.95rem;font-weight:900;width:28px;height:28px;display:grid;place-items:center;cursor:pointer}.sim-rules h4{margin-top:0;font-size:1.15rem;font-weight:900;color:var(--gp-ink, #292722)}.sim-rules p{line-height:1.6;font-size:.9rem;color:var(--gp-ink, #292722)}.sim-rules ul{padding-left:18px;font-size:.86rem;line-height:1.7;color:var(--gp-ink, #292722)}@media(prefers-reduced-motion:reduce){html[data-motion-level] *,html[data-motion-level] *:before,html[data-motion-level] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.testimony-stage{display:flex;flex-direction:column;gap:10px}.testimony-meters-panel{display:block}.testimony-yes-rail{justify-content:center;flex-wrap:wrap}.testimony-focal{width:100%}.testimony-docket-panel{padding:10px 12px;border:var(--gp-border-sm);border-radius:var(--gp-radius-md);background:color-mix(in srgb,var(--gp-surface) 88%,transparent);box-shadow:var(--gp-shadow-sm)}.testimony-docket-panel__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.testimony-docket-panel__title{margin:0;font-size:.86rem;font-weight:900;color:var(--gp-ink)}@media(max-width:480px){.testimony-docket-panel__head{flex-direction:column;align-items:flex-start}}.echo-judge-stage{display:flex;flex-direction:column;gap:12px;width:100%;max-width:1280px;margin:0 auto;box-sizing:border-box;padding-bottom:clamp(90px,14vh,130px)}.echo-judge-stage__sidebar{display:flex;flex-direction:column;gap:12px;width:100%}.echo-judge-stage__main{display:flex;flex-direction:column;gap:12px;width:100%;min-width:0}.echo-score-panel{display:block}.echo-score-rail{justify-content:center;flex-wrap:wrap}.echo-focal{width:100%}@media(min-width:768px),(orientation:landscape)and (min-width:640px){.echo-judge-stage{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);grid-template-areas:"side main";align-items:start;gap:16px}.echo-identity-toggle-btn{display:none!important}.echo-judge-stage__sidebar{grid-area:side;position:sticky;top:8px}.echo-judge-stage__main{grid-area:main}.echo-private-panel.is-collapsed-mobile{display:block!important}}@media(orientation:landscape)and (max-height:520px){.echo-judge-stage{gap:8px;padding-bottom:clamp(60px,15vh,84px)}.echo-private-panel{padding:8px 12px}.echo-topic-card{padding:6px 8px}}.goose-game-stage{display:flex;flex-direction:column;gap:10px}.goose-focal{width:100%}.goose-claim-hero-cta{font-size:.82rem;font-weight:800;color:#78350f}.goose-track-rail{justify-content:center;flex-wrap:wrap}.goose-accusations-history{padding:10px 12px;border:var(--gp-border-sm);border-radius:var(--gp-radius-md);background:color-mix(in srgb,var(--gp-surface) 88%,transparent);box-shadow:var(--gp-shadow-sm)}.goose-accusations-history__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.goose-accusations-history__head h3{margin:0;font-size:.86rem;font-weight:900;color:var(--gp-ink)}.goose-accusations-history__head span{font-size:.76rem;font-weight:800;color:var(--gp-muted)}.cheese-player-stage{display:flex;flex-direction:column;gap:10px}.cheese-focal{width:100%}.cheese-hours-rail{justify-content:center}.cheese-vote-done-note{margin:0;color:var(--gp-success);font-size:.84rem;font-weight:800}.cheese-secret-card{width:100%;max-width:600px;margin:0 auto;padding:0;background:transparent;border:none;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;flex-direction:column;align-items:center;gap:6px;box-sizing:border-box;transition:max-width .45s cubic-bezier(.4,0,.2,1)}.cheese-secret-card__body{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;transition:all .45s ease}.cheese-secret-card--has-identity .cheese-secret-card__body{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap}.cheese-secret-card--dice-only{max-width:280px}.cheese-secret-card--dice-only .cheese-secret-card__body{display:flex;justify-content:center;align-items:center;width:100%}.cheese-dice-cup-container{display:flex;justify-content:center;padding:0;margin:0 auto;min-width:0;flex-shrink:0}.cheese-secret-card .shared-cup-shake-btn{display:none!important}.cheese-secret-card .shared-dice-cup-wrapper{padding:2px 0}.cheese-secret-card .shared-dice-cup-wrapper--compact .shared-dice-cup-scene{width:136px;height:142px}.cheese-secret-card .shared-cup-info{margin-top:2px;gap:2px}.cheese-secret-card .shared-cup-hint{font-size:.74rem}.cheese-identity-card-container{display:flex;justify-content:center;width:100%;max-width:280px;max-height:400px;opacity:1;transform:scale(1) translateY(0);transition:opacity .45s cubic-bezier(.4,0,.2,1),transform .45s cubic-bezier(.4,0,.2,1),max-width .45s cubic-bezier(.4,0,.2,1),max-height .45s cubic-bezier(.4,0,.2,1),margin .45s ease,padding .45s ease}.cheese-identity-card-container.cheese-identity-card--exiting{opacity:0;transform:scale(.72) translateY(-16px);max-width:0;max-height:0;margin:0;padding:0;pointer-events:none;overflow:hidden}.cheese-opening-countdown-bar{position:fixed;bottom:20px;left:50%;transform:translate(-50%) translateY(0);z-index:95;width:min(92%,400px);padding:8px 18px;background:linear-gradient(135deg,#0f172af0,#1e293bf0);border:1.5px solid rgba(245,158,11,.7);border-radius:999px;box-shadow:0 10px 30px #00000080,0 0 20px #f59e0b33;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-sizing:border-box;animation:bar-slide-up .4s cubic-bezier(.16,1,.3,1);transition:transform .6s cubic-bezier(.2,.9,.3,1.2),opacity .5s ease}@keyframes bar-slide-up{0%{opacity:0;transform:translate(-50%) translateY(40px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.cheese-opening-countdown-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}.cheese-opening-countdown-left{display:flex;align-items:center;gap:8px}.cheese-opening-icon{font-size:1.1rem}.cheese-opening-title{font-size:.88rem;font-weight:800;color:#fef08a;letter-spacing:.5px}.cheese-countdown-pill--opening,.cheese-countdown-pill--night,.cheese-countdown-pill--mini{background:#0f172ae0;border:1.5px solid #f59e0b;padding:3px 12px;border-radius:999px;box-shadow:0 4px 12px #0006}.cheese-countdown-pill--opening .cheese-countdown-pill__label,.cheese-countdown-pill--night .cheese-countdown-pill__label,.cheese-countdown-pill--mini .cheese-countdown-pill__label{color:#fde047;font-weight:850;text-shadow:0 1px 2px rgba(0,0,0,.9)}.cheese-countdown-pill--opening .cheese-countdown-pill__time,.cheese-countdown-pill--night .cheese-countdown-pill__time,.cheese-countdown-pill--mini .cheese-countdown-pill__time{color:#fff;font-weight:950;text-shadow:0 1px 2px rgba(0,0,0,.9)}.cheese-opening-countdown-bar.is-moving-to-top{transform:translate(-50%) translateY(calc(-100vh + 140px)) scale(.85);opacity:0;pointer-events:none}.cheese-countdown-pill--night{animation:pill-fade-in .5s ease-out}@keyframes pill-fade-in{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.cheese-dawn-backdrop{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:110;transition:opacity .4s ease}.cheese-dawn-backdrop.is-collapsed{opacity:0;pointer-events:none}.cheese-dawn-backdrop.is-expanded{opacity:1;pointer-events:auto}.cheese-dawn-overlay{position:fixed;top:20px;left:50%;transform:translate(-50%) translateY(0) scale(1);z-index:115;width:min(92%,580px);box-sizing:border-box;transform-origin:top center;transition:transform .45s cubic-bezier(.32,.72,0,1),opacity .38s ease}.cheese-dawn-overlay.is-collapsed{transform:translate(-50%) translateY(calc(100vh - 100px)) scale(.85,.05);opacity:0;pointer-events:none}.cheese-dawn-overlay.is-expanded{transform:translate(-50%) translateY(0) scale(1);opacity:1;pointer-events:auto}.cheese-dawn-scroll-card{position:relative;background:linear-gradient(180deg,#fefce8,#fef9c3 60%,#fef08a);border:2px solid #b45309;border-radius:14px;padding:16px 20px;box-shadow:0 16px 40px #00000073,0 2px 10px #b4530940;display:flex;flex-direction:column;gap:12px}.cheese-scroll-rod{position:absolute;left:-8px;right:-8px;height:8px;background:linear-gradient(90deg,#78350f,#b45309 30%,#f59e0b,#b45309 70%,#78350f);border-radius:4px;box-shadow:0 2px 6px #00000059}.cheese-scroll-rod--top{top:-4px}.cheese-scroll-rod--bottom{bottom:-4px}.cheese-dawn-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cheese-dawn-title-group{display:flex;align-items:flex-start;gap:10px}.cheese-dawn-icon{font-size:1.6rem;line-height:1}.cheese-dawn-title{margin:0;font-size:1.05rem;font-weight:900;color:#78350f;letter-spacing:.02em}.cheese-dawn-hint{margin:4px 0 0;font-size:.8rem;font-weight:700;color:#92400e;line-height:1.35}.cheese-dawn-collapse-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:#b453091f;border:1px solid rgba(180,83,9,.3);color:#78350f;font-size:.78rem;font-weight:800;cursor:pointer;white-space:nowrap;transition:all .2s ease;flex-shrink:0}.cheese-dawn-collapse-btn:hover{background:#b4530933;transform:translateY(-1px)}.cheese-dawn-collapse-btn:active{transform:translateY(1px)}.cheese-dawn-body{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.cheese-dawn-footer{display:flex;justify-content:center}.cheese-dawn-footer .cheese-skip-discussion-btn{width:100%}.cheese-dawn-bottom-bar{position:fixed;bottom:18px;left:50%;transform:translate(-50%) translateY(0);z-index:115;width:min(92%,480px);background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #d97706;border-radius:999px;box-shadow:0 8px 24px #00000059,0 0 12px #f59e0b4d;display:flex;align-items:center;justify-content:space-between;padding:6px 16px;box-sizing:border-box;cursor:pointer;transition:transform .45s cubic-bezier(.32,.72,0,1),opacity .35s ease}.cheese-dawn-bottom-bar.is-hidden{transform:translate(-50%) translateY(60px) scale(.95);opacity:0;pointer-events:none}.cheese-dawn-bottom-bar.is-visible{transform:translate(-50%) translateY(0) scale(1);opacity:1;pointer-events:auto}.cheese-dawn-bottom-bar__left{display:flex;align-items:center;gap:8px}.cheese-dawn-bottom-bar__icon{font-size:1.15rem}.cheese-dawn-bottom-bar__status{font-size:.85rem;font-weight:800;color:#78350f}.cheese-countdown-pill--mini{padding:2px 8px;font-size:.8rem;background:#d9770633;border:1px solid rgba(217,119,6,.4)}.cheese-dawn-expand-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:999px;background:#b45309;border:1px solid #78350f;color:#fff;font-size:.78rem;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.35);cursor:pointer;box-shadow:0 2px 5px #78350f4d;transition:all .2s ease}.cheese-dawn-expand-btn:hover{background:#b45309;transform:translateY(-1px)}.tabletop-shell:has(.tabletop-action-dock) .cheese-dawn-bottom-bar{bottom:calc(var(--safe-bottom, 0px) + 84px)}.cheese-hour-choice-dice-row{display:flex;justify-content:center;gap:16px;margin:12px 0;flex-wrap:wrap}.cheese-hour-choice-die{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100px;height:100px;padding:10px;border-radius:16px;border:2px solid #f59e0b;background:linear-gradient(135deg,#1e293be6,#0f172af2);color:#fff;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #00000059}.cheese-hour-choice-die:hover:not(:disabled){transform:translateY(-3px) scale(1.04);border-color:#fbbf24;box-shadow:0 8px 24px #f59e0b66}.cheese-hour-choice-die:active:not(:disabled){transform:translateY(1px) scale(.98)}.cheese-hour-choice-die.is-selected{border-color:#10b981;background:linear-gradient(135deg,#064e3be6,#047857cc);box-shadow:0 0 20px #10b98180}.choice-die-num{font-size:2rem;font-weight:900;color:#fbbf24;line-height:1}.choice-die-label{font-size:.8rem;font-weight:800;color:#e2e8f0}.choice-die-badge{font-size:.7rem;font-weight:800;color:#a7f3d0}.durian-focal{width:100%}.durian-order-rail{justify-content:center;flex-wrap:wrap}.landlord-nexus-board{width:min(100%,420px);margin:0 auto}.game-motion-root{isolation:isolate}.game-motion-phase-transition{opacity:1;transform:translateZ(0)}.game-motion-phase-transition.is-active{animation:game-motion-phase-enter var(--game-motion-phase-duration) var(--game-motion-ease);will-change:opacity,transform}.game-motion-action-feedback{--game-motion-feedback-color: #7dd3fc;border-radius:.75rem;transition:opacity var(--game-motion-fast-duration) var(--game-motion-ease),transform var(--game-motion-fast-duration) var(--game-motion-ease),box-shadow var(--game-motion-fast-duration) var(--game-motion-ease);opacity:0;transform:translate3d(0,4px,0) scale(.98);will-change:opacity,transform}.game-motion-action-feedback[data-feedback-variant=success]{--game-motion-feedback-color: #86efac}.game-motion-action-feedback[data-feedback-variant=error]{--game-motion-feedback-color: #fca5a5}.game-motion-action-feedback[data-feedback-variant=warning]{--game-motion-feedback-color: #fde68a}.game-motion-action-feedback.is-active{opacity:1;transform:translateZ(0) scale(1)}.game-motion-action-feedback.is-pulsing{box-shadow:0 0 color-mix(in srgb,var(--game-motion-feedback-color) 42%,transparent);animation:game-motion-action-pulse var(--game-motion-standard-duration) var(--game-motion-ease)}.game-motion-countdown-pulse{--game-motion-countdown-progress: 1;display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;min-height:2.5rem;border-radius:999px;transition:color var(--game-motion-fast-duration) var(--game-motion-ease),background-color var(--game-motion-fast-duration) var(--game-motion-ease),transform var(--game-motion-fast-duration) var(--game-motion-ease);transform:translateZ(0);will-change:transform}.game-motion-countdown-pulse.is-pulsing{animation:game-motion-countdown-pulse var(--game-motion-fast-duration) var(--game-motion-ease)}.game-motion-countdown-pulse[data-countdown-state=urgent]{color:#fecaca;background-color:color-mix(in srgb,#ef4444 18%,transparent)}.game-motion-countdown-pulse[data-countdown-state=expired]{color:#cbd5e1;background-color:color-mix(in srgb,#64748b 18%,transparent)}@keyframes game-motion-action-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--game-motion-feedback-color) 48%,transparent)}to{box-shadow:0 0 0 .75rem transparent}}@keyframes game-motion-phase-enter{0%{opacity:.82;transform:translate3d(0,6px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes game-motion-countdown-pulse{0%{transform:translateZ(0) scale(.94)}65%{transform:translateZ(0) scale(1.06)}to{transform:translateZ(0) scale(1)}}@media(prefers-reduced-motion:reduce){.game-motion-root,.game-motion-phase-transition,.game-motion-action-feedback,.game-motion-countdown-pulse{animation-duration:1ms!important;transition-duration:1ms!important}.game-motion-action-feedback.is-pulsing,.game-motion-countdown-pulse.is-pulsing{animation:none!important}}:root{--gp-paper: #fff4df;--gp-surface: #fffdf7;--gp-surface-strong: #fffaf0;--gp-ink: #292722;--gp-muted: #575147;--gp-line: #292722;--gp-green: #08715d;--gp-green-dark: #055848;--gp-coral: #c23616;--gp-coral-dark: #a12b11;--gp-yellow: #f7c84b;--gp-purple: #7358a7;--gp-danger: #dc2626;--gp-success: #16a34a;--gp-warning: #f59e0b;--game-paper: var(--gp-paper);--game-surface: var(--gp-surface);--game-ink: var(--gp-ink);--game-muted: var(--gp-muted);--game-line: var(--gp-line);--game-green: var(--gp-green);--game-green-dark: var(--gp-green-dark);--game-coral: var(--gp-coral);--game-yellow: var(--gp-yellow);--game-purple: var(--gp-purple);--home-paper: var(--gp-paper);--home-surface: var(--gp-surface);--home-ink: var(--gp-ink);--home-muted: var(--gp-muted);--home-coral: var(--gp-coral);--home-coral-dark: var(--gp-coral-dark);--home-green: var(--gp-green);--home-yellow: var(--gp-yellow);--gp-radius-sm: 10px;--gp-radius-md: 14px;--gp-radius-lg: 20px;--gp-radius-pill: 999px;--gp-border: 3px solid var(--gp-line);--gp-border-sm: 2.5px solid var(--gp-line);--gp-shadow: 0 5px 0 var(--gp-line);--gp-shadow-sm: 0 3px 0 var(--gp-line);--gp-shadow-lg: 0 7px 0 var(--gp-line);--gp-shadow-press: 0 1px 0 var(--gp-line);--gp-touch: 44px;--gp-chrome-line: var(--gp-ink);--gp-chrome-width: 2.5px;--gp-chrome-line-inverse: rgba(255, 255, 255, .16);--gp-chrome-width-inverse: 1.5px;--gp-dock-offset: 92px;--gp-chrome-header: 46px;--gp-font: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--gp-dur-instant: 90ms;--gp-dur-fast: .14s;--gp-dur-standard: .22s;--gp-dur-emphasis: .32s;--gp-dur-phase: .42s;--gp-dur-slow: .48s;--gp-dur-ambient: 5.2s;--gp-ease-standard: cubic-bezier(.22, 1, .36, 1);--gp-ease-decelerate: cubic-bezier(.16, 1, .3, 1);--gp-ease-accelerate: cubic-bezier(.4, 0, 1, 1);--gp-ease-press: cubic-bezier(.34, 1.56, .64, 1);--gp-dist-sm: 4px;--gp-dist-md: 8px;--gp-dist-lg: 12px;--gp-dist-xl: 16px;--gp-scale-press: .985;--gp-scale-pop: 1.06;--gp-stagger: 45ms;--gp-motion: var(--gp-dur-fast);--game-motion-fast-duration: var(--gp-dur-fast);--game-motion-standard-duration: var(--gp-dur-standard);--game-motion-phase-duration: var(--gp-dur-phase);--game-motion-ease: var(--gp-ease-standard);--home-motion-duration: var(--gp-dur-slow);--home-motion-distance: var(--gp-dist-lg)}html[data-motion-level=reduced]{--gp-dur-instant: 60ms;--gp-dur-fast: .11s;--gp-dur-standard: .16s;--gp-dur-emphasis: .2s;--gp-dur-phase: .24s;--gp-dur-slow: .28s;--gp-dist-lg: 6px}html[data-motion-level=minimal]{--gp-dur-instant: 1ms;--gp-dur-fast: 1ms;--gp-dur-standard: 1ms;--gp-dur-emphasis: 1ms;--gp-dur-phase: 1ms;--gp-dur-slow: 1ms;--gp-dist-lg: 0px}html[data-motion-level=off]{--gp-dur-instant: 0ms;--gp-dur-fast: 0ms;--gp-dur-standard: 0ms;--gp-dur-emphasis: 0ms;--gp-dur-phase: 0ms;--gp-dur-slow: 0ms;--gp-dist-lg: 0px}html[data-motion-level=reduced] :is(.home-local-badge:before,.auto-start-banner,.auto-start-pulse,.home-connection.is-connected .home-connection__dot,.home-party-scene__character.is-visible,.home-party-scene__garland--one,.home-party-scene__garland--two,.home-party-scene__glow,.home-party-scene__lamp-light,.home-party-scene__person.is-visible,.home-party-scene__plant-wrap,.home-party-scene__spark,.home-hero h1 span,.player-filter__thumb-tooltip,.home-active-room-pulse,.post-game-dock__auto-hint,.sim-tool__value,.tip-press,.badge-ready,.cheese-icon-bounce,.cheese-model-emoji,.ding-bell-stage-text,.echo-rank-score,.host-status-dot,.werewolf-dawn-glow,.werewolf-fog-drift,.werewolf-night-stars,.werewolf-day-sunbeams,.werewolf-actions__waiting-dot,.werewolf-spotlight__img,.winner-rays,.goose-modal-card-item,.bell-floating-bell-btn){animation:none!important}.gp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--gp-touch);padding:8px 16px;border:var(--gp-border-sm);border-radius:var(--gp-radius-md);background:var(--gp-surface);color:var(--gp-ink);font-family:var(--gp-font);font-size:.9rem;font-weight:900;line-height:1.15;box-shadow:var(--gp-shadow-sm);cursor:pointer;white-space:nowrap;transition:transform var(--gp-motion) ease,box-shadow var(--gp-motion) ease,background var(--gp-motion) ease,border-color var(--gp-motion) ease,opacity var(--gp-motion) ease}.gp-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--gp-shadow)}.gp-btn:active:not(:disabled){transform:translateY(2px);box-shadow:var(--gp-shadow-press)}.gp-btn:disabled{opacity:.5;cursor:not-allowed;filter:saturate(.65)}.gp-btn--primary{background:var(--gp-yellow);color:var(--gp-ink)}.gp-btn--accent{background:var(--gp-coral);color:#fff}.gp-btn--green{background:var(--gp-green);color:#fff}.gp-btn--ghost{background:var(--gp-surface);color:var(--gp-ink)}.gp-btn--danger{background:var(--gp-danger);color:#fff}.gp-btn--sm{min-height:36px;padding:6px 12px;font-size:.8rem;border-radius:var(--gp-radius-sm)}.gp-panel{width:100%;box-sizing:border-box;padding:14px 16px;border:var(--gp-border);border-radius:var(--gp-radius-lg);background:var(--gp-surface);color:var(--gp-ink);box-shadow:var(--gp-shadow)}.gp-panel__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:8px;margin-bottom:10px;border-bottom:2px solid color-mix(in srgb,var(--gp-muted) 22%,transparent)}.gp-panel__title{margin:0;font-size:.95rem;font-weight:900;color:var(--gp-ink)}.gp-panel__meta{font-size:.78rem;font-weight:800;color:var(--gp-muted)}.gp-badge{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:2px 10px;border:2px solid var(--gp-line);border-radius:var(--gp-radius-pill);background:var(--gp-yellow);color:var(--gp-ink);font-size:.72rem;font-weight:900;box-shadow:0 2px 0 var(--gp-line)}.gp-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border:1.5px solid color-mix(in srgb,var(--gp-line) 72%,transparent);border-radius:var(--gp-radius-pill);background:color-mix(in srgb,var(--gp-muted) 10%,var(--gp-surface));color:var(--gp-muted);font-size:.72rem;font-weight:850}.gp-chip{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:32px;padding:4px 12px;border:2px solid var(--gp-line);border-radius:var(--gp-radius-pill);background:var(--gp-surface);color:var(--gp-ink);font-size:.8rem;font-weight:800;box-shadow:var(--gp-shadow-sm)}.gp-chip--btn{cursor:pointer}.gp-chip--btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--gp-shadow)}.gp-chip--btn:active:not(:disabled){transform:translateY(2px);box-shadow:var(--gp-shadow-press)}.gp-chip--btn:disabled{opacity:.5;cursor:not-allowed}.gp-chip--selected{background:var(--gp-coral);color:#fff}.gp-countdown{display:grid;place-items:center;min-width:56px;min-height:56px;padding:6px;border:var(--gp-border);border-radius:50%;background:var(--gp-yellow);color:var(--gp-ink);font-variant-numeric:tabular-nums;font-weight:900;box-shadow:var(--gp-shadow)}.gp-countdown--urgent{background:var(--gp-coral);color:#fff}.gp-segment{display:inline-flex;align-items:center;gap:2px;padding:2px;border:var(--gp-border-sm);border-radius:var(--gp-radius-sm);background:color-mix(in srgb,var(--gp-muted) 12%,var(--gp-surface));box-shadow:var(--gp-shadow-sm)}.gp-segment__pill{min-height:32px;padding:0 12px;border:none;border-radius:8px;background:transparent;color:var(--gp-muted);font-weight:850;cursor:pointer}.gp-segment__pill:hover:not(.is-active){color:var(--gp-ink);background:color-mix(in srgb,var(--gp-ink) 8%,transparent)}.gp-segment__pill.is-active{background:var(--gp-yellow);color:var(--gp-ink);border:1.5px solid var(--gp-line);box-shadow:1px 1.5px 0 var(--gp-line)}.gp-overlay{position:fixed;inset:0;z-index:9990;display:flex;align-items:center;justify-content:center;padding:16px;background:#1a1612bf;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.gp-sheet{display:flex;flex-direction:column;width:min(100%,560px);max-height:min(88dvh,720px);overflow:hidden;border:var(--gp-border);border-radius:var(--gp-radius-lg);background:var(--gp-surface);color:var(--gp-ink);box-shadow:var(--gp-shadow-lg)}.gp-dock{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;width:100%;padding:8px 10px;border-top:2px solid color-mix(in srgb,var(--gp-muted) 22%,transparent);background:color-mix(in srgb,var(--gp-surface) 86%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.gp-empty,.gp-error{margin:0;padding:10px 14px;border-radius:var(--gp-radius-sm);font-size:.84rem;font-weight:800;line-height:1.5}.gp-empty{color:var(--gp-muted);background:color-mix(in srgb,var(--gp-muted) 10%,var(--gp-surface));border:2px dashed color-mix(in srgb,var(--gp-muted) 45%,transparent)}.gp-error{color:#b91c1c;background:#fef2f2;border:2px solid #ef4444}.confirm-dialog{border:var(--gp-border);border-radius:var(--gp-radius-lg);box-shadow:var(--gp-shadow-lg)}.confirm-btn{border:var(--gp-border-sm);border-radius:var(--gp-radius-md);box-shadow:var(--gp-shadow-sm);min-height:var(--gp-touch);font-weight:900}.confirm-btn--primary{background:var(--gp-yellow);color:var(--gp-ink)}.confirm-btn--cancel{background:var(--gp-surface);color:var(--gp-ink)}.confirm-btn--danger{background:var(--gp-coral)}.game-error-panel{border:var(--gp-border);border-radius:var(--gp-radius-lg);box-shadow:var(--gp-shadow-lg)}.game-error-icon{background:var(--gp-yellow);border:var(--gp-border-sm);box-shadow:var(--gp-shadow-sm)}.game-countdown{border:var(--gp-border);box-shadow:var(--gp-shadow)}.tabletop-sound-btn,.tabletop-rules-btn,.cheese-tts-icon-btn,.ll-tracker-toggle-btn{border:var(--gp-border-sm);border-radius:var(--gp-radius-sm);box-shadow:2px 2.5px 0 var(--gp-line)}.tabletop-drawer-panel{border:var(--gp-border);border-radius:var(--gp-radius-lg);box-shadow:var(--gp-shadow-lg)}.tabletop-drawer-close-btn{border:var(--gp-border-sm);box-shadow:var(--gp-shadow-sm)}.tabletop-drawer-item{border:var(--gp-border-sm);border-radius:var(--gp-radius-md);box-shadow:var(--gp-shadow-sm);min-height:var(--gp-touch)}.tabletop-seat{border:2px solid var(--gp-line);box-shadow:2px 2px 0 var(--gp-line)}.tabletop-action-stack{gap:10px}.landlord-btn,.uno-floating-btn,.sandbox-btn,.goose-modal-btn,.goose-card-dock-btn,.durian-verdict-btn,.durian-sim-draw-btn,.testimony-crime-btn,.echo-role-btn{border-style:solid;border-width:2.5px;border-color:var(--gp-line);border-radius:var(--gp-radius-md);min-height:var(--gp-touch);font-weight:900;box-shadow:var(--gp-shadow-sm);transition:transform var(--gp-motion) ease,box-shadow var(--gp-motion) ease,background var(--gp-motion) ease,border-color var(--gp-motion) ease,opacity var(--gp-motion) ease}.landlord-btn:hover:not(:disabled),.uno-floating-btn:hover:not(:disabled),.sandbox-btn:hover:not(:disabled),.goose-modal-btn:hover:not(:disabled),.goose-card-dock-btn:hover:not(:disabled),.durian-verdict-btn:hover:not(:disabled),.durian-sim-draw-btn:hover:not(:disabled),.testimony-crime-btn:hover:not(:disabled),.echo-role-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--gp-shadow)}.landlord-btn:active:not(:disabled),.uno-floating-btn:active:not(:disabled),.sandbox-btn:active:not(:disabled),.goose-modal-btn:active:not(:disabled),.goose-card-dock-btn:active:not(:disabled),.durian-verdict-btn:active:not(:disabled),.durian-sim-draw-btn:active:not(:disabled),.testimony-crime-btn:active:not(:disabled),.echo-role-btn:active:not(:disabled){transform:translateY(2px);box-shadow:var(--gp-shadow-press)}.uno-floating-controls{background:color-mix(in srgb,var(--gp-surface) 92%,transparent);border:var(--gp-border-sm);box-shadow:var(--gp-shadow-sm)}.uno-floating-btn{background:var(--gp-surface);color:var(--gp-ink)}.uno-floating-btn.btn-primary{background:var(--gp-coral);color:#fff}.uno-floating-btn.btn-danger{background:var(--gp-danger);color:#fff}.uno-floating-btn.btn-outline{background:var(--gp-surface);color:var(--gp-ink)}.uno-color-wheel-dialog{border:var(--gp-border);border-radius:var(--gp-radius-lg);box-shadow:var(--gp-shadow-lg),0 24px 64px #0006}.uno-color-wheel-btn{border:var(--gp-border-sm);box-shadow:var(--gp-shadow-sm)}.uno-color-wheel-cancel{border:var(--gp-border-sm);border-radius:var(--gp-radius-md);box-shadow:var(--gp-shadow-sm);min-height:var(--gp-touch);font-weight:900}.landlord-btn{min-height:44px;border-radius:var(--gp-radius-md);background:var(--gp-surface);color:var(--gp-ink)}.landlord-btn--primary{background:var(--gp-yellow);color:var(--gp-ink)}.landlord-btn--bid{background:var(--gp-coral);color:#fff}.landlord-btn--pass{background:color-mix(in srgb,var(--gp-yellow) 55%,#ffffff);color:var(--gp-ink)}.landlord-btn--reset{background:color-mix(in srgb,var(--gp-danger) 12%,#ffffff);color:var(--gp-danger)}.sandbox-btn{background:var(--gp-surface);color:var(--gp-ink)}.sandbox-btn--primary{background:var(--gp-yellow);color:var(--gp-ink)}.sandbox-btn--secondary{background:color-mix(in srgb,var(--gp-green) 16%,#ffffff);color:var(--gp-green)}.sandbox-btn--outline{background:var(--gp-surface);color:var(--gp-ink)}.sandbox-btn--cancel{background:color-mix(in srgb,var(--gp-muted) 12%,#ffffff);color:var(--gp-muted)}.sandbox-btn--peek,.sandbox-btn--peek-hide{border-radius:var(--gp-radius-pill);min-height:32px}.werewolf-action-btn{border-width:2px;border-radius:var(--gp-radius-sm);min-height:var(--gp-touch);box-shadow:0 3px #00000059}.cheese-steal-silent-btn{border-width:2.5px;min-height:var(--gp-touch)}.sg-hint{color:var(--gp-muted)}.sg-chip{border:2px solid var(--gp-line);box-shadow:var(--gp-shadow-sm);min-height:32px}.sg-chip--btn:hover:not(:disabled){box-shadow:var(--gp-shadow)}.sg-chip--btn:active:not(:disabled){box-shadow:var(--gp-shadow-press)}.sg-panel{border:var(--gp-border);border-radius:var(--gp-radius-lg);box-shadow:var(--gp-shadow)}.goose-peek-btn{border:2px solid var(--gp-line);box-shadow:var(--gp-shadow-sm)}.goose-card-dock-btn{background:var(--gp-surface)}.goose-vote-target-btn{border:var(--gp-border);box-shadow:var(--gp-shadow)}.goose-evil-player-badge{border:var(--gp-border-sm);box-shadow:var(--gp-shadow-sm)}.goose-dock-tag{border-width:2px}.tabletop-btn-group{gap:6px}@media(prefers-reduced-motion:reduce){.gp-btn,.gp-chip--btn,.gp-segment__pill,.landlord-btn,.uno-floating-btn,.sandbox-btn,.goose-modal-btn,.goose-card-dock-btn,.durian-verdict-btn,.durian-sim-draw-btn,.testimony-crime-btn,.echo-role-btn,.werewolf-action-btn,.cheese-steal-silent-btn{transition:none!important}}.sr-only,.focused-game-sr-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}.arena-board{display:flex;flex-direction:column;gap:10px;width:100%;box-sizing:border-box;padding:14px 16px;border:var(--gp-border);border-radius:var(--gp-radius-lg);background:var(--gp-surface);color:var(--gp-ink);box-shadow:var(--gp-shadow);transition:box-shadow var(--gp-dur-fast) var(--gp-ease-standard),transform var(--gp-dur-fast) var(--gp-ease-standard)}.arena-board--compact{gap:8px;padding:10px 12px}.arena-board--accent{background:color-mix(in srgb,var(--gp-yellow) 32%,var(--gp-surface))}.arena-board--dark{border-color:color-mix(in srgb,var(--gp-paper) 26%,transparent);background-color:#171513;background:color-mix(in srgb,var(--gp-ink) 88%,#000);color:var(--gp-paper);box-shadow:0 6px color-mix(in srgb,var(--gp-paper) 18%,transparent)}.arena-board__head{display:flex;flex-direction:column;gap:2px}.arena-board__title{margin:0;font-size:1rem;font-weight:900}.arena-board__hint{margin:0;font-size:.78rem;font-weight:700;color:var(--gp-muted)}.arena-board--dark .arena-board__hint{color:color-mix(in srgb,var(--gp-paper) 74%,transparent)}.arena-board__body{display:flex;flex-direction:column;gap:10px;min-width:0}.arena-board__foot{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.arena-rail{display:flex;gap:8px;width:100%;min-width:0}.arena-rail--horizontal{flex-direction:row;align-items:stretch;overflow-x:auto}.arena-rail--vertical{flex-direction:column}.arena-rail__item{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:56px;padding:6px 10px;border:var(--gp-border-sm);border-radius:var(--gp-radius-sm);background:var(--gp-surface);color:var(--gp-ink);box-shadow:var(--gp-shadow-sm);font-size:.76rem;font-weight:850;transition:transform var(--gp-dur-fast) var(--gp-ease-standard),box-shadow var(--gp-dur-fast) var(--gp-ease-standard),background var(--gp-dur-fast) var(--gp-ease-standard)}.arena-rail--dense .arena-rail__item{min-width:44px;padding:4px 8px}.arena-rail__item[data-state=active]{background:var(--gp-yellow);color:var(--gp-ink);transform:translateY(-2px)}.arena-rail__item[data-state=done]{background:color-mix(in srgb,var(--gp-green) 18%,var(--gp-surface));color:var(--gp-green-dark)}.arena-rail__item[data-state=warning]{background:color-mix(in srgb,var(--gp-coral) 20%,var(--gp-surface));color:var(--gp-coral-dark)}.arena-board--dark .arena-rail__item{color:var(--gp-ink)}.arena-rail__value{font-variant-numeric:tabular-nums;font-weight:900}.tabletop-event-overlay{position:fixed;inset:0;z-index:9995;display:grid;place-items:center;padding:24px;pointer-events:none}.tabletop-event-overlay__card{max-width:min(90vw,460px);padding:18px 26px;border:var(--gp-border);border-radius:var(--gp-radius-lg);background:var(--gp-surface);color:var(--gp-ink);box-shadow:var(--gp-shadow-lg),0 24px 64px #00000052;text-align:center}.tabletop-event-overlay__label{margin:0;font-size:1.35rem;font-weight:900;letter-spacing:.02em}.tabletop-event-overlay__sub{margin:4px 0 0;font-size:.86rem;font-weight:800;color:var(--gp-muted)}.tabletop-event-overlay[data-variant=reveal] .tabletop-event-overlay__card{background:color-mix(in srgb,var(--gp-purple) 18%,var(--gp-surface))}.tabletop-event-overlay[data-variant=warning] .tabletop-event-overlay__card{border-color:var(--gp-coral-dark);background:var(--gp-coral);color:#fff}.tabletop-event-overlay[data-variant=warning] .tabletop-event-overlay__sub{color:#ffffffe0}html[data-motion-level=full] .tabletop-event-overlay[data-variant=stamp] .tabletop-event-overlay__card{animation:tabletop-event-stamp var(--gp-dur-emphasis) var(--gp-ease-press) both}html[data-motion-level=full] .tabletop-event-overlay[data-variant=burst] .tabletop-event-overlay__card{animation:tabletop-event-burst var(--gp-dur-phase) var(--gp-ease-decelerate) both}html[data-motion-level=full] .tabletop-event-overlay[data-variant=reveal] .tabletop-event-overlay__card{animation:tabletop-event-reveal var(--gp-dur-phase) var(--gp-ease-decelerate) both}html[data-motion-level=reduced] .tabletop-event-overlay__card,html[data-motion-level=minimal] .tabletop-event-overlay__card{animation:tabletop-event-reveal var(--gp-dur-fast) var(--gp-ease-standard) both}html[data-motion-level=off] .tabletop-event-overlay__card{animation:none}@keyframes tabletop-event-stamp{0%{opacity:0;transform:scale(1.6) rotate(-6deg)}60%{opacity:1;transform:scale(.96) rotate(1deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes tabletop-event-burst{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes tabletop-event-reveal{0%{opacity:0;transform:translate3d(0,var(--gp-dist-md),0)}to{opacity:1;transform:translateZ(0)}}.seat-target-picker{display:flex;flex-wrap:wrap;gap:8px}.seat-target-picker__chip{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:72px;min-height:var(--gp-touch);padding:6px 12px;border:var(--gp-border-sm);border-radius:var(--gp-radius-md);background:var(--gp-surface);color:var(--gp-ink);font-size:.84rem;font-weight:900;box-shadow:var(--gp-shadow-sm);cursor:pointer;transition:transform var(--gp-dur-fast) var(--gp-ease-standard),box-shadow var(--gp-dur-fast) var(--gp-ease-standard),background var(--gp-dur-fast) var(--gp-ease-standard)}.seat-target-picker__chip:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--gp-shadow)}.seat-target-picker__chip:active:not(:disabled){transform:translateY(2px);box-shadow:var(--gp-shadow-press)}.seat-target-picker__chip:disabled{opacity:.5;cursor:not-allowed}.seat-target-picker__chip.is-selected{background:var(--gp-coral);color:#fff}.seat-target-picker__hint{font-size:.7rem;font-weight:800;color:var(--gp-muted)}.seat-target-picker__chip.is-selected .seat-target-picker__hint{color:#ffffffe0}@media(prefers-reduced-motion:reduce){.arena-board,.arena-rail__item,.seat-target-picker__chip{transition:none!important}}.sg-panel{width:100%;box-sizing:border-box;padding:12px 16px;border:var(--gp-border);border-radius:var(--gp-radius-lg);background:var(--gp-surface);color:var(--gp-ink);box-shadow:var(--gp-shadow)}.sg-panel__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:6px;margin-bottom:8px;border-bottom:2px solid color-mix(in srgb,var(--gp-muted) 22%,transparent)}.sg-panel__head h3{margin:0;font-size:.95rem;font-weight:900;color:var(--gp-ink)}.sg-panel__head span{font-size:.78rem;font-weight:800;color:var(--gp-muted)}.sg-hint{margin:0;color:var(--gp-muted);font-size:.84rem;font-weight:700;line-height:1.55}.sg-badge{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:2px 10px;border:2px solid var(--gp-line);border-radius:var(--gp-radius-pill);background:var(--gp-yellow);color:var(--gp-ink);font-size:.72rem;font-weight:900;white-space:nowrap;box-shadow:0 2px 0 var(--gp-line)}.sg-badge--highlight{background:var(--gp-coral);color:#fff}.sg-badge--dark{background:color-mix(in srgb,var(--gp-ink) 88%,#000);color:var(--gp-paper)}.sg-badge--warning{background:var(--gp-warning);color:#fff}.sg-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border:1.5px solid color-mix(in srgb,var(--gp-line) 72%,transparent);border-radius:var(--gp-radius-pill);background:color-mix(in srgb,var(--gp-muted) 10%,var(--gp-surface));color:var(--gp-muted);font-size:.72rem;font-weight:850;white-space:nowrap}.sg-tag--good,.sg-tag--human,.sg-tag--prisoner{background:color-mix(in srgb,var(--gp-green) 16%,var(--gp-surface));color:var(--gp-green-dark)}.sg-tag--echo,.sg-tag--warden{background:color-mix(in srgb,var(--gp-coral) 18%,var(--gp-surface));color:var(--gp-coral-dark)}.sg-chip{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:32px;padding:4px 12px;border:var(--gp-border-sm);border-radius:var(--gp-radius-pill);background:var(--gp-surface);color:var(--gp-ink);font-size:.8rem;font-weight:800;box-shadow:var(--gp-shadow-sm)}.sg-chip-row{display:flex;flex-wrap:wrap;gap:8px}.sg-note-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0 0 0 18px;color:var(--gp-ink);font-size:.82rem;font-weight:700}.sg-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--gp-touch);padding:8px 16px;border:var(--gp-border-sm);border-radius:var(--gp-radius-md);background:var(--gp-surface);color:var(--gp-ink);font-size:.9rem;font-weight:900;box-shadow:var(--gp-shadow-sm);cursor:pointer;transition:transform var(--gp-dur-fast) var(--gp-ease-standard),box-shadow var(--gp-dur-fast) var(--gp-ease-standard),background var(--gp-dur-fast) var(--gp-ease-standard)}.sg-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--gp-shadow)}.sg-btn:active:not(:disabled){transform:translateY(2px);box-shadow:var(--gp-shadow-press)}.sg-btn:disabled{opacity:.5;cursor:not-allowed}.sg-modal-backdrop{position:fixed;inset:0;z-index:9990;display:flex;align-items:center;justify-content:center;padding:16px;background:#1a1612bf;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.sg-modal-dialog{display:flex;flex-direction:column;width:min(100%,520px);max-height:min(88dvh,720px);overflow:auto;padding:16px;border:var(--gp-border);border-radius:var(--gp-radius-lg);background:var(--gp-surface);color:var(--gp-ink);box-shadow:var(--gp-shadow-lg)}
