:root{--bg-body:#0e0e10;--bg-header:#18181b;--bg-hover:rgba(255,255,255,0.04);--bg-highlighted:rgba(169,112,255,0.12);--border:#2d2d2d;--text-primary:#efeff1;--text-secondary:#adadb8;--color-primary:#a970ff;--color-primary-hover:#bf94ff;--color-scrollbar:#3f3f46;--color-twitch:#9147ff;--color-warning:#f4a100;--color-warning-bg:rgba(244,161,0,0.1);--color-warning-border:rgba(244,161,0,0.4);--color-success:#00c853;--color-danger:#e53e3e;--color-input-bg:#18181b;--color-btn-secondary:#3f3f46}[data-theme=light]{--bg-body:#f5f5f7;--bg-header:#ffffff;--bg-hover:rgba(0,0,0,0.04);--bg-highlighted:rgba(169,112,255,0.10);--border:#e0e0e5;--text-primary:#1a1a1b;--text-secondary:#606070;--color-primary:#7c3aed;--color-primary-hover:#6d28d9;--color-scrollbar:#c4c4cc;--color-twitch:#9147ff;--color-warning:#b45309;--color-warning-bg:rgba(180,83,9,0.1);--color-warning-border:rgba(180,83,9,0.4);--color-success:#16a34a;--color-danger:#c53030;--color-input-bg:#f0f0f5;--color-btn-secondary:#e4e4e7}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,sans-serif;background:var(--bg-body);color:var(--text-primary)}a{color:inherit;text-decoration:none}.chat-page{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background:transparent}.chat-header{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-header);border-bottom:1px solid var(--border);flex-shrink:0}.chat-back{color:var(--color-primary);font-size:14px}.chat-back:hover{color:var(--color-primary-hover)}.chat-channel-name{font-size:14px;font-weight:600;color:var(--text-primary)}.chat-no-channel{padding:16px;color:var(--text-secondary);font-size:14px}:root{--widget-font-size:14px;--widget-font-weight:400;--widget-msg-color:var(--text-primary);--widget-badge-size:1em;--widget-overlay-bg:transparent;--widget-overlay-py:0px;--widget-overlay-px:0px;--widget-overlay-radius:0px;--widget-msg-gap:0px;--widget-msg-font-size:var(--widget-font-size);--widget-msg-font-weight:var(--widget-font-weight);--widget-msg-type-bg:transparent;--widget-msg-type-py:4px;--widget-msg-type-px:12px;--widget-msg-type-radius:0px;--widget-reward-font-size:var(--widget-font-size);--widget-reward-font-weight:var(--widget-font-weight);--widget-reward-bg:transparent;--widget-reward-py:4px;--widget-reward-px:12px;--widget-reward-radius:0px;--widget-system-font-size:var(--widget-font-size);--widget-system-font-weight:var(--widget-font-weight);--widget-system-bg:transparent;--widget-system-py:4px;--widget-system-px:12px;--widget-system-radius:0px}.chat-feed{display:flex;flex-direction:column;flex:1 1;overflow:hidden;background:var(--widget-overlay-bg);padding:var(--widget-overlay-py) var(--widget-overlay-px);border-radius:var(--widget-overlay-radius)}.chat-status{font-size:11px;padding:4px 8px;flex-shrink:0}.status-connected{color:var(--color-success)}.status-disconnected{color:var(--text-secondary)}.chat-messages{flex:1 1;overflow-y:auto;padding:4px 0;font-size:var(--widget-font-size);display:flex;flex-direction:column;gap:var(--widget-msg-gap);scrollbar-width:thin;scrollbar-color:var(--color-scrollbar) transparent}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:2px}.chat-message{padding:var(--widget-msg-type-py) var(--widget-msg-type-px);font-size:var(--widget-font-size);line-height:1.5;word-break:break-word;background:var(--widget-msg-type-bg);border-radius:var(--widget-msg-type-radius)}.chat-message:hover{background:var(--bg-hover)}.chat-author{font-weight:700;cursor:default}.chat-separator{color:var(--text-secondary)}.chat-text{color:var(--widget-msg-color);font-weight:var(--widget-msg-font-weight);font-size:var(--widget-msg-font-size)}.chat-badges{display:inline-flex;align-items:center;gap:2px;margin-right:4px;vertical-align:middle}.chat-badge{width:var(--widget-badge-size);height:var(--widget-badge-size)}.chat-badge,.chat-emote{display:inline-block;vertical-align:middle}.chat-emote{margin:0 2px}.chat-message-body{display:inline}.chat-message-highlighted{background:var(--widget-reward-bg,var(--bg-highlighted));border-left:2px solid var(--color-primary);padding:var(--widget-reward-py) var(--widget-reward-px);padding-left:calc(var(--widget-reward-px) + 2px);border-radius:var(--widget-reward-radius)}.chat-message-system{background:var(--widget-system-bg);padding:var(--widget-system-py) var(--widget-system-px);border-radius:var(--widget-system-radius)}.chat-system-text{color:var(--text-secondary);font-size:var(--widget-system-font-size);font-weight:var(--widget-system-font-weight)}.chat-reply{font-size:11px;color:var(--text-secondary);margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.chat-reply-author{color:var(--color-primary-hover);margin-right:4px}.chat-reply-text{opacity:.7}.chat-bits{font-size:11px;font-weight:700;margin-left:4px}.chat-bits,.chat-reward{color:var(--color-primary-hover)}.chat-reward{font-size:var(--widget-reward-font-size);font-weight:var(--widget-reward-font-weight);margin-bottom:2px}.home-page{max-width:480px;margin:60px auto;padding:24px}.server-unavailable{margin-bottom:12px}.scope-warning,.server-unavailable{font-size:13px;color:var(--color-warning)}.scope-warning{display:flex;align-items:center;gap:12px;background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:6px;padding:10px 14px;margin-bottom:16px}.btn-sm{padding:4px 12px;font-size:12px;white-space:nowrap}.home-page h1{font-size:28px;font-weight:700;margin-bottom:24px;color:var(--color-primary)}.user-profile{display:flex;flex-direction:column;gap:16px}.user-info{display:flex;align-items:center;gap:12px}.user-avatar{border-radius:50%}.user-name{font-size:18px;font-weight:600}.user-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:opacity .15s}.btn:hover{opacity:.85}.btn-primary{background:var(--color-primary);color:#fff}.btn-danger{background:transparent;color:var(--color-danger,#e53e3e);border:1px solid var(--color-danger,#e53e3e)}.btn-secondary{background:var(--color-btn-secondary);color:var(--text-primary)}.btn-twitch{background:var(--color-twitch);color:#fff}.btn-danger{background:#e53e3e;color:#fff}[data-theme=light] .btn-danger{background:#c53030}.integration-page{max-width:600px;margin:60px auto;padding:24px}.integration-page h1{font-size:24px;font-weight:700;margin-bottom:8px}.integration-page p{color:var(--text-secondary);font-size:14px;margin-bottom:24px}.widget-collapsible-section{border:1px solid var(--border);border-radius:8px;margin-bottom:8px;overflow:hidden}.widget-collapsible-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-secondary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.widget-collapsible-label{flex:1 1;font-size:13px;font-weight:600;color:var(--text-primary)}.widget-collapsible-chevron{font-size:10px;color:var(--text-secondary)}.widget-collapsible-body{padding:12px 14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.widget-section-disabled{opacity:.4;pointer-events:none}.widget-collapsible-body .widget-collapsible-section{margin-bottom:4px}.widget-settings-subsection-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:8px 0 4px}.widget-obs-hint{font-size:13px;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:10px 14px;margin-bottom:12px;line-height:1.5}.integration-url-box{display:flex;gap:8px;margin-bottom:12px}.integration-url-input{flex:1 1;background:var(--color-input-bg);border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-size:13px;color:var(--text-primary);font-family:monospace}.integration-back{display:inline-block;margin-top:20px;color:var(--color-primary);font-size:14px}.integration-back:hover{color:var(--color-primary-hover)}.widget-list{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.widget-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-header);border:1px solid var(--border);border-radius:8px}.widget-name{font-size:14px;font-weight:600;color:var(--text-primary)}.widget-actions{display:flex;gap:8px}.widget-empty{color:var(--text-secondary);font-size:14px;margin-bottom:16px}.widget-settings-section{margin-bottom:24px}.widget-settings-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.integration-theme-selector{display:flex;gap:8px;margin-bottom:16px}.integration-theme-btn{padding:6px 14px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--color-input-bg);color:var(--text-secondary);transition:all .15s}.integration-theme-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.theme-toggle{position:fixed;top:12px;right:12px;z-index:1000;width:36px;height:36px;border-radius:50%;background:var(--color-btn-secondary);color:var(--text-primary);border:1px solid var(--border);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s,background .15s;line-height:1}.theme-toggle:hover{opacity:.85}[data-obs="1"] .theme-toggle{display:none}@keyframes widgetFadeIn{0%{opacity:0}to{opacity:1}}@keyframes widgetSlideIn{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}[data-animation=fade] .chat-message{animation:widgetFadeIn .2s ease}[data-animation=slide] .chat-message{animation:widgetSlideIn .2s ease}.widget-settings-name-input{width:100%;background:var(--color-input-bg);border:1px solid var(--border);border-radius:6px;padding:8px 12px;font-size:14px;color:var(--text-primary);font-family:inherit}.widget-settings-name-input:focus{outline:none;border-color:var(--color-primary)}.widget-settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.widget-settings-row-label{font-size:13px;color:var(--text-primary);min-width:120px}.widget-settings-slider-wrap{display:flex;align-items:center;gap:10px;flex:1 1}.widget-settings-slider{flex:1 1;accent-color:var(--color-primary);cursor:pointer}.widget-settings-slider-value{font-size:12px;color:var(--text-secondary);min-width:36px;text-align:right}.widget-settings-checkbox{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.widget-settings-select{background:var(--color-input-bg);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:13px;color:var(--text-primary);cursor:pointer;font-family:inherit}.widget-settings-select:focus{outline:none;border-color:var(--color-primary)}.widget-settings-color-wrap{display:flex;align-items:center;gap:10px;flex:1 1}.widget-settings-color-input{width:36px;height:32px;border:1px solid var(--border);border-radius:6px;padding:2px;background:none;cursor:pointer}.widget-settings-divider{border:none;border-top:1px solid var(--border);margin:20px 0}.widget-direction-selector{display:flex;gap:8px}.widget-direction-btn{padding:6px 14px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--color-input-bg);color:var(--text-secondary);transition:all .15s}.widget-direction-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}