:root{color-scheme:dark;--color-bg: #0a0a0f;--color-surface: #14141f;--color-surface-raised: #1c1c2b;--color-border: #2a2a3d;--color-text: #e8e8f0;--color-text-muted: #8b8ba3;--color-accent: #00e5a0;--color-accent-hot: #ff3d71;--color-accent-electric: #4d7cfe;--color-ok: #00e5a0;--color-warn: #ffb020;--color-error: #ff3d71;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.75rem;--text-2xl: 2.5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-glow: 0 0 24px rgb(0 229 160 / 12%);--transition-fast: .12s ease-out;--transition-base: .24s cubic-bezier(.16, 1, .3, 1)}:root[data-theme=light]{color-scheme:light;--color-bg: #f4f5fa;--color-surface: #ffffff;--color-surface-raised: #eceef6;--color-border: #d4d7e4;--color-text: #14141f;--color-text-muted: #5a5d72;--color-accent: #00b07d;--color-ok: #00b07d;--color-warn: #b87400;--shadow-glow: 0 0 24px rgb(0 176 125 / 10%)}:root{--transition-theme: background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base)}@media(prefers-reduced-motion:reduce){:root{--transition-theme: none}}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;transition:var(--transition-theme)}.status-card,.card,.token-table,.topnav,.page{transition:var(--transition-theme)}.theme-toggle{font-size:var(--text-lg);line-height:1;padding:var(--space-1) var(--space-2)}.shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-8);padding:var(--space-6);text-align:center}.brand{margin:0;font-size:var(--text-2xl);font-weight:800;letter-spacing:-.03em}.brand-accent{color:var(--color-accent)}.tagline{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--text-lg)}.status-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-glow)}.status-card p{margin:0;color:var(--color-text-muted);font-size:var(--text-sm)}.status-dot{width:10px;height:10px;flex-shrink:0;border-radius:50%;background:var(--color-ok);box-shadow:0 0 8px var(--color-ok)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topnav{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-3) var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.brand-small{font-size:var(--text-lg);font-weight:800}.nav-links{display:flex;align-items:center;gap:var(--space-4);flex:1}.nav-links>a,.nav-group-btn{color:var(--color-text-muted);text-decoration:none;font-size:var(--text-sm);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:color var(--transition-fast)}.nav-links>a.active,.nav-links>a:hover,.nav-group-btn:hover,.nav-group-open>.nav-group-btn{color:var(--color-accent)}.nav-group{position:relative;display:inline-flex}.nav-group-btn{display:inline-flex;align-items:center;gap:var(--space-1);background:none;border:none;cursor:pointer;font-weight:inherit;line-height:inherit}.nav-group-caret{font-size:.7em;opacity:.8}.nav-group-menu{position:absolute;top:100%;left:0;z-index:50;display:none;flex-direction:column;min-width:11rem;margin-top:var(--space-2);padding:var(--space-2);gap:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md, 0 8px 24px rgba(0, 0, 0, .18))}.nav-group:hover>.nav-group-menu,.nav-group:focus-within>.nav-group-menu,.nav-group-open>.nav-group-menu{display:flex}.nav-group-menu a{color:var(--color-text-muted);text-decoration:none;font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);white-space:nowrap;transition:color var(--transition-fast),background var(--transition-fast)}.nav-group-menu a.active,.nav-group-menu a:hover{color:var(--color-accent);background:var(--color-surface-alt, rgba(127, 127, 127, .08))}.nav-user{display:flex;align-items:center;gap:var(--space-3)}.nav-username{color:var(--color-text-muted);font-size:var(--text-sm)}.app-content{flex:1;width:min(960px,100%);margin:0 auto;padding:var(--space-8) var(--space-6)}.page h2{margin:0 0 var(--space-2);font-size:var(--text-xl);letter-spacing:-.02em}.page-intro{color:var(--color-text-muted);margin:0 0 var(--space-6)}button{background:var(--color-accent);color:#04110c;border:none;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);font-weight:600;font-family:inherit;font-size:var(--text-sm);cursor:pointer;transition:filter var(--transition-fast)}button:hover:not(:disabled){filter:brightness(1.1)}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}button.danger{background:transparent;color:var(--color-accent-hot);border:1px solid var(--color-accent-hot)}.lwa-button{background:#f90;color:#111;font-size:var(--text-base);padding:var(--space-3) var(--space-6)}.login-card{flex-direction:column}.form-error{color:var(--color-error);font-size:var(--text-sm);margin:var(--space-2) 0 0}.token-form{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);margin-bottom:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:480px}.token-form label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted)}.token-form input[type=text],.token-form input:not([type]){background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);padding:var(--space-2) var(--space-3);font-family:inherit}.token-form fieldset{border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3)}.scope-option{flex-direction:row!important;align-items:center;gap:var(--space-2)!important}.token-reveal{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-6);border:1px solid var(--color-accent);border-radius:var(--radius-md);background:#00e5a00f}.token-secret{font-family:var(--font-mono);font-size:var(--text-sm);word-break:break-all;padding:var(--space-2);background:var(--color-bg);border-radius:var(--radius-sm)}.token-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.token-table th,.token-table td{text-align:left;padding:var(--space-3);border-bottom:1px solid var(--color-border)}.token-table th{color:var(--color-text-muted);font-weight:600}.token-table .empty{color:var(--color-text-muted);text-align:center}.pill{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-3);border-radius:999px;font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;border:1px solid transparent}.pill-ok{color:var(--color-ok);background:#00e5a01a;border-color:#00e5a059}.pill-warn{color:var(--color-warn);background:#ffb0201a;border-color:#ffb02059}.pill-error{color:var(--color-error);background:#ff3d711a;border-color:#ff3d7159}.pill-neutral{color:var(--color-text-muted);background:var(--color-surface-raised);border-color:var(--color-border)}.card{padding:var(--space-4) var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--transition-fast),transform var(--transition-base)}.card-glow{border-color:#00e5a059;box-shadow:var(--shadow-glow)}.card-title{margin:0 0 var(--space-1);font-size:var(--text-base);font-weight:700}.card-sub{margin:0;color:var(--color-text-muted);font-size:var(--text-sm)}.member-identity{display:flex;flex-direction:column;gap:2px}.member-name{font-weight:500}.member-sub-id{font-size:var(--text-sm);color:var(--color-text-muted);font-family:monospace;word-break:break-all}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#040408b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in var(--transition-fast) both}.modal{width:min(480px,100%);max-height:85vh;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 12px 48px #0009;animation:rise-in var(--transition-base) both}.modal:focus{outline:none}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;font-size:var(--text-lg)}.modal-close{font-size:var(--text-lg);line-height:1;padding:var(--space-1) var(--space-2)}.modal-body{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6)}.modal-body p{margin:0}.toast-stack{position:fixed;bottom:var(--space-4);left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:var(--space-2);width:min(420px,calc(100vw - 2 * var(--space-4)))}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-border);border-left:3px solid var(--color-accent-electric);border-radius:var(--radius-md);box-shadow:0 8px 24px #0000007f;font-size:var(--text-sm);animation:rise-in var(--transition-base) both}.toast-success{border-left-color:var(--color-ok)}.toast-error{border-left-color:var(--color-error)}.toast-message{flex:1}.toast-dismiss{background:transparent;color:var(--color-text-muted);border:none;padding:0 var(--space-1);font-size:var(--text-lg);line-height:1}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.nav-toggle{display:none;font-size:var(--text-lg);line-height:1;padding:var(--space-1) var(--space-3)}@media(max-width:640px){.topnav{flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.nav-toggle{display:block;margin-left:auto}.nav-links{display:none;flex-basis:100%;flex-direction:column;gap:var(--space-1)}.nav-links.nav-links-open{display:flex}.nav-links a{padding:var(--space-2) var(--space-3);font-size:var(--text-base)}.nav-group{flex-direction:column;align-items:stretch}.nav-group-btn{font-size:var(--text-base);padding:var(--space-2) var(--space-3)}.nav-group-menu{position:static;display:flex;margin:0 0 var(--space-1) var(--space-3);padding:0;min-width:0;border:none;box-shadow:none;background:none}.nav-user{margin-left:auto}.nav-username{display:none}.app-content{padding:var(--space-6) var(--space-4)}}.home-grid{display:flex;flex-direction:column;gap:var(--space-6)}.health-row{display:flex;align-items:center;gap:var(--space-3)}.health-headline{margin:0;font-weight:600}.health-card .card-sub{margin-top:var(--space-2)}.say-it-now{display:flex;flex-direction:column;gap:var(--space-4)}.say-it-now label,.reconnect-form label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted)}.say-it-now select,.say-it-now textarea,.reconnect-form textarea,.reconnect-form input[type=text]{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);padding:var(--space-2) var(--space-3);font-family:inherit;font-size:var(--text-base);resize:vertical}.button-row{display:flex;gap:var(--space-3);flex-wrap:wrap}.preview-note{margin:0;padding:var(--space-2) var(--space-3);border-left:3px solid var(--color-accent-electric);background:#4d7cfe14;border-radius:var(--radius-sm);font-size:var(--text-sm)}.reconnect-status{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6)}.reconnect-status .card-sub{margin:0}.steps{margin:0 0 var(--space-6);padding-left:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2);color:var(--color-text-muted)}.steps strong,.steps a{color:var(--color-text)}kbd{font-family:var(--font-mono);font-size:var(--text-xs);padding:1px var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.reconnect-form{display:flex;flex-direction:column;gap:var(--space-3)}.reconnect-form h3{margin:0}.bookmarklet{display:inline-block;cursor:grab;padding:1px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-raised);color:var(--color-text);font-weight:600;text-decoration:none;white-space:nowrap}.reconnect-advanced{margin-top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}.reconnect-advanced>summary{cursor:pointer;color:var(--color-text-muted);font-size:var(--text-sm)}.reconnect-advanced label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted)}.reconnect-advanced textarea{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);padding:var(--space-2) var(--space-3);font-family:inherit;font-size:var(--text-base);resize:vertical}.page-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.page-head h2{margin:0}.device-group{margin-bottom:var(--space-6)}.device-divider{border:0;border-top:1px solid var(--color-border);margin:var(--space-4) 0 var(--space-6)}.group-title{margin:0 0 var(--space-3);font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.device-card{display:flex;flex-direction:column;gap:var(--space-3)}.device-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.modal-field{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted)}.modal-field input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);padding:var(--space-2) var(--space-3);font-family:inherit;font-size:var(--text-base)}.filter-row{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted)}.filter-row select{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);padding:var(--space-1) var(--space-2);font-family:inherit}.activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.activity-item{padding:var(--space-3) var(--space-4)}.activity-line{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.activity-text{flex:1;min-width:160px}.activity-time{color:var(--color-text-muted);font-size:var(--text-xs)}.activity-detail{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--text-sm);font-family:var(--font-mono);overflow-wrap:anywhere}.webhook-list{display:flex;flex-direction:column;gap:var(--space-3)}.webhook-card{display:block;text-decoration:none;color:inherit;transition:border-color var(--transition-fast)}.webhook-card:hover{border-color:var(--color-accent)}.inline-code{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--color-bg);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.mono-wrap{font-family:var(--font-mono);overflow-wrap:anywhere}.webhook-url-card{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-6)}.section-hint{margin-bottom:var(--space-3)}.extract-rows{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-6);align-items:flex-start}.extract-row{display:flex;align-items:center;gap:var(--space-2);width:100%;max-width:560px}.extract-row input{flex:1;min-width:0;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm)}.action-rows{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6);align-items:flex-start}.action-card{display:flex;flex-direction:column;gap:var(--space-3);width:100%;max-width:560px}.action-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.action-card label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted)}.action-card select,.action-card input,.action-card textarea{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);padding:var(--space-2) var(--space-3);font-family:inherit;font-size:var(--text-base)}.save-row{margin-bottom:var(--space-8)}.payload-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.payload-item{padding:var(--space-3) var(--space-4)}.payload-body{margin:var(--space-2) 0 0;padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow-y:auto}.wizard-steps{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-6);padding:0}.wizard-steps li{padding:var(--space-1) var(--space-3);border-radius:999px;border:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600}.wizard-steps .step-current{color:var(--color-accent);border-color:var(--color-accent)}.wizard-steps .step-done{color:var(--color-ok);border-color:#00e5a059}.wizard-card{display:flex;flex-direction:column;gap:var(--space-4);max-width:560px}.wizard-field{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted)}.wizard-field input,.wizard-field select,.wizard-field textarea{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);padding:var(--space-2) var(--space-3);font-family:inherit;font-size:var(--text-base)}.wizard-device-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.editor-label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-3)}.flow-editor{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);padding:var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.5;resize:vertical;white-space:pre;overflow-x:auto}.trace-card{margin:var(--space-4) 0 var(--space-6)}.trace-list{margin:var(--space-2) 0 0;padding-left:var(--space-6);display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted)}.trace-node{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent-electric)}.day-picker{border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}.cron-toggle{align-self:flex-start;font-size:var(--text-xs)}.pause-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.showcase-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin:var(--space-3) 0 var(--space-6)}.recipe-category{margin-top:var(--space-6)}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.recipe-card{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.recipe-card h4{margin:0;font-size:var(--text-lg)}.recipe-card p{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);flex:1}.recipe-preview{padding:var(--space-3);background:var(--color-surface-raised);border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:var(--text-sm)}.form-hint{color:var(--color-text-muted);font-size:var(--text-sm)}.soundboard-device{display:inline-flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-6);font-size:var(--text-sm);color:var(--color-text-muted)}.soundboard-upload,.page>.card{margin-bottom:var(--space-6)}.soundboard-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.soundboard-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.soundboard-name{flex:1;min-width:0;overflow-wrap:anywhere}.soundboard-meta{color:var(--color-text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.soundboard-category-title{margin:var(--space-4) 0 var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.audio-controls{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);margin-top:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt, rgba(127, 127, 127, .05))}.audio-controls-volume-toggle,.audio-controls-restore{flex-direction:row!important;align-items:center;gap:var(--space-2)!important;font-size:var(--text-sm)}.audio-controls input[type=range]{width:100%}:focus-visible{outline:2px solid var(--color-accent-electric);outline-offset:2px}
