@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Crimson+Text:wght@400;600;700&display=swap";.spymaster-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.spymaster-modal{background:var(--color-surface);border-radius:var(--radius-xl);padding:2rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-xl);border:3px solid var(--color-accent)}.spymaster-modal.sherlock{border-color:var(--color-team-sherlock);box-shadow:var(--shadow-glow-sherlock)}.spymaster-modal.moriarty{border-color:var(--color-accent);box-shadow:var(--shadow-glow-moriarty)}.modal-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border:2px solid var(--color-border);border-radius:50%;background:transparent;color:var(--color-text-muted);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.modal-close:hover{border-color:var(--color-card-danger);color:var(--color-card-danger);background:#d7263d1a}.modal-title{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;color:var(--color-accent);text-align:center;margin-bottom:1.5rem}.mode-selector{display:flex;gap:.5rem;margin-bottom:1.5rem;justify-content:center}.mode-btn{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 1.25rem;background:var(--color-surface-elevated);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);font-family:Crimson Text,serif}.mode-btn:hover{border-color:var(--color-accent);color:var(--color-text)}.mode-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-surface)}.mode-icon{font-size:1.5rem}.forced-mode-message{text-align:center;padding:1rem;background:var(--color-surface-elevated);border-radius:var(--radius-md);margin-bottom:1.5rem;font-family:Crimson Text,serif;font-size:1.1rem;color:var(--color-accent);border:2px solid var(--color-accent)}.modal-content{display:flex;flex-direction:column;gap:1.25rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-family:Playfair Display,serif;font-size:.9rem;font-weight:600;color:var(--color-text)}.input-group input[type=text]{padding:.75rem 1rem;font-size:1.25rem;font-family:Playfair Display,serif;letter-spacing:.05em;text-transform:uppercase;background:var(--color-surface-elevated);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);text-align:center}.input-group input[type=text]:focus{outline:none;border-color:var(--color-accent)}.number-group{align-items:center}.number-input-wrapper{display:flex;align-items:center;gap:.5rem}.number-btn{width:40px;height:40px;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);color:var(--color-text);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.number-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.number-btn:disabled{opacity:.4;cursor:not-allowed}.number-input-wrapper input[type=number]{width:60px;padding:.5rem;font-size:1.5rem;font-family:Playfair Display,serif;font-weight:700;text-align:center;background:var(--color-surface-elevated);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-accent);-moz-appearance:textfield}.number-input-wrapper input[type=number]::-webkit-outer-spin-button,.number-input-wrapper input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.number-input-wrapper input[type=number]:focus{outline:none;border-color:var(--color-accent)}.mime-instructions{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background:var(--color-surface-elevated);border-radius:var(--radius-lg);text-align:center}.mime-icon{font-size:4rem}.mime-instructions p{font-family:Crimson Text,serif;font-size:1.1rem;color:var(--color-text);margin:0}.mime-hint{color:var(--color-text-muted)!important;font-style:italic}.drawing-area{display:flex;flex-direction:column;align-items:center;gap:.75rem}.drawing-canvas{width:100%;max-width:400px;aspect-ratio:4/3;background:#fff;border:3px solid var(--color-border);border-radius:var(--radius-md);cursor:crosshair;touch-action:none}.btn-clear-canvas{padding:.5rem 1rem;background:transparent;border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-family:Crimson Text,serif;font-size:.9rem;cursor:pointer;transition:all var(--transition-fast)}.btn-clear-canvas:hover{border-color:var(--color-card-danger);color:var(--color-card-danger)}.modal-actions{display:flex;gap:1rem;margin-top:1.5rem;justify-content:flex-end}.btn-cancel{padding:.75rem 1.5rem;background:transparent;border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-family:Crimson Text,serif;font-size:1rem;cursor:pointer;transition:all var(--transition-fast)}.btn-cancel:hover{border-color:var(--color-text);color:var(--color-text)}.btn-submit{padding:.75rem 1.5rem;border:none;border-radius:var(--radius-md);font-family:Playfair Display,serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-submit.sherlock{background:linear-gradient(135deg,var(--color-team-sherlock),var(--color-team-sherlock-light));color:var(--color-team-sherlock-text)}.btn-submit.moriarty{background:linear-gradient(135deg,var(--color-team-moriarty),var(--color-team-moriarty-light));color:var(--color-accent)}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-submit:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.spymaster-modal{padding:1.5rem;margin:.5rem}.modal-title{font-size:1.25rem;margin-bottom:1rem}.mode-btn{padding:.5rem .75rem;font-size:.9rem}.mode-icon{font-size:1.25rem}.drawing-canvas{max-width:100%}.modal-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}@media (max-width: 480px){.spymaster-modal-overlay{padding:.5rem;align-items:flex-end}.spymaster-modal{padding:1rem;margin:0;max-height:85vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:100%}.modal-close{top:.75rem;right:.75rem;width:32px;height:32px;font-size:1rem}.modal-title{font-size:1.1rem;margin-bottom:.75rem;padding-right:2rem}.mode-selector{gap:.35rem;margin-bottom:1rem}.mode-btn{padding:.5rem .6rem;font-size:.75rem;flex:1}.mode-icon{font-size:1.1rem}.forced-mode-message{padding:.75rem;font-size:.9rem;margin-bottom:1rem}.modal-content{gap:1rem}.input-group label{font-size:.8rem}.input-group input[type=text]{padding:.6rem .75rem;font-size:1rem}.number-group{flex-direction:row;justify-content:center}.number-btn{width:36px;height:36px;font-size:1.25rem}.number-input-wrapper input[type=number]{width:50px;padding:.4rem;font-size:1.25rem}.mime-instructions{padding:1.25rem}.mime-icon{font-size:2.5rem}.mime-instructions p{font-size:.95rem}.drawing-area{gap:.5rem}.drawing-canvas{aspect-ratio:3/2;max-width:100%}.btn-clear-canvas{padding:.4rem .75rem;font-size:.8rem}.modal-actions{gap:.5rem;margin-top:1rem}.btn-cancel,.btn-submit{padding:.65rem 1rem;font-size:.9rem}}@media (max-width: 360px){.spymaster-modal{padding:.75rem;max-height:90vh}.modal-title{font-size:1rem}.mode-btn{padding:.4rem .5rem;font-size:.7rem}.mode-icon{font-size:1rem}.input-group input[type=text]{font-size:.9rem;padding:.5rem}.number-btn{width:32px;height:32px;font-size:1.1rem}.number-input-wrapper input[type=number]{width:45px;font-size:1.1rem}.drawing-canvas{aspect-ratio:4/3}}.settings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.settings-modal{background:var(--color-surface);border-radius:var(--radius-xl);padding:2rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-xl);border:3px solid var(--color-accent)}.settings-modal .modal-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border:2px solid var(--color-border);border-radius:50%;background:transparent;color:var(--color-text-muted);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.settings-modal .modal-close:hover{border-color:var(--color-card-danger);color:var(--color-card-danger);background:#d7263d1a}.settings-modal .modal-title{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;color:var(--color-accent);text-align:center;margin-bottom:1.5rem}.settings-loading,.settings-error{text-align:center;padding:2rem;font-family:Crimson Text,serif;color:var(--color-text-muted)}.settings-error{color:var(--color-card-danger);background:#d7263d1a;border-radius:var(--radius-md);margin-top:1rem}.settings-content{display:flex;flex-direction:column;gap:1.5rem}.settings-section{background:var(--color-surface-elevated);border-radius:var(--radius-lg);padding:1.25rem}.settings-section-title{font-family:Playfair Display,serif;font-size:1.1rem;font-weight:600;color:var(--color-text);margin:0 0 .5rem}.settings-section-description{font-family:Crimson Text,serif;font-size:.9rem;color:var(--color-text-muted);margin:0 0 1rem}.settings-option{padding:.75rem 0;border-top:1px solid var(--color-border)}.settings-option:first-of-type{border-top:none;padding-top:0}.toggle-label{display:flex;align-items:center;gap:1rem;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-icon{font-size:1.5rem;flex-shrink:0}.toggle-text{display:flex;flex-direction:column;flex:1}.toggle-title{font-family:Crimson Text,serif;font-size:1rem;font-weight:600;color:var(--color-text)}.toggle-description{font-family:Crimson Text,serif;font-size:.85rem;color:var(--color-text-muted)}.toggle-input{position:absolute;opacity:0;width:0;height:0}.toggle-switch{position:relative;width:50px;height:28px;background:var(--color-border);border-radius:14px;flex-shrink:0;transition:all var(--transition-fast)}.toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;background:#fff;border-radius:50%;transition:all var(--transition-fast);box-shadow:0 2px 4px #0003}.toggle-input:checked+.toggle-switch{background:var(--color-accent)}.toggle-input:checked+.toggle-switch:after{transform:translate(22px)}.toggle-switch.disabled{opacity:.5;cursor:not-allowed}.toggle-label:has(.toggle-switch.disabled){cursor:not-allowed}.timer-settings{display:flex;flex-direction:column;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.timer-setting{display:flex;align-items:center;justify-content:space-between}.timer-setting label{display:flex;align-items:center;justify-content:space-between;width:100%;font-family:Crimson Text,serif;font-size:.95rem;color:var(--color-text)}.timer-input-wrapper{display:flex;align-items:center;gap:.5rem}.timer-btn{width:32px;height:32px;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.timer-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.timer-btn:disabled{opacity:.4;cursor:not-allowed}.timer-value{min-width:50px;text-align:center;font-family:Playfair Display,serif;font-size:1.1rem;font-weight:600;color:var(--color-accent)}.settings-modal .modal-actions{display:flex;gap:1rem;margin-top:1.5rem;justify-content:flex-end}.settings-modal .btn-cancel{padding:.75rem 1.5rem;background:transparent;border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-family:Crimson Text,serif;font-size:1rem;cursor:pointer;transition:all var(--transition-fast)}.settings-modal .btn-cancel:hover:not(:disabled){border-color:var(--color-text);color:var(--color-text)}.settings-modal .btn-cancel:disabled{opacity:.5;cursor:not-allowed}.settings-modal .btn-primary{padding:.75rem 1.5rem;background:var(--color-accent);border:none;border-radius:var(--radius-md);color:var(--color-surface);font-family:Playfair Display,serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.settings-modal .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.settings-modal .btn-primary:disabled{opacity:.5;cursor:not-allowed}.game-mode-selector{display:flex;flex-direction:column;gap:.75rem}.game-mode-option{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:left}.game-mode-option:hover{border-color:var(--color-accent);background:var(--color-surface-elevated)}.game-mode-option.selected{border-color:var(--color-accent);background:#ffd7001a;box-shadow:0 0 0 2px #ffd70033}.game-mode-icon{font-size:1.5rem}.game-mode-name{font-family:Playfair Display,serif;font-size:1rem;font-weight:600;color:var(--color-text)}.game-mode-option.selected .game-mode-name{color:var(--color-accent)}.game-mode-description{font-family:Crimson Text,serif;font-size:.85rem;color:var(--color-text-muted)}.language-selector{display:flex;gap:.75rem;flex-wrap:wrap}.language-option{flex:1;min-width:100px;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.language-option:hover{border-color:var(--color-accent);background:var(--color-surface-elevated)}.language-option.selected{border-color:var(--color-accent);background:#ffd7001a;box-shadow:0 0 0 2px #ffd70033}.language-flag{font-size:1.5rem}.language-name{font-family:Crimson Text,serif;font-size:.9rem;color:var(--color-text)}.language-option.selected .language-name{color:var(--color-accent);font-weight:600}@media (max-width: 768px){.settings-modal{padding:1.5rem;margin:.5rem}.settings-modal .modal-title{font-size:1.25rem;margin-bottom:1rem}.toggle-icon{font-size:1.25rem}.toggle-title{font-size:.95rem}.toggle-description{font-size:.8rem}.toggle-switch{width:44px;height:24px}.toggle-switch:after{width:18px;height:18px}.toggle-input:checked+.toggle-switch:after{transform:translate(20px)}.settings-modal .modal-actions{flex-direction:column}.settings-modal .btn-cancel,.settings-modal .btn-primary{width:100%}}@media (max-width: 480px){.settings-modal-overlay{padding:.5rem;align-items:flex-end}.settings-modal{padding:1rem;margin:0;max-height:85vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:100%}.settings-modal .modal-close{top:.75rem;right:.75rem;width:32px;height:32px;font-size:1rem}.settings-modal .modal-title{font-size:1.1rem;margin-bottom:.75rem;padding-right:2rem}.settings-section{padding:1rem}.settings-section-title{font-size:1rem}.settings-section-description{font-size:.85rem}.toggle-label{gap:.75rem}.timer-setting label{flex-direction:column;align-items:flex-start;gap:.5rem}.timer-input-wrapper{align-self:flex-end}.settings-modal .modal-actions{gap:.5rem;margin-top:1rem}.settings-modal .btn-cancel,.settings-modal .btn-primary{padding:.65rem 1rem;font-size:.9rem}}.game-container *,.game-container *:before,.game-container *:after{box-sizing:border-box}.game-container{height:100vh;height:100dvh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);background:url(/assets/texture-victorian.svg) repeat,linear-gradient(180deg,var(--color-background) 0%,#0d0d24 100%);background-size:200px 200px,100% 100%;-webkit-overflow-scrolling:touch;overflow:hidden;overflow-x:hidden;max-width:100vw;width:100%}.game-header{flex-shrink:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--color-surface);box-shadow:var(--shadow-md);border-bottom:1px solid var(--color-border)}.header-left{display:flex;align-items:center;gap:1rem;flex:1}.header-logo{height:80px;width:auto}.header-center{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:.5rem}.game-timer{display:flex;align-items:center;gap:.5rem;padding:.4rem .8rem;background:var(--color-bg-dark);border-radius:var(--radius-full);border:2px solid var(--color-accent);font-family:Playfair Display,serif;animation:timer-pulse 1s ease-in-out infinite}.game-timer.warning{border-color:var(--color-warning, #f59e0b);background:#f59e0b1a}.game-timer.critical{border-color:var(--color-danger, #ef4444);background:#ef444426;animation:timer-critical .5s ease-in-out infinite}.timer-icon{font-size:1rem}.timer-value{font-size:1.4rem;font-weight:700;color:var(--color-text);min-width:3.5rem;text-align:center}.game-timer.warning .timer-value{color:var(--color-warning, #f59e0b)}.game-timer.critical .timer-value{color:var(--color-danger, #ef4444)}.timer-phase{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-family:Crimson Text,serif}@keyframes timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes timer-critical{0%,to{transform:scale(1);box-shadow:0 0 #ef444466}50%{transform:scale(1.05);box-shadow:0 0 10px 4px #ef44444d}}.game-timer.paused{animation:none;opacity:.7;border-style:dashed}.game-timer.paused .timer-value{color:var(--color-text-muted)}.timer-pause-btn{display:flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;background:var(--color-bg-light);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;margin-left:.3rem;transition:all .2s ease}.timer-pause-btn:hover{background:var(--color-accent);color:#fff}.game-timer.paused .timer-pause-btn{background:var(--color-success, #22c55e);color:#fff;border-color:var(--color-success, #22c55e)}.header-code{font-family:Playfair Display,serif;font-size:1.2rem;font-weight:600;letter-spacing:.1em;color:var(--color-accent)}.header-right{display:flex;align-items:center;gap:.75rem;justify-content:flex-end;flex:1}.back-link{color:var(--color-primary-light);text-decoration:none;font-weight:500;font-family:Crimson Text,serif}.back-link:hover{text-decoration:underline}.header-qr{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem;background:#fff;border-radius:var(--radius-md);border:2px solid var(--color-accent)}.header-qr svg{border-radius:var(--radius-sm)}.header-qr-code{font-family:Playfair Display,serif;font-size:.7rem;font-weight:600;letter-spacing:.1em;color:var(--color-surface)}.btn-settings-header{padding:.5rem .75rem;font-size:1.25rem;line-height:1;background:var(--color-surface-elevated);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.btn-settings-header:hover{border-color:var(--color-accent);background:var(--color-accent)}.header-right-mobile{display:none}.btn-mobile-menu{padding:.5rem .75rem;font-size:1.5rem;line-height:1;background:var(--color-surface-elevated);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast)}.btn-mobile-menu:hover{border-color:var(--color-accent);color:var(--color-accent)}.mobile-menu-dropdown{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;z-index:9999;display:flex;align-items:flex-start;justify-content:flex-end;padding-top:calc(60px + env(safe-area-inset-top,0px));padding-right:.5rem}.mobile-menu-content{background:var(--color-surface);border-radius:var(--radius-lg);padding:.5rem;min-width:200px;box-shadow:var(--shadow-xl);border:2px solid var(--color-accent);display:flex;flex-direction:column;gap:.25rem}.mobile-menu-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text);font-family:Crimson Text,serif;font-size:1rem;cursor:pointer;transition:all var(--transition-fast);text-align:left;width:100%}.mobile-menu-item:hover{background:var(--color-surface-elevated)}.mobile-menu-icon{font-size:1.25rem;flex-shrink:0;width:1.5rem;text-align:center}.mobile-menu-item.disabled{opacity:.5;cursor:not-allowed}.mobile-menu-item.disabled:hover{background:transparent}.mobile-menu-close{border-top:1px solid var(--color-border);margin-top:.25rem;padding-top:.75rem;color:var(--color-text-muted)}.mobile-menu-close:hover{color:var(--color-card-danger)}.qr-fullscreen-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;z-index:10000;display:flex;align-items:center;justify-content:center;cursor:pointer}.qr-fullscreen-close{position:absolute;top:2rem;right:2rem;width:50px;height:50px;border:2px solid var(--color-accent);border-radius:50%;background:var(--color-surface);color:var(--color-accent);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.qr-fullscreen-close:hover{background:var(--color-accent);color:var(--color-surface)}.qr-fullscreen-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:3rem;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);cursor:default}.qr-fullscreen-content svg{border-radius:var(--radius-md)}.qr-fullscreen-code{font-family:Playfair Display,serif;font-size:3rem;font-weight:700;letter-spacing:.2em;color:var(--color-surface)}.qr-fullscreen-hint{font-family:Crimson Text,serif;font-size:1.25rem;color:var(--color-text-muted);margin:0}@media (max-width: 768px){.qr-fullscreen-close{top:1rem;right:1rem;width:40px;height:40px;font-size:1.25rem}.qr-fullscreen-content{padding:2rem;margin:1rem}.qr-fullscreen-content svg{width:200px!important;height:200px!important}.qr-fullscreen-code{font-size:2rem}.qr-fullscreen-hint{font-size:1rem}}.game-info{text-align:center}.game-info h1{font-size:1.5rem;color:var(--color-text);margin:0;font-weight:600;letter-spacing:.05em}.current-turn{font-size:.9rem;padding:.25rem 1rem;border-radius:var(--radius-full);margin-top:.5rem;font-weight:600;display:inline-flex;align-items:center;gap:.5rem}.current-turn-icon{width:24px;height:24px;object-fit:contain}.current-turn.sherlock,.current-turn.red{background:linear-gradient(135deg,var(--color-team-sherlock),var(--color-team-sherlock-light));color:var(--color-team-sherlock-text);border:2px solid var(--color-accent);box-shadow:var(--shadow-glow-sherlock)}.current-turn.moriarty,.current-turn.blue{background:linear-gradient(135deg,var(--color-team-moriarty),var(--color-team-moriarty-light));color:var(--color-team-moriarty-text);border:2px solid var(--color-accent);box-shadow:var(--shadow-glow-moriarty)}.score{font-size:1.5rem;font-weight:700;display:flex;gap:.5rem;font-family:Playfair Display,serif}.score-sherlock,.score-red{color:var(--color-team-sherlock);text-shadow:0 0 8px rgba(245,240,230,.5)}.score-moriarty,.score-blue{color:var(--color-accent)}.score-separator{color:var(--color-text-muted)}.winner-banner{flex-shrink:0;text-align:center;font-size:1.5rem;font-weight:700;padding:1rem;border-radius:var(--radius-lg);margin:0 1rem;color:#fff;font-family:Playfair Display,serif;letter-spacing:.05em}.winner-banner.sherlock,.winner-banner.red{background:linear-gradient(135deg,var(--color-team-sherlock),var(--color-team-sherlock-light));color:var(--color-team-sherlock-text);border:3px solid var(--color-accent);box-shadow:var(--shadow-glow-sherlock)}.winner-banner.moriarty,.winner-banner.blue{background:linear-gradient(135deg,var(--color-team-moriarty),var(--color-team-moriarty-light));color:var(--color-team-moriarty-text);border:3px solid var(--color-accent);box-shadow:var(--shadow-glow-moriarty)}.lobby{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--color-surface);padding:2rem;margin:1rem;border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);overflow-y:auto}.lobby h2{color:var(--color-text);margin-bottom:1rem;font-weight:600}.game-code{font-size:1.25rem;margin-bottom:2rem;color:var(--color-text-muted)}.game-code strong{font-size:1.5rem;letter-spacing:.2em;color:var(--color-accent);font-family:Playfair Display,serif}.qr-code-section{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem;padding:1.5rem;background:var(--color-surface-elevated);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.qr-hint{margin-top:1rem;font-size:.9rem;color:var(--color-text-muted);font-family:Crimson Text,serif}.teams-selection{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.team-panel{padding:1.5rem;border-radius:var(--radius-lg);min-height:200px;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.team-panel:hover{transform:translateY(-2px)}.team-panel.sherlock,.team-panel.red{background:var(--color-team-sherlock-subtle);border:2px solid var(--color-team-sherlock)}.team-panel.sherlock:hover,.team-panel.red:hover{box-shadow:var(--shadow-glow-sherlock);border-color:var(--color-accent)}.team-panel.moriarty,.team-panel.blue{background:var(--color-team-moriarty-subtle);border:2px solid var(--color-accent)}.team-panel.moriarty:hover,.team-panel.blue:hover{box-shadow:var(--shadow-glow-moriarty)}.team-panel h3{margin-bottom:1rem;font-weight:600}.team-panel-illustration{width:80px;height:80px;margin:0 auto 1rem;display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.4))}.team-panel.sherlock h3,.team-panel.red h3{color:var(--color-team-sherlock);text-shadow:0 0 8px rgba(245,240,230,.5)}.team-panel.moriarty h3,.team-panel.blue h3{color:var(--color-accent)}.team-members{min-height:80px}.player{display:flex;justify-content:space-between;padding:.5rem;background:#ffffff1a;border-radius:var(--radius-sm);margin-bottom:.5rem}.player-name{font-weight:500;color:var(--color-text)}.player-role{font-size:.85rem;color:var(--color-text-muted)}.player-ready-indicator{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-full);font-size:.75rem;margin-right:.5rem;background:var(--color-border);color:var(--color-text-muted);transition:all var(--transition-fast)}.player.ready .player-ready-indicator{background:var(--color-success);color:#fff}.player.ready{background:#2ba35a26;border-left:3px solid var(--color-success)}.player.offline{opacity:.5;background:#9696961a;border-left:3px solid var(--color-text-muted)}.player.offline .player-name{color:var(--color-text-muted)}.player-offline-badge{font-size:.65rem;padding:.15rem .4rem;background:var(--color-text-muted);color:var(--color-surface);border-radius:var(--radius-sm);margin-left:.5rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.ready-section{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1.5rem 0;padding:1rem;background:var(--color-surface-elevated);border-radius:var(--radius-md)}.btn-ready{padding:.75rem 2rem;background:var(--color-border);border:2px solid var(--color-text-muted);color:var(--color-text);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-ready:hover{border-color:var(--color-success);background:#2ba35a1a}.btn-ready.active{background:var(--color-success);border-color:var(--color-success);color:#fff}.btn-ready.active:hover{background:var(--color-success-light);border-color:var(--color-success-light)}.ready-count{font-size:.9rem;color:var(--color-text-muted)}.join-team-buttons{display:flex;gap:.5rem;margin-top:1rem;justify-content:center}.btn-small{padding:.5rem 1rem;font-size:.85rem}.spectators{margin:1rem 0;padding:1rem;background:var(--color-surface-elevated);border-radius:var(--radius-md)}.spectators h4{margin-bottom:.5rem;color:var(--color-text)}.spectator-list{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.spectator{padding:.25rem .75rem;background:var(--color-border);border-radius:var(--radius-full);font-size:.9rem;color:var(--color-text-muted)}.host-actions{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--color-border)}.host-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-settings{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--color-surface-elevated);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:Crimson Text,serif;font-size:1rem;cursor:pointer;transition:all var(--transition-fast)}.btn-settings:hover{border-color:var(--color-accent);color:var(--color-accent)}.btn-settings .btn-icon{font-size:1.1rem}.help-text{font-size:.85rem;color:var(--color-text-muted);margin-top:.5rem;font-family:Crimson Text,serif}.game-board-wrapper{flex:1;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;touch-action:none;-webkit-user-select:none;user-select:none}.zoom-controls{position:absolute;top:1rem;left:1rem;display:flex;flex-direction:column;gap:.25rem;z-index:10}.zoom-controls button{width:36px;height:36px;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.zoom-controls button:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.zoom-hint{font-size:.65rem;color:var(--color-text-muted);text-align:center;margin-top:.25rem;white-space:nowrap}.zoom-hint.mobile{display:none}.zoom-hint.desktop{display:block}.zoom-level{font-size:.7rem;font-weight:600;color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.15rem .35rem;text-align:center;margin-top:.25rem}.join-team-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background:#1a1a2ef2;border-radius:var(--radius-lg);border:2px solid var(--color-accent);box-shadow:var(--shadow-xl);z-index:20}.join-team-title{font-family:Playfair Display,serif;font-size:1.25rem;font-weight:600;color:var(--color-accent);text-align:center}.join-team-overlay .join-team-buttons{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.game-actions-overlay{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#1a1a2ee6;border-radius:var(--radius-md);border:1px solid var(--color-border);z-index:10}.waiting-overlay{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);padding:.75rem 1.5rem;background:#1a1a2ee6;border-radius:var(--radius-md);border:1px solid var(--color-border);color:var(--color-text-muted);font-style:italic;font-family:Crimson Text,serif;z-index:10}.game-board{display:flex;flex-direction:column;align-items:center;transform-origin:center center;transition:transform .1s ease-out;width:100%;max-width:900px}.cards-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.6rem;max-width:900px;width:100%;padding:.75rem}.card{border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.75rem;font-weight:500;text-transform:uppercase;box-shadow:var(--shadow-md);color:var(--color-text);position:relative;perspective:1000px;background:transparent;padding:0;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;aspect-ratio:2.5 / 1}.card:hover:not(:disabled){box-shadow:var(--shadow-lg)}.card:disabled{cursor:default}.card-inner{position:absolute;top:0;right:0;bottom:0;left:0;transition:transform .6s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d;border-radius:var(--radius-md);pointer-events:none}.card:hover:not(:disabled) .card-inner{transform:translateY(-2px)}.card.revealed .card-inner{transform:rotateY(180deg)}.card-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;padding:.4rem;border:2px solid var(--color-border);box-sizing:border-box;pointer-events:none}.card-front{background:url(/assets/card-back.svg) center/cover no-repeat,var(--color-surface-elevated)}.card-back{transform:rotateY(180deg);background:var(--color-surface-elevated)}.card-word{text-align:center;word-break:break-word;font-family:Crimson Text,serif;letter-spacing:.02em}.card.revealed{color:#fff}.card-icon{width:80%;height:80%;object-fit:contain;border-radius:50%}.card.revealed.sherlock .card-back,.card.revealed.red .card-back{background:linear-gradient(135deg,var(--color-team-sherlock),var(--color-team-sherlock-light));border-color:var(--color-accent);box-shadow:var(--shadow-glow-sherlock)}.card.revealed.moriarty .card-back,.card.revealed.blue .card-back{background:linear-gradient(135deg,var(--color-team-moriarty),var(--color-team-moriarty-light));border-color:var(--color-accent);box-shadow:var(--shadow-glow-moriarty)}.card.revealed.neutral .card-back{background:linear-gradient(135deg,var(--color-card-neutral-dark),var(--color-card-neutral));border-color:var(--color-card-neutral)}.card.revealed.danger .card-back,.card.revealed.assassin .card-back{background:linear-gradient(135deg,#8B0000,var(--color-card-danger));border-color:var(--color-card-danger);animation:danger-pulse 1s ease-in-out infinite}.card.revealed.drawing .card-back{background:linear-gradient(135deg,#CC3399,var(--color-card-drawing));border-color:var(--color-card-drawing)}.card.revealed.mime .card-back{background:linear-gradient(135deg,#CC7700,var(--color-card-mime));border-color:var(--color-card-mime)}.card.revealed.transition .card-back{background:linear-gradient(135deg,#5A2D6F,var(--color-card-transition));border-color:var(--color-card-transition)}@keyframes danger-pulse{0%,to{box-shadow:0 0 10px var(--color-card-danger)}50%{box-shadow:0 0 30px var(--color-card-danger)}}.card.hint-sherlock .card-front,.card.hint-red .card-front{border:3px solid var(--color-team-sherlock)}.card.hint-moriarty .card-front,.card.hint-blue .card-front{border:3px solid var(--color-team-moriarty)}.card.hint-neutral .card-front{border:3px solid var(--color-card-neutral)}.card.hint-danger .card-front,.card.hint-assassin .card-front{border:3px solid var(--color-card-danger)}.card.spymaster-sherlock .card-front,.card.spymaster-red .card-front{background:#ffffff80;border:3px solid var(--color-team-sherlock);box-shadow:inset 0 0 20px #ffffff4d}.card.spymaster-moriarty .card-front,.card.spymaster-blue .card-front{background:#1a1a1a99;border:3px solid var(--color-accent)}.card.spymaster-neutral .card-front{background:#8b776559;border:3px solid var(--color-card-neutral)}.card.spymaster-danger .card-front,.card.spymaster-assassin .card-front{background:#d7263d4d;border:3px solid var(--color-card-danger);color:var(--color-card-danger-light)}.card.spymaster-drawing .card-front{background:#ff66c44d;border:3px solid var(--color-card-drawing)}.card.spymaster-mime .card-front{background:#ffa5004d;border:3px solid var(--color-card-mime)}.card.spymaster-transition .card-front{background:#7a3e9d4d;border:3px solid var(--color-card-transition)}.game-actions{margin-top:1.5rem;text-align:center}.action-hint{margin-bottom:1rem;color:var(--color-text-muted);font-family:Crimson Text,serif}.waiting-message{margin-top:1.5rem;color:var(--color-text-muted);font-style:italic;font-family:Crimson Text,serif}.players-sidebar{position:fixed;right:1rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:1rem}.sidebar-team{padding:1rem;border-radius:var(--radius-md);min-width:120px;background:var(--color-surface)}.sidebar-team.sherlock,.sidebar-team.red{border-left:4px solid var(--color-team-sherlock);background:var(--color-team-sherlock-subtle)}.sidebar-team.moriarty,.sidebar-team.blue{border-left:4px solid var(--color-accent);background:var(--color-team-moriarty-subtle)}.sidebar-team h4{margin-bottom:.5rem;font-size:.9rem}.sidebar-team.sherlock h4,.sidebar-team.red h4{color:var(--color-team-sherlock);text-shadow:0 0 8px rgba(245,240,230,.5)}.sidebar-team.moriarty h4,.sidebar-team.blue h4{color:var(--color-accent)}.sidebar-player{font-size:.85rem;padding:.25rem 0;color:var(--color-text-muted)}.join-form{margin-top:1.5rem;padding:1.5rem;background:var(--color-surface);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:1rem;align-items:center;border:1px solid var(--color-border)}.code-input{text-align:center;font-size:1.5rem;letter-spacing:.2em;text-transform:uppercase;width:200px;padding:.75rem;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);color:var(--color-text)}.code-input:focus{outline:none;border-color:var(--color-primary-light)}.spymaster-legend{flex-shrink:0;display:flex;justify-content:center;gap:1.5rem;padding:.75rem 1rem;margin:0 1rem;background:var(--color-surface);border-radius:var(--radius-md);flex-wrap:wrap;border:1px solid var(--color-border)}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;color:var(--color-text)}.legend-color{width:20px;height:20px;border-radius:var(--radius-sm)}.legend-item.sherlock .legend-color,.legend-item.red .legend-color{background:var(--color-team-sherlock);border:1px solid var(--color-accent)}.legend-item.moriarty .legend-color,.legend-item.blue .legend-color{background:var(--color-team-moriarty);border:1px solid var(--color-accent)}.legend-item.neutral .legend-color{background:var(--color-card-neutral)}.legend-item.danger .legend-color,.legend-item.assassin .legend-color{background:var(--color-card-danger)}.legend-item.drawing .legend-color{background:var(--color-card-drawing)}.legend-item.mime .legend-color{background:var(--color-card-mime)}.legend-item.transition .legend-color{background:var(--color-card-transition)}.game-footer{flex-shrink:0;z-index:100;display:flex;align-items:stretch;min-height:70px;border-top:1px solid var(--color-border);margin-top:auto}.footer-team{flex:1;display:flex;align-items:center;padding:.5rem 1rem;gap:.75rem}.footer-team.sherlock{background:linear-gradient(135deg,var(--color-team-sherlock),var(--color-team-sherlock-light));justify-content:flex-start}.footer-team.moriarty{background:linear-gradient(135deg,var(--color-team-moriarty),var(--color-team-moriarty-light));justify-content:flex-end}.footer-team-icon{width:50px;height:50px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-md)}.footer-team-icon img{width:40px;height:40px}.footer-team-info{display:flex;flex-direction:column;gap:.125rem}.footer-team-info.right{text-align:right}.footer-team-name{font-family:Playfair Display,serif;font-size:1rem;font-weight:600}.footer-team.sherlock .footer-team-name{color:var(--color-team-sherlock-text)}.footer-team.moriarty .footer-team-name{color:var(--color-accent)}.footer-team-players{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.75rem}.footer-team.sherlock .footer-team-players{color:var(--color-team-sherlock-text)}.footer-team.moriarty .footer-team-players{color:var(--color-team-moriarty-text);justify-content:flex-end}.footer-player{white-space:nowrap}.footer-player.spymaster{font-weight:600}.footer-team-score{font-family:Playfair Display,serif;font-size:2.5rem;font-weight:700;min-width:50px;text-align:center}.footer-team.sherlock .footer-team-score{color:var(--color-team-sherlock-text)}.footer-team.moriarty .footer-team-score{color:var(--color-accent)}.footer-separator{width:2px;background:var(--color-accent)}@media (max-width: 768px){.teams-selection{grid-template-columns:1fr}.header-left{flex:0 0 auto;gap:.5rem}.header-logo{height:50px}.back-link{font-size:.8rem}.header-center{flex:1}.current-turn{font-size:.75rem;padding:.2rem .5rem}.header-code{font-size:.9rem}.header-right{flex:0 0 auto;gap:.5rem}.cards-grid{grid-template-columns:repeat(6,1fr);gap:.4rem;padding:.5rem}.card{font-size:.6rem}.card-face{padding:.2rem;border-width:2px}.zoom-controls{top:.5rem;left:.5rem}.zoom-controls button{width:30px;height:30px;font-size:1rem}.game-footer{min-height:60px}.footer-team{padding:.4rem .5rem;gap:.4rem}.footer-team-icon{width:35px;height:35px}.footer-team-icon img{width:28px;height:28px}.footer-team-name{font-size:.8rem}.footer-team-players{display:none}.footer-team-score{font-size:1.75rem;min-width:35px}.players-sidebar{display:none}.spymaster-view .game-header{padding:.5rem}.spymaster-view .game-info h1{font-size:1rem}.spymaster-legend{gap:.75rem;padding:.5rem;font-size:.8rem}.legend-color{width:16px;height:16px}.spymaster-view .cards-grid{gap:.3rem;padding:.25rem}.spymaster-view .card{font-size:.55rem}.spymaster-view .card-face{padding:.15rem}.spymaster-view .game-actions{margin-top:.75rem}.spymaster-view .action-hint{font-size:.85rem;margin-bottom:.5rem}}@media (max-width: 480px){.game-container{padding:0;padding-top:env(safe-area-inset-top,0px);width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box}.game-header{padding:.4rem .5rem;flex-wrap:wrap;gap:.25rem;max-width:100vw;box-sizing:border-box}.header-left{flex:0 0 auto;order:1}.header-logo{height:36px}.header-center{flex:1 1 100%;order:3;padding-top:.25rem}.current-turn{font-size:.65rem;padding:.15rem .4rem;margin-top:0}.game-timer{padding:.25rem .5rem;gap:.3rem}.timer-icon{font-size:.8rem}.timer-value{font-size:1rem;min-width:2.5rem}.timer-phase{font-size:.55rem}.timer-pause-btn{width:1.4rem;height:1.4rem;font-size:.7rem;margin-left:.2rem}.header-code{font-size:.75rem}.header-right{flex:0 0 auto;order:2;gap:.25rem}.header-qr{padding:.15rem}.header-qr svg{width:28px!important;height:28px!important}.header-qr-code{font-size:.45rem}.btn-cast{padding:.3rem}.btn-cast svg{width:18px;height:18px}.btn-tv-toggle,.header-right-desktop{display:none!important}.header-right-mobile{display:flex;position:relative}.lobby{padding:1rem;margin:.5rem;border-radius:var(--radius-md);max-width:calc(100vw - 1rem);overflow-x:hidden;box-sizing:border-box}.lobby h2{font-size:1.1rem;margin-bottom:.75rem}.teams-selection{gap:.75rem;margin-bottom:1rem;max-width:100%}.team-panel{padding:.75rem;min-height:auto;max-width:100%;overflow:hidden}.team-panel-illustration{width:50px;height:50px;margin-bottom:.5rem}.team-panel h3{font-size:1rem;margin-bottom:.5rem}.join-team-buttons{flex-direction:column;gap:.5rem}.btn-small{padding:.6rem .75rem;font-size:.8rem;width:100%}.host-actions{margin-top:1rem;padding-top:.75rem}.host-buttons{flex-direction:column;gap:.5rem}.host-buttons .btn,.host-actions .btn-settings{width:100%;padding:.75rem;font-size:.9rem;justify-content:center}.help-text{font-size:.75rem}.game-board{max-width:100%;width:100%}.game-board-wrapper{width:100%}.cards-grid{grid-template-columns:repeat(4,1fr);gap:.3rem;padding:.4rem;max-width:100%;width:100%;box-sizing:border-box}.card{font-size:.55rem;border-radius:var(--radius-sm);aspect-ratio:1.8 / 1}.card-inner{border-radius:var(--radius-sm)}.card-face{padding:.15rem;border-width:1.5px;border-radius:var(--radius-sm)}.card-word{line-height:1.1}.zoom-controls{top:.25rem;left:.25rem;flex-direction:row;gap:.15rem}.zoom-controls button{width:26px;height:26px;font-size:.85rem}.zoom-hint.desktop{display:none}.zoom-hint.mobile{display:block;font-size:.55rem;margin-top:.15rem}.zoom-level{font-size:.6rem;padding:.1rem .25rem}.game-actions-overlay{bottom:.5rem;padding:.5rem .75rem}.action-hint{font-size:.75rem;margin-bottom:.5rem}.game-actions-overlay .btn{padding:.5rem 1rem;font-size:.8rem}.waiting-overlay{bottom:.5rem;padding:.5rem .75rem;font-size:.75rem}.join-team-overlay{padding:1rem;width:calc(100% - 2rem);max-width:300px}.join-team-title{font-size:1rem;margin-bottom:.75rem}.join-team-overlay .join-team-buttons{flex-direction:column;width:100%}.join-team-overlay .btn{width:100%;padding:.75rem}.game-footer{min-height:50px;position:fixed;bottom:0;left:0;right:0;max-width:100vw;box-sizing:border-box}.footer-team{padding:.3rem .4rem;gap:.3rem}.footer-team-icon{width:28px;height:28px}.footer-team-icon img{width:22px;height:22px}.footer-team-name{font-size:.65rem}.footer-team-score{font-size:1.4rem;min-width:28px}.footer-separator{width:1px}.spymaster-view .game-header{padding:.3rem .4rem}.spymaster-legend{gap:.4rem;padding:.4rem;font-size:.65rem;margin-bottom:.5rem;flex-wrap:wrap;justify-content:center}.legend-item{gap:.25rem}.legend-color{width:12px;height:12px}.spymaster-view .cards-grid{grid-template-columns:repeat(4,1fr);gap:.25rem;padding:.25rem;width:100%;max-width:100%;box-sizing:border-box}.spymaster-view .card{font-size:.5rem}.spymaster-view .card-face{padding:.1rem;border-width:2px}.spymaster-fab{bottom:65px;right:.5rem;max-width:calc(100vw - 1rem)}.fab-button{width:48px;height:48px;font-size:1.25rem}.fab-label{font-size:.65rem;padding:.15rem .35rem;max-width:80px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qr-fullscreen-content{padding:1.5rem;margin:.5rem}.qr-fullscreen-content svg{width:180px!important;height:180px!important}.qr-fullscreen-code{font-size:1.5rem}.qr-fullscreen-hint{font-size:.85rem}.qr-fullscreen-close{top:.75rem;right:.75rem;width:36px;height:36px;font-size:1rem}.cast-indicator{padding:.5rem .75rem;margin:.25rem .5rem;font-size:.8rem}.cast-indicator-compact{display:flex!important;align-items:center;gap:.5rem;width:100%}.cast-indicator-icon{font-size:1.1rem;flex-shrink:0}.cast-indicator-device{flex:1;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cast-indicator-toggle{padding:.25rem .5rem;font-size:.75rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text)}.cast-indicator.collapsed .cast-indicator-content{display:none!important}.cast-indicator.expanded .cast-indicator-content{display:flex!important;flex-direction:column;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border)}.cast-indicator.expanded .cast-indicator-header{display:none}.cast-display-modes{flex-wrap:wrap;gap:.25rem;justify-content:center}.cast-modes-label{font-size:.7rem;width:100%;text-align:center;margin-bottom:.25rem}.cast-mode-btn{padding:.25rem .5rem;font-size:.7rem}.btn-stop-cast{width:100%;padding:.4rem;font-size:.8rem}.winner-banner{font-size:1rem;padding:.75rem;margin:.5rem}.game-main-area{padding-bottom:55px}.game-board-wrapper{min-height:calc(100vh - 150px)}.info-sidebar{display:none!important}.game-board-section,.game-board-section.size-large,.game-board-section.size-medium,.game-board-section.size-small{flex:1!important;width:100%;max-width:100vw}}@media (max-width: 360px){.header-logo{height:30px}.header-qr svg{width:24px!important;height:24px!important}.game-board{max-width:100%;width:100%}.cards-grid{grid-template-columns:repeat(3,1fr);gap:.25rem;width:100%;max-width:100%;box-sizing:border-box}.card{font-size:.5rem;aspect-ratio:1.5 / 1}.spymaster-view .cards-grid{grid-template-columns:repeat(3,1fr)}.footer-team-icon{width:24px;height:24px}.footer-team-icon img{width:18px;height:18px}.footer-team-name{font-size:.55rem}.footer-team-score{font-size:1.2rem}}@supports (padding-bottom: env(safe-area-inset-bottom)){.game-header{padding-top:max(.75rem,env(safe-area-inset-top));padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.game-footer{padding-bottom:env(safe-area-inset-bottom)}@media (max-width: 480px){.game-footer{padding-bottom:calc(.3rem + env(safe-area-inset-bottom))}.spymaster-fab{bottom:calc(65px + env(safe-area-inset-bottom))}.game-main-area{padding-bottom:calc(55px + env(safe-area-inset-bottom))}}}@media (min-width: 769px) and (max-width: 1024px){.spymaster-view .cards-grid{max-width:800px}.spymaster-view .card{font-size:.75rem}}.header-actions{display:flex;align-items:center;gap:1rem}.btn-tv-toggle{display:flex;align-items:center;justify-content:center;padding:.5rem;font-size:1.25rem;background:transparent;border:2px solid white;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);color:#fff}.btn-tv-toggle svg{width:24px;height:24px}.btn-tv-toggle:hover{background:var(--color-primary);color:#fff}.btn-cast{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:2px solid white;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);color:#fff}.btn-cast svg{width:24px;height:24px}.btn-cast:hover:not(:disabled){background:var(--color-primary);color:#fff}.btn-cast.casting{background:var(--color-primary);color:#fff;animation:pulse-cast 2s infinite}.btn-cast.disabled,.btn-cast:disabled{opacity:.4;cursor:not-allowed;border-color:var(--color-text-muted);color:var(--color-text-muted)}.btn-cast.disabled:hover,.btn-cast:disabled:hover{background:transparent}@keyframes pulse-cast{0%,to{opacity:1}50%{opacity:.7}}.cast-indicator{flex-shrink:0;display:flex;flex-direction:column;padding:.75rem 1rem;background:var(--color-surface);border:2px solid var(--color-accent);color:var(--color-text);border-radius:var(--radius-md);margin:0 1rem;font-size:.95rem;font-family:Crimson Text,serif;box-shadow:var(--shadow-md)}.cast-indicator-compact{display:none;align-items:center;gap:.5rem;cursor:pointer;padding:.25rem 0}.cast-indicator-icon{font-size:1.25rem}.cast-indicator-device{flex:1;font-weight:600;color:var(--color-accent);font-family:Playfair Display,serif}.cast-indicator-toggle{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.25rem;font-size:.8rem}.cast-indicator-content{display:flex;align-items:center;justify-content:space-between;width:100%;gap:1rem}.cast-indicator-left{display:flex;flex-direction:column;gap:.5rem}.cast-indicator-header{display:flex;align-items:center;gap:.5rem}.cast-indicator strong{color:var(--color-accent);font-family:Playfair Display,serif}.btn-stop-cast{padding:.5rem 1rem;background:transparent;border:2px solid var(--color-card-danger);border-radius:var(--radius-md);color:var(--color-card-danger);font-family:Crimson Text,serif;font-size:.9rem;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-stop-cast:hover{background:var(--color-card-danger);color:#fff}.cast-display-modes{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:center}.cast-modes-label{font-size:.85rem;color:var(--color-text-muted);margin-right:.25rem}.cast-mode-btn{padding:.35rem .75rem;font-size:.8rem;font-family:Crimson Text,serif;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.cast-mode-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.cast-mode-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-surface);font-weight:600}.tv-mode{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-background);z-index:9999;display:flex;flex-direction:column;padding:1rem}.tv-mode .game-header{background:transparent;padding:1rem 2rem;margin-bottom:0;border:none}.tv-mode .game-info h1{font-size:2rem;color:#fff}.tv-mode .current-turn{font-size:1.5rem;padding:.5rem 2rem;margin-top:.5rem}.tv-mode .score{font-size:3rem}.tv-mode .btn-tv-toggle{border-color:#fff;color:#fff;font-size:1.5rem}.tv-mode .btn-tv-toggle:hover{background:#fff3}.tv-mode .game-board{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.tv-mode .header-qr{padding:.75rem}.tv-mode .header-qr-code{font-size:1rem}.tv-mode .cards-grid{max-width:1400px;width:95%;gap:.8rem;grid-template-columns:repeat(6,1fr)}.tv-mode .card{font-size:1.2rem;font-weight:600;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:#fff;aspect-ratio:2.5 / 1}.tv-mode .card-face{border-radius:var(--radius-lg)}.tv-mode .card-front{background:var(--color-surface-elevated)}.tv-mode .card:not(.revealed) .card-front{border:3px solid var(--color-border)}.tv-mode .card.revealed .card-inner{transform:rotateY(180deg) scale(.95)}.tv-mode .card.revealed.sherlock .card-back,.tv-mode .card.revealed.red .card-back{background:linear-gradient(135deg,var(--color-team-sherlock),var(--color-team-sherlock-light));color:var(--color-team-sherlock-text);border-color:var(--color-accent);box-shadow:var(--shadow-glow-sherlock);animation:tv-sherlock-glow 2s ease-in-out infinite}@keyframes tv-sherlock-glow{0%,to{box-shadow:0 4px 20px #f5f0e666,0 0 30px #c9a9594d}50%{box-shadow:0 4px 30px #f5f0e699,0 0 45px #c9a95980}}.tv-mode .card.revealed.moriarty .card-back,.tv-mode .card.revealed.blue .card-back{background:linear-gradient(135deg,var(--color-team-moriarty),var(--color-team-moriarty-light));color:var(--color-team-moriarty-text);border-color:var(--color-accent);box-shadow:var(--shadow-glow-moriarty);animation:tv-moriarty-glow 2s ease-in-out infinite}@keyframes tv-moriarty-glow{0%,to{box-shadow:0 4px 20px #0009,0 0 25px #1a1a1acc}50%{box-shadow:0 4px 30px #000c,0 0 40px #40404099}}.tv-mode .card.revealed.neutral .card-back{background:linear-gradient(135deg,#6a6a7a,#8a8a9a)}.tv-mode .card.revealed.danger .card-back,.tv-mode .card.revealed.assassin .card-back{background:linear-gradient(135deg,#8B0000,var(--color-card-danger));border-color:var(--color-card-danger);animation:tv-danger-pulse 1s ease-in-out infinite,tv-danger-shake .5s ease-in-out}@keyframes tv-danger-pulse{0%,to{box-shadow:0 0 20px var(--color-card-danger)}50%{box-shadow:0 0 50px var(--color-card-danger),0 0 70px #d7263d80}}@keyframes tv-danger-shake{0%,to{transform:rotateY(180deg) scale(.95) translate(0)}20%{transform:rotateY(180deg) scale(.95) translate(-10px)}40%{transform:rotateY(180deg) scale(.95) translate(10px)}60%{transform:rotateY(180deg) scale(.95) translate(-8px)}80%{transform:rotateY(180deg) scale(.95) translate(8px)}}.tv-mode .winner-banner{font-size:2.5rem;padding:1.5rem 3rem;margin:1rem auto}.tv-mode .players-sidebar,.tv-mode .game-actions,.tv-mode .waiting-message,.tv-mode .game-actions-overlay,.tv-mode .waiting-overlay,.tv-mode .zoom-controls{display:none}.tv-mode .game-footer{min-height:100px}.tv-mode .footer-team-icon{width:70px;height:70px}.tv-mode .footer-team-icon img{width:55px;height:55px}.tv-mode .footer-team-name{font-size:1.5rem}.tv-mode .footer-team-score{font-size:4rem;min-width:80px}.tv-mode .footer-team-players{font-size:1rem}.tv-mode .error-message{background:#d7263de6;color:#fff;font-size:1.25rem}@media (min-width: 1400px){.tv-mode .cards-grid{max-width:1800px;gap:1.25rem}.tv-mode .card{font-size:1.6rem}.tv-mode .game-info h1{font-size:2.5rem}.tv-mode .score{font-size:4rem}}@media (min-width: 2000px){.tv-mode .cards-grid{max-width:2200px;gap:1.5rem}.tv-mode .card{font-size:2rem;border-radius:var(--radius-xl)}.tv-mode .card-face,.tv-mode .card-inner{border-radius:var(--radius-xl)}.tv-mode .game-info h1{font-size:3rem}.tv-mode .current-turn{font-size:2rem}.tv-mode .score{font-size:5rem}}@media (max-width: 768px){.header-qr{padding:.25rem}.header-qr svg{width:35px!important;height:35px!important}.header-qr-code{font-size:.55rem}.spymaster-view .header-qr{display:none}}@media (min-width: 1400px){.tv-mode .header-qr svg{width:100px!important;height:100px!important}.tv-mode .header-qr-code{font-size:1.25rem}}@media (min-width: 2000px){.tv-mode .header-qr{padding:1rem}.tv-mode .header-qr svg{width:120px!important;height:120px!important}.tv-mode .header-qr-code{font-size:1.5rem}}.spymaster-fab{position:fixed;bottom:100px;right:2rem;z-index:9000;display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:auto}.fab-button{width:64px;height:64px;border-radius:50%;border:3px solid var(--color-accent);background:var(--color-surface);color:var(--color-accent);font-size:1.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);transition:all var(--transition-fast)}.fab-button:hover{transform:scale(1.1)}.fab-button.sherlock{background:linear-gradient(135deg,var(--color-team-sherlock),var(--color-team-sherlock-light));color:var(--color-team-sherlock-text);border-color:var(--color-accent)}.fab-button.moriarty{background:linear-gradient(135deg,var(--color-team-moriarty),var(--color-team-moriarty-light));color:var(--color-accent);border-color:var(--color-accent)}.fab-label{font-family:Crimson Text,serif;font-size:.8rem;color:var(--color-text-muted);background:var(--color-surface);padding:.25rem .5rem;border-radius:var(--radius-sm)}.game-main-area{display:flex;flex:1;min-height:0;overflow:hidden}.game-board-section{flex:1;display:flex;flex-direction:column;transition:flex var(--transition-normal);min-width:0}.game-board-section.size-large{flex:.8}.game-board-section.size-medium{flex:.5}.game-board-section.size-small{flex:.2}.info-sidebar{background:var(--color-surface);border-left:2px solid var(--color-accent);display:flex;flex-direction:column;overflow-y:auto;transition:flex var(--transition-normal);padding:1rem}.info-sidebar.size-large{flex:.2}.info-sidebar.size-medium{flex:.5}.info-sidebar.size-small{flex:.8}.info-sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.info-sidebar-title{font-family:Playfair Display,serif;font-size:1rem;font-weight:600;color:var(--color-accent)}.size-toggle-buttons{display:flex;gap:.25rem}.size-toggle-btn{width:28px;height:28px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text-muted);cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.size-toggle-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.size-toggle-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-surface)}.info-section{margin-bottom:1.5rem}.info-section-title{font-family:Playfair Display,serif;font-size:.85rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem}.current-clue{background:var(--color-surface-elevated);padding:1rem;border-radius:var(--radius-md);text-align:center;border:2px solid var(--color-accent)}.current-clue-word{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;color:var(--color-accent);text-transform:uppercase;letter-spacing:.1em}.current-clue-number{font-size:2rem;font-weight:700;color:var(--color-text);margin-left:.5rem}.current-clue-mime,.current-clue-drawing{display:flex;flex-direction:column;align-items:center;gap:.5rem}.current-clue-icon{font-size:2.5rem}.current-clue-drawing img{max-width:100%;border-radius:var(--radius-md);border:2px solid var(--color-border)}.no-clue{color:var(--color-text-muted);font-style:italic;text-align:center;padding:1rem}.sidebar-team-scores{display:flex;flex-direction:column;gap:.75rem}.sidebar-team-score{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:var(--radius-md)}.sidebar-team-score.sherlock{background:var(--color-team-sherlock-subtle);border:2px solid var(--color-team-sherlock)}.sidebar-team-score.moriarty{background:var(--color-team-moriarty-subtle);border:2px solid var(--color-accent)}.sidebar-team-score-icon img{width:32px;height:32px;border-radius:50%}.sidebar-team-score-info{flex:1}.sidebar-team-score-name{font-family:Playfair Display,serif;font-size:.85rem;font-weight:600}.sidebar-team-score.sherlock .sidebar-team-score-name{color:var(--color-team-sherlock)}.sidebar-team-score.moriarty .sidebar-team-score-name{color:var(--color-accent)}.sidebar-team-score-value{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700}.sidebar-team-score.sherlock .sidebar-team-score-value{color:var(--color-team-sherlock)}.sidebar-team-score.moriarty .sidebar-team-score-value{color:var(--color-accent)}.revealed-cards-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.revealed-card-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-radius:var(--radius-sm);font-size:.85rem}.revealed-card-item.sherlock{background:var(--color-team-sherlock);color:var(--color-team-sherlock-text)}.revealed-card-item.moriarty{background:var(--color-team-moriarty);color:var(--color-team-moriarty-text)}.revealed-card-item.neutral{background:var(--color-card-neutral);color:#fff}.revealed-card-item.danger{background:var(--color-card-danger);color:#fff}.revealed-card-item.drawing{background:var(--color-card-drawing);color:#fff}.revealed-card-item.mime{background:var(--color-card-mime);color:#fff}.info-sidebar{display:none}.tv-mode .info-sidebar,.cast-connected .info-sidebar,.tv-mode .game-main-area,.cast-connected .game-main-area{display:flex}@media (max-width: 768px){.spymaster-fab{bottom:80px;right:1rem}.fab-button{width:56px;height:56px;font-size:1.5rem}.tv-mode .game-main-area,.cast-connected .game-main-area{flex-direction:column}.info-sidebar{border-left:none;border-top:2px solid var(--color-accent);max-height:40vh}.info-sidebar.size-large,.info-sidebar.size-medium,.info-sidebar.size-small{flex:none}}.operative-panel{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:500;display:flex;flex-direction:column;align-items:center;gap:1rem;width:calc(100% - 2rem);max-width:400px}.operative-clue-display{width:100%;background:var(--color-surface);border:2px solid var(--color-accent);border-radius:var(--radius-lg);padding:1rem;box-shadow:var(--shadow-xl)}.operative-clue-header{font-family:Crimson Text,serif;font-size:.85rem;color:var(--color-text-muted);text-align:center;margin-bottom:.5rem}.operative-clue-content{display:flex;align-items:center;justify-content:center;gap:1rem}.operative-clue-word{font-family:Playfair Display,serif;font-size:2rem;font-weight:700;color:var(--color-accent);text-transform:uppercase;letter-spacing:.1em}.operative-clue-number{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--color-accent);color:var(--color-surface);font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;border-radius:50%}.operative-clue-content.mime,.operative-clue-content.drawing{flex-direction:column;gap:.5rem}.operative-clue-icon{font-size:3rem}.operative-clue-label{font-family:Crimson Text,serif;font-size:1.1rem;color:var(--color-text)}.operative-clue-drawing{max-width:200px;max-height:150px;border-radius:var(--radius-md);border:2px solid var(--color-border)}.operative-waiting{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;color:var(--color-text-muted);font-family:Crimson Text,serif;font-style:italic}.operative-waiting-icon{font-size:2rem;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.operative-actions{display:flex;flex-direction:column;align-items:center;gap:.5rem}.operative-actions .action-hint{font-family:Crimson Text,serif;font-size:.9rem;color:var(--color-text-muted);margin:0}.operative-actions .btn{padding:.75rem 1.5rem;font-size:.9rem}@media (max-width: 768px){.operative-panel{bottom:70px;width:calc(100% - 1rem)}.operative-clue-display{padding:.75rem}.operative-clue-word{font-size:1.5rem}.operative-clue-number{width:40px;height:40px;font-size:1.25rem}}.game-actions-overlay{display:none}.guest-join-container{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;padding-top:calc(60px + 1rem);padding-top:calc(60px + 1rem + env(safe-area-inset-top,0px))}.guest-join-header{position:fixed;top:0;left:0;right:0;height:60px;padding:0 1rem;padding-top:env(safe-area-inset-top,0px);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;z-index:100}.guest-join-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:2rem;width:100%;max-width:420px;box-shadow:var(--shadow-xl);border:1px solid var(--color-border)}.guest-join-title{font-size:1.75rem;font-weight:700;text-align:center;margin-bottom:1.5rem;color:var(--color-text)}.guest-join-subtitle{text-align:center;color:var(--color-text-muted);margin-bottom:1.5rem}.guest-join-subtitle strong{color:var(--color-accent);font-family:Courier New,monospace;letter-spacing:2px}.guest-join-error{background:#d7263d33;border:1px solid var(--color-error);color:var(--color-error-light);padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;text-align:center;font-size:.9rem}.guest-join-form{display:flex;flex-direction:column;gap:1rem}.guest-join-form .form-group{display:flex;flex-direction:column;gap:.5rem}.guest-join-form .form-group label{font-size:.9rem;font-weight:500;color:var(--color-text-muted)}.guest-join-form .form-group input{padding:.875rem 1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;background:var(--color-surface-elevated);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.guest-join-form .form-group input:focus{outline:none;border-color:var(--color-primary-light);box-shadow:0 0 0 3px #2e5ba833}.guest-join-form .form-group input::placeholder{color:var(--color-text-light)}.guest-join-form .form-group input#gameCode{text-align:center;font-family:Courier New,monospace;font-size:1.5rem;letter-spacing:4px;text-transform:uppercase}.guest-join-form .btn-primary{padding:.875rem 1.5rem;background:linear-gradient(135deg,var(--color-team-sherlock),var(--color-team-sherlock-light));color:var(--color-team-sherlock-text);border:2px solid var(--color-accent);border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);font-family:Crimson Text,serif}.guest-join-form .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow-sherlock)}.guest-join-form .btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-link{background:none;border:none;color:var(--color-text-muted);font-size:.9rem;cursor:pointer;padding:.5rem;margin-top:.5rem;text-decoration:underline;transition:color var(--transition-fast)}.btn-link:hover{color:var(--color-text)}.guest-join-identity{display:flex;flex-direction:column;gap:1rem}.section-title{font-size:1rem;font-weight:600;color:var(--color-text);margin:.5rem 0}.slots-list{display:flex;flex-direction:column;gap:.5rem}.slot-button{display:flex;flex-direction:column;align-items:flex-start;padding:.875rem 1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);cursor:pointer;transition:all var(--transition-fast);text-align:left}.slot-button:hover:not(:disabled){transform:translate(4px)}.slot-button:disabled{opacity:.6;cursor:not-allowed}.slot-button.team-sherlock{border-color:var(--color-team-sherlock)}.slot-button.team-sherlock:hover:not(:disabled){background:var(--color-team-sherlock-subtle);border-color:var(--color-team-sherlock)}.slot-button.team-moriarty{border-color:var(--color-team-moriarty)}.slot-button.team-moriarty:hover:not(:disabled){background:var(--color-team-moriarty-subtle);border-color:var(--color-team-moriarty)}.slot-button.team-spectator{border-color:var(--color-card-neutral)}.slot-button.team-spectator:hover:not(:disabled){background:#6c757d33}.slot-name{font-size:1rem;font-weight:600;color:var(--color-text)}.slot-info{font-size:.8rem;color:var(--color-text-muted);margin-top:.25rem}.guest-join-identity .divider{display:flex;align-items:center;gap:1rem;margin:.5rem 0}.guest-join-identity .divider:before,.guest-join-identity .divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.guest-join-identity .divider span{color:var(--color-text-muted);font-size:.85rem}.guest-join-footer{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border);text-align:center}.guest-join-footer p{color:var(--color-text-muted);font-size:.9rem}.guest-join-footer a{color:var(--color-primary-light);text-decoration:none;font-weight:500}.guest-join-footer a:hover{text-decoration:underline}.admin-container{min-height:100vh;min-height:100dvh;padding:2rem;padding-top:calc(2rem + env(safe-area-inset-top,0px));max-width:1200px;margin:0 auto}.admin-loading{display:flex;justify-content:center;align-items:center;min-height:50vh;color:var(--color-text-muted);font-size:1.2rem}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.admin-header h1{font-size:1.75rem;color:var(--color-text)}.admin-actions{display:flex;gap:1rem;align-items:center}.admin-error{background:#d7263d33;border:1px solid var(--color-error);color:var(--color-error-light);padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1.5rem}.admin-content{display:grid;grid-template-columns:350px 1fr;gap:2rem}@media (max-width: 900px){.admin-content{grid-template-columns:1fr}}.games-section h2,.slots-section h2{font-size:1.25rem;margin-bottom:1rem;color:var(--color-text)}.no-games,.no-slots{color:var(--color-text-muted);font-style:italic}.games-list{display:flex;flex-direction:column;gap:.75rem}.game-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);overflow:hidden;min-width:0}.game-card:hover{border-color:var(--color-primary-light)}.game-card.selected{border-color:var(--color-accent);background:var(--color-surface-elevated)}.game-card-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.game-card-dates{display:flex;gap:1rem;flex-wrap:wrap}.game-date{font-size:.8rem;color:var(--color-text-muted)}.game-code{font-family:Courier New,monospace;font-size:1.1rem;font-weight:700;color:var(--color-accent);letter-spacing:1px;flex-shrink:0}.game-code-inline{font-family:Courier New,monospace;color:var(--color-accent)}.game-status{font-size:.8rem;padding:.25rem .5rem;border-radius:var(--radius-sm);flex-shrink:0;white-space:nowrap}.game-players{color:var(--color-text-muted);font-size:.85rem;margin-left:auto;flex-shrink:0;white-space:nowrap}.btn-sm{padding:.4rem .75rem;font-size:.85rem;border-radius:var(--radius-sm);background:var(--color-surface-elevated);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;white-space:nowrap}.btn-sm:hover{background:var(--color-border)}.btn-warning{background:#ffa50033;border-color:var(--color-warning);color:var(--color-warning)}.btn-warning:hover{background:#ffa5004d}.btn-danger{background:#d7263d33;border-color:var(--color-error);color:var(--color-error-light)}.btn-danger:hover{background:#d7263d4d}.slots-section{background:var(--color-surface);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--color-border)}.share-info{background:var(--color-surface-elevated);border-radius:var(--radius-md);padding:1rem;margin-bottom:1.5rem}.share-info p{color:var(--color-text-muted);font-size:.9rem;margin-bottom:.5rem}.share-link{display:flex;gap:.5rem;align-items:center}.share-link code{flex:1;background:var(--color-background);padding:.5rem .75rem;border-radius:var(--radius-sm);font-size:.85rem;color:var(--color-accent);overflow-x:auto}.add-slot-form{margin-bottom:1.5rem}.form-row{display:flex;gap:.5rem;flex-wrap:wrap}.form-row input,.form-row select{padding:.6rem .75rem;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);color:var(--color-text);font-size:.9rem}.form-row input{flex:1;min-width:150px}.form-row select{min-width:120px}.form-row input:focus,.form-row select:focus{outline:none;border-color:var(--color-primary-light)}.form-row .btn-primary{padding:.6rem 1rem}.slots-table{display:flex;flex-direction:column;gap:.5rem}.slots-header{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr 1fr;gap:1rem;padding:.5rem 1rem;font-weight:600;color:var(--color-text-muted);font-size:.85rem;border-bottom:1px solid var(--color-border)}.slot-row{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr 1fr;gap:1rem;padding:.75rem 1rem;align-items:center;background:var(--color-surface-elevated);border-radius:var(--radius-md);transition:background var(--transition-fast)}.slot-row:hover{background:var(--color-border-light)}.slot-row.claimed{opacity:.8}.slot-name{font-weight:500;color:var(--color-text)}.slot-team{font-size:.85rem}.slot-team.team-sherlock{color:var(--color-team-sherlock)}.slot-team.team-moriarty{color:var(--color-team-moriarty-text)}.slot-team.team-none{color:var(--color-text-muted)}.slot-role{font-size:.85rem;color:var(--color-text-muted)}.slot-status{font-size:.8rem;padding:.2rem .5rem;border-radius:var(--radius-sm);text-align:center}.status-claimed{background:#2ba35a33;color:var(--color-success)}.status-available{background:#ffa50033;color:var(--color-warning)}.slot-actions{display:flex;justify-content:flex-end}@media (max-width: 768px){.slots-header{display:none}.slot-row{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.slot-actions{width:100%;margin-top:.5rem}.form-row{flex-direction:column}.form-row input,.form-row select{width:100%}}.history-container{min-height:100vh;min-height:100dvh;padding:1rem;padding-top:calc(70px + 1rem);padding-top:calc(70px + 1rem + env(safe-area-inset-top,0px));max-width:800px;margin:0 auto}.history-header{position:fixed;top:0;left:0;right:0;height:60px;padding:0 1rem;padding-top:env(safe-area-inset-top,0px);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:1rem;z-index:100}.history-header h1{font-size:1.25rem;color:var(--color-text);margin:0}.history-loading{display:flex;justify-content:center;align-items:center;min-height:50vh;color:var(--color-text-muted);font-size:1.1rem}.history-error{background:#d7263d33;border:1px solid var(--color-error);color:var(--color-error-light);padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem}.history-filters{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-btn{padding:.5rem 1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);font-family:Crimson Text,serif;font-size:.9rem;cursor:pointer;transition:all var(--transition-fast)}.filter-btn:hover{border-color:var(--color-primary-light);color:var(--color-text)}.filter-btn.active{background:var(--color-primary);border-color:var(--color-primary-light);color:var(--color-text)}.history-empty{text-align:center;padding:3rem 1rem;color:var(--color-text-muted)}.history-empty p{margin-bottom:1.5rem;font-size:1.1rem}.history-list{display:flex;flex-direction:column;gap:1rem}.history-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--transition-fast)}.history-card:hover{border-color:var(--color-primary-light)}.history-card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border)}.game-code{font-family:Courier New,monospace;font-size:1.25rem;font-weight:700;color:var(--color-accent);letter-spacing:2px}.game-status{font-size:.8rem;padding:.25rem .75rem;border-radius:var(--radius-full);font-weight:500}.status-waiting{background:#ffa50033;color:var(--color-warning)}.status-playing{background:#2ba35a33;color:var(--color-success)}.status-finished{background:#6c757d33;color:var(--color-text-muted)}.history-card-body{padding:1rem}.history-info{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0}.history-info:not(:last-child){border-bottom:1px solid var(--color-border-light)}.history-label{font-size:.9rem;color:var(--color-text-muted)}.history-value{font-size:.9rem;color:var(--color-text);display:flex;align-items:center;gap:.5rem}.team-badge{font-size:.75rem;padding:.15rem .5rem;border-radius:var(--radius-sm)}.team-badge.team-sherlock{background:var(--color-team-sherlock-subtle);color:var(--color-team-sherlock);border:1px solid var(--color-team-sherlock)}.team-badge.team-moriarty{background:var(--color-team-moriarty-subtle);color:var(--color-team-moriarty-text);border:1px solid var(--color-team-moriarty)}.history-card-footer{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-surface-elevated);border-top:1px solid var(--color-border)}.btn-sm{padding:.5rem 1rem;font-size:.85rem}.btn-primary{background:linear-gradient(135deg,var(--color-team-sherlock),var(--color-team-sherlock-light));color:var(--color-team-sherlock-text);border:2px solid var(--color-accent);border-radius:var(--radius-md);font-family:Crimson Text,serif;font-weight:600;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow-sherlock)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:2px solid var(--color-border);border-radius:var(--radius-md);font-family:Crimson Text,serif;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-secondary:hover{border-color:var(--color-primary-light);background:var(--color-surface-elevated)}.game-ended{font-size:.85rem;color:var(--color-text-muted);font-style:italic}@media (max-width: 600px){.history-info{flex-direction:column;align-items:flex-start;gap:.25rem}.history-value{flex-wrap:wrap}.history-card-footer{flex-direction:column;gap:.5rem}.history-card-footer .btn-sm{width:100%;text-align:center}}.profile-container{min-height:100vh;min-height:100dvh;padding:1rem;padding-top:calc(70px + 1rem);padding-top:calc(70px + 1rem + env(safe-area-inset-top,0px));display:flex;flex-direction:column;align-items:center}.profile-header{position:fixed;top:0;left:0;right:0;height:60px;padding:0 1rem;padding-top:env(safe-area-inset-top,0px);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:1rem;z-index:100}.profile-header h1{font-size:1.25rem;color:var(--color-text);margin:0}.btn-back{background:none;border:none;color:var(--color-text-muted);font-family:Crimson Text,serif;font-size:1rem;cursor:pointer;padding:.5rem 1rem;border-radius:var(--radius-md);transition:all var(--transition-fast)}.btn-back:hover{background:var(--color-surface-elevated);color:var(--color-text)}.profile-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;width:100%;max-width:500px;box-shadow:var(--shadow-xl)}.profile-avatar{width:80px;height:80px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-team-sherlock),var(--color-team-sherlock-light));display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;border:3px solid var(--color-accent)}.avatar-letter{font-size:2.5rem;font-weight:700;color:var(--color-team-sherlock-text);font-family:Playfair Display,serif}.profile-error{background:#d7263d33;border:1px solid var(--color-error);color:var(--color-error-light);padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;text-align:center}.profile-success{background:#2ba35a33;border:1px solid var(--color-success);color:var(--color-success-light);padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;text-align:center}.profile-form{display:flex;flex-direction:column;gap:1.25rem}.profile-field{display:flex;flex-direction:column;gap:.5rem}.profile-field label{font-size:.85rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.profile-field input{padding:.75rem 1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;background:var(--color-surface-elevated);color:var(--color-text);transition:border-color var(--transition-fast)}.profile-field input:focus{outline:none;border-color:var(--color-primary-light)}.profile-value{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--color-border-light)}.profile-value span{font-size:1rem;color:var(--color-text)}.btn-edit{background:none;border:none;color:var(--color-primary-light);font-size:.9rem;cursor:pointer;padding:.25rem .5rem;transition:color var(--transition-fast)}.btn-edit:hover{color:var(--color-accent);text-decoration:underline}.profile-actions{display:flex;gap:1rem;margin-top:.5rem}.profile-actions .btn-primary,.profile-actions .btn-secondary{flex:1;padding:.75rem 1rem;font-size:1rem;border-radius:var(--radius-md);font-family:Crimson Text,serif;font-weight:600;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.profile-actions .btn-primary{background:linear-gradient(135deg,var(--color-team-sherlock),var(--color-team-sherlock-light));color:var(--color-team-sherlock-text);border:2px solid var(--color-accent)}.profile-actions .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow-sherlock)}.profile-actions .btn-secondary{background:var(--color-surface);color:var(--color-text);border:2px solid var(--color-border)}.profile-actions .btn-secondary:hover:not(:disabled){border-color:var(--color-primary-light);background:var(--color-surface-elevated)}.profile-actions button:disabled{opacity:.6;cursor:not-allowed}.profile-divider{height:1px;background:var(--color-border);margin:1.5rem 0}.profile-links{display:flex;flex-direction:column;gap:.5rem}.profile-links .btn-link{background:none;border:none;color:var(--color-text-muted);font-size:.95rem;cursor:pointer;padding:.75rem;text-align:left;border-radius:var(--radius-md);transition:all var(--transition-fast);font-family:Crimson Text,serif}.profile-links .btn-link:hover{background:var(--color-surface-elevated);color:var(--color-text)}.profile-links .btn-danger-text{color:var(--color-error-light)}.profile-links .btn-danger-text:hover{background:#d7263d1a;color:var(--color-error)}@media (max-width: 500px){.profile-card{padding:1.5rem}.profile-actions{flex-direction:column}}:root{--color-team-sherlock: #F5F0E6;--color-team-sherlock-light: #FFFDF7;--color-team-sherlock-dark: #E8DFD0;--color-team-sherlock-subtle: rgba(245, 240, 230, .15);--color-team-sherlock-text: #1a1a1a;--color-team-moriarty: #1a1a1a;--color-team-moriarty-light: #2d2d2d;--color-team-moriarty-dark: #0a0a0a;--color-team-moriarty-subtle: rgba(26, 26, 26, .3);--color-team-moriarty-text: #ffffff;--color-card-neutral: #D9D9D9;--color-card-neutral-dark: #B8B8B8;--color-card-danger: #D7263D;--color-card-danger-light: #E85A6B;--color-card-drawing: #FF66C4;--color-card-drawing-light: #FF99D6;--color-card-mime: #FFA500;--color-card-mime-light: #FFBB33;--color-card-transition: #7A3E9D;--color-card-transition-light: #9B5BBD;--color-card-silence: #4A4A4A;--color-card-chaos: #FF4500;--color-card-double: #FFD700;--color-card-swap: #00CED1;--color-card-black: #1A1A1A;--color-background: #0a0a1a;--color-surface: #1a1a2e;--color-surface-elevated: #252542;--color-surface-overlay: rgba(0, 0, 0, .7);--color-text: #ffffff;--color-text-muted: #a0a0a0;--color-text-light: #666666;--color-text-inverse: #1a1a2e;--color-border: #3a3a5e;--color-border-light: #2a2a4a;--color-success: #2BA35A;--color-success-light: #55efc4;--color-warning: #FFA500;--color-warning-dark: #f39c12;--color-error: #D7263D;--color-error-light: #E85A6B;--color-info: #2E5BA8;--color-primary: #1A3A73;--color-primary-light: #2E5BA8;--color-primary-dark: #0F2347;--color-secondary: #1A733F;--color-secondary-light: #2BA35A;--color-accent: #FFD700;--color-accent-light: #FFE44D;--color-accent-dark: #CC9900;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .6);--shadow-glow-sherlock: 0 0 20px rgba(245, 240, 230, .5);--shadow-glow-moriarty: 0 0 20px rgba(201, 169, 89, .5);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--color-dark: var(--color-text);--color-light: var(--color-surface);--color-team-red: var(--color-team-sherlock);--color-team-red-light: var(--color-team-sherlock-light);--color-team-red-dark: var(--color-team-sherlock-dark);--color-team-red-subtle: var(--color-team-sherlock-subtle);--color-team-blue: var(--color-team-moriarty);--color-team-blue-light: var(--color-team-moriarty-light);--color-team-blue-dark: var(--color-team-moriarty-dark);--color-team-blue-subtle: var(--color-team-moriarty-subtle);--color-neutral: var(--color-card-neutral);--color-assassin: var(--color-card-danger);--color-assassin-light: var(--color-card-danger-light);font-family:Playfair Display,Georgia,serif;line-height:1.5;font-weight:400;color:var(--color-text);background-color:var(--color-background)}*{margin:0;padding:0;box-sizing:border-box}html{height:100%;height:-webkit-fill-available}body{min-height:100vh;min-height:-webkit-fill-available;display:flex;flex-direction:column;justify-content:center;align-items:center;background:url(/assets/texture-victorian.svg) repeat,linear-gradient(180deg,var(--color-background) 0%,#0d0d24 100%);background-size:200px 200px,100% 100%;-webkit-overflow-scrolling:touch}@supports (-webkit-touch-callout: none){body{min-height:-webkit-fill-available}}#root{width:100%;min-height:100vh;min-height:-webkit-fill-available;display:flex;flex-direction:column}.container{max-width:800px;margin:0 auto;padding:2rem;text-align:center}.hero{margin-bottom:3rem}.hero-logo{width:100%;max-width:400px;height:auto;margin-bottom:2rem}.hero h1{font-size:3rem;color:var(--color-text);margin-bottom:.5rem;font-weight:700;letter-spacing:.05em}.tagline{font-size:1.25rem;color:var(--color-text-muted);font-family:Crimson Text,serif;font-style:italic}.home-page{position:relative;overflow:hidden;min-height:100vh}.hero-characters{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:0}.hero-character{position:fixed;height:70vh;max-height:500px;width:auto;opacity:.15;filter:grayscale(30%);transition:opacity .3s ease}.hero-character-left{left:-5%;bottom:0}.hero-character-right{right:-5%;bottom:0;transform:scaleX(-1)}@media (min-width: 1200px){.hero-character{opacity:.2;height:80vh;max-height:600px}.hero-character-left{left:2%}.hero-character-right{right:2%}}@media (max-width: 768px){.hero-character{display:none}}.home-page .hero,.home-page .main,.home-page .footer{position:relative;z-index:1}.team-illustration{width:120px;height:120px;margin:0 auto 1rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.team-illustration-small{width:60px;height:60px}.divider{width:100%;max-width:400px;height:30px;margin:2rem auto}.actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn{padding:1rem 2rem;font-size:1.1rem;border:none;border-radius:var(--radius-md);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);font-family:Crimson Text,serif;font-weight:600;letter-spacing:.03em}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-primary{background:linear-gradient(135deg,var(--color-team-sherlock),var(--color-team-sherlock-light));color:var(--color-team-sherlock-text);border:2px solid var(--color-accent)}.btn-primary:hover{box-shadow:var(--shadow-glow-sherlock)}.btn-secondary{background:linear-gradient(135deg,var(--color-team-moriarty),var(--color-team-moriarty-light));color:var(--color-team-moriarty-text);border:2px solid var(--color-accent)}.btn-secondary:hover{box-shadow:var(--shadow-glow-moriarty)}.api-status{margin-top:2rem;color:var(--color-success);font-size:.9rem}.footer{margin-top:4rem;color:var(--color-text-muted);font-size:.85rem}.auth-container{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:2rem}.auth-card{background:var(--color-surface);padding:2.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:400px;border:1px solid var(--color-border)}.auth-logo{width:100%;max-width:280px;height:auto;margin:0 auto 1.5rem;display:block}.auth-card h1{color:var(--color-text);margin-bottom:.5rem;text-align:center;font-weight:700}.auth-subtitle{text-align:center;color:var(--color-text-muted);margin-bottom:2rem;font-family:Crimson Text,serif}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:var(--color-text)}.form-group input{padding:.75rem 1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;transition:border-color var(--transition-fast);background:var(--color-surface-elevated);color:var(--color-text)}.form-group input:focus{outline:none;border-color:var(--color-primary-light)}.error-message{background:#d7263d33;color:var(--color-error-light);padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.9rem;margin-bottom:1rem;border:1px solid var(--color-error)}.auth-link{text-align:center;margin-top:1.5rem;color:var(--color-text-muted)}.auth-link a{color:var(--color-primary-light);text-decoration:none;font-weight:500}.auth-link a:hover{text-decoration:underline}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-link{background:none;color:var(--color-text-muted);text-decoration:underline;padding:.5rem;margin-top:1rem}.btn-link:hover{color:var(--color-text);transform:none;box-shadow:none}.welcome{font-size:1.2rem;margin-bottom:2rem}a.btn{text-decoration:none;display:inline-block}.dev-login{margin-top:2rem;padding-top:1.5rem;border-top:1px dashed var(--color-border)}.btn-dev{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;width:100%;font-size:.9rem}.btn-dev:hover{opacity:.9}.guest-hint{margin-top:1rem;color:var(--color-text-muted);font-size:.9rem;font-family:Crimson Text,serif;font-style:italic}.home-links{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.home-links .btn-link{margin-top:0}
