:root{--bg-app:linear-gradient(135deg, #090d16 0%, #11102b 100%);--panel-bg:rgba(255, 255, 255, 0.03);--panel-border:rgba(255, 255, 255, 0.08);--panel-shadow:rgba(0, 0, 0, 0.4);--text-primary:#f8fafc;--text-secondary:#94a3b8;--accent-primary:#6366f1;--accent-hover:#4f46e5;--success:#10b981;--success-bg:rgba(16, 185, 129, 0.1);--success-border:#34d399;--danger:#ef4444;--danger-hover:#dc2626;--dice-bg:#ffffff;--dice-dot:#1e293b;--dice-selected-bg:#ecfdf5;--dice-selected-border:#10b981;--dice-shadow:rgba(0, 0, 0, 0.3);--font-main:'Plus Jakarta Sans',sans-serif;--font-header:'Outfit',sans-serif}[data-theme=medieval]{--bg-app:#1a1206;--panel-bg:rgba(56, 38, 20, 0.85);--panel-border:rgba(160, 120, 60, 0.3);--panel-shadow:rgba(0, 0, 0, 0.8);--text-primary:#f5e6c8;--text-secondary:#c4a86a;--accent-primary:#d4a030;--accent-hover:#e8b840;--success:#d4a030;--success-bg:rgba(212,160,48,0.15);--success-border:#d4a030;--danger:#b84a2a;--danger-hover:#d45a3a;--dice-bg:#f0e6d3;--dice-dot:#4a3520;--dice-selected-bg:#d4c8a8;--dice-selected-border:#d4a030;--dice-shadow:rgba(0,0,0,0.6);--font-header:'Cinzel',serif;--font-main:'Cinzel',serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main),'Noto Color Emoji',sans-serif;background:var(--bg-app);color:var(--text-primary);min-height:100vh;padding:30px 20px;display:flex;justify-content:center}.app-container{width:100%;max-width:1100px;display:flex;flex-direction:column;gap:24px}header{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05)}.logo{display:flex;flex-direction:column}.logo-accent{font-family:var(--font-header),'Noto Color Emoji';font-weight:800;font-size:32px;letter-spacing:2px;background:linear-gradient(90deg,#818cf8,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1.1}.logo-sub{font-size:11px;font-weight:600;color:var(--text-secondary);letter-spacing:4px;margin-left:2px}.status-badge{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--text-primary);padding:10px 20px;border-radius:9999px;font-size:14px;font-weight:500;transition:all .3s ease;box-shadow:0 4px 12px rgba(0,0,0,.1)}.status-badge.farkle-alert{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.3);color:#fca5a5;animation:shake .5s ease-in-out}.status-badge.hot-alert{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.3);color:#fde047;animation:pulse 1.5s infinite}.game-dashboard{display:grid;grid-template-columns:1.2fr 0.8fr;gap:24px}@media (max-width:868px){.game-dashboard{grid-template-columns:1fr}}.glass-panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:20px;padding:24px;box-shadow:0 12px 40px var(--panel-shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;flex-direction:column;gap:20px}.panel-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:12px}.panel-header h2{font-family:var(--font-header),'Noto Color Emoji';font-size:18px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.dice-container{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;padding:30px 10px;min-height:180px;background:rgba(0,0,0,.15);border-radius:16px;border:1px dashed rgba(255,255,255,.05)}.dice-element{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:6px;width:90px;height:90px;padding:12px;background:var(--dice-bg);border-radius:16px;box-shadow:0 8px 16px var(--dice-shadow),inset 0 -4px 0 rgba(0,0,0,.15);cursor:pointer;transition:transform .2s cubic-bezier(.175, .885, .32, 1.275),box-shadow .2s,border .2s,background-color .2s;border:4px solid transparent;position:relative;user-select:none}.dice-element:hover{transform:translateY(-5px) scale(1.05);box-shadow:0 12px 24px rgba(0,0,0,.4),inset 0 -4px 0 rgba(0,0,0,.15)}.dice-element:active{transform:translateY(1px) scale(.98)}.dice-element.selected{border-color:var(--dice-selected-border);background-color:var(--dice-selected-bg);box-shadow:0 0 20px rgba(16,185,129,.4),inset 0 -4px 0 rgba(16,185,129,.15)}.dice-element.selected .dot{background-color:var(--success)}.dice-element.unscoreable{opacity:.3;cursor:not-allowed;transform:none!important;box-shadow:none!important;border-color:rgba(255,255,255,.05)}.dice-element.not-my-turn{cursor:default;transform:none!important;box-shadow:0 8px 16px var(--dice-shadow),inset 0 -4px 0 rgba(0,0,0,.15)!important}.dice-element.not-my-turn:hover{transform:none!important;box-shadow:0 8px 16px var(--dice-shadow),inset 0 -4px 0 rgba(0,0,0,.15)!important}.dot{width:14px;height:14px;background-color:var(--dice-dot);border-radius:50%;align-self:center;justify-self:center;box-shadow:inset 0 1px 2px rgba(0,0,0,.3);transition:background-color .2s}.action-controls{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width:600px){.action-controls{grid-template-columns:1.2fr 1fr 1fr}}.btn{padding:14px 24px;font-family:var(--font-main),'Noto Color Emoji';font-size:16px;font-weight:700;border-radius:12px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease;box-shadow:0 4px 12px rgba(0,0,0,.15)}.btn:disabled{opacity:.35;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn .icon{font-size:18px}.btn-primary{background:linear-gradient(135deg,#6366f1 0,#4f46e5 100%);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5 0,#4338ca 100%);transform:translateY(-2px);box-shadow:0 6px 20px rgba(99,102,241,.4)}.btn-secondary{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff}.btn-secondary:hover:not(:disabled){background:rgba(255,255,255,.15);transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,255,255,.05)}.btn-danger{background:linear-gradient(135deg,#ef4444 0,#dc2626 100%);color:#fff}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626 0,#b91c1c 100%);transform:translateY(-2px);box-shadow:0 6px 20px rgba(239,68,68,.4)}.side-panel{display:flex;flex-direction:column;gap:24px}.toast-container{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:10px;z-index:1000}.toast{min-width:200px;padding:12px 16px;border-radius:8px;color:#fff;font-size:14px;opacity:0;animation:toast-in .4s forwards,toast-out .4s var(--duration,3000) forwards;display:flex;align-items:center;gap:8px}.toast.info{background:rgba(59,130,246,.9)}.toast.success{background:rgba(16,185,129,.9)}.toast.error{background:rgba(239,68,68,.9)}@keyframes toast-in{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toast-out{from{opacity:1}to{opacity:0}}.input-field{padding:8px 12px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:rgba(255,255,255,.05);color:var(--text-primary);font-size:14px;outline:0;width:180px}.input-field::placeholder{color:var(--text-secondary)}.selection-info{font-size:14px;color:var(--text-secondary)}.header-score-info{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.turn-total-info{font-size:13px;font-weight:600;color:var(--success);font-family:var(--font-header),'Noto Color Emoji'}.stored-dice-tray{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:16px;background:rgba(0,0,0,.2);border-radius:12px;min-height:80px;border:1px solid rgba(255,255,255,.03)}.empty-state{color:var(--text-secondary);font-size:14px;font-style:italic;width:100%;text-align:center}.stored-dice-tray .dice-element.stored{width:44px;height:44px;padding:5px;gap:2px;border-radius:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);box-shadow:none;cursor:default;transform:none!important}.stored-dice-tray .dice-element.stored .dot{width:6px;height:6px;background-color:var(--text-primary)}.history-display{max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:4px}.history-display::-webkit-scrollbar{width:6px}.history-display::-webkit-scrollbar-track{background:0 0}.history-display::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:3px}.history-item{padding:10px 14px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);border-radius:8px;font-size:13px;display:flex;justify-content:space-between;align-items:center}.history-roll-num{font-weight:600;color:var(--accent-primary)}.history-roll-dice{font-family:monospace,'Noto Color Emoji';font-size:14px;background:rgba(0,0,0,.2);padding:2px 6px;border-radius:4px}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.6}}.landing-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;width:100%;padding:40px 24px;gap:40px;position:relative}.landing-hero{display:flex;flex-direction:column;align-items:center;gap:32px;max-width:480px;width:100%;animation:landingFadeIn .8s cubic-bezier(.16,1,.3,1)}@keyframes landingFadeIn{from{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.landing-logo{display:flex;flex-direction:column;align-items:center;gap:4px}.landing-icon{font-size:72px;margin-bottom:8px;filter:drop-shadow(0 0 30px rgba(99, 102, 241, .3));animation:landingBounce 3s ease-in-out infinite}@keyframes landingBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.landing-logo .logo-accent{font-size:56px;letter-spacing:4px}.landing-logo .logo-sub{font-size:13px;letter-spacing:6px;margin-top:4px}.landing-tagline{color:var(--text-secondary);font-size:16px;text-align:center;max-width:300px;line-height:1.5}.landing-buttons{display:flex;flex-direction:column;gap:16px;width:100%;max-width:360px}.landing-btn{display:flex;align-items:center;gap:16px;padding:18px 24px;border-radius:16px;border:none;cursor:pointer;font-family:var(--font-main),'Noto Color Emoji';text-align:left;transition:all .3s cubic-bezier(.16, 1, .3, 1);width:100%;position:relative;overflow:hidden}.landing-btn::after{content:'';position:absolute;inset:0;border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.1) 0,transparent 50%);pointer-events:none}.landing-btn:hover{transform:translateY(-3px) scale(1.02)}.landing-btn:active{transform:translateY(0) scale(.98)}.landing-btn-icon{font-size:32px;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);border-radius:12px}.landing-btn-text{display:flex;flex-direction:column;gap:2px}.landing-btn-label{font-size:18px;font-weight:700;letter-spacing:.5px}.landing-btn-desc{font-size:13px;opacity:.7;font-weight:400}.landing-btn-primary{background:linear-gradient(135deg,#6366f1 0,#4f46e5 100%);color:#fff;box-shadow:0 8px 24px rgba(99,102,241,.35)}.landing-btn-primary:hover{box-shadow:0 12px 40px rgba(99,102,241,.5)}.landing-btn-accent{background:linear-gradient(135deg,#8b5cf6 0,#7c3aed 100%);color:#fff;box-shadow:0 8px 24px rgba(139,92,246,.35)}.landing-btn-accent:hover{box-shadow:0 12px 40px rgba(139,92,246,.5)}.landing-btn-secondary{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#fff;box-shadow:0 4px 16px rgba(0,0,0,.2)}.landing-btn-secondary:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);box-shadow:0 8px 32px rgba(0,0,0,.3)}.landing-join-wrapper{display:flex;flex-direction:column;gap:10px}.landing-join-input-group{display:flex;gap:8px;padding-left:4px}.landing-input{flex:1;padding:12px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:var(--text-primary);font-family:var(--font-main),'Noto Color Emoji';font-size:14px;outline:0;transition:border-color .2s,box-shadow .2s}.landing-input:focus{border-color:rgba(99,102,241,.5);box-shadow:0 0 20px rgba(99,102,241,.15)}.landing-input::placeholder{color:var(--text-secondary)}.landing-input[readonly]{opacity:.7;cursor:not-allowed;border-style:dashed}.landing-input-btn{padding:12px 20px;border-radius:12px;border:none;background:linear-gradient(135deg,#6366f1 0,#4f46e5 100%);color:#fff;font-family:var(--font-main),'Noto Color Emoji';font-weight:700;font-size:14px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.landing-input-btn:hover{background:linear-gradient(135deg,#4f46e5 0,#4338ca 100%);transform:translateY(-1px);box-shadow:0 4px 16px rgba(99,102,241,.4)}.landing-input-btn:active{transform:translateY(0)}.lobby-section{width:100%;max-width:480px}.lobby-panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:20px;padding:24px;box-shadow:0 12px 40px var(--panel-shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;flex-direction:column;gap:16px}.lobby-header{text-align:center}.lobby-title{font-family:var(--font-header),'Noto Color Emoji';font-size:20px;font-weight:700;color:var(--text-primary);letter-spacing:1px;margin:0}.lobby-subtitle{font-size:13px;color:var(--text-secondary);opacity:.7;margin-top:4px;display:block}.open-rooms-list{display:flex;flex-direction:column;gap:10px;max-height:220px;overflow-y:auto;padding-right:4px}.open-rooms-list::-webkit-scrollbar{width:5px}.open-rooms-list::-webkit-scrollbar-track{background:0 0}.open-rooms-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:3px}.room-entry{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:14px;transition:all .3s cubic-bezier(.16, 1, .3, 1);animation:lobbyFadeIn .35s cubic-bezier(.16,1,.3,1) both}.room-entry:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.2)}@keyframes lobbyFadeIn{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.room-entry-left{display:flex;flex-direction:column;gap:4px}.room-code{font-family:monospace,'Noto Color Emoji';font-size:20px;font-weight:700;letter-spacing:2px;color:var(--accent-primary)}.room-meta{display:flex;gap:12px;align-items:center}.room-time{font-size:12px;color:var(--text-secondary);opacity:.7;transition:opacity .3s ease}.room-players{font-size:12px;color:var(--text-secondary)}.room-join-btn{padding:10px 20px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover));color:#fff;font-family:var(--font-main),'Noto Color Emoji';font-weight:700;font-size:13px;letter-spacing:.5px;cursor:pointer;transition:all .25s cubic-bezier(.16, 1, .3, 1);white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.2)}.room-join-btn:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 6px 20px rgba(99,102,241,.35)}.room-join-btn:active{transform:translateY(0) scale(.97)}.lobby-empty{text-align:center;padding:20px 12px;display:flex;flex-direction:column;align-items:center;gap:8px}.lobby-empty-icon{font-size:32px;opacity:.5}.lobby-empty-text{font-size:14px;color:var(--text-secondary);font-style:italic;opacity:.6}.lobby-empty-text strong{font-style:normal;color:var(--text-secondary)}.loading-rooms{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 12px;font-size:14px;color:var(--text-secondary);opacity:.8}.lobby-spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.08);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.theme-selector{display:flex;flex-direction:column;align-items:center;gap:10px;animation:landingFadeIn .8s cubic-bezier(.16,1,.3,1);animation-delay:.3s;animation-fill-mode:both}.theme-selector-label{font-size:13px;font-weight:600;color:var(--text-secondary);letter-spacing:2px;text-transform:uppercase;opacity:.6}.theme-swatches{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center;max-width:480px}.theme-swatch{width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,255,255,.15);background:var(--swatch-color,#6366f1);cursor:pointer;transition:all .25s cubic-bezier(.16, 1, .3, 1);position:relative;outline:0;padding:0}.theme-swatch:hover{transform:scale(1.25);border-color:rgba(255,255,255,.4);box-shadow:0 0 20px color-mix(in srgb,var(--swatch-color) 40%,transparent)}.theme-swatch.active{border-color:var(--text-primary);transform:scale(1.15);box-shadow:0 0 0 3px color-mix(in srgb,var(--swatch-color) 30%,transparent),0 0 20px color-mix(in srgb,var(--swatch-color) 40%,transparent)}.theme-swatch.active::after{content:'✓';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:rgba(255,255,255,.9);text-shadow:0 1px 3px rgba(0,0,0,.5)}.landing-footer{color:var(--text-secondary);font-size:12px;opacity:.5;position:absolute;bottom:24px}.header-left{display:flex;align-items:center;gap:12px}.btn-back{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);padding:8px 16px;border-radius:10px;font-size:14px;font-weight:600;font-family:var(--font-main),'Noto Color Emoji';cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-back:hover{background:rgba(255,255,255,.12);color:var(--text-primary);border-color:rgba(255,255,255,.2)}.players-scores{display:flex;flex-direction:column;gap:12px}.player-card{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);border-radius:12px;transition:all .3s cubic-bezier(.4, 0, .2, 1)}.player-name{font-weight:600;font-size:15px;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.player-score{font-family:var(--font-header),'Noto Color Emoji';font-size:24px;font-weight:800;color:var(--text-primary)}.player-card.active{background:rgba(99,102,241,.08);border-color:rgba(99,102,241,.4);box-shadow:0 0 16px rgba(99,102,241,.15)}.player-card.active .player-name{color:#a5b4fc}.player-card.active .player-name::before{content:'';display:inline-block;width:8px;height:8px;background:#818cf8;border-radius:50%;box-shadow:0 0 8px #818cf8;animation:pulse 1.5s infinite}.player-card.active .player-name::before{content:'';display:inline-block;width:8px;height:8px;background:#818cf8;border-radius:50%;box-shadow:0 0 8px #818cf8;animation:pulse 1.5s infinite}.player-card.active .player-score{color:#a5b4fc;text-shadow:0 0 10px rgba(165,180,252,.3)}.waiting-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px 20px;background:rgba(0,0,0,.2);border-radius:16px;border:1px dashed rgba(255,255,255,.08);min-height:180px}.waiting-spinner{width:48px;height:48px;border:4px solid rgba(99,102,241,.2);border-top-color:#818cf8;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.waiting-text{font-size:16px;font-weight:500;color:var(--text-secondary);letter-spacing:.5px}.multiplayer-panel{transition:all .3s ease}.multiplayer-panel.hidden{display:none}.reconnect-panel{text-align:center;animation:landingFadeIn .5s cubic-bezier(.16,1,.3,1)}.reconnect-panel h2{font-family:var(--font-header),'Noto Color Emoji';font-size:24px;font-weight:700;color:#fca5a5;margin-bottom:8px}.reconnect-panel .reconnect-info{font-size:16px;color:var(--text-secondary);margin-bottom:16px;line-height:1.6}.reconnect-panel .reconnect-id{display:inline-block;font-family:monospace,'Noto Color Emoji';font-size:18px;font-weight:700;color:var(--accent-primary);background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.3);padding:8px 20px;border-radius:10px;margin:8px 0;letter-spacing:1px}.reconnect-actions{display:flex;gap:12px;justify-content:center;margin-top:16px}.reconnect-actions .btn{min-width:160px}.waiting-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:999;animation:overlayFadeIn .3s ease}@keyframes overlayFadeIn{from{opacity:0}to{opacity:1}}.waiting-dialog{max-width:420px;width:90%;text-align:center;padding:40px 32px;display:flex;flex-direction:column;align-items:center;gap:16px;animation:dialogSlideIn .4s cubic-bezier(.16,1,.3,1)}@keyframes dialogSlideIn{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.waiting-dialog-icon{font-size:56px;animation:waitingBounce 2s ease-in-out infinite}@keyframes waitingBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}.waiting-dialog-title{font-family:var(--font-header),'Noto Color Emoji';font-size:24px;font-weight:700;color:var(--text-primary);margin:0}.waiting-dialog-subtitle{font-size:14px;color:var(--text-secondary);margin:0}.waiting-session-id{font-family:monospace,'Noto Color Emoji';font-size:22px;font-weight:700;color:var(--accent-primary);background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.3);padding:12px 24px;border-radius:12px;letter-spacing:2px;word-break:break-all;user-select:all}.btn-copy{background:linear-gradient(135deg,#6366f1 0,#4f46e5 100%);color:#fff;padding:10px 24px;font-size:15px;border-radius:10px;border:none;font-family:var(--font-main),'Noto Color Emoji';font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px rgba(99,102,241,.3)}.btn-copy:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(99,102,241,.4)}.btn-copy:active{transform:translateY(0)}.waiting-dialog-hint{font-size:13px;color:var(--text-secondary);margin:0;opacity:.7}.name-dialog{max-width:420px}.name-inputs{display:flex;flex-direction:column;gap:16px;width:100%;padding:8px 0}.name-field{display:flex;flex-direction:column;gap:6px}.name-field label{font-size:14px;font-weight:600;color:var(--text-secondary);letter-spacing:.5px;text-transform:uppercase}.name-field .landing-input{font-size:18px;font-weight:600;padding:14px 16px;text-align:center;width:100%}.badge{font-size:12px;padding:4px 12px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);display:inline-block}[data-theme=medieval] .app-container,[data-theme=medieval] body{position:relative}[data-theme=medieval] .app-container::before{content:'';position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 28px,rgba(60,40,18,.12) 28px,rgba(60,40,18,.12) 29px),repeating-linear-gradient(90deg,transparent,transparent 45px,rgba(50,32,14,.1) 45px,rgba(50,32,14,.1) 46px),repeating-linear-gradient(0deg,transparent 0,transparent 28px,rgba(50,32,14,.06) 28px,rgba(50,32,14,.06) 29px),repeating-linear-gradient(90deg,transparent 22px,transparent 67px,rgba(40,26,10,.06) 67px,rgba(40,26,10,.06) 68px),radial-gradient(ellipse 120% 60% at 100% 100%,rgba(212,160,48,.08) 0,transparent 70%),radial-gradient(ellipse 80% 50% at 0 0,rgba(212,160,48,.05) 0,transparent 60%),linear-gradient(180deg,#1a1206 0,#24180a 50%,#1e1408 100%);pointer-events:none;z-index:0}[data-theme=medieval] .app-container>*{position:relative;z-index:1}[data-theme=medieval] header{border-bottom:none;padding-bottom:16px;position:relative}[data-theme=medieval] header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:5px;background:repeating-linear-gradient(90deg,rgba(160,120,60,.15) 0,rgba(160,120,60,.15) 2px,transparent 2px,transparent 14px);border-top:1px solid rgba(160,120,60,.25);border-bottom:1px solid rgba(160,120,60,.12);pointer-events:none}[data-theme=medieval] .logo-accent{background:linear-gradient(90deg,#d4a030,#e8c060,#d4a030);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:4px;filter:drop-shadow(0 0 12px rgba(212, 160, 48, .25));animation:medievalTorchFlicker 4s ease-in-out infinite}[data-theme=medieval] .logo-sub{color:#b8a080;letter-spacing:6px}[data-theme=medieval] .logo::after{content:'⚜';font-size:10px;color:#8a7a58;letter-spacing:4px;margin-top:2px}[data-theme=medieval] .status-badge{background:rgba(60,42,22,.6);border:1px solid rgba(160,120,60,.3);color:#f5e6c8;font-size:13px;padding:10px 24px;box-shadow:0 2px 8px rgba(0,0,0,.4),inset 0 1px 0 rgba(200,170,100,.1);border-radius:8px;font-family:Cinzel,'Noto Color Emoji',serif;letter-spacing:1px}[data-theme=medieval] .glass-panel{background:linear-gradient(180deg,rgba(60,42,24,.92) 0,rgba(45,30,16,.95) 100%);border:2px solid rgba(120,85,40,.4);border-radius:12px;box-shadow:inset 0 1px 0 rgba(200,160,80,.08),inset 0 -2px 0 rgba(0,0,0,.3),0 8px 32px rgba(0,0,0,.6);backdrop-filter:none;-webkit-backdrop-filter:none;position:relative}[data-theme=medieval] .glass-panel::before{content:'';position:absolute;inset:0;border-radius:11px;background:repeating-linear-gradient(89deg,transparent,transparent 30px,rgba(80,50,20,.1) 30px,rgba(80,50,20,.1) 31px),repeating-linear-gradient(179deg,transparent,transparent 45px,rgba(60,40,16,.06) 45px,rgba(60,40,16,.06) 46px);pointer-events:none;z-index:0}[data-theme=medieval] .glass-panel>*{position:relative;z-index:1}[data-theme=medieval] .glass-panel::after{content:'✦';position:absolute;top:-6px;left:50%;transform:translateX(-50%);font-size:10px;color:rgba(160,120,60,.3);pointer-events:none;z-index:1}[data-theme=medieval] .board-panel.glass-panel::after,[data-theme=medieval] .history-panel.glass-panel::after,[data-theme=medieval] .scoreboard-panel.glass-panel::after,[data-theme=medieval] .turn-panel.glass-panel::after{display:none}[data-theme=medieval] .board-panel.glass-panel,[data-theme=medieval] .history-panel.glass-panel,[data-theme=medieval] .scoreboard-panel.glass-panel,[data-theme=medieval] .turn-panel.glass-panel{position:relative}[data-theme=medieval] .board-panel.glass-panel::before,[data-theme=medieval] .history-panel.glass-panel::before,[data-theme=medieval] .scoreboard-panel.glass-panel::before,[data-theme=medieval] .turn-panel.glass-panel::before{content:'✦';position:absolute;bottom:-5px;left:50%;transform:translateX(-50%);font-size:10px;color:rgba(160,120,60,.25);pointer-events:none;z-index:1}[data-theme=medieval] .panel-header{border-bottom:none;padding-bottom:14px;position:relative}[data-theme=medieval] .panel-header h2{color:#c4a86a;letter-spacing:2px;font-size:14px}[data-theme=medieval] .panel-header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0,rgba(160,120,60,.3) 20%,rgba(160,120,60,.3) 80%,transparent 100%);border-radius:1px}[data-theme=medieval] .dice-container{background:repeating-linear-gradient(92deg,transparent 0,transparent 18px,rgba(80,50,20,.15) 18px,rgba(80,50,20,.15) 19px,transparent 19px,transparent 40px),repeating-linear-gradient(87deg,transparent 0,transparent 35px,rgba(70,45,18,.1) 35px,rgba(70,45,18,.1) 36px),linear-gradient(180deg,#5a3a1e 0,#6b4424 15%,#5e3c1e 40%,#5a3820 60%,#4a2e14 80%,#3d2410 100%);border:3px solid #7a5530;border-radius:16px;box-shadow:inset 0 2px 6px rgba(0,0,0,.5),inset 0 -3px 8px rgba(0,0,0,.4),0 4px 16px rgba(0,0,0,.6);position:relative;min-height:200px}[data-theme=medieval] .dice-container::before{content:'';position:absolute;inset:3px;border-radius:13px;background:repeating-linear-gradient(88deg,transparent,transparent 25px,rgba(60,35,12,.15) 25px,rgba(60,35,12,.15) 26px),repeating-linear-gradient(86deg,transparent,transparent 45px,rgba(50,30,10,.1) 45px,rgba(50,30,10,.1) 46px);pointer-events:none;z-index:0}[data-theme=medieval] .dice-container>*{position:relative;z-index:1}[data-theme=medieval] .dice-container::after{content:'';position:absolute;top:-1px;left:-1px;right:-1px;height:4px;background:linear-gradient(90deg,transparent 5%,rgba(200,160,80,.2) 30%,rgba(200,160,80,.2) 70%,transparent 95%);border-radius:16px 16px 0 0;pointer-events:none;z-index:2}[data-theme=medieval] .dice-element{background:radial-gradient(ellipse 60% 50% at 30% 20%,rgba(255,255,240,.6) 0,transparent 70%),linear-gradient(145deg,#f5ead8 0,#e8dcc8 25%,#d4c8a8 55%,#c8b894 75%,#b8a880 100%);border:3px solid #8a7a58;border-radius:14px;box-shadow:0 6px 12px rgba(0,0,0,.5),inset 0 2px 4px rgba(255,255,240,.5),inset 0 -4px 6px rgba(80,60,30,.3),0 0 0 1px rgba(180,160,120,.2);transition:transform .2s cubic-bezier(.175, .885, .32, 1.275),box-shadow .2s,border .2s,background .2s}[data-theme=medieval] .dice-element:hover{transform:translateY(-5px) scale(1.05);box-shadow:0 10px 20px rgba(0,0,0,.5),inset 0 2px 4px rgba(255,255,240,.5),inset 0 -4px 6px rgba(80,60,30,.3),0 0 0 1px rgba(180,160,120,.3)}[data-theme=medieval] .dice-element.selected{border-color:#d4a030;background:radial-gradient(ellipse 60% 50% at 30% 20%,rgba(255,240,200,.7) 0,transparent 70%),linear-gradient(145deg,#e8dcc0 0,#d8cc90 35%,#c8b870 65%,#b8a860 100%);box-shadow:0 0 24px rgba(212,160,48,.4),0 6px 12px rgba(0,0,0,.5),inset 0 2px 4px rgba(255,255,240,.5),inset 0 -4px 6px rgba(80,60,30,.3);animation:medievalGoldGlow 2s ease-in-out infinite}[data-theme=medieval] .dice-element.unscoreable{opacity:.25;filter:grayscale(.6) sepia(.3)}[data-theme=medieval] .dot{background:radial-gradient(circle at 35% 35%,#6a5530 0,#4a3520 40%,#3a2510 100%);box-shadow:inset 0 2px 4px rgba(0,0,0,.5),0 1px 1px rgba(255,255,240,.3);width:13px;height:13px;border-radius:50%}[data-theme=medieval] .dice-element.selected .dot{background:radial-gradient(circle at 35% 35%,#b09040 0,#8a6a28 40%,#6a4e18 100%);box-shadow:inset 0 2px 4px rgba(0,0,0,.5),0 0 4px rgba(212,160,48,.3),0 1px 1px rgba(255,255,240,.3)}[data-theme=medieval] .btn{font-weight:700;letter-spacing:1px;text-transform:uppercase;font-size:13px;border-radius:10px;border:2px solid;position:relative;overflow:hidden;transition:all .2s cubic-bezier(.175, .885, .32, 1.275)}[data-theme=medieval] .btn::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(92deg,transparent,transparent 6px,rgba(255,255,255,.03) 6px,rgba(255,255,255,.03) 7px);pointer-events:none;border-radius:8px}[data-theme=medieval] .btn-primary{background:linear-gradient(180deg,#a07838 0,#8a6a30 30%,#6a4e24 60%,#5a3e1a 100%);border-color:#b08040;color:#f5e6c8;text-shadow:0 1px 2px rgba(0,0,0,.4);box-shadow:0 4px 12px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,220,120,.3),inset 0 -2px 0 rgba(0,0,0,.3)}[data-theme=medieval] .btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#b08840 0,#9a7838 30%,#7a5628 60%,#6a4620 100%);transform:translateY(-2px);box-shadow:0 6px 20px rgba(212,160,48,.3),inset 0 1px 0 rgba(255,220,120,.3),inset 0 -2px 0 rgba(0,0,0,.3)}[data-theme=medieval] .btn-primary:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 6px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,220,120,.2),inset 0 -1px 0 rgba(0,0,0,.3)}[data-theme=medieval] .btn-secondary{background:linear-gradient(180deg,#5a4a3a 0,#4a3a28 30%,#3a2a1a 60%,#2a1a0e 100%);border-color:rgba(160,120,60,.3);color:#c4a86a;text-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 4px 12px rgba(0,0,0,.3),inset 0 1px 0 rgba(160,140,80,.15),inset 0 -2px 0 rgba(0,0,0,.3)}[data-theme=medieval] .btn-secondary:hover:not(:disabled){background:linear-gradient(180deg,#6a5a4a 0,#5a4a38 30%,#4a3a2a 60%,#3a2a1e 100%);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.4),inset 0 1px 0 rgba(160,140,80,.2),inset 0 -2px 0 rgba(0,0,0,.3)}[data-theme=medieval] .btn-secondary:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 6px rgba(0,0,0,.3),inset 0 1px 0 rgba(160,140,80,.1),inset 0 -1px 0 rgba(0,0,0,.3)}[data-theme=medieval] .btn-danger{background:linear-gradient(180deg,#8a3a2a 0,#7a3020 30%,#5a2018 60%,#4a1810 100%);border-color:#a04030;color:#f5e0d0;text-shadow:0 1px 2px rgba(0,0,0,.4);box-shadow:0 4px 12px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,160,120,.2),inset 0 -2px 0 rgba(0,0,0,.3)}[data-theme=medieval] .btn-danger:hover:not(:disabled){background:linear-gradient(180deg,#9a4432 0,#8a3828 30%,#6a2820 60%,#5a2018 100%);transform:translateY(-2px);box-shadow:0 6px 20px rgba(180,60,30,.3),inset 0 1px 0 rgba(255,160,120,.2),inset 0 -2px 0 rgba(0,0,0,.3)}[data-theme=medieval] .btn-danger:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 6px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,160,120,.1),inset 0 -1px 0 rgba(0,0,0,.3)}[data-theme=medieval] .player-card{background:rgba(50,35,18,.4);border:1px solid rgba(160,120,60,.15);border-radius:10px;padding:14px 18px}[data-theme=medieval] .player-card.active{background:rgba(80,55,28,.6);border-color:rgba(212,160,48,.5);box-shadow:0 0 20px rgba(212,160,48,.15),inset 0 1px 0 rgba(200,160,80,.08)}[data-theme=medieval] .player-card.active .player-name,[data-theme=medieval] .player-card.active .player-score{color:#f0d060;text-shadow:0 0 8px rgba(212,160,48,.2)}[data-theme=medieval] .player-card.active .player-name::before{background:#d4a030;box-shadow:0 0 8px #d4a030;animation:medievalGoldGlow 2s ease-in-out infinite}[data-theme=medieval] .player-name{color:#c4a86a}[data-theme=medieval] .player-score{color:#f5e6c8}[data-theme=medieval] .history-item{background:rgba(50,35,18,.3);border:1px solid rgba(160,120,60,.1);border-radius:6px}[data-theme=medieval] .history-roll-num{color:#d4a030}[data-theme=medieval] .history-roll-dice{background:rgba(30,20,10,.5);border:1px solid rgba(160,120,60,.15);color:#d4c8a8}[data-theme=medieval] .stored-dice-tray{background:rgba(40,28,14,.6);border:1px solid rgba(160,120,60,.15);border-radius:10px}[data-theme=medieval] .stored-dice-tray .dice-element.stored{background:rgba(180,160,120,.2);border:1px solid rgba(160,120,60,.3);box-shadow:none}[data-theme=medieval] .stored-dice-tray .dice-element.stored .dot{background-color:#8a7a58}[data-theme=medieval] .badge{background:rgba(50,35,18,.5);border:1px solid rgba(160,120,60,.2);color:#c4a86a}[data-theme=medieval] .input-field,[data-theme=medieval] .landing-input{background:rgba(50,35,18,.5);border-color:rgba(160,120,60,.2);color:#f5e6c8;border-radius:8px;padding:12px 14px}[data-theme=medieval] .input-field:focus,[data-theme=medieval] .landing-input:focus{border-color:rgba(212,160,48,.5);box-shadow:0 0 16px rgba(212,160,48,.12)}[data-theme=medieval] .landing-tagline,[data-theme=medieval] .selection-info{color:#c4a86a}[data-theme=medieval] .turn-total-info{color:#f0d060;text-shadow:0 0 6px rgba(212,160,48,.15)}[data-theme=medieval] .empty-state{color:#8a7a58}[data-theme=medieval] .waiting-indicator{background:rgba(40,28,14,.6);border:1px dashed rgba(160,120,60,.2);border-radius:12px}[data-theme=medieval] .waiting-spinner{border-color:rgba(212,160,48,.2);border-top-color:#d4a030}[data-theme=medieval] .waiting-text{color:#c4a86a}[data-theme=medieval] .btn-back{background:rgba(50,35,18,.5);border:1px solid rgba(160,120,60,.2);color:#c4a86a;font-family:Cinzel,'Noto Color Emoji',serif;letter-spacing:.5px}[data-theme=medieval] .btn-back:hover{background:rgba(60,42,22,.7);border-color:rgba(212,160,48,.4);color:#f0d060}[data-theme=medieval] .toast{border-radius:8px;font-family:Cinzel,'Noto Color Emoji',serif;font-size:13px;letter-spacing:.5px;border:1px solid}[data-theme=medieval] .toast.info{background:rgba(60,42,22,.92);border-color:rgba(212,160,48,.4);color:#f5e6c8}[data-theme=medieval] .toast.success{background:rgba(40,60,24,.92);border-color:rgba(160,180,60,.3);color:#d0e0a0}[data-theme=medieval] .toast.error{background:rgba(60,24,12,.92);border-color:rgba(180,60,30,.4);color:#e0a080}[data-theme=medieval] .landing-page{background:repeating-linear-gradient(0deg,transparent,transparent 28px,rgba(60,40,18,.12) 28px,rgba(60,40,18,.12) 29px),repeating-linear-gradient(90deg,transparent,transparent 45px,rgba(50,32,14,.1) 45px,rgba(50,32,14,.1) 46px),radial-gradient(ellipse 80% 40% at 50% 100%,rgba(212,160,48,.06) 0,transparent 60%),radial-gradient(ellipse 60% 30% at 50% 0,rgba(212,160,48,.04) 0,transparent 50%),linear-gradient(180deg,#1a1206 0,#2a1a0a 50%,#1e1408 100%)}[data-theme=medieval] .landing-logo .logo-accent{background:linear-gradient(90deg,#d4a030,#e8c060,#f0d070,#e8c060,#d4a030);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:8px;font-size:52px;filter:drop-shadow(0 0 20px rgba(212, 160, 48, .3));animation:medievalTorchFlicker 4s ease-in-out infinite}[data-theme=medieval] .landing-logo .logo-sub{color:#b8a080;letter-spacing:8px;font-size:12px}[data-theme=medieval] .landing-icon{filter:drop-shadow(0 0 20px rgba(212, 160, 48, .25));animation:medievalBounce 3s ease-in-out infinite}[data-theme=medieval] .landing-tagline{color:#c4a86a;font-size:15px;font-style:italic;letter-spacing:.5px}[data-theme=medieval] .landing-btn{border-radius:12px;position:relative;overflow:hidden}[data-theme=medieval] .landing-btn::after{content:'';position:absolute;inset:0;border-radius:12px;background:repeating-linear-gradient(90deg,transparent,transparent 12px,rgba(255,255,255,.02) 12px,rgba(255,255,255,.02) 13px);pointer-events:none}[data-theme=medieval] .landing-btn-primary{background:linear-gradient(180deg,#5a3e22 0,#4a2e18 40%,#3d2210 100%);border:2px solid #8a6a38;color:#f5e6c8;box-shadow:0 6px 16px rgba(0,0,0,.4),inset 0 1px 0 rgba(200,160,80,.15),inset 0 -2px 0 rgba(0,0,0,.3)}[data-theme=medieval] .landing-btn-primary:hover{background:linear-gradient(180deg,#6a4e2a 0,#5a3a20 40%,#4a2e18 100%);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 24px rgba(0,0,0,.5),0 0 20px rgba(212,160,48,.15),inset 0 1px 0 rgba(200,160,80,.2);border-color:#a08048}[data-theme=medieval] .landing-btn-accent{background:linear-gradient(180deg,#4a3a22 0,#3a2a16 40%,#2a1a0e 100%);border:2px solid #7a5a30;color:#f5e6c8;box-shadow:0 6px 16px rgba(0,0,0,.4),inset 0 1px 0 rgba(180,140,60,.12),inset 0 -2px 0 rgba(0,0,0,.3)}[data-theme=medieval] .landing-btn-accent:hover{background:linear-gradient(180deg,#5a4a2a 0,#4a3a1e 40%,#3a2a14 100%);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 24px rgba(0,0,0,.5),0 0 20px rgba(160,120,48,.12),inset 0 1px 0 rgba(180,140,60,.18);border-color:#8a6a38}[data-theme=medieval] .landing-btn-secondary{background:rgba(50,35,18,.5);border:1px solid rgba(160,120,60,.2);color:#c4a86a}[data-theme=medieval] .landing-btn-secondary:hover{background:rgba(60,42,22,.7);border-color:rgba(212,160,48,.3);color:#f0d060}[data-theme=medieval] .landing-btn-accent::before,[data-theme=medieval] .landing-btn-primary::before{display:none}[data-theme=medieval] .landing-btn-icon{background:rgba(60,42,22,.6);border:1px solid rgba(160,120,60,.2);border-radius:10px}[data-theme=medieval] .landing-btn-label{letter-spacing:1px}[data-theme=medieval] .landing-btn-desc{opacity:.6;font-style:italic}[data-theme=medieval] .landing-input{background:rgba(50,35,18,.6);border-color:rgba(160,120,60,.25);color:#f5e6c8;font-family:Cinzel,'Noto Color Emoji',serif;font-size:13px}[data-theme=medieval] .landing-input:focus{border-color:rgba(212,160,48,.5);box-shadow:0 0 20px rgba(212,160,48,.12)}[data-theme=medieval] .landing-input-btn{background:linear-gradient(180deg,#8a6a30 0,#6a4e24 100%);border:1px solid #b08040;color:#f5e6c8;font-family:Cinzel,'Noto Color Emoji',serif;letter-spacing:1px;font-weight:700}[data-theme=medieval] .landing-input-btn:hover{background:linear-gradient(180deg,#9a7a38 0,#7a5e2c 100%);box-shadow:0 4px 16px rgba(212,160,48,.3)}[data-theme=medieval] .btn-copy{background:linear-gradient(180deg,#8a6a30 0,#6a4e24 100%);border:1px solid #b08040;color:#f5e6c8;font-family:Cinzel,'Noto Color Emoji',serif;letter-spacing:1px}[data-theme=medieval] .btn-copy:hover{background:linear-gradient(180deg,#9a7a38 0,#7a5e2c 100%);box-shadow:0 6px 20px rgba(212,160,48,.3)}[data-theme=medieval] .waiting-session-id{background:rgba(60,42,22,.5);border-color:rgba(212,160,48,.3);color:#f0d060;font-family:Cinzel,'Noto Color Emoji',serif;letter-spacing:3px}[data-theme=medieval] .waiting-dialog-title{color:#f0d060;font-family:Cinzel,'Noto Color Emoji',serif}[data-theme=medieval] .reconnect-panel h2{color:#e8a080;font-family:Cinzel,'Noto Color Emoji',serif}[data-theme=medieval] .reconnect-id{background:rgba(60,42,22,.5);border-color:rgba(212,160,48,.3);color:#f0d060}[data-theme=medieval] #turnScoreBadge{background:rgba(60,42,22,.5)!important;border-color:rgba(212,160,48,.3)!important;color:#f0d060!important}[data-theme=medieval] .lobby-panel{background:linear-gradient(180deg,rgba(60,42,24,.92) 0,rgba(45,30,16,.95) 100%);border:2px solid rgba(120,85,40,.4);box-shadow:inset 0 1px 0 rgba(200,160,80,.08),inset 0 -2px 0 rgba(0,0,0,.3),0 8px 32px rgba(0,0,0,.6);backdrop-filter:none;-webkit-backdrop-filter:none;position:relative}[data-theme=medieval] .lobby-panel::before{content:'';position:absolute;inset:0;border-radius:11px;background:repeating-linear-gradient(89deg,transparent,transparent 30px,rgba(80,50,20,.1) 30px,rgba(80,50,20,.1) 31px),repeating-linear-gradient(179deg,transparent,transparent 45px,rgba(60,40,16,.06) 45px,rgba(60,40,16,.06) 46px);pointer-events:none;z-index:0}[data-theme=medieval] .lobby-panel>*{position:relative;z-index:1}[data-theme=medieval] .lobby-panel::after{content:'✦';position:absolute;top:-6px;left:50%;transform:translateX(-50%);font-size:10px;color:rgba(160,120,60,.3);pointer-events:none;z-index:1}[data-theme=medieval] .lobby-title{color:#f0d060;font-family:Cinzel,'Noto Color Emoji',serif;letter-spacing:2px;font-size:18px}[data-theme=medieval] .lobby-subtitle{color:#b8a080;font-family:Cinzel,'Noto Color Emoji',serif;font-size:12px}[data-theme=medieval] .room-entry{background:rgba(50,35,18,.4);border:1px solid rgba(160,120,60,.15);border-radius:10px}[data-theme=medieval] .room-entry:hover{background:rgba(60,42,22,.6);border-color:rgba(212,160,48,.3);box-shadow:0 4px 16px rgba(0,0,0,.4),0 0 12px rgba(212,160,48,.08)}[data-theme=medieval] .room-code{color:#f0d060;font-family:Cinzel,'Noto Color Emoji',serif;text-shadow:0 0 8px rgba(212,160,48,.2)}[data-theme=medieval] .room-time{color:#b8a080}[data-theme=medieval] .room-players{color:#b8a080}[data-theme=medieval] .room-join-btn{background:linear-gradient(180deg,#8a6a30 0,#6a4e24 100%);border:1px solid #b08040;color:#f5e6c8;font-family:Cinzel,'Noto Color Emoji',serif;letter-spacing:1px;box-shadow:0 4px 12px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,220,120,.2),inset 0 -2px 0 rgba(0,0,0,.3)}[data-theme=medieval] .room-join-btn:hover{background:linear-gradient(180deg,#9a7a38 0,#7a5e2c 100%);box-shadow:0 6px 20px rgba(212,160,48,.3),inset 0 1px 0 rgba(255,220,120,.2),inset 0 -2px 0 rgba(0,0,0,.3)}[data-theme=medieval] .lobby-empty-icon{opacity:.4}[data-theme=medieval] .lobby-empty-text{color:#8a7a58}[data-theme=medieval] .lobby-empty-text strong{color:#c4a86a}[data-theme=medieval] .loading-rooms{color:#b8a080}[data-theme=medieval] .lobby-spinner{border-color:rgba(212,160,48,.2);border-top-color:#d4a030}@keyframes medievalTorchFlicker{0%,100%{filter:drop-shadow(0 0 12px rgba(212, 160, 48, .25))}25%{filter:drop-shadow(0 0 16px rgba(212, 160, 48, .3))}50%{filter:drop-shadow(0 0 10px rgba(212, 160, 48, .2))}75%{filter:drop-shadow(0 0 18px rgba(212, 160, 48, .35))}}@keyframes medievalGoldGlow{0%,100%{box-shadow:0 0 24px rgba(212,160,48,.4),0 6px 12px rgba(0,0,0,.5),inset 0 2px 4px rgba(255,255,240,.5),inset 0 -4px 6px rgba(80,60,30,.3)}50%{box-shadow:0 0 32px rgba(212,160,48,.55),0 6px 12px rgba(0,0,0,.5),inset 0 2px 4px rgba(255,255,240,.5),inset 0 -4px 6px rgba(80,60,30,.3)}}@keyframes medievalBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}