:root{--bg:#0e0e10;--bg-2:#0a0a0c;--panel:#18181b;--panel-2:#1f1f23;--panel-hover:#232328;--border:#2a2a31;--border-strong:#3a3a42;--text:#efeff1;--muted:#adadb8;--muted-2:#76767f;--accent:#9147ff;--accent-hover:#a36bff;--accent-soft:rgba(145,71,255,0.16);--twitch:#9147ff;--tiktok:#ff0050;--green:#00d264;--green-soft:rgba(0,210,100,0.16);--red:#ff4d4d;--red-soft:rgba(255,77,77,0.14);--warn:#f0b454;--warn-soft:rgba(240,180,84,0.14);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:9999px;--text-xs:11px;--text-sm:12.5px;--text-base:14px;--text-md:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.25;--leading-normal:1.5;--shadow-sm:0 1px 2px rgba(0,0,0,0.35);--shadow-md:0 4px 14px rgba(0,0,0,0.32);--shadow-lg:0 10px 30px rgba(0,0,0,0.42);--shadow-modal:0 24px 60px rgba(0,0,0,0.55);--t-fast:120ms ease;--t-base:200ms ease;--z-header:50;--z-overlay:100;--z-modal:200;--focus-ring:0 0 0 3px rgba(145,71,255,0.45);--font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"JetBrains Mono",Menlo,Consolas,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100vh;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent);text-decoration:none;transition:color var(--t-fast)}a:hover{color:var(--accent-hover)}::selection{background:var(--accent-soft);color:var(--text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--muted-2)}::-webkit-scrollbar-track{background:transparent}h1,h2,h3,h4{margin:0;font-weight:var(--font-semibold);line-height:var(--leading-tight)}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{background:var(--bg-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-base);transition:border-color var(--t-fast),box-shadow var(--t-fast);outline:none}input::placeholder,textarea::placeholder{color:var(--muted-2)}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring)}input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}button{cursor:pointer;background:none;color:inherit;border:0;padding:0;font-weight:inherit}.page{display:flex;flex-direction:column;gap:var(--space-5);width:100%;max-width:1100px;margin:0 auto;padding:var(--space-5)}.page--dashboard{height:100%;min-height:0;padding-bottom:var(--space-3);gap:var(--space-4)}.page-title{font-size:var(--text-xl);font-weight:var(--font-semibold);line-height:var(--leading-tight)}.page-subtitle{color:var(--muted);font-size:var(--text-sm);margin:0}.section-title{font-size:var(--text-md);font-weight:var(--font-semibold);display:inline-flex;align-items:center;gap:var(--space-2)}.row{display:flex;align-items:center;gap:var(--space-3)}.row--between{justify-content:space-between}.row--wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column}.stack--2{gap:var(--space-2)}.stack--3{gap:var(--space-3)}.stack--4{gap:var(--space-4)}.muted{color:var(--muted)}.mono{font-family:var(--font-mono)}.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;min-width:0}.card--flex{flex:1 1;min-height:0}.card-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.card-title{gap:var(--space-2);font-size:var(--text-md);font-weight:var(--font-semibold)}.card-title,.card-title-icon{display:inline-flex;align-items:center}.card-subtitle,.card-title-icon{color:var(--muted)}.card-subtitle{font-size:var(--text-sm)}.card-header-actions{margin-left:auto;display:inline-flex;align-items:center;gap:var(--space-2)}.card-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);min-height:0}.card-body--flush{padding:0}.card-body--flex{flex:1 1;min-height:0}.surface-2{background:var(--panel-2)}.code-block,.surface-2{border:1px solid var(--border);border-radius:var(--radius-md)}.code-block{background:var(--bg-2);padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--muted);word-break:break-all}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);height:36px;border-radius:var(--radius-md);border:1px solid transparent;font-size:var(--text-base);font-weight:var(--font-semibold);line-height:1;white-space:nowrap;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;text-decoration:none;color:var(--text);background:transparent}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn:not(:disabled):active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:white;border-color:var(--accent)}.btn-primary:not(:disabled):hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-secondary{background:var(--panel);border-color:var(--border);color:var(--text)}.btn-secondary:not(:disabled):hover{background:var(--panel-hover);border-color:var(--border-strong)}.btn-ghost{background:transparent;color:var(--muted);border-color:transparent}.btn-ghost:not(:disabled):hover{background:var(--accent-soft);color:var(--text)}.btn-danger{background:var(--red);color:white;border-color:var(--red)}.btn-danger:not(:disabled):hover{background:#ff6868;border-color:#ff6868}.btn-success{background:var(--green);color:#0a0a0a;border-color:var(--green)}.btn-success:not(:disabled):hover{filter:brightness(1.08)}.btn-sm{height:28px;padding:0 var(--space-3);font-size:var(--text-sm)}.btn-icon{width:32px;padding:0}.btn-icon-sm{width:24px;height:24px;padding:0;border-radius:var(--radius-sm)}.btn-block{width:100%}.btn-ghost.is-active{background:var(--accent-soft);color:var(--text)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{font-size:var(--text-sm);color:var(--muted);font-weight:var(--font-medium)}.field-help{font-size:var(--text-xs);color:var(--muted)}.field-error{font-size:var(--text-xs);color:var(--red)}.field-row{display:flex;align-items:center;gap:var(--space-2)}.field-row .input,.field-row input,.field-row select{flex:1 1;min-width:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.02em;border-radius:var(--radius-pill);text-transform:uppercase;background:var(--panel-2);color:var(--muted);border:1px solid var(--border);line-height:1.6;white-space:nowrap}.badge-soft{background:var(--accent-soft);color:var(--accent);border-color:transparent}.badge-success{background:var(--green-soft);color:var(--green);border-color:transparent}.badge-warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.badge-danger{background:var(--red-soft);color:var(--red);border-color:transparent}.badge-twitch{background:var(--accent-soft);color:var(--twitch);border-color:transparent}.badge-tiktok{background:rgba(255,0,80,.16);color:var(--tiktok);border-color:transparent}.badge-sm{padding:1px var(--space-1);font-size:10px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--muted-2);flex-shrink:0}.status-dot.is-ok{background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.status-dot.is-warn{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.status-dot.is-bad{background:var(--red);box-shadow:0 0 0 3px var(--red-soft)}.status-dot.is-muted{background:var(--muted-2)}.stat{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-label{font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--font-medium)}.stat-value{font-size:var(--text-md);font-weight:var(--font-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-sub{font-size:var(--text-xs);color:var(--muted)}.stat-row{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-base)}.stat-row>:first-child{color:var(--muted)}.stat-row>:last-child{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:var(--font-semibold)}.alert{display:flex;gap:var(--space-2);align-items:flex-start;padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);border:1px solid transparent}.alert-danger{background:var(--red-soft);border-color:rgba(255,77,77,.35);color:var(--red)}.alert-warn{background:var(--warn-soft);border-color:rgba(240,180,84,.35);color:var(--warn)}.alert-success{background:var(--green-soft);border-color:rgba(0,210,100,.35);color:var(--green)}.ai-markdown>:first-child{margin-top:0}.ai-markdown>:last-child{margin-bottom:0}.ai-markdown p{margin:0 0 var(--space-3)}.ai-markdown h1,.ai-markdown h2,.ai-markdown h3,.ai-markdown h4{margin:var(--space-4) 0 var(--space-2);font-weight:var(--font-semibold);line-height:var(--leading-tight)}.ai-markdown h1{font-size:var(--text-lg)}.ai-markdown h2{font-size:var(--text-md)}.ai-markdown h3,.ai-markdown h4{font-size:var(--text-base)}.ai-markdown ol,.ai-markdown ul{margin:0 0 var(--space-3);padding-left:var(--space-5)}.ai-markdown li{margin:var(--space-1) 0}.ai-markdown li>p{margin:0}.ai-markdown strong{font-weight:var(--font-semibold);color:var(--text)}.ai-markdown em{font-style:italic}.ai-markdown a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.ai-markdown code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1px 5px}.ai-markdown pre{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);margin:0 0 var(--space-3);overflow-x:auto;font-size:var(--text-xs);line-height:var(--leading-normal)}.ai-markdown pre code{background:none;border:0;padding:0;font-size:inherit}.ai-markdown blockquote{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--muted)}.ai-markdown hr{border:0;border-top:1px solid var(--border);margin:var(--space-4) 0}.ai-markdown table{border-collapse:collapse;margin:0 0 var(--space-3);font-size:var(--text-xs);display:block;overflow-x:auto;max-width:100%}.ai-markdown td,.ai-markdown th{border:1px solid var(--border);padding:var(--space-1) var(--space-2);text-align:left}.ai-markdown th{background:var(--bg-2);font-weight:var(--font-semibold)}.app-header{height:56px;gap:var(--space-3);padding:0 var(--space-5);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:var(--z-header);flex-shrink:0}.app-header,.app-nav{display:flex;align-items:center}.app-nav{gap:var(--space-1);margin-left:auto}.admin-nav-button{display:inline-flex;align-items:center;gap:var(--space-2);background:transparent;border:1px solid transparent;color:var(--muted);text-decoration:none;padding:0 var(--space-3);height:34px;border-radius:var(--radius-md);font-weight:var(--font-semibold);font-size:var(--text-sm);white-space:nowrap;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.admin-nav-button.is-active,.admin-nav-button:hover{background:var(--accent-soft);color:var(--text)}.admin-nav-button-label{font-size:var(--text-sm)}.logo{display:inline-flex;align-items:center;gap:var(--space-2);text-decoration:none;color:var(--text);font-weight:var(--font-bold);font-size:var(--text-md);letter-spacing:-.01em}.logo-dot{width:8px;height:8px;background:var(--accent);border-radius:50%;box-shadow:0 0 12px var(--accent);flex-shrink:0}.logo-word{display:inline-flex;align-items:baseline}.logo-word-prefix{color:var(--muted);font-weight:var(--font-medium)}.logo-word-suffix{color:var(--text)}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:min(8vh,64px) var(--space-3) var(--space-5);z-index:var(--z-modal)}.modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);width:100%;max-width:640px;max-height:calc(100vh - 100px);overflow:hidden;display:flex;flex-direction:column}.modal-header{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border)}.modal-body,.modal-header{display:flex;padding:var(--space-4)}.modal-body{flex-direction:column;gap:var(--space-4);overflow-y:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-only,.mobile-only-inline-flex{display:none}@media (max-width:768px){.mobile-only{display:block}.mobile-only-flex{display:flex}.mobile-only-inline-flex{display:inline-flex}.desktop-only{display:none!important}.admin-main{padding:0!important}.page{padding:var(--space-3)}.page--dashboard{padding:var(--space-2);gap:var(--space-2)}.admin-header-nav-text,.dashboard-page-title{display:none}.admin-nav-button{padding:0 var(--space-2);width:36px;justify-content:center}.admin-nav-button-label{display:none}.app-header{padding:0 var(--space-3)}}.dashboard-grid{flex:1 1;min-height:0;display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);grid-gap:var(--space-4);gap:var(--space-4)}.dashboard-side{display:flex;flex-direction:column;gap:var(--space-4);overflow-y:auto;min-height:0}@media (max-width:1024px){.dashboard-grid{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}}@media (max-width:768px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}}.feed-row{border-radius:var(--radius-sm);margin-inline:calc(var(--space-2) * -1);padding-inline:var(--space-2);transition:background var(--t-fast)}.feed-row:hover{background:var(--panel-hover)}.anim-spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.flash-overlay{position:fixed;inset:0;pointer-events:none;z-index:var(--z-modal);background:#ffffff;opacity:0;animation:flash-pulse 1.5s ease-out forwards}@keyframes flash-pulse{0%{opacity:0}10%{opacity:.95}35%{opacity:.2}55%{opacity:.85}to{opacity:0}}