:root{--bg:#f6f7fb;--panel:#fff;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--accent:#2563eb;--danger:#dc2626;--control-bg:#fff;--accent-soft:#2563eb14;--accent-contrast:#fff;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-weight:400;line-height:1.4}:root[data-theme=dark]{--bg:#101418;--panel:#171c22;--text:#e5e7eb;--muted:#9ca3af;--border:#303844;--accent:#60a5fa;--danger:#f87171;--control-bg:#12171d;--accent-soft:#60a5fa29;--accent-contrast:#0b1220}*{box-sizing:border-box}body{background:radial-gradient(circle at top left, #2563eb1c, transparent 28%), radial-gradient(circle at top right, #0f172a0d, transparent 24%), var(--bg);min-width:320px;min-height:100vh;margin:0}:root[data-theme=dark] body{background:radial-gradient(circle at top left, #60a5fa24, transparent 28%), radial-gradient(circle at top right, #94a3b814, transparent 22%), var(--bg)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:var(--text)}input,textarea,select{background:var(--control-bg)}button{color:var(--text)}:where(.app-main) button{appearance:none;border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--panel));min-height:34px;color:var(--accent);cursor:pointer;border-radius:8px;padding:7px 11px;font-size:12px;font-weight:650;line-height:1.3;transition:background .15s,border-color .15s,transform .15s}:where(.app-main) button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}:where(.app-main) button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:where(.app-main) button:disabled{opacity:.52;cursor:not-allowed}.app-main .ui-button-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast);font-weight:750}.app-main .ui-button-primary:hover:not(:disabled){background:var(--accent);filter:brightness(.92)}.app-main .ui-button-danger{border-color:color-mix(in srgb, var(--danger) 35%, var(--border));background:color-mix(in srgb, var(--danger) 9%, var(--panel));color:var(--danger)}.app-main .ui-button-danger:hover:not(:disabled){border-color:var(--danger);background:color-mix(in srgb, var(--danger) 16%, var(--panel))}.app-main .ui-button-quiet{border-color:var(--border);background:var(--panel);color:var(--text)}::placeholder{color:var(--muted);opacity:1}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px}.copilot-markdown{font-size:13px;line-height:1.5}.copilot-markdown h1,.copilot-markdown h2,.copilot-markdown h3,.copilot-markdown h4,.copilot-markdown h5,.copilot-markdown h6{color:var(--text);margin:14px 0 8px;font-weight:600}.copilot-markdown h1{font-size:1.4em}.copilot-markdown h2{font-size:1.25em}.copilot-markdown h3{font-size:1.15em}.copilot-markdown p,.copilot-markdown ul,.copilot-markdown ol{margin:0 0 10px}.copilot-markdown>:last-child{margin-bottom:0}.copilot-markdown ul,.copilot-markdown ol{padding-left:20px}.copilot-markdown li{margin:4px 0}.copilot-markdown strong{font-weight:700}.copilot-markdown a{color:var(--accent);text-underline-offset:2px;word-break:break-word;text-decoration:underline}.copilot-markdown table{border-collapse:collapse;width:100%;margin:12px 0;font-size:12px}.copilot-markdown th,.copilot-markdown td{border:1px solid var(--border);text-align:left;padding:6px 8px}.copilot-markdown th{background:var(--bg);font-weight:600}.copilot-markdown tr:nth-child(2n) td{background:#00000005}:root[data-theme=dark] .copilot-markdown tr:nth-child(2n) td{background:#ffffff05}.copilot-markdown pre{background:var(--bg);border:1px solid var(--border);border-radius:6px;margin:8px 0;padding:8px;font-family:monospace;font-size:12px;overflow:auto}.copilot-markdown code{background:var(--bg);border-radius:4px;padding:2px 4px;font-family:monospace;font-size:12px}#root{min-height:100vh}.indicator-workspace{gap:16px;display:grid}.indicator-workspace__detail{scroll-margin-top:16px}@keyframes bounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:.4;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}.app-mobile-bar,.app-nav-close,.app-compact-close{display:none}.app-shell,.app-main{min-width:0}.app-back-button{border:1px solid var(--border);background:var(--control-bg);color:var(--text);text-align:left;cursor:pointer;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:650}.app-back-button:hover{border-color:var(--accent);background:var(--accent-soft)}@media (width<=1279px){.app-shell{grid-template-columns:72px minmax(0,1fr)!important}.app-navigation{padding:8px!important}.app-nav-title>div{display:none}.app-navigation nav a{text-align:center;padding:10px 2px!important}.app-nav-label{font-size:10px}.app-copilot{display:none!important}.app-copilot.app-copilot-open{z-index:70;width:min(420px,100vw);height:100vh;top:0;right:0;box-shadow:-15px 0 30px #00000040;display:flex!important;position:fixed!important}.app-compact-close{cursor:pointer;background:0 0;border:0;font-size:22px;display:block}.app-mobile-bar{background:var(--panel);border-bottom:1px solid var(--border);grid-column:1/-1;align-items:center;gap:12px;padding:10px 14px;display:flex}.app-mobile-bar span{flex:1;font-weight:750}.app-mobile-bar button{border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:8px;padding:7px 9px}}@media (width<=767px){.app-shell{display:block!important}.app-mobile-bar{z-index:40;position:sticky;top:0}.app-navigation{display:none!important}.app-navigation.app-navigation-open{z-index:60;width:min(280px,85vw);position:fixed;inset:0 auto 0 0;box-shadow:12px 0 30px #0000004d;padding:16px!important;display:flex!important}.app-navigation.app-navigation-open .app-nav-title>div{display:block}.app-navigation.app-navigation-open nav a{text-align:left;padding:10px!important}.app-navigation.app-navigation-open .app-nav-label{font-size:14px}.app-nav-close{cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:24px;display:block}.app-main{padding:12px!important;overflow:visible!important}}
