@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-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}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.visible{visibility:visible}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.grid{display:grid}.table{display:table}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--blue: #007aff;--blue-dark: #0a3d91;--orange: #ff9500;--orange-ink: #914800;--orange-subtle: #fff3e4;--send-bg: #ff9500;--send-text: #111827;--bg: #ffffff;--surface: #ffffff;--sidebar: #f5f7fa;--subtle: #f2f4f7;--text: #111827;--muted: #5b6472;--border: #d7dee8;--hover: #e9edf3;--primary: #0a3d91;--primary-hover: #073275;--on-primary: #ffffff;--accent: #0a3d91;--accent-subtle: #eaf3ff;--accent-border: #b8d7ff;--warning-bg: #fff3e4;--warning: #914800;--danger-bg: #fff0ed;--danger: #a53429;--chart-observed: #007aff;--chart-forecast: #c46100;--chart-grid: #e8edf4;--chart-band: #ff950026;--overlay: #11182766;--shadow: #1118270d;color-scheme:light}:root[data-theme=dark]{--blue: #62aeff;--blue-dark: #b8d7ff;--orange: #ffad3d;--orange-ink: #ffbd6a;--orange-subtle: #392c1d;--send-bg: #ffad3d;--send-text: #111827;--bg: #1c1f24;--surface: #24282e;--sidebar: #15181c;--subtle: #2c3037;--text: #f1f3f7;--muted: #adb6c4;--border: #3c424d;--hover: #303641;--primary: #62aeff;--primary-hover: #8bc3ff;--on-primary: #111827;--accent: #8bc3ff;--accent-subtle: #202f44;--accent-border: #395c85;--warning-bg: #392c1d;--warning: #ffbd6a;--danger-bg: #442c29;--danger: #ffb7ad;--chart-observed: #62aeff;--chart-forecast: #ffad3d;--chart-grid: #3a4049;--chart-band: #ffad3d30;--overlay: #060a10aa;--shadow: #00000026;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;min-height:100%;color:var(--text);background:var(--bg)}body{font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button{cursor:pointer;color:inherit;border:0}button:disabled{cursor:not-allowed;opacity:.45}button,a{transition:background .15s,border-color .15s}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{background:var(--accent-subtle);color:var(--text)}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:.15em;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:-70px;left:20px;z-index:2000;padding:12px;background:var(--primary);color:var(--on-primary);border-radius:8px}.skip-link:focus{top:10px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:12px;padding:12px 20px;font-weight:550;white-space:nowrap}.primary-button:hover:not(:disabled){background:var(--primary-hover)}.secondary-button:hover:not(:disabled){background:var(--hover)}.text-button{background:none;display:inline-flex;align-items:center;gap:6px;padding:5px 0;color:var(--muted);font-size:12px}.text-button:hover:not(:disabled){color:var(--text)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:none;color:var(--muted);font-size:18px}.icon-button:hover{background:var(--hover);color:var(--text)}.brand{display:inline-flex;align-items:center;gap:11px;font-size:22px;font-weight:650;letter-spacing:-.8px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;border:1px solid var(--accent-border);background:var(--accent-subtle);color:var(--accent);font-size:23px}.brand-tag{font-size:9px;font-weight:500;letter-spacing:.12em;color:var(--muted);margin-left:14px;border-left:1px solid var(--border);padding-left:18px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;padding:4px 9px;background:var(--subtle);color:var(--muted);border-radius:6px;white-space:nowrap}.badge.warning{background:var(--warning-bg);color:var(--warning)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.onboarding{min-height:100dvh;padding:30px 4.5vw 24px;display:flex;flex-direction:column}.onboarding-header{display:flex;justify-content:space-between;align-items:center}.onboarding app-selection-wizard{display:block;width:min(100%,780px);margin:auto;padding:65px 0 50px}.wizard-progress{display:flex;gap:30px;margin-bottom:54px;font-size:12px;color:var(--muted)}.wizard-progress>span{display:inline-flex;align-items:center;gap:9px}.wizard-progress b{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--border);border-radius:50%;font-size:10px;font-weight:500}.wizard-progress .current b{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.wizard-progress .completed b{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent-border)}.wizard h1{font-size:clamp(32px,4vw,44px);font-weight:500;line-height:1.15;letter-spacing:-1.8px;margin:15px 0 18px}.wizard-description{color:var(--muted);font-size:14px;line-height:1.75;margin-bottom:32px}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.choice-card{position:relative;background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:16px}.choice-card:hover:not(:disabled){border-color:var(--accent-border)}.choice-card.selected{background:var(--accent-subtle);border-color:var(--accent-border)}.role-card{padding:24px 20px 32px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-height:224px}.role-symbol{font-size:30px;color:var(--accent);line-height:1;margin-bottom:12px}.choice-title{font-size:15px;font-weight:550}.role-card>.muted{font-size:12px;line-height:1.65}.choice-check{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border:1px solid var(--border);border-radius:50%;color:var(--accent)}.role-card .choice-check{position:absolute;right:16px;top:18px}.selected .choice-check{border-color:var(--accent);background:var(--accent);color:var(--surface);font-size:13px}.wizard-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);margin-top:32px;padding-top:24px;gap:15px}.wizard-note{display:inline-flex;align-items:center;gap:7px;font-size:11px}.wizard-note app-icon{font-size:15px}.onboarding-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;color:var(--muted)}.search-field{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:11px;padding:11px 14px;margin-bottom:12px;color:var(--muted)}.search-field input{width:100%;min-width:0;background:none;border:0;color:var(--text)}.search-field:focus-within{border-color:var(--accent)}.search-field>span{white-space:nowrap;font-size:12px}.station-list{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.station-choice{display:flex;align-items:center;gap:14px;padding:15px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);text-align:left}.station-choice.selected{background:var(--accent-subtle);border-color:var(--accent-border)}.checkbox{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;border:1px solid var(--accent-border);border-radius:4px;color:var(--accent);font-size:12px;flex-shrink:0}.station-code{font-family:var(--font-mono);font-size:12px;font-weight:600}.station-name{font-size:13px;flex:1}.station-status{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--muted)}.station-status i{width:5px;height:5px;border-radius:50%;background:var(--accent)}.station-status i.inactive{background:var(--muted)}.parameter-list{display:flex;flex-direction:column;gap:10px}.parameter-choice{display:flex;align-items:center;gap:20px;padding:18px 20px}.parameter-symbol{font-family:var(--font-mono);font-size:20px;min-width:60px}.parameter-choice>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:4px;font-size:13px}.parameter-choice strong{font-weight:500}.parameter-choice .muted{font-size:11px}.empty-small{padding:30px 15px;color:var(--muted);text-align:center}.workspace{display:flex;min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;width:266px;background:var(--sidebar);border-right:1px solid var(--border);z-index:30}.sidebar app-sidebar{height:100%;display:flex;flex-direction:column;padding:22px 14px 14px}.workspace-main{margin-left:266px;width:calc(100% - 266px);display:flex;flex-direction:column;min-height:100dvh}.sidebar-collapsed .workspace-main{margin-left:0;width:100%}.sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:0 7px 25px}.sidebar-top .brand{font-size:19px;gap:8px}.sidebar-top .brand-mark{width:29px;height:29px;font-size:21px}.new-request{background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;gap:10px;border-radius:10px;padding:12px;margin:0 4px 30px;font-size:13px;font-weight:500;box-shadow:0 2px 4px var(--shadow)}.new-request>span{margin-left:auto;color:var(--muted)}.new-request:hover{border-color:var(--accent-border)}.history-list{flex:1;overflow-y:auto}.history-list h2{font-size:10px;color:var(--muted);font-weight:500;padding:0 13px;margin:16px 0 9px}.history-item{display:flex;align-items:center;border-radius:9px}.history-item:hover,.history-item.active{background:var(--hover)}.history-open{display:flex;align-items:flex-start;gap:10px;padding:12px;text-align:left;background:none;min-width:0;flex:1}.history-open>app-icon{margin-top:4px;color:var(--muted);font-size:15px}.history-open>span{display:flex;flex-direction:column;min-width:0;gap:3px}.history-open strong{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-open small{color:var(--muted);font-size:10px}.delete-entry{width:28px;height:28px;font-size:14px;margin-right:4px;opacity:0}.history-item:hover .delete-entry,.history-item:focus-within .delete-entry{opacity:1}.history-empty{color:var(--muted);text-align:center;padding:65px 10px}.history-empty app-icon{font-size:25px;margin-bottom:12px;opacity:.5}.history-empty p{font-size:13px;line-height:1.6}.history-empty>span{display:block;font-size:11px;line-height:1.7;margin-top:10px}.sidebar-bottom{padding:12px 10px 0}.sidebar-footnote{padding-top:18px;margin-top:15px;border-top:1px solid var(--border);font-size:10px;color:var(--muted)}.sidebar-footnote .status-dot{color:var(--accent);margin-right:5px}.sidebar-footnote>.small{display:block;font-size:9px;margin:5px 0 0 12px}.chat-header{min-height:77px;padding:15px 26px;display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:20}.header-title{display:flex;gap:10px;font-size:11px;color:var(--muted)}.header-title strong{color:var(--text);font-weight:500}.selection-chips{display:flex;gap:7px;margin-left:auto}.selection-chip{display:inline-flex;align-items:center;gap:8px;font-size:10px;border:1px solid var(--border);border-radius:7px;padding:7px 9px;background:var(--surface);white-space:nowrap}.selection-chip:hover{background:var(--hover)}.selection-chip>span{color:var(--muted)}.theme-toggle{margin-left:3px}.chat-body{flex:1;padding:0 32px;width:100%}.mock-indicator{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:21px;font-size:10px;color:var(--muted)}.mock-indicator .status-dot{color:var(--accent)}.storage-warning{max-width:850px;margin:15px auto}.welcome-state{max-width:680px;margin:max(5vh,35px) auto 65px;text-align:center}.welcome-orbit{display:flex;align-items:center;justify-content:center;width:84px;height:84px;position:relative;color:var(--accent);margin:0 auto 25px;background:var(--accent-subtle);border-radius:50%}.welcome-orbit>app-icon{font-size:39px}.orbit-ring{position:absolute;inset:-10px;border:1px solid var(--border);border-radius:50%;transform:rotate(-25deg) scaleX(1.25)}.welcome-state h1{font-size:clamp(34px,4vw,48px);font-weight:450;line-height:1.16;letter-spacing:-1.8px;margin:16px 0 20px}.welcome-description{color:var(--muted);font-size:13px;line-height:1.85}.welcome-features{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);margin:36px auto 0;padding-top:23px;max-width:510px}.welcome-features>div{display:flex;align-items:center;flex-direction:column;gap:5px;border-right:1px solid var(--border)}.welcome-features>div:last-child{border:0}.welcome-features app-icon{color:var(--accent);font-size:20px;margin-bottom:5px}.welcome-features strong{font-size:12px;font-weight:500}.welcome-features span{font-size:10px;color:var(--muted)}.composer-wrap{width:min(100% - 64px,850px);margin:0 auto;padding:16px 0 14px}.composer-panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:16px 20px;box-shadow:0 5px 24px var(--shadow)}.composer-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.composer-label .eyebrow{font-size:9px}.composer-label .small{font-size:10px}.composer-main{display:flex;justify-content:space-between;gap:15px;align-items:center}.composer-main strong{font-size:14px;font-weight:500}.composer-main p{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:11px;margin-top:3px}.composer-main p button{font-size:10px;text-decoration:underline;text-underline-offset:3px}.request-button{border-radius:10px;padding:12px 15px;font-size:11px;gap:20px}.request-button app-icon{font-size:19px}.composer-note{text-align:center;font-size:9px;color:var(--muted);margin-top:11px}.feed{max-width:850px;margin:32px auto 0;padding-bottom:25px}.user-message{background:var(--subtle);padding:14px 20px;border-radius:18px 18px 4px;margin-left:auto;width:fit-content;max-width:90%;font-size:13px}.user-message small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.assistant-label{display:flex;align-items:center;gap:10px;margin:30px 0 15px;font-size:12px}.assistant-label strong{font-weight:550}.assistant-label>.muted{font-size:10px;margin-left:4px}.small-mark{width:25px;height:25px;font-size:17px;border-radius:8px}.forecast-card{border:1px solid var(--border);border-radius:18px;padding:24px;margin-bottom:20px;background:var(--surface)}.forecast-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding-bottom:20px;border-bottom:1px solid var(--border)}.forecast-card-heading h2{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600}.forecast-card-heading h2>app-icon{color:var(--accent);font-size:17px}.forecast-card-heading h2>.muted{font-weight:400}.forecast-card-heading p{margin-top:5px;font-size:10px}.freshness{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.freshness>.small{font-size:10px}.historical-note{margin-top:12px;font-size:11px;color:var(--muted)}.prediction-summary{display:flex;align-items:center;justify-content:space-between;padding:27px 0 20px;gap:10px}.prediction-summary .eyebrow{font-size:9px}.prediction-value{font-size:45px;letter-spacing:-1.5px;font-weight:450;line-height:1.2;margin-top:7px;font-variant-numeric:tabular-nums}.prediction-value>span{font-size:16px;margin-left:10px;color:var(--muted);letter-spacing:0}.target-info{text-align:right}.target-info p{margin:7px 0 3px;font-size:12px}.target-info>.small{font-size:9px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section-heading h3{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:550}.section-heading h3>.muted{font-size:9px;font-weight:400;margin-left:3px}.chart-actions{display:flex;gap:4px}.chart-actions .icon-button{font-size:14px;width:29px;height:29px}.plotly-host{height:360px;width:100%}.js-plotly-plot .plotly .modebar{background:var(--surface)!important}.js-plotly-plot .plotly .modebar-btn path{fill:var(--muted)}.js-plotly-plot .plotly .modebar-btn.active path,.js-plotly-plot .plotly .modebar-btn:hover path{fill:var(--accent)}.plotly-host.fullscreen-chart{height:calc(94dvh - 90px)}.chart-dialog{background:var(--surface);width:100%;height:100%;padding:22px;border-radius:18px}.chart-dialog .section-heading h2{font-size:18px}.data-details{margin-top:15px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.data-details summary{padding:15px 0;font-size:11px;cursor:pointer}.data-details summary .muted{margin-left:8px;font-size:10px}.data-details[open]{padding-bottom:15px}.table-scroll{max-height:270px;overflow:auto;border:1px solid var(--border);border-radius:9px}table{border-collapse:separate;border-spacing:0;width:100%;font-size:10px;font-variant-numeric:tabular-nums}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}th{position:sticky;top:0;background:var(--subtle);color:var(--muted);font-weight:500;z-index:1}td.numeric{font-family:var(--font-mono);text-align:right}tr:last-child td{border-bottom:0}.forecast-row{background:var(--accent-subtle)}.kind-chip{background:var(--subtle);border-radius:4px;padding:3px 5px;color:var(--muted);font-size:9px}.kind-chip.predicted{background:var(--accent-subtle);color:var(--accent)}.explanation-block{padding-top:21px}.explain-symbol{color:var(--accent);font-size:18px;line-height:1}.explanation-text{font-size:12px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.stream-cursor{display:inline-block;width:6px;height:13px;vertical-align:middle;background:var(--accent);margin-left:3px;animation:blink 1s infinite}.explanation-error{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:10px;color:var(--muted);font-size:12px}.disclaimer{margin-top:17px;color:var(--muted);font-size:9px;line-height:1.7}.notice{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;margin:15px 0;border-radius:10px;font-size:12px}.notice.error{background:var(--danger-bg);color:var(--danger)}.notice.warning{background:var(--warning-bg);color:var(--warning)}.notice p{font-size:11px;margin-top:4px}.notice .secondary-button{font-size:11px;padding:8px 12px}.error-text{color:var(--danger);font-size:12px}.expired-card{border-style:dashed}.expired-card .data-details,.expired-card .explanation-block{opacity:.8}.skeleton{background:var(--subtle);border-radius:8px;animation:pulse 1.5s infinite}.skeleton-value{width:155px;height:45px;margin:25px 0}.skeleton-chart{height:260px;margin-bottom:22px}.skeleton-line{height:12px;margin:12px 0}.skeleton-line.short{width:65%}.loading-dot{border:2px solid var(--border);border-top-color:var(--accent);width:16px;height:16px;border-radius:50%;animation:spin 1s linear infinite}.cdk-overlay-backdrop{background:var(--overlay)}.selection-dialog,.confirm-dialog{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:28px;max-height:94dvh;overflow:auto;box-shadow:0 20px 100px var(--shadow)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.dialog-heading h2{font-size:13px;font-weight:500}.selection-dialog .wizard-progress{margin-bottom:28px}.selection-dialog .wizard h1{font-size:32px}.selection-dialog .role-card{min-height:200px}.confirm-dialog h2{font-size:21px;margin-bottom:13px}.confirm-dialog p{font-size:13px}.dialog-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.danger-button{background:var(--danger);color:var(--bg)}@keyframes blink{50%{opacity:0}}@media(min-width:1600px){.welcome-state{margin-top:11vh}}@media(max-width:1200px){.header-title{display:none}.chat-header{padding-inline:20px}.selection-chips{margin-left:0}.theme-toggle{margin-left:auto}}@media(max-width:900px){.sidebar{z-index:1001;width:280px}.workspace-main{width:100%;margin-left:0}.drawer-backdrop{position:fixed;inset:0;z-index:1000;background:var(--overlay)}.delete-entry{opacity:1}.welcome-state{margin-top:8vh}}@media(max-width:600px){.onboarding{padding:22px}.brand-tag{display:none}.onboarding app-selection-wizard{padding:40px 0}.wizard-progress{gap:16px;margin-bottom:35px;font-size:10px}.wizard-progress>span{gap:5px}.wizard-progress b{width:21px;height:21px}.wizard h1{font-size:34px}.wizard-description{font-size:12px;margin-bottom:24px}.role-grid{grid-template-columns:1fr}.role-card{min-height:115px;padding:18px 45px 18px 65px;gap:5px}.role-symbol{position:absolute;top:28px;left:20px;font-size:27px}.role-card .choice-check{top:23px}.role-card>.muted{font-size:11px}.onboarding-bottom{font-size:9px;flex-wrap:wrap}.onboarding-bottom>span:last-child{display:none}.wizard-note{font-size:9px}.wizard-footer{margin-top:24px}.station-choice{gap:10px;flex-wrap:wrap}.station-status{margin-left:auto}.station-name{min-width:120px}.parameter-choice{padding:16px 12px;gap:10px}.parameter-choice .badge{font-size:8px}.parameter-symbol{min-width:45px;font-size:17px}.parameter-choice>span:nth-child(2){font-size:11px}.chat-header{padding:12px;gap:7px;min-height:65px}.selection-chips{flex:1;min-width:0;overflow-x:auto;gap:5px}.selection-chip{font-size:9px;gap:5px;padding:6px}.chat-header>.icon-button{width:27px}.selection-chip:first-child{max-width:110px;overflow:hidden}.chat-body{padding:0 15px}.mock-indicator{font-size:9px;gap:5px}.welcome-state{margin:70px auto 55px}.welcome-state h1{font-size:36px}.welcome-description{font-size:12px}.welcome-features{margin-top:28px}.welcome-features strong{font-size:11px}.welcome-features span{font-size:9px}.composer-wrap{width:calc(100% - 30px);padding-top:10px}.composer-panel{padding:14px}.composer-main{align-items:flex-end}.composer-main strong{font-size:12px}.composer-main p{font-size:10px;flex-direction:column;align-items:flex-start;gap:0}.request-button{padding:10px;gap:8px;font-size:10px}.request-button app-icon{font-size:15px}.composer-note{font-size:8px}.composer-note>span{display:none}.composer-label{margin-bottom:12px}.composer-label .small{font-size:9px}.feed{margin-top:25px}.user-message{font-size:12px;padding:12px 15px}.assistant-label>.muted{display:none}.forecast-card{padding:16px 13px;border-radius:14px}.forecast-card-heading h2{font-size:13px;gap:7px}.freshness .small{font-size:8px}.badge{font-size:9px;padding:4px 6px}.prediction-value{font-size:37px}.prediction-value>span{font-size:13px}.target-info>.small{font-size:8px;display:block;max-width:155px}.target-info p{font-size:10px}.section-heading h3{font-size:11px}.section-heading h3>.muted{display:none}.plotly-host{height:260px}.explanation-text,.notice{font-size:11px}.notice.error{flex-wrap:wrap}.selection-dialog{padding:18px}.selection-dialog .wizard h1{font-size:29px}.selection-dialog .role-card{min-height:108px}.chart-dialog{padding:16px 5px}.chart-dialog>.section-heading{padding-inline:10px}.table-scroll{max-height:230px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.explanation-text{font-size:14px}.disclaimer,.composer-note{font-size:11px}table{font-size:12px}.kind-chip{font-size:10px}.history-open strong,.composer-main strong{font-size:13px}.selection-chip{font-size:11px}.numeric{text-align:right}@media(max-width:600px){.explanation-text{font-size:13px}.selection-chip{font-size:10px}table{font-size:11px}.disclaimer,.composer-note{font-size:10px}}.onboarding-actions{display:flex;align-items:center;gap:20px}.archive-nav{display:flex;align-items:center;gap:9px;text-align:left;padding:12px;margin:-10px 4px 22px;border-radius:10px;background:none;font-size:13px}.archive-nav:hover{background:var(--hover)}.archive-nav>span{margin-left:auto;font-size:9px;color:var(--muted)}.archive-nav app-icon{color:var(--blue)}.archive-dialog{background:var(--surface);color:var(--text);padding:28px;border-radius:20px;border:1px solid var(--border);max-height:94dvh;overflow:auto}.archive-dialog .dialog-heading h2{font-size:23px;font-weight:550;margin-bottom:5px}.archive-note,.archive-method{font-size:12px;color:var(--muted);line-height:1.7}.archive-filters{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;margin:22px 0;align-items:end}.archive-filters label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:7px}.archive-filters input{min-width:0;width:100%;padding:10px 11px;border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--text);font-size:13px}.archive-filters .primary-button{padding:11px 17px;font-size:12px}.archive-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding:20px 0 24px;border-top:1px solid var(--border)}.archive-metrics>div{display:flex;flex-direction:column;gap:8px}.archive-metrics span{color:var(--muted);font-size:11px}.archive-metrics strong{font-size:25px;font-weight:500;font-variant-numeric:tabular-nums}.archive-metrics small{color:var(--muted);font-size:12px}.archive-table{max-height:43dvh}.archive-table td{font-size:11px}.archive-error{color:var(--orange-ink)}.verification-label{display:block;margin-top:4px;font-size:10px}.archive-method{margin-top:18px}.archive-comparison-chart{border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:22px}.chart-metrics{display:flex;flex-wrap:wrap;gap:10px 22px;padding:12px 8px;border-top:1px solid var(--border);font-size:11px;color:var(--muted)}.chart-metrics strong{color:var(--text);margin-left:6px;font-weight:550;font-variant-numeric:tabular-nums}.chart-history-note{color:var(--muted);font-size:11px;line-height:1.65;padding:0 8px 10px}.llm-disabled{font-size:13px;padding:10px 0}@media(max-width:600px){.archive-dialog{padding:18px}.archive-filters{grid-template-columns:1fr 1fr}.archive-metrics{grid-template-columns:repeat(2,1fr);gap:10px}.archive-comparison-chart{padding:12px 4px}.archive-comparison-chart>.section-heading{padding-inline:8px}.archive-metrics span{font-size:9px}.archive-metrics strong{font-size:21px}}.workspace{height:100dvh;min-height:0;overflow:hidden}.workspace-main{height:100dvh;min-height:0}.chat-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth}.chat-header{min-height:66px;border-bottom:0;position:relative;padding:12px 24px;flex-shrink:0}.header-title{display:inline-flex;align-items:center;gap:8px;font-size:20px;color:var(--text)}.header-title strong{font-weight:550}.header-chevron{color:var(--muted);font-size:16px}.selection-chips{margin-left:auto;gap:2px}.selection-chip{background:none;border:0;font-size:12px;padding:8px 10px}.theme-toggle{margin-left:10px}.sidebar{border-right:0}.sidebar-top .brand-mark{border:0;background:none;color:var(--blue)}.sidebar-top .brand{font-size:20px}.new-request{box-shadow:none;background:none;border:0;font-size:14px;padding:12px;margin-bottom:22px}.new-request:hover{background:var(--hover)}.new-request>span{display:none}.history-open strong{font-size:13px;font-weight:400}.history-open small{font-size:11px}.sidebar-footnote{border:0;padding-top:8px}.sidebar-footnote>.small{display:none}.mock-indicator{margin-top:0;font-size:11px}.mock-indicator .status-dot{color:var(--orange-ink)}.welcome-state{margin:clamp(80px,17vh,190px) auto 60px;max-width:760px}.welcome-symbol{display:inline-flex;color:var(--blue);font-size:33px;margin-bottom:20px}.welcome-state h1{font-size:clamp(28px,3vw,36px);font-weight:500;letter-spacing:-1px;line-height:1.25;margin:0 0 13px}.welcome-description{font-size:14px;line-height:1.7}.feed{max-width:760px;margin:28px auto 0;padding-bottom:28px}.user-message{border-radius:24px;font-size:15px;padding:14px 22px}.user-message small{font-size:12px}.assistant-label{margin:34px 0 12px;font-size:14px}.small-mark{border:0;background:none;color:var(--blue);font-size:23px}.forecast-card{border:0;border-radius:0;padding:12px 0 30px;margin-bottom:22px;background:none}.forecast-card+.forecast-card{border-top:1px solid var(--border)}.forecast-card-heading{border-bottom:0;padding-bottom:10px}.forecast-card-heading h2{font-size:17px}.forecast-card-heading h2>app-icon{color:var(--blue)}.forecast-card-heading p{font-size:12px}.freshness>.small{font-size:11px}.badge{font-size:11px}.prediction-summary{padding:18px 0 20px}.prediction-summary .eyebrow{font-size:11px;letter-spacing:.06em}.prediction-value{font-size:38px}.target-info p{font-size:13px}.target-info>.small{font-size:10px}app-chart-card{display:block;border:1px solid var(--border);border-radius:14px;padding:15px 14px 0;background:var(--surface)}.section-heading h3{font-size:13px}.section-heading h3>.muted{font-size:11px}.data-details summary{padding:16px 0;font-size:13px}.data-details summary .muted{font-size:11px}.explanation-block{padding-top:23px}.explain-symbol{color:var(--orange-ink)}.explanation-text{font-size:15px;line-height:1.85}.disclaimer{font-size:11px;margin-top:18px}app-composer-panel{display:block;flex-shrink:0;background:var(--bg);z-index:20}.composer-wrap{max-width:760px;width:calc(100% - 64px);padding:12px 0 10px}.composer-panel{border-radius:26px;border:1px solid var(--border);box-shadow:0 3px 18px var(--shadow);padding:18px 17px 12px;background:var(--subtle)}.composer-prompt{font-size:15px;padding:0 7px;min-height:36px;line-height:1.5}.composer-toolbar{display:flex;align-items:center;gap:9px}.composer-settings{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;font-size:22px;background:none}.composer-settings:hover{background:var(--hover)}.composer-tool-chip{display:inline-flex;align-items:center;gap:7px;font-size:12px;background:none;border:1px solid var(--border);border-radius:20px;padding:6px 11px}.composer-tool-chip app-icon{color:var(--blue);font-size:15px}.composer-role{font-size:12px;color:var(--muted)}.composer-horizon{margin-left:auto;color:var(--muted);font-size:11px}.request-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:50%;background:var(--send-bg);color:var(--send-text);flex-shrink:0}.request-button app-icon{font-size:22px}.request-button:hover:not(:disabled){box-shadow:0 0 0 3px var(--orange-subtle)}.composer-note{font-size:11px;margin-top:10px}.stream-cursor{background:var(--blue)}.skeleton-chart{border-radius:14px}.badge.good{background:var(--accent-subtle);color:var(--accent)}@media(max-width:1200px){.header-title{display:inline-flex}.selection-chip{font-size:11px;padding-inline:7px}.selection-chips{margin-left:auto}}@media(max-width:900px){.chat-header{padding-inline:16px}.header-title{font-size:18px}}@media(max-width:600px){.chat-header{min-height:58px;padding:10px 12px;gap:8px}.header-title{font-size:18px}.header-title .header-chevron{display:none}.selection-chips{justify-content:flex-end;gap:0}.selection-chip{font-size:10px;padding:6px}.selection-chip:first-child{display:none}.selection-chip:nth-child(2){max-width:100px;overflow:hidden}.theme-toggle{margin-left:0}.mock-indicator{font-size:9px;margin-top:5px}.welcome-state{margin-top:20vh}.welcome-state h1{font-size:27px}.welcome-description{font-size:12px;max-width:250px;margin-inline:auto}.welcome-symbol{font-size:29px;margin-bottom:14px}.feed{margin-top:24px}.user-message{font-size:13px;padding:12px 16px}.user-message small{font-size:11px}.forecast-card{padding:10px 0 22px}.forecast-card-heading h2{font-size:15px}.forecast-card-heading p{font-size:11px}.freshness>.small{font-size:9px}.target-info>.small{font-size:9px}.prediction-value{font-size:34px}app-chart-card{padding:12px 4px 0;border-radius:12px}app-chart-card>.section-heading{padding-inline:8px}.section-heading h3{font-size:12px}.explanation-text{font-size:14px}.data-details summary{font-size:12px}.data-details summary .muted{font-size:10px}.composer-wrap{width:calc(100% - 24px);padding:8px 0}.composer-panel{padding:15px 12px 10px;border-radius:23px}.composer-prompt{font-size:14px;min-height:34px}.composer-role{display:none}.composer-toolbar{gap:7px}.composer-note{font-size:9px;margin-top:7px}.request-button{width:34px;height:34px}.request-button app-icon{font-size:20px}}:root{--bg: #fff;--surface: #fff;--sidebar: #fafafa;--subtle: #f5f5f5;--text: #171717;--muted: #737373;--border: #e5e5e5;--hover: #f5f5f5;--primary: #171717;--primary-hover: #333;--on-primary: #fafafa;--accent: #262626;--accent-subtle: #f5f5f5;--accent-border: #d4d4d4;--send-bg: #171717;--send-text: #fff;--shadow: #0000000d;--overlay: #00000066;--chart-grid: #e5e5e5;--warning-bg: #fff7ed;--warning: #9a4b00;--danger-bg: #fef2f2;--danger: #b91c1c}:root[data-theme=dark]{--bg: #171717;--surface: #1c1c1c;--sidebar: #141414;--subtle: #262626;--text: #fafafa;--muted: #a3a3a3;--border: #383838;--hover: #262626;--primary: #fafafa;--primary-hover: #ddd;--on-primary: #171717;--accent: #e5e5e5;--accent-subtle: #262626;--accent-border: #525252;--send-bg: #fafafa;--send-text: #171717;--shadow: #00000040;--overlay: #00000099;--chart-grid: #383838;--warning-bg: #342718;--warning: #fdba74;--danger-bg: #351c1c;--danger: #fca5a5}body{font-size:var(--ui-font-size, 16px);letter-spacing:-.015em}button,input,select,textarea{letter-spacing:inherit}.primary-button,.secondary-button{border-radius:10px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:7px}.primary-button{background:var(--primary);color:var(--on-primary)}.secondary-button{background:var(--surface);border:1px solid var(--border)}.icon-button{border-radius:9px}.brand-mark,.welcome-symbol,.role-symbol{background:transparent!important;border:0!important;box-shadow:none!important;color:inherit!important}.welcome-symbol{width:48px;height:48px}.brand-tag,.eyebrow{color:var(--muted);letter-spacing:.06em}.archive-nav app-icon,.forecast-card-heading h2 app-icon{color:var(--muted)}.wizard h1{font-weight:600;letter-spacing:-.045em;line-height:1.12}.wizard-description{font-size:1rem;color:var(--muted)}.choice-card{border-radius:16px;box-shadow:none;border-color:var(--border)}.choice-card.selected{border-color:var(--text);background:var(--surface);box-shadow:0 0 0 1px var(--text)}.choice-check,.checkbox{border:1px solid var(--border);border-radius:5px;color:var(--on-primary);background:var(--surface)}.selected .choice-check,.selected .checkbox{background:var(--primary);border-color:var(--primary)}.role-symbol{height:16px}.wizard-progress{gap:0;justify-content:space-between;position:relative}.wizard-progress>span{position:relative;flex:1;gap:9px;font-size:14px;color:var(--muted)}.wizard-progress>span:not(:last-child):after{content:"";height:1px;background:var(--border);flex:1;margin:0 12px}.wizard-progress b{height:32px;width:32px;flex-shrink:0;border-radius:50%;border:2px solid var(--border);background:var(--surface);font-size:14px}.wizard-progress .current{color:var(--text)}.wizard-progress .current b{border-color:var(--primary);background:var(--surface);color:var(--text)}.wizard-progress .completed b{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.sidebar{border-right:1px solid var(--border)}.new-request{background:var(--surface);border:1px solid var(--border);box-shadow:0 1px 2px var(--shadow);border-radius:12px}.history-item.active{background:var(--surface);box-shadow:0 1px 3px var(--shadow);border:1px solid var(--border)}.history-item{border:1px solid transparent;border-radius:12px}.history-open strong{font-weight:500}.header-tools{display:flex;align-items:center;gap:10px;margin-left:auto}.ref-theme-switch{width:60px;height:36px;padding:3px;background:var(--border);border-radius:999px;display:flex;align-items:center;flex-shrink:0}.ref-switch-thumb{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface);box-shadow:0 1px 3px var(--shadow);transition:transform .2s}.ref-theme-switch[aria-checked=true] .ref-switch-thumb{transform:translate(24px)}.ref-switch-thumb app-icon{width:18px;height:18px}.ref-switch{width:30px;height:18px;border-radius:999px;padding:2px;background:var(--border);display:inline-flex;vertical-align:middle}.ref-switch span{height:14px;width:14px;background:var(--surface);border-radius:50%;transition:transform .2s}.ref-switch[aria-checked=true]{background:var(--primary)}.ref-switch[aria-checked=true] span{transform:translate(12px);background:var(--on-primary)}.ref-preferences{padding:24px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:18px;max-height:92dvh;overflow:auto}.ref-preferences h3{font-size:18px;margin:24px 0 12px;font-weight:600}.preference-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0}.preference-row p,.preference-field legend{color:var(--muted);font-size:14px}.preference-field{border:0;padding:0;margin:18px 0}.preference-field legend{margin-bottom:8px}.ref-segments{display:flex;gap:4px;background:var(--subtle);border-radius:10px;padding:4px;flex-wrap:wrap}.ref-segments button{flex:1;background:none;padding:8px 12px;border-radius:8px;font-size:14px;white-space:nowrap}.ref-segments button.selected{background:var(--surface);box-shadow:0 1px 3px var(--shadow)}.notification-preferences{width:100%;margin:12px 0;border-collapse:collapse;font-size:14px}.notification-preferences th{font-weight:400;text-align:left;color:var(--muted);padding:10px 5px}.notification-preferences tbody th{color:var(--text)}.notification-preferences td{text-align:center;padding:10px 5px}.ref-menu-anchor{display:flex;align-items:center;min-width:0;width:100%}.ref-menu-anchor>.history-item{width:100%}.ref-menu{min-width:170px;padding:5px;border-radius:12px;border:1px solid var(--border);box-shadow:0 6px 16px var(--shadow);background:var(--surface);color:var(--text)}.ref-menu button{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:7px;background:none;text-align:left;width:100%;font-size:14px}.ref-menu button:hover,.ref-menu button:focus{background:var(--subtle);outline:none}.ref-menu .danger{color:#ef4444}.ref-menu app-icon{width:16px;height:16px}.ref-date-field,.ref-combobox{display:flex;align-items:center;gap:9px;background:var(--subtle);border:1px solid var(--border);border-radius:12px;min-height:42px;width:100%;padding:8px 12px;text-align:left;font-size:14px;color:var(--text)}.ref-combobox{padding:0 4px 0 12px;background:var(--surface)}.archive-filters .ref-combobox input{background:none;border:0;padding:10px 0;outline:none}.archive-filter-field{display:flex;flex-direction:column;gap:7px;min-width:0}.archive-filter-field>span{font-size:13px;color:var(--muted)}.ref-select-popup,.ref-calendar{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:14px;box-shadow:0 3px 8px #00000020;padding:6px}.ref-select-popup{max-height:280px;overflow:auto;width:100%}.ref-select-popup button{padding:8px;border-radius:7px;background:none;width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;font-size:14px}.ref-select-popup button:hover,.ref-select-popup button.focused{background:var(--subtle)}.ref-select-popup p{padding:10px}.ref-calendar{width:292px;padding:12px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:16px}.calendar-heading strong{font-weight:500}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:2px}.calendar-week{color:var(--muted);font-size:14px;margin:8px 0}.calendar-grid button{height:36px;background:none;border-radius:9px;font-size:16px}.calendar-grid button:hover,.calendar-grid button.today{background:var(--subtle)}.calendar-grid button.outside{color:var(--muted);opacity:.5}.calendar-grid button.selected{background:var(--primary);color:var(--on-primary);opacity:1}.calendar-footer{display:flex;justify-content:space-between;margin-top:8px;border-top:1px solid var(--border);padding-top:8px}.notification-trigger{position:relative}.notification-trigger>span{position:absolute;top:-3px;right:-3px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;min-width:18px;height:18px;display:grid;place-items:center;border:2px solid var(--surface)}.ref-notifications{width:min(370px,92vw);border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);padding:14px;box-shadow:0 8px 24px var(--shadow)}.ref-notifications h3{font-size:16px}.notification-items{max-height:330px;overflow:auto}.notification-items article{display:flex;gap:9px;padding:10px 8px;margin:3px 0;border-radius:8px;font-size:13px}.notification-items article.unread{background:var(--subtle)}.notification-items strong{font-weight:500}.notification-items p,.notification-items time{color:var(--muted);font-size:12px}.notification-dot{margin-top:6px;width:7px;height:7px;border-radius:50%;background:#0ea5e9;flex-shrink:0}.notification-dot.error{background:#ef4444}.notification-footer{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:10px;margin-top:10px}.empty-small{padding:26px 10px;color:var(--muted);font-size:14px;text-align:center}.ref-toasts{position:fixed;bottom:24px;right:24px;z-index:1100;display:grid;gap:8px;max-width:min(440px,calc(100vw - 32px))}.ref-toast{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 16px var(--shadow);font-size:14px}.ref-toast>app-icon{color:#059669;flex-shrink:0}.ref-toast.error>app-icon{color:var(--danger)}.ref-toast>span{flex:1}.ref-toast .icon-button{width:24px;height:24px;flex-shrink:0}.ref-offline{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:1100;display:flex;align-items:center;gap:12px;width:max-content;max-width:94vw;background:var(--warning-bg);color:var(--warning);padding:12px;border:1px solid #fdba74;border-radius:12px;font-size:14px}.ref-progress-label{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin:12px 0 8px}.ref-progress{height:5px;overflow:hidden;background:var(--subtle);border-radius:999px}.ref-progress>span{height:100%;display:block;background:var(--primary);border-radius:inherit;transition:width .2s}.ref-progress.indeterminate>span{animation:ref-progress-move 1.5s infinite ease-in-out}@keyframes ref-progress-move{0%{transform:translate(-110%)}to{transform:translate(390%)}}.ref-error-state{padding:30px 20px;border:1px solid var(--border);border-radius:18px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;margin:16px 0;background:var(--surface)}.ref-error-state>app-icon{width:48px;height:48px;color:var(--muted)}.ref-error-state h3{font-size:20px;font-weight:500}.ref-error-state p{max-width:400px;color:var(--muted)}.ref-error-state small{color:var(--muted);font-size:12px}.ref-back-top{position:absolute;right:24px;bottom:160px;width:52px;height:52px;border-radius:50%;background:var(--primary);color:var(--on-primary);box-shadow:0 4px 12px var(--shadow);display:grid;place-items:center;z-index:10}.ref-back-top>svg{position:absolute;inset:2px;width:48px;height:48px;fill:none;stroke:var(--on-primary);stroke-width:2;transform:rotate(-90deg)}.ref-back-top .progress-track{opacity:.2}.ref-content-nav{border:1px solid var(--border);border-radius:14px;padding:14px;margin:12px 0 20px;background:var(--surface)}.ref-content-nav summary{color:var(--muted);font-size:12px;text-transform:uppercase;cursor:pointer;letter-spacing:.03em}.ref-content-nav nav{margin-top:10px;border-left:1px solid var(--border);display:flex;flex-wrap:wrap;gap:5px}.ref-content-nav button{background:none;padding:6px 12px;color:var(--muted);border-left:2px solid transparent;text-align:left;font-size:14px}.ref-content-nav button.active{border-color:var(--text);color:var(--text)}.notice{border-radius:12px;border:1px solid var(--border);background:var(--subtle)}.notice.warning{background:var(--warning-bg);border-color:#fdba7470;color:var(--warning)}.notice.error{background:var(--danger-bg);border-color:#fca5a570;color:var(--danger)}.table-scroll{border:1px solid var(--border);border-radius:16px}.table-scroll table{border-collapse:collapse}.table-scroll th{background:var(--surface);font-weight:500}.table-scroll td{border-bottom:1px solid var(--border)}.kind-chip{background:#d9f5ed;color:#00856c;border-radius:999px}.kind-chip.predicted{background:#fff0d9;color:#b45309}.ref-grid-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:14px 0}.ref-grid-search{display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:11px;padding:7px 10px;background:var(--surface)}.ref-grid-search input{border:0;outline:none;background:none;color:var(--text);width:220px;max-width:65vw;font-size:14px}.ref-grid-sort{display:flex;gap:5px;align-items:center;background:none;font-weight:500;white-space:nowrap}.ref-grid-sort app-icon{width:14px;color:var(--muted)}.ref-grid-footer{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin:12px 0;color:var(--muted);font-size:13px}.ref-grid-footer>span{margin-right:auto}input[type=checkbox]{accent-color:var(--primary);width:18px;height:18px;cursor:pointer}.ref-404{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--sidebar)}.ref-404-card{border:1px solid var(--border);border-radius:20px;padding:48px 32px;max-width:560px;width:100%;text-align:center;background:var(--surface);box-shadow:0 5px 12px var(--shadow)}.ref-404-card>strong{font-size:76px;font-weight:800;line-height:1}.ref-404-card h1{font-size:22px;font-weight:500;margin:20px 0 12px}.ref-404-card p{color:var(--muted);margin:12px 0 24px}.ref-404-card .ref-grid-search{margin:0 auto 20px;width:100%;text-align:left}.ref-404-actions{display:flex;justify-content:center;gap:10px}@media(max-width:700px){.header-tools{gap:3px}.header-tools>.icon-button{display:none}.chat-header{gap:5px}.ref-theme-switch{width:52px;height:32px}.ref-switch-thumb{width:26px;height:26px}.ref-theme-switch[aria-checked=true] .ref-switch-thumb{transform:translate(20px)}.wizard-progress>span{font-size:12px;flex-direction:column;align-items:center}.wizard-progress>span:after{display:none}.ref-toasts{bottom:12px;right:12px}.ref-preferences{padding:18px}.notification-preferences{font-size:12px}.ref-back-top{right:12px;bottom:190px}.archive-filters{grid-template-columns:1fr 1fr}.archive-filters .archive-filter-field:first-child{grid-column:1/-1}}@media(prefers-reduced-motion:reduce){.ref-progress.indeterminate>span{animation:none;width:100%!important;opacity:.4}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}.ref-field-label{display:grid;gap:8px;margin:20px 0;color:var(--muted);font-size:14px}.ref-field-label input{border:1px solid var(--border);border-radius:10px;padding:10px 12px;color:var(--text);background:var(--surface);width:100%}.ref-preferences .dialog-heading h2{font-size:22px;font-weight:600}.ref-preferences table tr{background:none}.role-card .choice-check{border-radius:50%}.role-card .muted,.station-choice,.parameter-card{font-size:calc(var(--ui-font-size, 16px) * .875)}.role-card .choice-title,.history-open strong{font-size:calc(var(--ui-font-size, 16px) * .9375)}.ref-combobox input,.ref-date-field,.ref-grid-search input,.ref-grid-sort,.ref-menu button,.ref-segments button,.ref-content-nav button{font-size:calc(var(--ui-font-size, 16px) * .875)}app-action-menu app-plotly-chart{display:block;width:100%;min-width:0}.chart-actions>app-action-menu{width:auto}.workspace .sidebar{width:260px}.workspace .workspace-main{margin-left:260px;width:calc(100% - 260px)}.workspace.sidebar-collapsed .workspace-main{margin-left:0;width:100%}.sidebar app-sidebar{padding:0 12px 12px}.sidebar-top{height:68px;padding:0 8px;flex-shrink:0}.sidebar-top .brand{font-size:20px;letter-spacing:-.04em}.sidebar-top .icon-button{width:32px;height:32px}.new-request{margin:8px 0;padding:11px 12px;font-size:14px;min-height:44px;border-radius:11px;box-shadow:0 1px 2px var(--shadow)}.archive-nav{margin:0 0 20px;padding:11px 12px;font-size:14px;border-radius:10px;min-height:44px;gap:10px}.sidebar-history-heading{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 6px;color:var(--muted);font-size:12px}.sidebar-count{min-width:20px;text-align:center;border-radius:6px;background:var(--border);padding:1px 5px;font-size:11px}.history-list{min-height:0}.history-list h2{font-size:11px;margin:14px 0 6px;padding:0 12px;font-weight:400}.history-item{margin:2px 0;border-radius:10px}.history-item.active{box-shadow:none;border-color:var(--border)}.history-open{padding:10px 12px;align-items:center;min-height:55px}.history-open strong{font-size:14px;font-weight:450}.history-open small{font-size:12px}.history-item>app-action-menu{width:auto;flex:0 0 auto;margin-right:6px}.history-item>app-action-menu .icon-button{width:30px;height:30px}.sidebar-bottom{padding:10px 0 0;border-top:1px solid var(--border);display:grid;gap:2px;flex-shrink:0}.sidebar-bottom>.text-button{min-height:40px;padding:9px 12px;border-radius:9px;font-size:13px;justify-content:flex-start;width:100%}.sidebar-bottom>.text-button:hover{background:var(--hover)}.chat-header{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:112px;padding:0 24px 12px;border-bottom:1px solid var(--border)}.header-main-row{height:64px;display:flex;align-items:center;gap:10px;min-width:0}.header-main-row .header-title{display:block;margin:0;font-size:17px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.025em}.header-sidebar-toggle{width:32px;height:32px;flex-shrink:0}.workspace:not(.sidebar-collapsed) .header-sidebar-toggle{display:none}.header-tools{margin-left:auto;gap:8px;flex-shrink:0}.header-tools>.icon-button{display:inline-flex;width:34px;height:34px}.header-demo{font-size:11px;font-weight:500;border:1px solid #fdba7470;background:var(--warning-bg);color:var(--warning);padding:2px 7px;border-radius:6px;white-space:nowrap}.chat-header .selection-chips{display:flex;justify-content:flex-start;margin:0;gap:8px;min-width:0}.chat-header .selection-chip{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--border);background:var(--surface);border-radius:8px;font-size:13px;min-width:0;max-width:340px}.chat-header .selection-chip:hover{background:var(--subtle)}.chat-header .selection-chip strong{font-weight:450;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header .selection-chip .chip-label{font-size:12px;color:var(--muted);flex-shrink:0}.chat-header .selection-chip app-icon{height:14px;width:14px;color:var(--muted);flex-shrink:0;transform:rotate(90deg)}@media(max-width:900px){.workspace .workspace-main{margin-left:0;width:100%}.chat-header{padding-inline:16px}.workspace:not(.sidebar-collapsed) .header-sidebar-toggle{display:inline-flex}}@media(max-width:600px){.chat-header{padding:0 12px 10px;min-height:110px}.header-main-row{height:60px;gap:6px}.header-main-row .header-title{font-size:15px}.header-tools{gap:4px}.header-tools>.icon-button{display:none}.header-demo{font-size:10px;padding:2px 5px}.chat-header .selection-chips{overflow-x:auto;gap:6px;padding-bottom:2px;scrollbar-width:thin}.chat-header .selection-chip,.chat-header .selection-chip:first-child,.chat-header .selection-chip:nth-child(2){display:flex;flex-shrink:0;max-width:190px;padding:6px 8px;font-size:12px}.chat-header .selection-chip .chip-label{font-size:11px}.chat-header .role-chip{max-width:155px!important}.chat-header{min-height:120px}.chat-header .selection-chips{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) minmax(0,1fr);overflow:visible;gap:6px}.chat-header .selection-chip,.chat-header .selection-chip:first-child,.chat-header .selection-chip:nth-child(2),.chat-header .role-chip{display:grid!important;grid-template-columns:minmax(0,1fr) 12px;gap:1px 4px;max-width:none!important;width:100%;padding:6px 8px;text-align:left}.chat-header .selection-chip .chip-label{grid-column:1;grid-row:1;font-size:10px}.chat-header .selection-chip strong{grid-column:1;grid-row:2;font-size:12px}.chat-header .selection-chip app-icon{grid-column:2;grid-row:1/3;width:12px}}:root{--font-sans: "Geist Variable", -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", system-ui, "Segoe UI", sans-serif;--font-mono: "SF Mono", ui-monospace, Menlo, Consolas, monospace}html,body{font-family:var(--font-sans)}button,input,textarea,select,optgroup{font:inherit}table{font-family:var(--font-sans);font-variant-numeric:tabular-nums}td[data-numeric],th[data-numeric],.numeric{font-family:var(--font-mono);font-variant-numeric:tabular-nums}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
