*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.static{position:static}.absolute{position:absolute}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.border{border-width:1px}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0;min-width:320px;min-height:100vh}.chat-debug-badge{display:inline-flex;align-items:center;min-height:22px;border:1px solid color-mix(in srgb,var(--warning, #f59e0b) 45%,transparent);border-radius:999px;padding:0 8px;background:color-mix(in srgb,var(--warning, #f59e0b) 13%,transparent);color:var(--warning, #f59e0b);font-size:11px;font-weight:850}.chat-debug-output{width:100%;margin:10px 0 0;border:1px solid color-mix(in srgb,var(--warning, #f59e0b) 36%,var(--chat-border, rgba(255, 255, 255, .14)));border-radius:12px;padding:10px;background:color-mix(in srgb,var(--warning, #f59e0b) 8%,var(--chat-surface, rgba(255, 255, 255, .06)));color:var(--chat-text, inherit);font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto;max-height:360px}:root{--halo-bg: var(--bg-primary, #0f172a);--halo-bg-2: color-mix(in srgb, var(--bg-primary, #0f172a) 88%, #000 12%);--halo-surface: color-mix(in srgb, var(--bg-secondary, #1e293b) 70%, transparent);--halo-surface-strong: color-mix(in srgb, var(--bg-secondary, #1e293b) 94%, #fff 3%);--halo-raised: color-mix(in srgb, var(--bg-secondary, #1e293b) 97%, #fff 5%);--halo-text: var(--text-primary, #f1f5f9);--halo-dim: var(--text-secondary, #94a3b8);--halo-faint: var(--text-muted, #64748b);--halo-accent: var(--accent, #0ea5e9);--halo-accent-2: var(--accent-hover, #0284c7);--halo-glow: var(--accent-glow, rgba(14, 165, 233, .3));--halo-line: color-mix(in srgb, var(--text-primary, #f1f5f9) 10%, transparent);--halo-line-soft: color-mix(in srgb, var(--text-primary, #f1f5f9) 6%, transparent);--halo-hover: color-mix(in srgb, var(--text-primary, #f1f5f9) 6%, transparent);--halo-tint: color-mix(in srgb, var(--halo-accent) 16%, transparent);--halo-sidebar-w: 252px;--halo-radius: 22px;--halo-radius-md: 16px;--halo-radius-sm: 11px;--halo-shadow: 0 30px 70px -34px rgba(0, 0, 0, .62);--halo-shadow-sm: 0 12px 30px -18px rgba(0, 0, 0, .5);--halo-ease: cubic-bezier(.32, .72, 0, 1);--halo-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, Inter, sans-serif}body.halo-body{margin:0;background:var(--halo-bg);color:var(--halo-text);font-family:var(--halo-font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}.halo-aurora{position:fixed;inset:0 0 auto;height:60vh;z-index:0;pointer-events:none;background:radial-gradient(50% 60% at 15% -10%,color-mix(in srgb,var(--halo-accent) 20%,transparent),transparent 60%),radial-gradient(46% 56% at 90% -12%,color-mix(in srgb,var(--halo-accent-2) 16%,transparent),transparent 62%);opacity:.4}.halo-app{position:relative;z-index:1;display:grid;grid-template-columns:var(--halo-sidebar-w) minmax(0,1fr);height:100vh;width:100vw}.halo-sidebar{display:flex;flex-direction:column;height:100vh;padding:14px 12px 12px;background:color-mix(in srgb,var(--halo-bg-2) 72%,transparent);backdrop-filter:saturate(180%) blur(26px);-webkit-backdrop-filter:saturate(180%) blur(26px);border-right:1px solid var(--halo-line-soft);overflow:hidden}.halo-brand{display:flex;align-items:center;gap:11px;padding:8px 10px 14px;border:0;background:none;cursor:pointer;color:var(--halo-text);font-weight:680;font-size:17px;letter-spacing:-.02em}.halo-mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(140deg,var(--halo-accent),var(--halo-accent-2));box-shadow:0 6px 16px -6px var(--halo-glow),inset 0 1px #ffffff4d}.halo-nav{flex:1;overflow-y:auto;padding:4px 2px 8px;margin:2px -4px 0;scrollbar-width:thin}.halo-nav::-webkit-scrollbar{width:7px}.halo-nav::-webkit-scrollbar-thumb{background:var(--halo-line);border-radius:4px}.halo-nav-label{font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--halo-faint);padding:16px 12px 6px}.halo-nav-kind{border-top:1px solid var(--halo-line-soft);margin-top:12px;padding-top:10px}.halo-nav-kind:first-of-type{border-top:0;margin-top:10px;padding-top:0}.halo-nav-kind-label{display:flex;align-items:center;gap:8px;padding:8px 12px 2px;color:var(--halo-text);font-size:12px;font-weight:760;letter-spacing:0}.halo-nav-kind-label:before{content:"";width:7px;height:7px;border-radius:999px;background:var(--halo-accent);box-shadow:0 0 0 3px var(--halo-tint)}.halo-nav-item{width:100%;display:flex;align-items:center;gap:11px;padding:7px 10px;margin:1px 4px;border:0;border-radius:10px;background:none;color:var(--halo-dim);cursor:pointer;text-align:left;font-size:13.5px;font-weight:520;transition:background .15s,color .15s}.halo-nav-item:hover{background:var(--halo-hover);color:var(--halo-text)}.halo-nav-item[data-active=true]{background:var(--halo-tint);color:var(--halo-text);font-weight:600}.halo-nav-item[data-active=true] .halo-nav-chip{box-shadow:0 0 0 2px color-mix(in srgb,var(--halo-accent) 40%,transparent)}.halo-nav-chip{width:26px;height:26px;border-radius:8px;flex:none;display:grid;place-items:center;color:#fff;box-shadow:inset 0 1px #ffffff38}.halo-nav-item .halo-nav-ext{margin-left:auto;opacity:.5}.halo-side-foot{display:flex;align-items:center;gap:10px;padding:10px;margin-top:6px;border-radius:14px;border:1px solid var(--halo-line-soft);background:var(--halo-surface)}.halo-avatar{width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;font-weight:700;font-size:14px;background:linear-gradient(140deg,var(--halo-accent),var(--halo-accent-2))}.halo-side-foot .halo-foot-name{font-size:13px;font-weight:600;line-height:1.1}.halo-side-foot .halo-foot-sub{font-size:11px;color:var(--halo-faint)}.halo-foot-btn{width:32px;height:32px;border-radius:9px;border:0;cursor:pointer;display:grid;place-items:center;color:var(--halo-dim);background:transparent;transition:background .15s,color .15s}.halo-foot-btn:hover{background:var(--halo-hover);color:var(--halo-text)}.halo-main{display:flex;flex-direction:column;height:100vh;min-width:0;overflow:hidden;padding:0}.halo-bar{position:relative;top:auto;left:auto;right:auto;z-index:5;display:flex;align-items:center;justify-content:flex-start;gap:12px;height:64px;min-height:64px;padding:0 26px;flex:0 0 64px;border-bottom:1px solid var(--halo-line-soft);background:color-mix(in srgb,var(--halo-bg) 86%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}.halo-search-btn{display:flex;align-items:center;gap:10px;flex:1 1 auto;width:auto;max-width:520px;min-width:240px;height:40px;padding:0 15px;box-sizing:border-box;border-radius:999px;border:1px solid color-mix(in srgb,var(--halo-text) 16%,transparent);background:color-mix(in srgb,var(--halo-text) 8%,transparent);color:var(--halo-dim);font-size:14px;cursor:pointer;white-space:nowrap;transition:border-color .2s,background .2s}.halo-search-btn>span:first-of-type{overflow:hidden;text-overflow:ellipsis}.halo-search-btn:hover{border-color:color-mix(in srgb,var(--halo-accent) 55%,transparent);background:color-mix(in srgb,var(--halo-text) 12%,transparent)}.halo-search-btn .halo-kbd{margin-left:auto;font-size:11px;border:1px solid var(--halo-line);border-radius:6px;padding:1px 6px;flex:none}.halo-bar-spacer{flex:1 1 0;min-width:0}.halo-bar-div{width:1px;height:22px;background:var(--halo-line);margin:0 4px;flex:none}.halo-icon-btn{width:40px;height:40px;border-radius:12px;flex:none;border:1px solid var(--halo-line-soft);background:color-mix(in srgb,var(--halo-surface) 50%,transparent);color:var(--halo-dim);display:grid;place-items:center;cursor:pointer;transition:transform .18s var(--halo-ease),color .18s,border-color .18s,background .18s}.halo-icon-btn:hover{transform:translateY(-1px);color:var(--halo-text);border-color:color-mix(in srgb,var(--halo-accent) 50%,transparent)}.halo-view{flex:1;overflow-y:auto;padding:28px 30px 56px}.halo-view.bleed{padding:0;overflow:hidden}.halo-view::-webkit-scrollbar{width:10px}.halo-view::-webkit-scrollbar-thumb{background:var(--halo-line);border-radius:5px}.halo-greeting{margin:4px 2px 22px}.halo-greeting h1{font-size:clamp(26px,3vw,34px);font-weight:720;letter-spacing:-.025em;margin:0}.halo-greeting p{color:var(--halo-faint);font-size:14.5px;margin:5px 0 0}.halo-bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(128px,auto);gap:16px}.halo-card{position:relative;background:var(--halo-surface);border:1px solid var(--halo-line-soft);border-radius:var(--halo-radius);backdrop-filter:blur(18px);box-shadow:var(--halo-shadow-sm);overflow:hidden;transition:transform .2s var(--halo-ease),border-color .2s}.halo-card.interactive{cursor:pointer}.halo-card.interactive:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--halo-accent) 40%,transparent)}.halo-tile-head{display:flex;align-items:center;gap:11px;padding:18px 18px 0}.halo-tile-icon-sm{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:#fff;box-shadow:inset 0 1px #ffffff38;flex:none}.halo-tile-head h3{margin:0;font-size:14.5px;font-weight:620;letter-spacing:-.01em}.halo-tile-head .halo-tile-meta{margin-left:auto;font-size:12px;color:var(--halo-faint)}.halo-tile-body{padding:14px 18px 18px}.halo-metric{font-size:30px;font-weight:720;letter-spacing:-.03em;line-height:1.05}.halo-metric small{font-size:15px;font-weight:600;color:var(--halo-faint);margin-left:4px;letter-spacing:0}.halo-metric-sub{color:var(--halo-faint);font-size:12.5px;margin-top:3px}.halo-health-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.halo-health-pill,.halo-health-more{min-width:0;max-width:100%;display:inline-flex;align-items:center;gap:6px;border:1px solid color-mix(in srgb,#f59e0b 34%,transparent);border-radius:999px;background:color-mix(in srgb,#f59e0b 12%,transparent);color:var(--halo-text);padding:5px 8px;font-size:11.5px;line-height:1}.halo-health-pill.blocked{border-color:color-mix(in srgb,#f87171 40%,transparent);background:color-mix(in srgb,#f87171 13%,transparent)}.halo-health-pill b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:760}.halo-health-pill small,.halo-health-more{color:var(--halo-faint);font-weight:700;letter-spacing:0}.halo-health-sep{color:var(--halo-faint)}.halo-meter{display:block;width:100%;height:8px;border-radius:999px;background:color-mix(in srgb,var(--halo-text) 12%,transparent);overflow:hidden;margin-top:14px;padding:0}.halo-meter>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--halo-accent),var(--halo-accent-2));transition:width .9s var(--halo-ease)}.halo-dual{display:flex;gap:22px}.halo-dual>div{flex:1}.halo-status-row{display:flex;align-items:center;gap:9px;font-size:13px;padding:5px 0;color:var(--halo-dim)}.halo-status-dot{width:8px;height:8px;border-radius:50%;background:var(--halo-faint);flex:none}.halo-status-dot.online{background:#34d399;box-shadow:0 0 8px #34d39999}.halo-status-dot.offline{background:#f87171;box-shadow:0 0 8px #f8717199}.halo-chat{display:flex;flex-direction:column}.halo-chat .halo-tile-head{padding-bottom:12px;border-bottom:1px solid var(--halo-line-soft)}.halo-chat-scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:13px;padding:16px 18px;min-height:120px}.halo-chat-empty{color:var(--halo-faint);font-size:14px;margin:auto;text-align:center;max-width:280px}.halo-chat-row{display:flex;gap:10px}.halo-chat-row.user{justify-content:flex-end}.halo-bubble{max-width:82%;padding:11px 14px;border-radius:16px;font-size:14px;line-height:1.5;white-space:pre-wrap}.halo-chat-row.assistant .halo-bubble{background:color-mix(in srgb,var(--halo-text) 7%,transparent);border-bottom-left-radius:6px}.halo-chat-row.user .halo-bubble{background:linear-gradient(140deg,var(--halo-accent),var(--halo-accent-2));color:#fff;border-bottom-right-radius:6px}.halo-chat-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.halo-chip{font-size:11px;padding:2px 9px;border-radius:999px;background:var(--halo-tint);color:var(--halo-accent)}.halo-composer{display:flex;align-items:center;gap:10px;margin:0 16px 16px;border:1px solid var(--halo-line);border-radius:14px;padding:5px 5px 5px 15px;background:color-mix(in srgb,var(--halo-bg) 45%,transparent)}.halo-composer:focus-within{border-color:color-mix(in srgb,var(--halo-accent) 55%,transparent);box-shadow:0 0 0 3px var(--halo-glow)}.halo-composer input{flex:1;background:none;border:0;outline:none;color:var(--halo-text);font-size:14.5px;height:38px}.halo-send{width:38px;height:38px;border-radius:11px;border:0;cursor:pointer;color:#fff;display:grid;place-items:center;background:linear-gradient(140deg,var(--halo-accent),var(--halo-accent-2))}.halo-send:disabled{opacity:.55;cursor:default}.halo-typing{display:inline-flex;gap:4px}.halo-typing i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5;animation:halo-blink 1.2s infinite}.halo-typing i:nth-child(2){animation-delay:.2s}.halo-typing i:nth-child(3){animation-delay:.4s}@keyframes halo-blink{0%,60%,to{opacity:.25}30%{opacity:.95}}.halo-rail{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 2px}.halo-rail::-webkit-scrollbar{height:6px}.halo-rail::-webkit-scrollbar-thumb{background:var(--halo-line);border-radius:3px}.halo-rail-card{flex:none;min-width:184px;display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:13px;cursor:pointer;text-align:left;background:color-mix(in srgb,var(--halo-text) 4%,transparent);border:1px solid var(--halo-line-soft);color:var(--halo-text);transition:border-color .18s,transform .18s}.halo-rail-card:hover{border-color:color-mix(in srgb,var(--halo-accent) 50%,transparent);transform:translateY(-2px)}.halo-rail-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:#fff;flex:none}.halo-rail-title{font-size:13px;font-weight:600}.halo-rail-sub{font-size:11.5px;color:var(--halo-faint)}.halo-stat{margin-top:16px}.halo-stat:first-child{margin-top:2px}.halo-stat-top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px;gap:10px}.halo-stat-label{font-size:13px;font-weight:600;color:var(--halo-dim);display:inline-flex;align-items:center;gap:7px}.halo-stat-val{font-size:16px;font-weight:720;letter-spacing:-.01em;white-space:nowrap}.halo-stat-val small{font-size:12px;font-weight:600;color:var(--halo-faint);margin-left:3px}.halo-meter.sm{height:7px;margin-top:0}.halo-meter.warn>span{background:linear-gradient(90deg,#f59e0b,#ef4444)}.halo-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;font-size:12.5px;color:var(--halo-faint)}.halo-legend span{display:inline-flex;align-items:center;gap:7px}.halo-legend .dot{width:9px;height:9px;border-radius:3px}.halo-legend b{color:var(--halo-text);font-weight:650}.halo-section{margin-top:30px}.halo-section-title{font-size:18px;font-weight:660;letter-spacing:-.01em;margin:0 2px 14px}.halo-app-kind-stack{display:grid;gap:22px}.halo-app-kind-group{display:grid;gap:12px}.halo-app-kind-group+.halo-app-kind-group{border-top:1px solid var(--halo-line-soft);padding-top:22px}.halo-app-kind-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.halo-app-kind-head h3{margin:0;color:var(--halo-text);font-size:15px;letter-spacing:0}.halo-app-kind-head p{margin:0;color:var(--halo-faint);font-size:12.5px;line-height:1.35;text-align:right}.halo-apps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:14px}.halo-apps-grid .halo-tile-icon{width:56px;height:56px;border-radius:16px}.halo-apps-grid .halo-tile-label{font-size:12px}.b-7{grid-column:span 7}.b-5{grid-column:span 5}.b-4{grid-column:span 4}.b-6{grid-column:span 6}.b-12{grid-column:span 12}@media(max-width:1080px){.b-7,.b-5,.b-6{grid-column:span 6}}.halo-bar-mobile-actions{display:none}@media(max-width:820px){.halo-app{grid-template-columns:1fr}.halo-sidebar{display:none}.halo-bar{gap:8px;padding:8px 12px}.halo-bar-mobile-actions{display:inline-flex;gap:8px}.halo-search-btn{height:44px;min-width:0}.halo-icon-btn{width:44px;height:44px}.halo-bento>*{grid-column:1 / -1!important;grid-row:auto!important}.halo-app-kind-head,.halo-launcher-kind-head{align-items:start;flex-direction:column}.halo-app-kind-head p,.halo-launcher-kind-head p{text-align:left}}.halo-launcher{position:fixed;inset:0;z-index:80;background:color-mix(in srgb,var(--halo-bg) 55%,rgba(0,0,0,.45));backdrop-filter:blur(30px) saturate(160%);-webkit-backdrop-filter:blur(30px) saturate(160%);padding:64px 28px 48px;overflow-y:auto;animation:halo-fade .2s var(--halo-ease)}.halo-launcher-inner{max-width:1120px;margin:0 auto;display:grid;gap:30px}.halo-launcher-close{position:fixed;top:22px;right:26px}.halo-launcher-kind{display:grid;gap:14px}.halo-launcher-kind+.halo-launcher-kind{border-top:1px solid var(--halo-line-soft);padding-top:28px}.halo-launcher-kind-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:0 6px}.halo-launcher-kind-head h2{margin:0;color:var(--halo-text);font-size:24px;line-height:1.05;letter-spacing:0}.halo-launcher-kind-head p{max-width:460px;margin:0;color:var(--halo-faint);font-size:13px;line-height:1.4;text-align:right}.halo-launcher-title{font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--halo-faint);margin:10px 6px 14px}.halo-launcher-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(102px,1fr));gap:16px}.halo-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;border:0;background:none;cursor:pointer;padding:8px;border-radius:var(--halo-radius-sm);color:var(--halo-text);transition:transform .2s var(--halo-ease)}.halo-tile:hover{transform:translateY(-4px)}.halo-tile-icon{width:66px;height:66px;border-radius:19px;display:grid;place-items:center;color:#fff;box-shadow:0 12px 26px -10px #0000008c,inset 0 1px #ffffff42;transition:transform .25s var(--halo-ease),box-shadow .25s}.halo-tile:hover .halo-tile-icon{transform:scale(1.06)}.halo-tile-label{font-size:12.5px;font-weight:540;color:var(--halo-dim)}.halo-app-kind-badge{min-height:18px;display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,var(--halo-accent) 28%,transparent);border-radius:999px;background:var(--halo-tint);color:var(--halo-accent);padding:0 7px;font-size:10px;font-weight:760}.halo-app-kind-badge.addon{border-color:var(--halo-line);background:color-mix(in srgb,var(--halo-text) 7%,transparent);color:var(--halo-faint)}.halo-tile-ext{position:absolute;top:4px;right:12px;color:#ffffffe6;opacity:0;transition:opacity .2s}.halo-tile:hover .halo-tile-ext{opacity:.85}.halo-tile-star{position:absolute;top:2px;left:8px;width:22px;height:22px;display:grid;place-items:center;border-radius:7px;color:var(--halo-faint);opacity:0;transition:opacity .18s var(--halo-ease),color .18s,background .18s;cursor:pointer;z-index:2}.halo-tile:hover .halo-tile-star,.halo-tile-star[data-on=true]{opacity:1}.halo-tile-star[data-on=true]{color:#fbbf24}.halo-tile-star:hover{background:var(--halo-tint);color:#fbbf24}@keyframes halo-fade{0%{opacity:0}to{opacity:1}}@keyframes halo-pop{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.halo-cmdk-overlay{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-start;justify-content:center;padding-top:13vh;background:#0000006b;backdrop-filter:blur(8px);animation:halo-fade .16s var(--halo-ease)}.halo-cmdk{width:min(640px,92vw);background:var(--halo-raised);border:1px solid var(--halo-line);border-radius:18px;box-shadow:var(--halo-shadow);overflow:hidden;animation:halo-pop .18s var(--halo-ease)}.halo-cmdk-input{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--halo-line-soft)}.halo-cmdk-input input{flex:1;background:none;border:0;outline:none;color:var(--halo-text);font-size:17px}.halo-cmdk-list{max-height:52vh;overflow-y:auto;padding:8px}.halo-cmdk-group{font-size:11px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--halo-faint);padding:12px 12px 6px}.halo-cmdk-item{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border:0;border-radius:11px;background:none;color:var(--halo-text);cursor:pointer;text-align:left}.halo-cmdk-item:hover,.halo-cmdk-item[data-active=true]{background:var(--halo-tint)}.halo-cmdk-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#fff;flex:none}.halo-cmdk-title{font-size:14px;font-weight:560}.halo-cmdk-sub{font-size:12px;color:var(--halo-faint)}.halo-cmdk-empty{padding:28px;text-align:center;color:var(--halo-faint);font-size:13px}.halo-kbd{font-size:11px;color:var(--halo-faint);border:1px solid var(--halo-line);border-radius:6px;padding:1px 6px}.halo-frame{position:relative;height:100%;width:100%}.halo-remote-root{overflow:auto;background:var(--halo-bg)}.halo-remote-root>:first-child{min-height:100%}.halo-frame-loading{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:12px;color:var(--halo-faint);font-size:14px;justify-items:center;z-index:2;background:color-mix(in srgb,var(--halo-bg) 70%,transparent)}.halo-frame-loading a{color:var(--halo-accent);text-decoration:none}.halo-frame-loading a:hover{text-decoration:underline}.halo-link-btn{border:0;background:none;color:var(--halo-accent);cursor:pointer;font:inherit;font-weight:650;padding:0}.halo-link-btn:hover{text-decoration:underline}.halo-overlay{position:fixed;inset:0;z-index:95;display:grid;place-items:center;background:#00000073;backdrop-filter:blur(8px);animation:halo-fade .16s var(--halo-ease)}.halo-sheet{width:min(460px,92vw);background:var(--halo-raised);border:1px solid var(--halo-line);border-radius:22px;box-shadow:var(--halo-shadow);padding:24px;animation:halo-pop .18s var(--halo-ease)}.halo-sheet h2{margin:0 0 4px;font-size:19px;letter-spacing:-.01em}.halo-sheet p.sub{color:var(--halo-faint);font-size:13px;margin:0 0 18px}.halo-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.halo-field label{font-size:12px;color:var(--halo-dim);font-weight:620}.halo-field input,.halo-select{height:42px;border-radius:12px;border:1px solid var(--halo-line);background:color-mix(in srgb,var(--halo-bg) 40%,transparent);color:var(--halo-text);padding:0 13px;font-size:14px;outline:none}.halo-field input:focus,.halo-select:focus{border-color:var(--halo-accent);box-shadow:0 0 0 3px var(--halo-glow)}.halo-btn{height:44px;border-radius:13px;border:0;cursor:pointer;font-size:14px;font-weight:620;color:#fff;background:linear-gradient(140deg,var(--halo-accent),var(--halo-accent-2));padding:0 18px;width:100%}.halo-secondary-btn{min-height:38px;border:1px solid var(--halo-line);border-radius:12px;background:color-mix(in srgb,var(--halo-text) 7%,transparent);color:var(--halo-text);padding:0 13px;font:inherit;font-size:13px;font-weight:650;cursor:pointer}.halo-secondary-btn:hover{border-color:color-mix(in srgb,var(--halo-accent) 55%,transparent);background:var(--halo-tint)}.halo-status-text{font-size:12px;color:var(--halo-faint);margin-top:8px}.halo-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.halo-status-sheet{width:min(560px,94vw);max-height:84vh;overflow-y:auto}.halo-status-warns{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.halo-status-warn{display:flex;align-items:center;gap:8px;font-size:13px;color:#f59e0b;background:color-mix(in srgb,#f59e0b 12%,transparent);border:1px solid color-mix(in srgb,#f59e0b 26%,transparent);padding:9px 12px;border-radius:11px}.halo-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;margin-bottom:18px}.halo-status-bar{grid-column:span 2}.halo-status-bar-top,.halo-status-kv{display:flex;align-items:baseline;justify-content:space-between;font-size:13px;color:var(--halo-dim);margin-bottom:6px}.halo-status-bar-top b,.halo-status-kv b{color:var(--halo-text);font-weight:600}.halo-status-kv{margin-bottom:0;padding:8px 0;border-top:1px solid var(--halo-line-soft)}.halo-status-services{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin-top:6px}.halo-status-svc{display:flex;align-items:center;gap:9px;font-size:13px;padding:7px 0}.halo-status-svc-name{font-weight:540}.service-app-page{display:grid;gap:18px;max-width:1120px}.service-app-page.embedded{height:100%;max-width:none;min-height:0;gap:0}.service-frame-shell{min-height:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid var(--halo-line-soft);border-radius:0;overflow:hidden;background:#050b14}.service-frame-toolbar{min-height:46px;display:flex;align-items:center;gap:12px;padding:7px 10px 7px 12px;border-bottom:1px solid var(--halo-line-soft);background:color-mix(in srgb,var(--halo-bg) 88%,transparent)}.service-frame-title{min-width:0;flex:1;display:flex;align-items:center;gap:9px;color:var(--halo-text);font-size:13px;font-weight:760}.service-frame-mark{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:#fff;flex:none}.service-frame-state{min-height:22px;display:inline-flex;align-items:center;border-radius:999px;padding:0 8px;color:#fbbf24;background:color-mix(in srgb,#f59e0b 14%,transparent);font-size:11px;font-weight:760;text-transform:uppercase;letter-spacing:.06em}.service-frame-state.online{color:#86efac;background:color-mix(in srgb,#22c55e 15%,transparent)}.service-frame-tool{width:32px;height:32px;border:1px solid var(--halo-line-soft);border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--halo-surface) 52%,transparent);color:var(--halo-dim);cursor:pointer}.service-frame-tool:hover{color:var(--halo-text);border-color:color-mix(in srgb,var(--halo-accent) 45%,transparent)}.service-frame{width:100%;height:100%;min-height:0;border:0;display:block;background:#050b14}.service-app-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;border:1px solid var(--halo-line-soft);border-radius:18px;padding:22px;background:var(--halo-surface);box-shadow:var(--halo-shadow-sm)}.service-app-mark{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;color:#fff;box-shadow:inset 0 1px #ffffff47}.service-app-copy{min-width:0}.service-app-copy h1,.service-app-card h2{margin:0;color:var(--halo-text);letter-spacing:0}.service-app-copy h1{font-size:30px;line-height:1.1}.service-app-copy p,.service-app-card p{margin:5px 0 0;color:var(--halo-dim);line-height:1.45}.service-app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-app-card,.service-app-alert{border:1px solid var(--halo-line-soft);border-radius:16px;background:var(--halo-surface);padding:18px}.service-app-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px}.service-app-card strong{color:var(--halo-text);font-size:13px;text-transform:uppercase;letter-spacing:.08em}.service-app-dot{width:10px;height:10px;border-radius:999px;background:#f59e0b;box-shadow:0 0 14px #f59e0b88}.service-app-dot.online{background:#34d399;box-shadow:0 0 14px #34d39988}.service-app-alert{color:#fca5a5;border-color:color-mix(in srgb,#ef4444 36%,transparent);background:color-mix(in srgb,#ef4444 9%,transparent)}.service-app-alert.compact{border-radius:0;border-left:0;border-right:0;padding:8px 12px;font-size:12px}@media(max-width:760px){.service-app-hero,.service-app-grid{grid-template-columns:1fr}.service-app-hero{align-items:stretch}.service-frame-toolbar{min-height:58px;gap:10px;padding:7px 10px 7px 12px}.service-frame-tool{width:44px;height:44px;border-radius:12px}.service-frame-mark{width:32px;height:32px}}.halo-status-svc-state{margin-left:auto;font-size:11.5px;color:var(--halo-faint);text-transform:capitalize}.halo-status-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--halo-faint)}.halo-status-dot.online{background:#34d399;box-shadow:0 0 0 3px color-mix(in srgb,#34d399 22%,transparent)}.halo-status-dot.offline{background:#f87171;box-shadow:0 0 0 3px color-mix(in srgb,#f87171 22%,transparent)}@media(max-width:560px){.halo-status-services,.halo-status-grid{grid-template-columns:1fr}.halo-status-bar{grid-column:1}}.halo-brand:focus-visible,.halo-nav-item:focus-visible,.halo-foot-btn:focus-visible,.halo-search-btn:focus-visible,.halo-icon-btn:focus-visible,.halo-tile:focus-visible,.halo-tile-star:focus-visible,.halo-cmdk-item:focus-visible,.halo-btn:focus-visible,.halo-secondary-btn:focus-visible,.halo-link-btn:focus-visible,.halo-rail-card:focus-visible,.halo-send:focus-visible,.halo-card.interactive:focus-visible,.service-frame-tool:focus-visible{outline:2px solid var(--halo-accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.halo-aurora{animation:none!important}.halo-tile:hover,.halo-tile:hover .halo-tile-icon{transform:none!important}}body.halo-body,body.halo-body #root{width:100%;max-width:100%;overflow:hidden}body.halo-body .halo-app,body.halo-body .halo-main,body.halo-body .halo-view,body.halo-body .halo-frame,body.halo-body .halo-remote-root{min-width:0;max-width:100%;box-sizing:border-box}body.halo-body .halo-view:not(.bleed){overflow-x:hidden}body.halo-body .halo-view.bleed{width:100%}body.halo-body .halo-app[data-active-app=tiktok-ranker]{grid-template-columns:minmax(0,1fr)}body.halo-body .halo-app[data-active-app=tiktok-ranker] .halo-sidebar,body.halo-body .halo-app[data-active-app=tiktok-ranker] .halo-bar,body.halo-body .halo-app[data-active-app=tiktok-ranker] .service-frame-toolbar{display:none}body.halo-body .halo-app[data-active-app=tiktok-ranker] .halo-main,body.halo-body .halo-app[data-active-app=tiktok-ranker] .halo-view.bleed,body.halo-body .halo-app[data-active-app=tiktok-ranker] .service-app-page.embedded,body.halo-body .halo-app[data-active-app=tiktok-ranker] .service-frame-shell,body.halo-body .halo-app[data-active-app=tiktok-ranker] .service-frame{height:100dvh;min-height:100dvh}body.halo-body .halo-app[data-active-app=tiktok-ranker] .service-frame-shell{grid-template-rows:minmax(0,1fr);border:0}body.halo-body .halo-view>.topbar{position:sticky;top:0;left:auto;right:auto;width:auto;height:auto;min-height:58px;margin:-28px -30px 24px;padding:8px 30px;flex-wrap:wrap;gap:10px}body.halo-body .halo-view>.topbar .topbar-left,body.halo-body .halo-view>.topbar .topbar-right{min-width:0}body.halo-body .halo-view>.topbar .topbar-left{flex:1 1 220px}body.halo-body .halo-view>.topbar .topbar-right{flex:0 1 auto;justify-content:flex-end;flex-wrap:wrap}body.halo-body .halo-view>.topbar .btn-back,body.halo-body .halo-view>.topbar .theme-select{min-height:40px;display:inline-flex;align-items:center}body.halo-body .halo-view>.topbar .btn-back{padding:0 14px}body.halo-body .halo-view>.topbar .theme-select{padding-top:0;padding-bottom:0;line-height:40px}body.halo-body .halo-view>.topbar .breadcrumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.halo-body .halo-view>.main-wrap,body.halo-body .halo-view>.ai-rig-wrap,body.halo-body .halo-view>.llm-config-wrap{padding-top:24px}@media(max-width:820px){body.halo-body .halo-app{width:100%;grid-template-columns:minmax(0,1fr);overflow:hidden}body.halo-body .halo-main{width:100%}body.halo-body .halo-bar{gap:8px;padding:0 12px}body.halo-body .halo-search-btn{min-width:0;max-width:none;flex:1 1 0;padding:0 12px}body.halo-body .halo-search-btn .halo-kbd,body.halo-body .halo-bar-spacer{display:none}body.halo-body .halo-bar-div{margin:0 2px}body.halo-body .halo-view:not(.bleed){padding:20px 16px 44px}body.halo-body .halo-view>.topbar{margin:-20px -16px 18px;padding:8px 16px}}@media(max-width:430px){body.halo-body .halo-icon-btn{width:44px;height:44px;border-radius:12px}body.halo-body .halo-view>.topbar{align-items:flex-start}body.halo-body .halo-view>.topbar .topbar-left,body.halo-body .halo-view>.topbar .topbar-right{flex:1 1 100%}body.halo-body .halo-view>.topbar .topbar-right{justify-content:flex-start;gap:8px}body.halo-body .halo-view>.topbar .btn-back{max-width:100%;min-height:44px;white-space:normal}body.halo-body .halo-view>.topbar .theme-select{max-width:170px;min-height:44px;line-height:44px}}
