:root{--color-accent: #b8ff57;--color-accent-hover: #a3e84d;--color-accent-muted: rgba(184, 255, 87, .1);--color-accent-border: rgba(184, 255, 87, .25);--color-bg-primary: #0a0e27;--color-bg-elevated: #141937;--color-bg-surface: #1e2650;--color-bg-input: #0e1230;--color-border: #2a3158;--color-border-hover: #3a4578;--color-text-primary: #f0f0f0;--color-text-secondary: #8890b5;--color-text-muted: #555d80;--color-text-white: #fff;--color-error: #f44336;--color-error-hover: #d32f2f;--color-warning: #ff9800;--color-success: #22c55e;--color-info: #3b82f6;--color-discord: #5865F2;--color-discord-hover: #4752c4;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-full: 999px;--transition-fast: .15s ease;--transition-normal: .2s ease;--font-xs: .7rem;--font-sm: .8rem;--font-base: .9rem;--font-md: 1rem;--font-lg: 1.15rem;--font-xl: 1.35rem;--font-2xl: 1.6rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2rem;--sidebar-width: 240px;--header-height: 48px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,sans-serif;background:linear-gradient(160deg,var(--color-bg-primary) 0%,#101640 30%,#0d1233 60%,#0a1025 80%,#080c20 100%);background-attachment:fixed;color:var(--color-text-primary);min-height:100vh}.app{display:flex;flex-direction:column;height:100vh;max-width:900px;margin:0 auto;padding:0 1rem;overflow:hidden}.brand-accent{color:var(--color-accent)}header{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--color-border);flex-shrink:0}.header-credit{margin-left:auto;font-size:var(--font-xs);color:var(--color-text-muted);white-space:nowrap;display:none}.header-credit a{color:var(--color-text-muted);text-decoration:none}.header-credit a:hover{color:var(--color-accent)}@media(min-width:1024px){.header-credit{display:inline}}header h1{font-size:1.15rem;font-weight:700;color:#fff;cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap}.brand-icon{width:28px;height:28px;object-fit:contain}nav{display:flex;gap:.25rem;padding:.35rem 0;border-bottom:1px solid var(--color-border);flex-shrink:0;flex-wrap:wrap}nav button{background:var(--color-bg-surface);color:var(--color-text-secondary);border:1px solid var(--color-border);padding:.35rem .75rem;border-radius:.5rem;cursor:pointer;font-size:.82rem;transition:all .15s;display:flex;align-items:center;gap:.3rem;white-space:nowrap}nav button:hover{background:var(--color-border);color:var(--color-text-primary)}nav button.active{background:var(--color-accent);color:var(--color-bg-primary);border-color:var(--color-accent);font-weight:600}.live-dot{width:6px;height:6px;border-radius:50%;background:#ef4444;animation:room-video-pulse 2s ease-in-out infinite}.nav-badge{background:#b8ff5733;color:var(--color-accent);font-size:.65rem;font-weight:700;padding:.05rem .35rem;border-radius:.75rem;min-width:1rem;text-align:center}nav button.active .nav-badge{background:#0a0e2733;color:var(--color-bg-primary)}.room-info-bar{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;flex-shrink:0}.username{background:#141937cc;padding:.15rem .6rem;border-radius:1rem;font-size:.8rem;color:var(--color-accent);border:1px solid var(--color-border);cursor:pointer;transition:border-color .15s;display:flex;align-items:center;gap:.25rem;white-space:nowrap}.username:hover{border-color:var(--color-accent)}.status{font-size:.7rem;padding:.1rem .35rem;border-radius:.5rem}.status.connected{color:var(--color-accent)}.status.disconnected{color:var(--color-error)}.status.connecting{color:var(--color-warning)}main{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.chat-panel{display:flex;flex-direction:column;flex:1;min-height:0}.message-list{flex:1;overflow-y:auto;padding:.25rem .5rem;display:flex;flex-direction:column;gap:2px}.jump-to-latest{position:sticky;bottom:0;align-self:center;margin:-2rem auto .25rem;padding:.3rem 1rem;background:var(--color-info);color:#fff;border:none;border-radius:999px;font-size:.8rem;cursor:pointer;z-index:5;box-shadow:0 2px 8px #0000004d;animation:jumpPulse 1s ease infinite}.jump-to-latest:hover{background:#2563eb}@keyframes jumpPulse{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.message{display:flex;gap:.35rem;align-items:baseline;padding:.15rem 0;font-size:.85rem}.msg-time{color:var(--color-text-muted);font-size:.75rem;flex-shrink:0}.msg-sender{color:#ff7b54;font-weight:600;flex-shrink:0}.msg-sender.sender-admin{color:var(--color-accent)}.msg-sender.sender-mod{color:#7ecfff}.msg-lang{color:var(--color-text-muted);font-size:.75rem;flex-shrink:0}.msg-text{word-break:break-word}.chat-input{display:flex;align-items:center;gap:.35rem;padding:.35rem .5rem;border-top:1px solid var(--color-border);background:var(--color-bg-input)}.chat-input-muted{display:flex;align-items:center;justify-content:center;padding:.75rem .5rem;border-top:1px solid var(--color-border);background:var(--color-bg-input);color:#ff6b6b;font-size:.85rem;font-weight:600;opacity:.7}.chat-input .input-wrapper{flex:1;position:relative}.chat-input input{width:100%;background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border);padding:.5rem .75rem;border-radius:.5rem;font-size:.9rem;outline:none}.chat-input input:focus{border-color:var(--color-accent)}.chat-input button{background:var(--color-accent);color:var(--color-bg-primary);border:none;transition:background var(--transition-fast),transform .1s,opacity var(--transition-fast);padding:.5rem 1.25rem;border-radius:.5rem;cursor:pointer;font-size:.9rem;font-weight:600}.chat-input button:disabled{background:var(--color-bg-surface);color:var(--color-text-muted);cursor:not-allowed;opacity:.6}.chat-input button:hover:not(:disabled){background:var(--color-accent-hover)}.news-layout{display:flex;flex-direction:column;flex:1;min-height:0;gap:.5rem}.news-layout>.news-panel{flex:1;overflow-y:auto;min-height:200px}.news-layout>.chat-panel{flex:0 0 250px}.news-panel{display:flex;flex-direction:column;gap:.5rem;padding:.5rem}.news-card-rich{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.5rem;display:flex;overflow:hidden;transition:border-color .15s;flex-shrink:0}.news-card-rich:hover{border-color:var(--color-border-hover)}.news-thumbnail{flex:0 0 100px;min-height:80px;background:#0d1233;overflow:hidden}.news-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.news-card-content{flex:1;min-width:0;padding:.6rem .75rem;display:flex;flex-direction:column;gap:.25rem}.news-card-top{display:flex;align-items:center;gap:.5rem}.news-source-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;color:#fff;padding:1px 6px;border-radius:3px;white-space:nowrap;letter-spacing:.03em}.news-time-relative{color:var(--color-text-muted);font-size:.7rem;margin-left:auto;white-space:nowrap}.news-delete-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:2px 4px;border-radius:3px;display:flex;align-items:center;flex-shrink:0}.news-delete-btn:hover{color:#e53935;background:#e539351a}.news-card-title{display:block;color:var(--color-accent);text-decoration:none;font-weight:600;font-size:.9rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.news-card-title:hover{text-decoration:underline;color:#d0ff8a}.news-card-summary{color:var(--color-text-secondary);font-size:.8rem;line-height:1.35;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0}.news-load-more{background:var(--color-bg-surface);color:var(--color-accent);border:1px solid var(--color-border);padding:.5rem 1rem;border-radius:.4rem;cursor:pointer;font-size:.8rem;width:100%;text-align:center;flex-shrink:0;transition:background var(--transition-fast)}.news-load-more:hover{background:var(--color-border)}.empty-state{color:var(--color-text-muted);font-size:.85rem;text-align:center;padding:2rem 1rem}.news-breaking-banner{display:flex;align-items:center;gap:.5rem;background:linear-gradient(90deg,#e53935,#ff6b6b);color:#fff;padding:.4rem .75rem;border-radius:.4rem;cursor:pointer;font-size:.8rem;margin:.25rem 0;animation:breakingPulse 2s infinite}@keyframes breakingPulse{0%,to{opacity:1}50%{opacity:.85}}.breaking-label{font-weight:800;font-size:.7rem;text-transform:uppercase;background:#00000040;padding:1px 6px;border-radius:3px;letter-spacing:.08em;flex-shrink:0}.breaking-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.breaking-dismiss{background:none;border:none;color:#ffffffb3;cursor:pointer;font-size:.9rem;padding:0 4px;flex-shrink:0}.breaking-dismiss:hover{color:#fff}.admin-panel{padding:.5rem;overflow-y:auto}.admin-section{margin-bottom:1.5rem}.admin-section h3{color:#fff;margin-bottom:.75rem;font-size:1rem}.source-list{display:flex;flex-direction:column;gap:.5rem}.source-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.5rem;padding:.75rem;display:flex;justify-content:space-between;align-items:center;gap:.75rem}.source-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.source-info strong{color:var(--color-text-primary);font-size:.9rem}.source-url{color:var(--color-text-muted);font-size:.75rem;word-break:break-all}.source-checked{color:var(--color-text-muted);font-size:.7rem}.source-header-row{display:flex;align-items:center;gap:.4rem}.source-type-badge{font-size:.6rem;font-weight:700;text-transform:uppercase;padding:1px 5px;border-radius:3px;color:#fff;letter-spacing:.03em}.source-type-rss{background:#5b8dd9}.source-type-scrape{background:var(--color-warning)}.source-type-api{background:#9c27b0}.source-status-dot{font-size:.75rem;margin-left:.15rem}.source-status-dot.ok{color:#4caf50}.source-status-dot.error{color:#e53935}.source-error{color:#e53935;font-size:.7rem;margin-top:.1rem;word-break:break-all}.btn-enabled{background:var(--color-accent);color:var(--color-bg-primary);border:none;padding:.4rem .75rem;border-radius:.4rem;cursor:pointer;flex-shrink:0;font-weight:600}.btn-disabled{background:var(--color-bg-surface);color:var(--color-text-muted);border:1px solid var(--color-border);padding:.4rem .75rem;border-radius:.4rem;cursor:pointer;flex-shrink:0}.add-source-form{display:flex;flex-direction:column;gap:.5rem}.add-source-form input{background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border);padding:.5rem .75rem;border-radius:.5rem;font-size:.85rem;outline:none}.add-source-form input:focus{border-color:var(--color-accent)}.add-source-form button{background:var(--color-accent);color:var(--color-bg-primary);border:none;padding:.5rem;border-radius:.5rem;cursor:pointer;align-self:flex-start;font-weight:600}.modal-overlay{position:fixed;inset:0;background:#050714d9;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.75rem;padding:2rem;width:90%;max-width:360px}.modal h2{color:#fff;margin-bottom:1rem;font-size:1.1rem}.modal form{display:flex;gap:.5rem}.modal input{flex:1;background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border);padding:.5rem .75rem;border-radius:.5rem;font-size:.9rem;outline:none}.modal input:focus{border-color:var(--color-accent)}.modal button{background:var(--color-accent);color:var(--color-bg-primary);border:none;padding:.5rem 1.25rem;border-radius:.5rem;cursor:pointer;font-size:.9rem;font-weight:600}.admin-panel button{cursor:pointer;font-size:.85rem}.admin-section>button{background:var(--color-accent);color:var(--color-bg-primary);border:none;padding:.5rem 1rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast)}.admin-section>button:disabled{background:var(--color-bg-surface);color:var(--color-text-muted);cursor:not-allowed}.fetch-status{margin-top:.5rem;color:var(--color-text-secondary);font-size:.85rem}.error{color:var(--color-error);font-size:.85rem;margin-top:.5rem}.empty-state{color:var(--color-text-muted);text-align:center;padding:2rem;font-style:italic}.badge{font-size:.65rem;padding:.1rem .4rem;border-radius:.25rem;margin-left:.4rem;font-weight:700;text-transform:uppercase;vertical-align:middle}.badge.admin{background:var(--color-accent);color:var(--color-bg-primary)}.badge.mod{background:#5c7a2e;color:#d0ff8a}.ban-notice{background:var(--color-error)18;border:1px solid var(--color-error);color:var(--color-error);padding:.5rem 1rem;border-radius:.5rem;text-align:center;font-size:.85rem;margin-bottom:.5rem}.chat-banned{color:var(--color-error);text-align:center;padding:.75rem;font-size:.85rem;border-top:1px solid var(--color-border)}.msg-media{margin-top:.4rem}.msg-media img{max-width:300px;max-height:200px;border-radius:.4rem;cursor:pointer}.msg-media video{max-width:300px;max-height:200px;border-radius:.4rem}.media-preview{position:relative;display:inline-block;padding:.5rem;background:#0d1233;border:1px solid var(--color-border);border-radius:.5rem;margin-bottom:.25rem}.media-preview img,.media-preview video{max-width:200px;max-height:150px;border-radius:.4rem;display:block}.btn-remove-media{position:absolute;top:.25rem;right:.25rem;background:#dc3232d9;color:#fff;border:none;border-radius:50%;width:1.5rem;height:1.5rem;font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-remove-media:hover{background:#dc3232}.media-input-row{display:flex;gap:.5rem;padding:.25rem 0}.media-input-row select{background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border);padding:.4rem;border-radius:.4rem;font-size:.8rem}.media-url-input{flex:1;background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border);padding:.4rem .6rem;border-radius:.4rem;font-size:.8rem;outline:none}.media-url-input:focus{border-color:var(--color-accent)}.inline-form{display:flex;gap:.5rem;flex-wrap:wrap}.inline-form input{background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border);padding:.5rem .75rem;border-radius:.5rem;font-size:.85rem;outline:none;flex:1;min-width:120px}.inline-form input:focus{border-color:var(--color-accent)}.inline-form button{background:var(--color-accent);color:var(--color-bg-primary);border:none;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;flex-shrink:0;font-weight:600}.admin-textarea{background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border);padding:.5rem .75rem;border-radius:.5rem;font-size:.85rem;font-family:inherit;outline:none;resize:vertical;width:100%}.admin-textarea:focus{border-color:var(--color-accent)}.item-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.item-row{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.4rem;padding:.5rem .75rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.item-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.item-info strong{font-size:.9rem}.item-detail{color:var(--color-text-muted);font-size:.75rem}.btn-remove{background:var(--color-error);color:#fff;border:none;padding:.3rem .6rem;border-radius:.3rem;cursor:pointer;font-size:.75rem;flex-shrink:0}.profanity-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.profanity-tag{background:var(--color-bg-elevated);border:1px solid var(--color-border);padding:.25rem .5rem;border-radius:1rem;font-size:.8rem;display:flex;align-items:center;gap:.3rem}.btn-tag-remove{background:none;border:none;color:var(--color-error);cursor:pointer;font-size:.75rem;padding:0;line-height:1}.btn-tag-remove:hover{color:#ff6b6b}.message.announcement{background:#f443361a;border-left:3px solid var(--color-error);padding:.5rem .75rem;border-radius:.4rem;font-size:1.05rem;margin:.25rem 0}.announce-icon{flex-shrink:0;font-size:1rem}.message.announcement .msg-sender{color:#ff6b6b}.emoji-picker{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.75rem;padding:.5rem;width:320px;max-height:280px;display:flex;flex-direction:column;box-shadow:0 4px 20px #0006;z-index:50}.emoji-categories{display:flex;gap:.15rem;padding-bottom:.4rem;border-bottom:1px solid var(--color-border);margin-bottom:.4rem;overflow-x:auto;flex-shrink:0}.emoji-cat-btn{background:none;border:none;padding:.3rem .4rem;border-radius:.3rem;cursor:pointer;font-size:1.1rem;opacity:.5;transition:all .15s}.emoji-cat-btn:hover{opacity:.8;background:var(--color-bg-surface)}.emoji-cat-btn.active{opacity:1;background:var(--color-bg-surface)}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:.15rem;overflow-y:auto;flex:1}.emoji-btn{background:none;border:none;padding:.25rem;border-radius:.3rem;cursor:pointer;font-size:1.25rem;line-height:1;transition:background .1s}.emoji-btn:hover{background:var(--color-bg-surface)}.url-fetch-row{display:flex;gap:.5rem}.url-fetch-row input{background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border);padding:.5rem .75rem;border-radius:.5rem;font-size:.85rem;outline:none}.url-fetch-row input:focus{border-color:var(--color-accent)}.btn-fetch-info{background:var(--color-bg-surface);color:var(--color-accent);border:1px solid var(--color-border);padding:.5rem .75rem;border-radius:.5rem;cursor:pointer;font-size:.85rem;font-weight:600;white-space:nowrap;flex-shrink:0}.btn-fetch-info:hover{background:var(--color-border)}.btn-fetch-info:disabled{opacity:.5;cursor:not-allowed}.claim-admin-panel{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.5rem;padding:.75rem;margin-bottom:.5rem}.success{color:var(--color-accent);font-size:.85rem;margin-top:.5rem}.consent-banner{position:fixed;bottom:0;left:0;right:0;background:var(--color-bg-elevated);border-top:1px solid var(--color-border);padding:.6rem 1rem;display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:.8rem;color:var(--color-text-secondary);z-index:90}.consent-banner a{color:var(--color-accent);text-decoration:none;border-bottom:1px solid rgba(184,255,87,.2)}.consent-banner a:hover{border-color:var(--color-accent)}.consent-banner button{background:var(--color-bg-surface);color:var(--color-accent);border:1px solid var(--color-border);padding:.25rem .75rem;border-radius:.4rem;cursor:pointer;font-size:.75rem;font-weight:600;white-space:nowrap}.consent-banner button:hover{background:var(--color-border)}.install-prompt{position:fixed;bottom:4.5rem;left:50%;transform:translate(-50%);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.75rem;padding:.5rem .75rem;display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text-secondary);z-index:90;box-shadow:0 4px 20px #00000080;max-width:90%;white-space:nowrap}.install-icon{font-size:1.1rem;flex-shrink:0}.install-text{flex:1;overflow:hidden;text-overflow:ellipsis}.install-btn{background:var(--color-accent);color:var(--color-bg-primary);border:none;padding:.3rem .75rem;border-radius:.4rem;cursor:pointer;font-weight:600;font-size:.8rem;flex-shrink:0}.install-btn:hover{opacity:.85}.install-dismiss{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.9rem;padding:.1rem .3rem;flex-shrink:0}.install-dismiss:hover{color:var(--color-text-primary)}.btn-delete-data{background:none;border:none;color:var(--color-text-muted);font-size:.7rem;cursor:pointer;padding:.15rem .4rem;transition:color .15s}.btn-delete-data:hover{color:var(--color-error)}.delete-confirm-overlay,.modal-overlay{position:fixed;inset:0;background:#050714d9;display:flex;align-items:center;justify-content:center;z-index:200}.delete-confirm{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.75rem;padding:2rem;width:90%;max-width:360px;text-align:center}.delete-confirm h3{color:#fff;margin-bottom:.75rem;font-size:1rem}.delete-confirm p{color:var(--color-text-secondary);font-size:.85rem;line-height:1.5;margin-bottom:1.25rem}.delete-confirm-actions{display:flex;gap:.5rem;justify-content:center}.delete-confirm-actions button{padding:.5rem 1.25rem;border-radius:.5rem;font-size:.85rem;font-weight:600;cursor:pointer;border:none}.btn-delete-confirm{background:var(--color-error);color:#fff;transition:background var(--transition-fast)}.btn-delete-confirm:hover{background:var(--color-error-hover)}.btn-delete-cancel{background:var(--color-bg-surface);color:var(--color-text-secondary);transition:background var(--transition-fast)}.btn-delete-cancel:hover{background:var(--color-border)}.btn-confirm-primary{background:var(--color-accent);color:var(--color-bg-primary);transition:background var(--transition-fast)}.btn-confirm-primary:hover{background:var(--color-accent-hover)}.confirm-dialog-overlay{z-index:300}.confirm-dialog{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.75rem;padding:2rem;width:90%;max-width:360px;text-align:center}.confirm-dialog h3{color:var(--color-text-white);margin-bottom:.75rem;font-size:1rem}.confirm-dialog p{color:var(--color-text-secondary);font-size:.85rem;line-height:1.5;margin-bottom:1.25rem}.confirm-dialog-actions{display:flex;gap:.5rem;justify-content:center}.confirm-dialog-actions button{padding:.5rem 1.25rem;border-radius:.5rem;font-size:.85rem;font-weight:600;cursor:pointer;border:none}.modal-close-btn{position:absolute;top:.75rem;right:.75rem;background:none;border:none;color:var(--color-text-muted);font-size:1.5rem;line-height:1;cursor:pointer;padding:.25rem;transition:color var(--transition-fast)}.modal-close-btn:hover{color:var(--color-text-primary)}.modal-privacy-line{margin-top:.75rem;font-size:.75rem;color:var(--color-text-muted);text-align:center}.modal-privacy-line a{color:var(--color-text-secondary);text-decoration:none;border-bottom:1px solid rgba(136,144,181,.2)}.modal-privacy-line a:hover{color:var(--color-accent);border-color:#b8ff574d}.room-desc{color:var(--color-text-muted);font-size:.8rem;flex:1}.btn-delete-room{background:none;border:none;cursor:pointer;font-size:.8rem;opacity:.3;transition:opacity .15s;padding:.1rem .3rem}.btn-delete-room:hover{opacity:.8}nav .btn-create-room{background:var(--color-bg-surface);color:var(--color-text-muted);border:1px dashed var(--color-border);font-size:1.1rem;padding:.5rem .85rem}nav .btn-create-room:hover{color:var(--color-accent);border-color:var(--color-accent)}.create-room-modal form{display:flex;flex-direction:column;gap:.5rem}.create-room-modal input{background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border);padding:.5rem .75rem;border-radius:.5rem;font-size:.9rem;outline:none;width:100%}.create-room-modal input:focus{border-color:var(--color-accent)}.create-room-watch-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.create-room-watch-toggle input[type=checkbox]{accent-color:var(--color-accent);width:16px;height:16px}.create-room-watch-toggle span{font-size:var(--font-sm);color:var(--color-text-primary)}.create-room-watch-toggle small{width:100%;font-size:var(--font-xs);color:var(--color-text-muted);margin-left:1.5rem}.create-room-temp-note{font-size:var(--font-xs);color:var(--color-warning);margin:0 0 .25rem;padding:.4rem .6rem;background:#ff98001a;border-radius:var(--radius-sm);border:1px solid rgba(255,152,0,.2)}.sidebar-temp-badge{font-size:.6rem;padding:1px 4px;border-radius:var(--radius-full);background:#ff980026;color:var(--color-warning);font-weight:600;flex-shrink:0}.msg-context-menu{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.5rem;padding:.25rem;z-index:100;box-shadow:0 4px 16px #00000080;min-width:160px;animation:contextMenuIn .12s ease-out}@keyframes contextMenuIn{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.msg-context-menu button{background:none;border:none;color:var(--color-text-primary);padding:.4rem .75rem;width:100%;text-align:left;cursor:pointer;font-size:.85rem;border-radius:.3rem;display:block}.msg-context-menu button:hover{background:var(--color-bg-surface)}.msg-context-menu button.ctx-ban{color:var(--color-error)}.msg-context-menu button.ctx-ban:hover{background:#f4433626}.msg-wrapper{display:flex;flex-direction:column}.msg-reactions{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.15rem;padding-left:3.5rem;min-height:0}.reaction-badge{display:inline-flex;align-items:center;gap:.2rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:1rem;padding:.1rem .45rem;font-size:.75rem;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.reaction-badge:hover{background:var(--color-bg-surface);border-color:#3b4580}.reaction-badge.active{border-color:var(--color-accent);background:#b8ff571a}.reaction-badge .reaction-emoji{font-size:.85rem;line-height:1}.reaction-badge .reaction-count{color:var(--color-text-secondary);font-size:.7rem;font-weight:600}.reaction-badge.active .reaction-count{color:var(--color-accent)}.reaction-picker-anchor{position:relative}.btn-add-reaction{background:none;border:1px dashed var(--color-border);color:var(--color-text-muted);border-radius:1rem;padding:.1rem .45rem;font-size:.75rem;cursor:pointer;transition:all .15s;line-height:1}.btn-add-reaction:hover{border-color:var(--color-accent);color:var(--color-accent)}.reaction-mini-picker{position:absolute;bottom:100%;left:0;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.5rem;padding:.25rem;display:flex;gap:.1rem;box-shadow:0 4px 16px #00000080;z-index:60;margin-bottom:.25rem}.reaction-pick-btn{background:none;border:none;padding:.25rem;border-radius:.3rem;cursor:pointer;font-size:1.15rem;line-height:1;transition:background .1s}.reaction-pick-btn:hover{background:var(--color-bg-surface)}.pinned-banner{display:flex;align-items:center;gap:.5rem;background:#b8ff5714;border-left:3px solid var(--color-accent);padding:.4rem .75rem;border-radius:.4rem;font-size:.85rem;margin-bottom:.25rem;flex-shrink:0}.pinned-banner .pin-icon{flex-shrink:0}.pinned-banner .pin-sender{color:var(--color-accent);font-weight:600;flex-shrink:0}.pinned-banner .pin-text{color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.pinned-banner .pin-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1rem;padding:0 .25rem;flex-shrink:0}.pinned-banner .pin-close:hover{color:var(--color-error)}.message.msg-banned{opacity:.4;border-left:2px solid var(--color-error);padding-left:.5rem}.msg-avatar{width:20px;height:20px;image-rendering:pixelated;vertical-align:middle;margin-right:.15rem;flex-shrink:0}.msg-sender{cursor:pointer}.msg-sender:hover{text-decoration:underline}.header-avatar{width:28px;height:28px;image-rendering:pixelated;vertical-align:middle;margin-right:.15rem;border-radius:50%;background:#0e122d99}.btn-edit-profile{background:none;border:none;color:var(--color-text-muted);font-size:.85rem;cursor:pointer;padding:.15rem .4rem;transition:color .15s;flex-shrink:0}.btn-edit-profile:hover{color:var(--color-accent)}.avatar-prompt{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.5rem;padding:.5rem .75rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text-secondary)}.avatar-prompt button{background:var(--color-accent);color:var(--color-bg-primary);border:none;padding:.3rem .75rem;border-radius:.4rem;cursor:pointer;font-weight:600;font-size:.8rem;flex-shrink:0}.btn-avatar-dismiss{background:none!important;color:var(--color-text-muted)!important;font-size:.9rem!important;padding:.2rem!important;margin-left:auto}.btn-avatar-dismiss:hover{color:var(--color-text-primary)!important}.avatar-picker-overlay{position:fixed;inset:0;background:#050714d9;display:flex;align-items:center;justify-content:center;z-index:150}.avatar-picker{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.75rem;padding:1.25rem;width:90%;max-width:480px;max-height:85vh;overflow-y:auto}.avatar-picker h3{color:#fff;margin-bottom:.75rem;font-size:1.05rem}.avatar-search{width:100%;background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border);padding:.5rem .75rem;border-radius:.5rem;font-size:.9rem;outline:none;margin-bottom:.75rem}.avatar-search:focus{border-color:var(--color-accent)}.avatar-featured{display:flex;gap:.25rem;overflow-x:auto;padding-bottom:.5rem;margin-bottom:.5rem;scrollbar-width:thin}.avatar-gen-tabs{display:flex;gap:.25rem;margin-bottom:.75rem;flex-wrap:wrap}.avatar-gen-tabs button{background:var(--color-bg-primary);color:var(--color-text-secondary);border:1px solid var(--color-border);padding:.25rem .5rem;border-radius:.4rem;cursor:pointer;font-size:.75rem}.avatar-gen-tabs button.active{background:var(--color-accent);color:var(--color-bg-primary);border-color:var(--color-accent);font-weight:600}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:.2rem;max-height:260px;overflow-y:auto;padding:.2rem;scrollbar-width:thin}.avatar-grid-item{width:48px;height:48px;border:2px solid transparent;border-radius:.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s;background:var(--color-bg-primary);padding:0}.avatar-grid-item:hover{border-color:var(--color-accent);background:var(--color-bg-surface)}.avatar-grid-item.selected{border-color:var(--color-accent);background:var(--color-bg-surface)80}.avatar-grid-item img{width:40px;height:40px;image-rendering:pixelated}.avatar-no-results{grid-column:1 / -1;color:var(--color-text-muted);font-size:.85rem;text-align:center;padding:1rem}.avatar-preview{display:flex;align-items:center;gap:1rem;margin-top:.75rem;padding:.75rem;background:var(--color-bg-primary);border-radius:.5rem;border:1px solid var(--color-border)}.avatar-preview img{width:80px;height:80px;image-rendering:auto}.avatar-preview-info{color:var(--color-accent);font-weight:600}.avatar-actions{display:flex;gap:.5rem;margin-top:.75rem}.btn-avatar-confirm{background:var(--color-accent);color:var(--color-bg-primary);border:none;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;font-weight:600;font-size:.9rem}.btn-avatar-confirm:disabled{opacity:.5;cursor:not-allowed}.btn-avatar-clear{background:var(--color-bg-surface);color:var(--color-text-secondary);border:1px solid var(--color-border);padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;font-size:.9rem}.btn-avatar-clear:hover{background:var(--color-border)}.btn-avatar-cancel{background:none;color:var(--color-text-muted);border:none;padding:.5rem .75rem;cursor:pointer;font-size:.9rem;margin-left:auto}.btn-avatar-cancel:hover{color:var(--color-text-primary)}.profile-card-overlay{position:fixed;inset:0;z-index:120}.profile-card{position:fixed;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.75rem;padding:1rem;width:220px;box-shadow:0 4px 20px #00000080;z-index:121;text-align:center}.profile-card-avatar{width:80px;height:80px;margin:0 auto .5rem;display:block}.profile-card-no-avatar{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:2rem;font-weight:600}.profile-card-name{color:#fff;font-weight:600;font-size:1rem;margin-bottom:.25rem}.profile-card-pokemon{color:var(--color-accent);font-size:.8rem;margin-bottom:.25rem}.profile-card-bio{color:var(--color-text-secondary);font-size:.8rem;margin-top:.5rem;line-height:1.4}.edit-profile-overlay{z-index:250;padding:1rem}.edit-profile-modal{position:relative;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;width:100%;max-width:380px;color:var(--color-text-primary)}.edit-profile-modal h3{font-size:1.1rem;margin-bottom:1.2rem;text-align:center}.edit-profile-avatar-section{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem;padding:.75rem;background:var(--color-bg-primary);border-radius:10px;border:1px solid var(--color-border)}.edit-profile-avatar-img{width:80px;height:80px;border-radius:50%;object-fit:contain;background:#1a2040;flex-shrink:0}.edit-profile-no-avatar{display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--color-text-muted);border:2px dashed var(--color-border)}.edit-profile-avatar-info{display:flex;flex-direction:column;gap:.4rem}.edit-profile-pokemon-name{font-weight:600;font-size:.95rem}.btn-change-avatar{background:var(--color-border);border:1px solid #3b4580;color:var(--color-accent);padding:.4rem .8rem;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.btn-change-avatar:hover{background:#3b4580}.edit-profile-bio-section{margin-bottom:1.2rem}.edit-profile-bio-section label{display:block;font-size:.85rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.35rem}.edit-profile-bio-section textarea{width:100%;padding:.6rem .75rem;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-primary);font-size:.85rem;font-family:inherit;resize:vertical;min-height:60px;outline:none;transition:border-color .2s}.edit-profile-bio-section textarea:focus{border-color:var(--color-accent)}.edit-profile-bio-section textarea::placeholder{color:var(--color-text-muted)}.edit-profile-bio-count{text-align:right;font-size:.7rem;color:var(--color-text-muted);margin-top:.25rem}.edit-profile-actions{display:flex;gap:.5rem;justify-content:center}.btn-edit-save{padding:.5rem 1.5rem;background:var(--color-accent);color:var(--color-bg-primary);border:none;border-radius:8px;font-weight:700;font-size:.9rem;cursor:pointer;transition:opacity .15s}.btn-edit-save:hover{opacity:.85}.btn-edit-cancel{padding:.5rem 1.5rem;background:var(--color-bg-surface);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:background .15s}.btn-edit-cancel:hover{background:var(--color-border)}.account-panel{margin-bottom:1.2rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-primary);overflow:hidden}.account-panel-header{font-size:.8rem;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:.6rem .75rem .4rem;border-bottom:1px solid #1a2040}.account-section{padding:.6rem .75rem;border-bottom:1px solid #1a2040}.account-section:last-child{border-bottom:none}.account-section-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);margin-bottom:.35rem}.account-linked{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:#b0b8d4}.account-linked-icon{font-size:.85rem}.btn-account-action{display:inline-flex;align-items:center;gap:.35rem;background:var(--color-bg-surface);border:1px solid var(--color-border);color:var(--color-accent);padding:.35rem .7rem;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-account-action:hover{background:var(--color-border)}.btn-account-action:disabled{opacity:.5;cursor:not-allowed}.btn-discord{color:#fff;background:var(--color-discord);border-color:var(--color-discord-hover)}.btn-discord:hover{background:var(--color-discord-hover)}.btn-account-small{background:var(--color-bg-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);padding:.25rem .5rem;border-radius:5px;font-size:.72rem;font-weight:600;cursor:pointer;margin-left:auto}.btn-account-small:hover{background:var(--color-border);color:var(--color-text-primary)}.btn-account-small:disabled{opacity:.5;cursor:not-allowed}.passphrase-display{margin-top:.35rem}.passphrase-text{font-family:Courier New,monospace;font-size:.9rem;font-weight:700;color:#f5c542;background:var(--color-bg-elevated);border:1px dashed #f5c542;border-radius:6px;padding:.5rem .6rem;text-align:center;word-break:break-all;-webkit-user-select:all;user-select:all}.passphrase-hint{font-size:.7rem;color:var(--color-text-secondary);margin-top:.3rem;text-align:center}.passphrase-actions{display:flex;align-items:center;gap:.4rem;margin-top:.4rem;justify-content:center}.passphrase-saved{font-size:.78rem;color:#4ade80;font-weight:600}.account-recover-row{display:flex;gap:.35rem;align-items:center}.account-recover-input{flex:1;background:var(--color-bg-elevated);border:1px solid var(--color-border);color:var(--color-text-primary);padding:.35rem .5rem;border-radius:6px;font-size:.78rem;font-family:Courier New,monospace;outline:none}.account-recover-input:focus{border-color:var(--color-accent)}.account-recover-input::placeholder{color:var(--color-text-muted)}.account-error{font-size:.72rem;color:var(--color-error);margin-top:.3rem}.chat-toolbar{display:flex;gap:.35rem;padding:.25rem .5rem;flex-shrink:0}.toolbar-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--color-accent);color:var(--color-bg-primary);border:none;border-radius:.5rem;cursor:pointer;transition:all .15s;padding:0}.toolbar-btn:hover{background:#d4ff8f;transform:translateY(-1px)}.toolbar-btn.active{background:#9de63f;box-shadow:0 0 10px #b8ff5766}.toolbar-btn.btn-announce.active{background:var(--color-error);color:#fff;box-shadow:0 0 10px #f4433666}.toolbar-btn svg{flex-shrink:0}.watching-count{display:inline-flex;align-items:center;gap:.3rem;background:#b8ff571f;color:var(--color-accent);font-size:.75rem;font-weight:600;padding:.15rem .5rem;border-radius:1rem;border:1px solid rgba(184,255,87,.25)}.watching-icon{width:14px;height:14px;vertical-align:middle;image-rendering:pixelated}.slow-mode-badge{background:#ff98001f;color:var(--color-warning);font-size:.75rem;font-weight:600;padding:.15rem .5rem;border-radius:1rem;border:1px solid rgba(255,152,0,.25)}.slow-mode-control{position:relative;margin-left:auto}.btn-slow-mode-toggle{background:none;border:1px solid var(--color-border);color:var(--color-text-secondary);padding:.15rem .4rem;border-radius:.4rem;cursor:pointer;font-size:.85rem;line-height:1;transition:all .15s}.btn-slow-mode-toggle:hover{border-color:var(--color-accent);color:var(--color-accent)}.slow-mode-menu{position:absolute;top:100%;right:0;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.5rem;padding:.25rem;display:flex;flex-direction:column;gap:.1rem;z-index:50;box-shadow:0 4px 16px #00000080;min-width:80px}.slow-mode-menu button{background:none;border:none;color:var(--color-text-secondary);padding:.35rem .5rem;border-radius:.3rem;cursor:pointer;font-size:.8rem;text-align:left;transition:all .1s}.slow-mode-menu button:hover{background:var(--color-bg-surface);color:var(--color-text-primary)}.slow-mode-menu button.active{color:var(--color-accent);background:#b8ff571a}.poll-widget{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);border-radius:.5rem;padding:.75rem;margin-bottom:.5rem;flex-shrink:0}.poll-widget.poll-closed{opacity:.6;border-left-color:var(--color-text-muted)}.poll-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.poll-icon{font-size:1rem;flex-shrink:0}.poll-question{font-weight:600;color:#fff;font-size:.9rem;flex:1}.poll-timer{background:#ff980026;color:var(--color-warning);font-size:.7rem;font-weight:600;padding:.15rem .45rem;border-radius:.75rem;border:1px solid rgba(255,152,0,.3);flex-shrink:0}.poll-status-badge{background:#555d8033;color:var(--color-text-secondary);font-size:.7rem;font-weight:600;padding:.15rem .45rem;border-radius:.75rem;flex-shrink:0}.poll-options{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.5rem}.poll-option{position:relative;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:.4rem;padding:.5rem .75rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;overflow:hidden;transition:border-color .15s;color:var(--color-text-primary);font-size:.85rem;text-align:left;width:100%}.poll-option:hover:not(:disabled){border-color:var(--color-accent)}.poll-option:disabled{cursor:default}.poll-option.poll-voted{border-color:var(--color-accent)}.poll-bar{position:absolute;left:0;top:0;bottom:0;background:#b8ff571f;transition:width .4s ease;border-radius:.4rem 0 0 .4rem}.poll-voted .poll-bar{background:#b8ff5733}.poll-option-text{position:relative;z-index:1;flex:1}.poll-option-pct{position:relative;z-index:1;color:var(--color-text-secondary);font-size:.8rem;font-weight:600;flex-shrink:0;margin-left:.5rem}.poll-voted .poll-option-pct{color:var(--color-accent)}.poll-footer{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--color-text-muted)}.poll-vote-count{color:var(--color-text-secondary)}.poll-author{flex:1}.poll-close-btn{background:#f4433626;border:1px solid rgba(244,67,54,.3);color:var(--color-error);padding:.2rem .5rem;border-radius:.3rem;cursor:pointer;font-size:.7rem;font-weight:600;transition:all .15s}.poll-close-btn:hover{background:#f4433640}.poll-create-modal{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.75rem;padding:1.5rem;width:90%;max-width:400px}.poll-create-modal h3{color:#fff;margin-bottom:1rem;font-size:1.05rem}.poll-create-modal form{display:flex;flex-direction:column;gap:.75rem}.poll-create-modal input[type=text]{background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border);padding:.5rem .75rem;border-radius:.5rem;font-size:.9rem;outline:none;width:100%}.poll-create-modal input[type=text]:focus{border-color:var(--color-accent)}.poll-create-modal select{background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border);padding:.5rem;border-radius:.5rem;font-size:.85rem}.poll-options-edit{display:flex;flex-direction:column;gap:.3rem}.poll-option-row{display:flex;gap:.3rem;align-items:center}.poll-option-row input{flex:1}.poll-opt-remove{background:none;border:1px solid var(--color-border);color:var(--color-error);width:1.5rem;height:1.5rem;border-radius:50%;cursor:pointer;font-size:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.poll-opt-remove:hover{background:#f4433626;border-color:var(--color-error)}.poll-add-opt{background:none;border:1px dashed var(--color-border);color:var(--color-text-muted);padding:.35rem;border-radius:.4rem;cursor:pointer;font-size:.8rem;transition:all .15s}.poll-add-opt:hover{border-color:var(--color-accent);color:var(--color-accent)}.poll-create-actions{display:flex;gap:.5rem}.poll-create-actions button[type=submit]{background:var(--color-accent);color:var(--color-bg-primary);border:none;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;font-weight:600;font-size:.9rem}.poll-cancel{background:var(--color-bg-surface);color:var(--color-text-secondary);border:1px solid var(--color-border);padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;font-size:.9rem}.poll-cancel:hover{background:var(--color-border)}.sticker-picker{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.75rem;padding:.5rem;width:340px;max-height:320px;display:flex;flex-direction:column;box-shadow:0 4px 20px #0006;z-index:50}.sticker-tabs{display:flex;gap:.15rem;padding-bottom:.4rem;border-bottom:1px solid var(--color-border);margin-bottom:.4rem;overflow-x:auto;flex-shrink:0;scrollbar-width:none}.sticker-tabs::-webkit-scrollbar{display:none}.sticker-tabs button{background:none;border:none;padding:.3rem .5rem;border-radius:.3rem;cursor:pointer;font-size:.75rem;color:var(--color-text-secondary);text-transform:capitalize;transition:all .15s;white-space:nowrap}.sticker-tabs button:hover{background:var(--color-bg-surface);color:var(--color-text-primary)}.sticker-tabs button.active{background:var(--color-bg-surface);color:var(--color-accent);font-weight:600}.sticker-close{margin-left:auto;color:var(--color-text-muted)!important}.sticker-close:hover{color:var(--color-text-primary)!important}.sticker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem;overflow-y:auto;flex:1;padding:.2rem}.sticker-item{background:none;border:2px solid transparent;border-radius:.4rem;cursor:pointer;padding:.2rem;display:flex;align-items:center;justify-content:center;transition:all .15s}.sticker-item:hover{border-color:var(--color-accent);background:var(--color-bg-surface)}.sticker-item img{width:64px;height:64px;object-fit:contain}.msg-sticker{vertical-align:middle;margin-left:.25rem;flex-shrink:0}.watch-party-pip{position:fixed;bottom:5rem;right:1rem;width:320px;background:#0d1233;border:1px solid var(--color-border);border-radius:.6rem;overflow:hidden;z-index:80;box-shadow:0 6px 28px #0009;cursor:grab;-webkit-user-select:none;user-select:none;transition:width .2s,box-shadow .2s}.watch-party-pip:active{cursor:grabbing}.watch-party-pip.watch-party-mini{width:200px}.watch-party-hidden-pill{width:auto!important;background:var(--color-bg-elevated);border-radius:2rem;padding:0;box-shadow:0 4px 16px #00000080;cursor:grab}.watch-party-hidden-pill:active{cursor:grabbing}.watch-party-restore{background:var(--color-accent);color:var(--color-bg-primary);border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s}.watch-party-restore:hover{transform:scale(1.1)}.watch-party-audio-only{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;border:none}.watch-party-header{display:flex;align-items:center;justify-content:space-between;padding:.3rem .6rem;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border);cursor:grab}.watch-party-label{display:flex;align-items:center;gap:.3rem;color:var(--color-accent);font-size:.7rem;font-weight:600}.watch-party-label svg{flex-shrink:0}.watch-party-now-playing{font-size:.7rem;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.watch-party-elapsed{margin-left:.4rem;color:var(--color-accent);font-variant-numeric:tabular-nums;font-family:monospace;font-size:.65rem}.watch-party-controls{display:flex;align-items:center;gap:.2rem}.watch-party-ctrl-btn{background:none;border:1px solid var(--color-border);color:var(--color-text-secondary);width:22px;height:22px;border-radius:.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.7rem;transition:all .15s;padding:0;line-height:1}.watch-party-ctrl-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.watch-party-url-bar{display:flex;gap:.25rem;padding:.35rem .5rem;border-bottom:1px solid var(--color-border)}.watch-party-url-bar input{flex:1;background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border);padding:.25rem .5rem;border-radius:.3rem;font-size:.75rem;outline:none;min-width:0}.watch-party-url-bar input:focus{border-color:var(--color-accent)}.watch-party-url-bar button{background:var(--color-accent);color:var(--color-bg-primary);border:none;padding:.25rem .5rem;border-radius:.3rem;cursor:pointer;font-size:.7rem;font-weight:600;flex-shrink:0}.watch-party-url-bar button:disabled{opacity:.5;cursor:not-allowed}.watch-party-clear{background:var(--color-bg-surface)!important;color:var(--color-error)!important;border:1px solid var(--color-border)!important}.watch-party-embed{position:relative;width:100%;padding-top:56.25%}.watch-party-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.watch-party-empty{color:var(--color-text-muted);font-size:.75rem;text-align:center;padding:.5rem;font-style:italic}@media(max-width:600px){.watch-party-pip{width:calc(100vw - 2rem);right:1rem;bottom:4rem}.watch-party-pip.watch-party-mini{width:160px}.news-thumbnail{flex:0 0 72px;min-height:60px}.news-card-title{font-size:.82rem}.news-card-summary{-webkit-line-clamp:1}}.btn-sound-toggle{background:none;border:1px solid var(--color-border);color:var(--color-text-muted);width:30px;height:30px;border-radius:.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s;flex-shrink:0}.btn-sound-toggle:hover{border-color:var(--color-accent);color:var(--color-accent)}.btn-sound-toggle.active{border-color:var(--color-accent);color:var(--color-accent);background:#b8ff571a}.reply-parent-preview{display:flex;align-items:center;gap:.35rem;padding:.15rem .5rem .15rem .75rem;font-size:.75rem;color:#8a8faa;cursor:pointer;margin-bottom:-2px}.reply-parent-preview .reply-line{width:2px;height:14px;background:#4a5080;border-radius:1px;flex-shrink:0}.reply-parent-preview .reply-parent-sender{font-weight:600;color:var(--color-accent);white-space:nowrap}.reply-parent-preview .reply-parent-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}.reply-parent-preview.reply-deleted{opacity:.5;font-style:italic}.reply-bar{display:flex;align-items:center;gap:.5rem;padding:.35rem .75rem;background:var(--color-bg-elevated);border-left:3px solid var(--color-accent);border-radius:.3rem;margin:.25rem .5rem;font-size:.8rem}.reply-bar-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.reply-bar-label{color:#8a8faa;font-size:.7rem}.reply-bar-label strong{color:var(--color-accent)}.reply-bar-text{color:#c8c8d0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-bar-close{background:none;border:none;color:#8a8faa;cursor:pointer;font-size:.9rem;padding:0 .25rem;line-height:1}.reply-bar-close:hover{color:var(--color-text-primary)}.toolbar-btn.btn-moment.active{background:gold;color:var(--color-bg-primary);box-shadow:0 0 12px #ffd70080}.moment-divider{display:flex;align-items:center;gap:.5rem;padding:.75rem 0;animation:momentAppear .6s ease-out}.moment-line{flex:1;height:2px;background:linear-gradient(90deg,transparent,#ffd700,transparent)}.moment-content{display:flex;align-items:center;gap:.4rem;background:#ffd7001a;border:1px solid rgba(255,215,0,.3);border-radius:2rem;padding:.35rem 1rem;white-space:nowrap}.moment-icon{font-size:1rem;line-height:1}.moment-text{color:gold;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.moment-time{color:#998200;font-size:.7rem;font-weight:400}@keyframes momentAppear{0%{opacity:0;transform:scaleX(.3)}50%{opacity:1;transform:scaleX(1.02)}to{transform:scaleX(1)}}.moment-divider:last-of-type .moment-content{animation:momentGlow 2s ease-in-out}@keyframes momentGlow{0%,to{box-shadow:none}50%{box-shadow:0 0 16px #ffd70066}}.moments-trigger{position:relative;margin-left:auto}.btn-moments{background:#ffd7001a;color:gold;border:1px solid rgba(255,215,0,.25);border-radius:1rem;padding:.15rem .6rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s}.btn-moments:hover,.btn-moments.active{background:#ffd70033;border-color:#ffd70080}.moments-panel{position:absolute;top:100%;right:0;margin-top:.3rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.5rem;padding:.25rem;min-width:220px;max-height:200px;overflow-y:auto;z-index:80;box-shadow:0 4px 16px #00000080}.moment-entry{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:none;border:none;color:var(--color-text-primary);padding:.4rem .6rem;width:100%;text-align:left;cursor:pointer;font-size:.8rem;border-radius:.3rem;transition:background .1s}.moment-entry:hover{background:var(--color-bg-surface)}.moment-entry-text{color:gold;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.moment-entry-time{color:var(--color-text-muted);font-size:.7rem;flex-shrink:0}.moment-delete-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.7rem;padding:.1rem .3rem;border-radius:.25rem;opacity:0;transition:opacity .15s,color .15s;margin-left:.25rem}.moment-divider:hover .moment-delete-btn{opacity:1}.moment-delete-btn:hover{color:#ff4757;background:#ff47571a}.moment-entry-row{display:flex;align-items:center}.moment-entry-row .moment-entry{flex:1;min-width:0}.moment-entry-delete{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.65rem;padding:.2rem .4rem;border-radius:.25rem;flex-shrink:0;transition:color .15s,background .15s}.moment-entry-delete:hover{color:#ff4757;background:#ff47571a}.nav-leaderboard{display:inline-flex;align-items:center;gap:.25rem}.nav-leaderboard svg{vertical-align:middle}.leaderboard-panel{display:flex;flex-direction:column;height:100%;background:#0d1230;border-radius:.5rem;overflow:hidden}.lb-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem .5rem}.lb-header h2{margin:0;font-size:1rem;font-weight:700;color:var(--color-text-primary)}.lb-trophy-icon{color:gold}.lb-tabs{display:flex;gap:0;padding:0 .75rem;border-bottom:1px solid var(--color-bg-surface)}.lb-tabs button{flex:1;padding:.5rem .25rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:.75rem;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s}.lb-tabs button:hover{color:#c0c8e8}.lb-tabs button.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.lb-list{flex:1;overflow-y:auto;padding:.5rem}.lb-empty{color:var(--color-text-muted);text-align:center;font-size:.8rem;padding:2rem 0}.lb-row{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:.4rem;transition:background .15s}.lb-row:hover{background:#ffffff08}.lb-row.current-user{background:#b8ff570f;border:1px solid rgba(184,255,87,.15)}.lb-row.top-1 .lb-rank-num{font-size:1rem}.lb-row.top-2 .lb-rank-num{font-size:.95rem}.lb-row.top-3 .lb-rank-num{font-size:.9rem}.lb-rank-num{width:2rem;text-align:center;font-weight:700;font-size:.75rem;color:var(--color-text-secondary);flex-shrink:0}.lb-rank-icon{width:18px;height:18px;border-radius:50%;position:relative;overflow:hidden;flex-shrink:0;border:1.5px solid #333}.pokeball-top,.pokeball-bottom{position:absolute;left:0;right:0;height:50%}.pokeball-top{top:0;border-radius:9px 9px 0 0}.pokeball-bottom{bottom:0;border-radius:0 0 9px 9px}.pokeball-band{position:absolute;top:50%;left:0;right:0;height:2.5px;background:#333;transform:translateY(-50%);z-index:2}.pokeball-button{position:absolute;top:50%;left:50%;width:5px;height:5px;border-radius:50%;background:#fff;border:1.5px solid #333;transform:translate(-50%,-50%);z-index:3}.pokeball-rank .pokeball-top{background:#ff1a1a}.pokeball-rank .pokeball-bottom{background:var(--color-text-primary)}.greatball-rank .pokeball-top{background:var(--color-info)}.greatball-rank .pokeball-bottom{background:#ef4444}.ultraball-rank .pokeball-top{background:#1a1a2e}.ultraball-rank .pokeball-bottom{background:#fbbf24}.masterball-rank .pokeball-top{background:#a855f7}.masterball-rank .pokeball-bottom{background:#ec4899}.lb-avatar{width:24px;height:24px;border-radius:50%;image-rendering:pixelated;flex-shrink:0}.lb-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;color:#e0e4f0;font-weight:500}.lb-level{font-size:.65rem;font-weight:700;color:var(--color-accent);background:#b8ff571a;padding:.1rem .35rem;border-radius:.25rem;flex-shrink:0}.lb-xp{font-size:.7rem;color:var(--color-text-secondary);font-weight:600;flex-shrink:0;min-width:4rem;text-align:right}.lb-reset-btn{background:none;border:none;color:#555;font-size:.85rem;cursor:pointer;padding:0 .3rem;line-height:1;opacity:0;transition:opacity .15s,color .15s;flex-shrink:0}.lb-row:hover .lb-reset-btn{opacity:1}.lb-reset-btn:hover{color:#f44}.lb-user-footer{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border-top:1px solid var(--color-bg-surface);background:var(--color-bg-primary)}.lb-footer-rank{font-weight:700;font-size:.8rem;color:gold;min-width:2rem}.lb-footer-level{font-size:.75rem;font-weight:700;color:var(--color-accent)}.lb-footer-progress{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.lb-footer-bar{height:6px;background:var(--color-bg-surface);border-radius:3px;overflow:hidden}.lb-footer-fill{height:100%;background:linear-gradient(90deg,var(--color-accent),#7dff2a);border-radius:3px;transition:width .3s ease}.lb-footer-xp-text{font-size:.6rem;color:#6b74a0;text-align:right}.level-badge{font-size:.55rem;font-weight:700;padding:.05rem .3rem;border-radius:.2rem}.pokeball-rank-badge{background:#ff1a1a26;color:#ff6b6b}.greatball-rank-badge{background:#3b82f626;color:#60a5fa}.ultraball-rank-badge{background:#fbbf2426;color:#fbbf24}.masterball-rank-badge{background:#a855f726;color:#c084fc}.app-body{display:flex;flex:1;min-height:0;overflow:hidden}.app-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.app-sidebar{display:none}@media(min-width:1024px){.app{max-width:100%}.app-sidebar{display:flex;flex-direction:column;width:var(--sidebar-width);min-width:var(--sidebar-width);height:calc(100vh - var(--header-height));background:var(--color-bg-elevated);border-right:1px solid var(--color-border);overflow:hidden;padding:.5rem 0}.mobile-nav{display:none}header .username,header .btn-sound-toggle{display:none}}.sidebar-user-card{display:flex;align-items:center;gap:.65rem;width:calc(100% - 1rem);margin:.5rem;padding:.65rem;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);text-align:left;color:var(--color-text-primary)}.sidebar-user-card:hover{background:var(--color-bg-surface);border-color:var(--color-border-hover)}.sidebar-user-avatar{position:relative;flex-shrink:0;width:40px;height:40px}.sidebar-user-avatar img{width:40px;height:40px;border-radius:var(--radius-full);image-rendering:pixelated}.sidebar-avatar-placeholder{width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-bg-surface);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:1.2rem}.sidebar-secure-badge{position:absolute;bottom:-2px;right:-2px}.sidebar-user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.sidebar-user-name{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-meta{display:flex;gap:.25rem;align-items:center}.sidebar-user-meta .badge{font-size:.6rem;padding:.1rem .3rem}.sidebar-edit-icon{flex-shrink:0;color:var(--color-text-muted);transition:color var(--transition-fast)}.sidebar-user-card:hover .sidebar-edit-icon{color:var(--color-accent)}.sidebar-section{padding:.25rem 0}.sidebar-section-label{padding:.5rem 1rem .25rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.sidebar-item{display:flex;align-items:center;gap:.75rem;width:calc(100% - 1rem);margin:.125rem .5rem;padding:.6rem .75rem;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.88rem;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);text-align:left;position:relative}.sidebar-item:hover{background:var(--color-bg-surface);color:var(--color-text-primary)}.sidebar-item.active{background:var(--color-accent-muted);color:var(--color-accent)}.sidebar-item.active:before{content:"";position:absolute;left:0;top:.35rem;bottom:.35rem;width:3px;background:var(--color-accent);border-radius:var(--radius-full)}.sidebar-item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-badge{background:var(--color-accent);color:var(--color-bg-primary);font-size:.65rem;font-weight:700;padding:.1rem .4rem;border-radius:var(--radius-full);min-width:1rem;text-align:center}.sidebar-add-room{color:var(--color-text-muted);border:1px dashed var(--color-border);margin-top:.25rem}.sidebar-add-room:hover{color:var(--color-accent);border-color:var(--color-accent-border)}.sidebar-home-link{text-decoration:none;color:inherit}.sidebar-rooms-scroll{flex:1;overflow-y:auto;min-height:0}.sidebar-bottom{margin-top:auto;padding:.5rem 0;border-top:1px solid var(--color-border)}.sidebar-sound-toggle.active{color:var(--color-accent)}.sidebar-footer-links{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.4rem .75rem;font-size:var(--font-xs)}.sidebar-footer-links a{color:var(--color-text-muted);text-decoration:none}.sidebar-footer-links a:hover{color:var(--color-accent)}.sidebar-footer-dot{color:var(--color-text-muted);opacity:.5}.site-footer{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem;border-top:1px solid rgba(255,255,255,.06);font-size:.75rem;color:#555b7a}.footer-links{display:flex;align-items:center;gap:.5rem}.site-footer a{color:#6b74a0;text-decoration:none}.site-footer a:hover{color:var(--color-accent)}.footer-dot{color:#3a4170}.footer-credit{color:#555b7a}@media(min-width:1024px){.site-footer{display:none}}.countdown-banner{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.3rem .75rem;background:linear-gradient(90deg,#1a1f4e,#2a1f5e,#1a1f4e);border:1px solid #3b4595;border-radius:6px;font-size:.8rem;flex-shrink:0;animation:bannerGlow 3s ease-in-out infinite}.countdown-banner.countdown-live{background:linear-gradient(90deg,#1a0e0e,#2d1212,#1a0e0e);border-color:#f44;animation:liveGlow 1.5s ease-in-out infinite}@keyframes bannerGlow{0%,to{box-shadow:0 0 8px #6366f133}50%{box-shadow:0 0 16px #6366f166}}@keyframes liveGlow{0%,to{box-shadow:0 0 8px #ff44444d}50%{box-shadow:0 0 20px #ff444480}}.countdown-title{font-weight:600;color:#c4b5fd}.countdown-live .countdown-title{color:#fca5a5}.countdown-timer{color:#a5b4fc}.countdown-timer strong{color:#e0e7ff;font-variant-numeric:tabular-nums;font-family:monospace;letter-spacing:.05em}.live-badge{display:inline-flex;align-items:center;gap:.4rem;color:#f44;font-weight:700;font-size:.95rem;text-transform:uppercase;letter-spacing:.1em}.countdown-live-dot{width:8px;height:8px;border-radius:50%;background:#f44;animation:livePulse 1s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.confetti-piece{position:absolute;top:-20px;animation:confettiFall 3.5s ease-in forwards}.confetti-shape-0{border-radius:2px}.confetti-shape-1{border-radius:50%}.confetti-shape-2{border-radius:1px}@keyframes confettiFall{0%{top:-20px;opacity:1;transform:rotate(0) translate(0)}25%{opacity:1;transform:rotate(180deg) translate(20px)}50%{opacity:.9;transform:rotate(360deg) translate(-15px)}75%{opacity:.6;transform:rotate(540deg) translate(10px)}to{top:110vh;opacity:0;transform:rotate(720deg) translate(-5px)}}.xp-toast{position:fixed;bottom:80px;right:24px;background:#0a0e27eb;color:var(--color-accent);font-weight:700;font-size:1.1rem;padding:.5rem 1rem;border-radius:.5rem;border:1px solid rgba(184,255,87,.3);box-shadow:0 4px 16px #0006;z-index:9998;pointer-events:none;animation:xpToastIn .3s ease-out,xpToastOut .5s ease-in 2.5s forwards}@keyframes xpToastIn{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes xpToastOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.app.theater-mode{max-width:100%;padding:0}.app.theater-mode header{padding:.4rem 1rem;border-radius:0}.app.theater-mode .countdown-banner{display:none}.app.theater-mode nav{padding:0 1rem;gap:.3rem}.app.theater-mode main{flex:1;overflow:hidden}.theater-layout{display:flex;height:100%;gap:0}.theater-video{flex:0 0 60%;background:#000;display:flex;align-items:center;justify-content:center}.theater-video iframe{width:100%;height:100%;border:none}.theater-chat{flex:1;display:flex;flex-direction:column;border-left:1px solid var(--color-border);overflow:hidden}.theater-chat .chat-panel{height:100%}.app.theater-mode .watch-party-pip{display:none}.btn-theater-toggle{background:none;border:1px solid #3b4595;color:var(--color-text-secondary);padding:.2rem .5rem;border-radius:4px;cursor:pointer;font-size:.75rem;white-space:nowrap}.btn-theater-toggle:hover,.btn-theater-toggle.active{color:var(--color-accent);border-color:var(--color-accent)}.hype-bar{display:flex;gap:.25rem;padding:.3rem .5rem;background:linear-gradient(90deg,#8b5cf61a,#3b82f61a);border-top:1px solid var(--color-border);overflow-x:auto;scrollbar-width:none}.hype-bar::-webkit-scrollbar{display:none}.hype-btn{flex-shrink:0;padding:.25rem .5rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:999px;cursor:pointer;font-size:1.1rem;transition:transform .1s,background .15s;color:#fff}.hype-btn:hover{background:#ffffff1f;transform:scale(1.15)}.hype-btn:active{transform:scale(.95)}.hype-btn.hype-special{background:linear-gradient(135deg,#a855f74d,#ec48994d);border-color:#a855f766;font-size:.8rem;font-weight:600}.room-viewer-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#8b5cf64d;color:#c4b5fd;font-size:.65rem;font-weight:600;margin-left:.3rem;vertical-align:middle}.room-video-badge{display:inline-block;color:#ef4444;font-size:.6rem;margin-right:.25rem;animation:room-video-pulse 2s ease-in-out infinite}@keyframes room-video-pulse{0%,to{opacity:1}50%{opacity:.4}}.char-counter{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);font-size:.7rem;color:var(--color-text-muted);pointer-events:none;font-variant-numeric:tabular-nums}.char-counter.warn{color:#ef4444}.spoiler{background:#3a4170;color:transparent;border-radius:3px;padding:0 .2em;cursor:pointer;transition:color .2s,background .2s;-webkit-user-select:none;user-select:none}.spoiler.revealed{background:#3a41704d;color:inherit;-webkit-user-select:auto;user-select:auto}.online-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--color-success);margin-right:.25rem;flex-shrink:0}.event-controls{margin-top:1rem;padding:1rem;border:1px solid var(--color-border);border-radius:8px;background:#10164080}.event-controls h4{color:var(--color-accent);margin-bottom:.75rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.event-controls .inline-form{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.event-controls input{padding:.35rem .5rem;border-radius:4px;border:1px solid var(--color-border);background:#0d1233;color:#e0e7ff;font-size:.85rem}.event-controls button{padding:.35rem .75rem;border-radius:4px;border:none;background:var(--color-info);color:#fff;cursor:pointer;font-size:.85rem}.event-controls button:hover{background:#2563eb}.event-controls button.btn-celebrate{background:linear-gradient(135deg,#a855f7,#ec4899)}.event-controls button.btn-celebrate:hover{background:linear-gradient(135deg,#9333ea,#db2777)}.event-controls .event-status{font-size:.8rem;color:var(--color-text-secondary);margin-top:.5rem}.poll-collapsed{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:#10164080;border:1px solid var(--color-border);border-radius:6px;font-size:.8rem;color:var(--color-text-secondary);cursor:pointer;margin-bottom:.5rem}.poll-collapsed:hover{border-color:#3b4595}.poll-collapsed-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poll-collapsed-expand{color:#6670a0;font-size:.7rem}.prediction-templates{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.75rem}.prediction-label{font-size:.75rem;color:#6670a0;margin-right:.25rem}.prediction-template-btn{padding:.3rem .6rem;border-radius:999px;border:1px solid #3b4595;background:#3b82f61a;color:#a5b4fc;font-size:.75rem;cursor:pointer;transition:all .15s}.prediction-template-btn:hover{background:#3b82f633;border-color:#6366f1;color:#e0e7ff}.lb-xp-info-toggle{display:block;width:100%;background:none;border:none;color:#6670a0;font-size:.75rem;padding:.3rem 0;cursor:pointer;text-align:left}.lb-xp-info-toggle:hover{color:var(--color-accent)}.xp-info-section{padding:.6rem .75rem;background:#10164066;border:1px solid var(--color-border);border-radius:6px;margin-bottom:.5rem;font-size:.8rem;color:var(--color-text-secondary)}.xp-info-row{display:flex;justify-content:space-between;padding:.15rem 0}.xp-info-row span:last-child{color:var(--color-accent);font-weight:600}.xp-info-divider{height:1px;background:var(--color-border);margin:.3rem 0}.xp-info-note{font-size:.7rem;color:var(--color-text-muted)}.msg-reactions:not(.has-reactions){max-height:0;overflow:hidden;opacity:0;margin:0;padding:0;transition:max-height var(--transition-normal),opacity var(--transition-fast)}.msg-wrapper:hover .msg-reactions:not(.has-reactions){max-height:40px;overflow:visible;opacity:1;margin-top:.15rem}@media(hover:none){.msg-reactions:not(.has-reactions){height:auto;overflow:visible;opacity:1;margin-top:.15rem}}.btn-delete-data-profile{display:block;margin:1rem auto 0;background:none;border:none;color:var(--color-text-muted);font-size:.72rem;cursor:pointer;padding:.25rem .5rem;transition:color .15s}.btn-delete-data-profile:hover{color:var(--color-error)}.room-info-features{display:flex;align-items:center;gap:.4rem;padding:.15rem .5rem;min-height:0;flex-shrink:0}@media(max-width:768px){.app{padding:0 .5rem}header{gap:.4rem}nav{gap:.15rem}nav button{padding:.3rem .5rem;font-size:.75rem}}.header-avatar{width:24px;height:24px;image-rendering:pixelated;vertical-align:middle}.toast-container{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;gap:.4rem;pointer-events:none}.toast{padding:.6rem 1.2rem;border-radius:.5rem;font-size:.85rem;font-weight:600;box-shadow:0 4px 16px #00000080;pointer-events:auto;cursor:pointer;animation:toastSlideIn .3s ease-out;white-space:nowrap}.toast-exit{animation:toastSlideOut .3s ease-in forwards}.toast-success{background:#102a10f2;color:#6fcf6f;border:1px solid rgba(111,207,111,.3)}.toast-error{background:#2a1010f2;color:#f06060;border:1px solid rgba(240,96,96,.3)}.toast-info{background:#0a0e27f2;color:var(--color-accent);border:1px solid rgba(184,255,87,.3)}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.name-taken-hint{color:#f0c040;font-size:.8rem;margin:.3rem 0 .1rem}.name-modal-recovery{margin-top:.5rem;padding:.6rem;background:#ffffff0a;border-radius:.5rem;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:.5rem}.name-modal-recovery-row{display:flex;gap:.4rem}.name-modal-recovery-row input{flex:1;min-width:0}.name-modal-recover-toggle{background:none;border:none;color:#888;font-size:.75rem;cursor:pointer;text-decoration:underline;margin-top:.3rem;padding:0}.name-modal-recover-toggle:hover{color:var(--color-accent)}.btn-discord-primary{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1rem;background:var(--color-discord);color:#fff;border:1px solid var(--color-discord-hover);border-radius:.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-discord-primary:hover{background:var(--color-discord-hover)}.name-modal-divider{display:flex;align-items:center;gap:.5rem;margin:.75rem 0;color:#777;font-size:.8rem}.name-modal-divider:before,.name-modal-divider:after{content:"";flex:1;height:1px;background:#ffffff1f}.welcome-modal{max-width:380px;text-align:center}.welcome-modal h2{font-size:1.1rem;margin-bottom:.25rem}.welcome-steps{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:.75rem}.welcome-step{width:26px;height:26px;border-radius:50%;background:var(--color-bg-surface);color:#6b7db3;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-border)}.welcome-step.active{background:var(--color-discord);color:#fff;border-color:var(--color-discord)}.welcome-step-line{width:40px;height:2px;background:var(--color-border)}.welcome-subtitle{color:var(--color-text-secondary);font-size:.85rem;margin-bottom:.75rem}.welcome-avatar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin-bottom:.5rem}.welcome-avatar-item{background:#141a3d;border:2px solid var(--color-border);border-radius:.5rem;padding:.3rem;cursor:pointer;transition:border-color .15s,transform .15s}.welcome-avatar-item:hover{border-color:var(--color-discord);transform:scale(1.05)}.welcome-avatar-item.selected{border-color:var(--color-accent);background:#1a2248}.welcome-avatar-item img{width:100%;height:auto;image-rendering:pixelated}.welcome-browse-btn{background:none;border:none;color:var(--color-discord);font-size:.8rem;cursor:pointer;padding:.25rem 0;margin-bottom:.5rem}.welcome-browse-btn:hover{text-decoration:underline}.welcome-actions{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.welcome-primary-btn{width:100%;padding:.6rem 1rem;background:var(--color-accent);color:var(--color-bg-primary);border:none;border-radius:.5rem;font-size:.9rem;font-weight:600;cursor:pointer}.welcome-primary-btn:hover{background:#a8ef47}.welcome-primary-btn:disabled{background:var(--color-border);color:#6b7db3;cursor:default}.welcome-skip-btn{background:none;border:none;color:#6b7db3;font-size:.8rem;cursor:pointer;padding:.3rem}.welcome-skip-btn:hover{color:var(--color-text-secondary)}.welcome-hint{color:#555;font-size:.75rem;margin-top:.75rem}.session-badge{display:inline-flex;align-items:center;margin-left:.25rem;opacity:.5;cursor:default;transition:opacity .2s}.session-badge:hover{opacity:1}.session-badge svg{width:14px;height:14px}.sidebar-lock-icon{color:var(--color-text-muted);flex-shrink:0;margin-left:auto;opacity:.7}.admin-room-list{display:flex;flex-direction:column;gap:.5rem}.admin-room-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.admin-room-info{display:flex;align-items:center;gap:.5rem;min-width:0}.admin-room-name{font-weight:600;color:var(--color-text-primary)}.admin-room-slug{color:var(--color-text-muted);font-size:var(--font-xs)}.admin-room-actions{display:flex;gap:.35rem;flex-shrink:0}.chat-input button[type=submit]:active:not(:disabled){transform:scale(.95)}.chat-input button[type=submit]{transition:background var(--transition-fast),transform .1s ease}@keyframes msg-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message-row{animation:msg-enter .18s ease-out}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #b8ff5726}button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media(min-width:1024px){.sidebar-item.active{position:relative}.sidebar-item.active:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;background:var(--color-accent);border-radius:0 2px 2px 0}}.sidebar-item{transition:background var(--transition-fast),color var(--transition-fast)}.btn-account-small:active,.news-load-more:active,.sidebar-item:active{transform:scale(.97)}.btn-account-small,.news-load-more{transition:background var(--transition-fast),transform .1s ease}@keyframes ctx-enter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu{animation:ctx-enter .12s ease-out}
