.labpick-overlay{z-index:60;background:#04080c8c;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.labpick-card{background:var(--card);color:var(--text);border:1px solid var(--line-c);border-radius:16px;width:min(560px,100%);padding:1.3rem 1.4rem 1.4rem;box-shadow:0 24px 60px #04080c73}.labpick-head{align-items:flex-start;gap:.8rem;margin-bottom:1rem;display:flex}.labpick-head .flask{background:var(--tint);width:40px;height:40px;color:var(--tint-text);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.labpick-head h2{font-size:1.05rem;font-weight:800}.labpick-head p{color:var(--muted);margin-top:.15rem;font-size:.8125rem;line-height:1.45}.labpick-close{color:var(--muted);background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;width:30px;height:30px;margin-left:auto;display:grid}.labpick-close:hover{background:var(--tint);color:var(--tint-text)}.labpick-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem;max-height:46vh;display:grid;overflow-y:auto}.labpick-item{border:1px solid var(--line-c);background:var(--card);color:var(--text);text-align:left;border-radius:10px;align-items:center;gap:.5rem;min-height:42px;padding:.6rem .75rem;font-family:inherit;font-size:.875rem;font-weight:600;display:flex}.labpick-item .ic{color:var(--tint-text)}.labpick-item:hover,.labpick-item.on{border-color:var(--accent);background:var(--tint);color:var(--tint-text)}.labpick-item .tick{margin-left:auto}.login{background:var(--bg);height:100%;color:var(--text);grid-template-columns:minmax(380px,.85fr) 1.15fr;display:grid;overflow:hidden}.login-panel{background:var(--sb-bg);border-right:1px solid var(--sb-border);color:var(--sb-text);flex-direction:column;justify-content:space-between;gap:clamp(1.5rem,4vh,2.5rem);padding:clamp(1.75rem,4.5vw,3rem) clamp(1.25rem,4vw,3rem) clamp(1.5rem,3.5vw,2.5rem);display:flex;overflow-y:auto}.login-brand{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.login-brand-logo{width:auto;height:clamp(34px,4.5vw,44px);display:block}.login-brand-name{letter-spacing:.01em;color:var(--sb-title);border-left:1px solid var(--sb-border);padding-left:.8rem;font-size:1.08rem;font-weight:900}.login-pill{letter-spacing:.08em;text-transform:uppercase;color:var(--sb-muted);border:1px solid var(--sb-border);border-radius:5px;padding:.14rem .42rem;font-size:.6875rem;font-weight:700}.login-pitch{max-width:22rem}.login-h1{letter-spacing:-.02em;color:var(--sb-title);text-wrap:pretty;margin-bottom:.875rem;font-size:clamp(1.6rem,4.2vw,2.125rem);font-weight:900;line-height:1.1}.login-lede{color:var(--sb-muted);text-wrap:pretty;margin-bottom:1.75rem;font-size:.9375rem;line-height:1.55}.login-google{background:var(--cta);width:100%;min-height:44px;color:var(--cta-text);transition:background var(--speed) ease, transform var(--speed) ease;border-radius:10px;justify-content:center;align-items:center;gap:.65rem;font-size:.9375rem;font-weight:700;text-decoration:none;display:flex}.login-google:hover{background:var(--cta-hover);transform:translateY(-1px)}.login-google .g{background:#fff;border-radius:3px;flex-shrink:0;width:1.15rem;height:1.15rem;padding:1px}.login-problem{color:#ff9d9d;margin-top:.9rem;font-size:.8125rem;font-weight:700}.login-note,.login-foot{color:var(--sb-muted);font-size:.75rem;line-height:1.5}.login-note{margin-top:.9rem}.login-hero{background:var(--bg);position:relative;overflow:hidden}.login-hero-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.login-legend{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;gap:.75rem 1.4rem;font-size:.6875rem;font-weight:600;list-style:none;display:flex;position:absolute;bottom:clamp(1.25rem,3vh,2.25rem);left:clamp(1.25rem,3vw,2.5rem);right:clamp(1.25rem,3vw,2.5rem)}.login-legend .warm{color:var(--orange)}.login-legend .crit{color:var(--err)}:root[data-theme=dark] .login-legend .crit{color:#f06060}@media (width>=1600px){.login{grid-template-columns:620px 1fr}}@media (width<=860px){.login{grid-template-rows:1fr;grid-template-columns:1fr}.login-hero{display:none}.login-panel{border-right:none}.login-brand,.login-pitch,.login-foot{width:100%;max-width:24rem;margin-inline:auto}}@media (width<=420px){.login-brand{gap:.6rem}.login-brand-name{padding-left:.6rem}.login-lede{margin-bottom:1.5rem}}@media (height<=620px){.login-panel{gap:1.25rem}.login-h1{font-size:clamp(1.4rem,3.4vw,1.75rem)}.login-lede{margin-bottom:1.25rem}}.auth-splash{background:var(--bg);place-items:center;height:100%;display:grid}.auth-splash .mark{background:url(/favicon.png) 50%/contain no-repeat;width:52px;height:52px;animation:1.4s ease-in-out infinite skpulse}.side{background:var(--sb-bg);width:264px;color:var(--sb-text);flex-direction:column;flex-shrink:0;display:flex}.side,.side *{scrollbar-color:var(--sb-pill-line) transparent}.side-top{align-items:center;gap:.55rem;padding:1rem 1.1rem .9rem;display:flex}.side-collapse{width:30px;height:30px;color:var(--sb-muted);background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;margin-left:auto;display:grid}.side-collapse:hover{background:var(--sb-hover);color:var(--sb-title)}.side-top .brand-logo{width:auto;height:58px;display:block}.side-top .name{color:var(--sb-title);letter-spacing:.01em;border-left:1px solid var(--sb-border);padding-left:.8rem;font-size:1.08rem;font-weight:900}.new-chat{background:var(--cta);color:var(--cta-text);border:0;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;min-height:40px;margin:.2rem 1rem .9rem;padding:.6rem;font-size:.9375rem;font-weight:700;display:flex}.new-chat:hover{background:var(--cta-hover)}.side-label{letter-spacing:.14em;text-transform:uppercase;color:var(--sb-muted);padding:.6rem 1.2rem .4rem;font-size:.75rem;font-weight:600}.side-label-toggle{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;width:100%;display:flex}.side-label-toggle:hover{color:var(--sb-title)}.side-label-toggle .car{transition:transform var(--speed) ease;place-items:center;display:inline-grid}.side-label-toggle .car.open{transform:rotate(90deg)}.qc-side{padding-bottom:.35rem}.qc-side-item{width:100%;color:var(--sb-text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.55rem;min-height:30px;padding:.34rem 1.2rem;font-size:.8125rem;font-weight:600;display:flex}.qc-side-item .ic{color:var(--sb-muted)}.qc-side-item:hover{background:var(--sb-hover);color:var(--sb-title)}.qc-side-item:hover .ic{color:var(--sb-edge)}.qc-side-item:disabled{opacity:.55;cursor:default}.side-scroll{flex:1;min-height:0;overflow-y:auto}.side-top,.new-chat,.side-bottom{flex-shrink:0}.chat-list{padding-bottom:.35rem}.side-sublabel{letter-spacing:.1em;text-transform:uppercase;color:var(--sb-muted);opacity:.75;padding:.5rem 1.2rem .3rem;font-size:.65rem;font-weight:600}.side-loading{color:var(--sb-muted);align-items:center;gap:.5rem;padding:.55rem 1.2rem;font-size:.8125rem;display:flex}.side-loading .tl-run{border-color:color-mix(in srgb, var(--sb-muted) 35%, transparent);border-top-color:var(--accent)}.chat-item{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:0;align-items:center;gap:.4rem;padding:.55rem .75rem .55rem 1.2rem;font-size:.875rem;display:flex}.chat-item:hover{background:var(--sb-hover)}.chat-item.active{background:var(--sb-active);box-shadow:inset 3px 0 0 var(--sb-edge)}.chat-item-text{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.chat-item .t{color:var(--sb-title);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.chat-item.active .t{color:var(--sb-active-text)}.chat-item .d{color:var(--sb-muted);font-size:.75rem}.chat-item.active .d{color:var(--sb-active-muted)}.chat-del{color:var(--sb-muted);opacity:0;background:0 0;border:0;border-radius:6px;flex-shrink:0;place-items:center;width:26px;height:26px;display:grid}.chat-item:hover .chat-del,.chat-del:focus-visible{opacity:1}.chat-del:hover{color:#ff9d9d;background:#c034342e}.side-bottom{border-top:1px solid var(--sb-border);margin-top:auto;padding:.8rem 1.1rem;position:relative}.side-menu{background:var(--sb-pill);border:1px solid var(--sb-pill-line);z-index:20;border-radius:12px;padding:.35rem;position:absolute;bottom:calc(100% + .4rem);left:1.1rem;right:1.1rem;box-shadow:0 10px 30px #04080c59}.side-menu-item{width:100%;color:var(--sb-text);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:.55rem;min-height:38px;padding:.5rem .65rem;font-size:.875rem;font-weight:600;display:flex}.side-menu-item:hover{background:var(--sb-hover);color:var(--sb-title)}.side-menu-item.on{color:var(--sb-title)}.side-menu-item .tick{color:var(--sb-edge);margin-left:auto}.lab-pill:disabled{cursor:default}.lab-pill:disabled:hover{border-color:var(--sb-pill-line)}.lab-pill{background:var(--sb-pill);border:1px solid var(--sb-pill-line);cursor:pointer;width:100%;color:inherit;text-align:left;border-radius:12px;align-items:center;gap:.6rem;min-height:44px;padding:.55rem .7rem;display:flex}.lab-pill:hover{border-color:var(--accent)}.lab-pill .flask{color:var(--accent);place-items:center;display:grid}.lab-pill .l1{color:var(--sb-title);font-size:.8125rem;font-weight:600;line-height:1.15;display:block}.lab-pill .l2{color:var(--sb-muted);font-size:.75rem}.lab-pill .chev{color:var(--sb-muted);margin-left:auto}.user-row{color:var(--sb-text);align-items:center;gap:.6rem;padding:.8rem .1rem 0;font-size:.8125rem;display:flex}.user-row .avatar{background:var(--sb-avatar);color:#fff}.user-row .email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.set-btn{width:32px;height:32px;color:var(--sb-muted);background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;margin-left:auto;display:grid}.set-btn:hover{background:var(--sb-hover);color:var(--sb-title)}.top{background:var(--top-bg);border-bottom:1px solid var(--line-c);flex-shrink:0;align-items:center;gap:.9rem;height:56px;padding:0 1.4rem;display:flex}.top .title{font-size:.9375rem;font-weight:700}.top .crumb{color:var(--muted);font-size:.8125rem}.top .actions{gap:.5rem;margin-left:auto;display:flex}.icon-btn{border:1px solid var(--line-c);background:var(--card);width:36px;height:36px;color:var(--muted);border-radius:8px;place-items:center;display:grid}.icon-btn:hover,.icon-btn.on{border-color:var(--accent);color:var(--tint-text);background:var(--tint)}.chat{flex:1;padding:1.6rem 0;overflow-y:auto}.chat-inner{flex-direction:column;gap:1.3rem;max-width:780px;margin:0 auto;padding:0 1.5rem;display:flex}.chat-empty{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.9rem;display:flex}.chat-empty .mark{border:1px solid var(--line-c);background:#fff url(/favicon.png) 50%/120% no-repeat;border-radius:50%;width:44px;height:44px}.chat-loading{color:var(--muted);flex:1;justify-content:center;align-items:center;gap:.55rem;font-size:.9375rem;display:flex}.chat-empty .hi{color:var(--text);font-size:1.35rem;font-weight:800}.chat-empty .sub{text-align:center;max-width:420px;font-size:.9375rem;line-height:1.5}.linklike{color:var(--tint-text);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.composer-wrap{padding:0 1.5rem 1.4rem}.composer{background:var(--card);border:1.5px solid var(--line-c);max-width:780px;transition:border-color var(--speed) ease, box-shadow var(--speed) ease;border-radius:14px;align-items:center;gap:.7rem;margin:0 auto;padding:.65rem .65rem .65rem 1rem;display:flex;box-shadow:0 4px 18px #0f243414}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-glow)}.composer input:focus-visible{box-shadow:none;border-radius:0}.attach-btn{color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.attach-btn:hover{background:var(--tint);color:var(--tint-text)}.composer input{font:inherit;color:var(--text);background:0 0;border:0;outline:0;flex:1;padding:2px 0 2px 2px;font-size:.875rem}.send{background:var(--cta);color:var(--cta-text);border:0;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.send:hover{background:var(--cta-hover)}.send.stop{background:var(--err);color:#fff}.send.stop:hover{background:#a82c2c}.home-body{flex-direction:column;flex:1;justify-content:center;width:100%;max-width:820px;margin:0 auto;padding:2.5rem 1.5rem 1.5rem;display:flex;overflow-y:auto}.home-mark{background:url(/favicon.png) 50%/contain no-repeat;width:44px;height:44px;margin-bottom:1rem}.home-hi{letter-spacing:-.01em;font-size:1.9rem;font-weight:800}.home-sub{color:var(--muted);margin-top:.35rem;font-size:.9375rem;line-height:1.5}.home-composer{margin-top:1.4rem}.qs-label{letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:1.8rem 0 .75rem;font-size:.75rem;font-weight:700}.qs-grid{grid-template-columns:repeat(2,1fr);gap:.7rem;display:grid}.qs{background:var(--card);border:1px solid var(--line-c);text-align:left;color:var(--text);border-radius:12px;flex-direction:column;gap:.5rem;padding:.9rem .95rem;font-family:inherit;display:flex}.qs:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 14px #0f24341a}.qs:disabled{opacity:.6;cursor:default;transform:none}.qs .qic{background:var(--tint);width:30px;height:30px;color:var(--tint-text);border-radius:8px;place-items:center;display:grid}.qs .qt{font-size:.875rem;font-weight:600;line-height:1.3}.qs .qd{color:var(--muted);font-size:.75rem;line-height:1.45}.home-composer .composer-wrap{padding:0}.home-composer .composer{max-width:none}.row{gap:.8rem;display:flex}.row.user{flex-direction:row-reverse}.bubble{overflow-wrap:anywhere;border-radius:14px;max-width:82%;padding:.75rem 1rem;font-size:.875rem;line-height:1.55}.row.user .bubble{background:var(--user-bub);color:var(--user-bub-text);border-bottom-right-radius:4px}.row.bot .bubble{background:var(--card);border:1px solid var(--line-c);border-bottom-left-radius:4px;flex:1;min-width:0;max-width:100%;box-shadow:0 1px 3px #0f24340f}.bubble p+p,.md>*+*{margin-top:.55rem}.md h1,.md h2,.md h3{font-size:.9375rem;font-weight:700}.md h4,.md h5,.md h6{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.75rem}.md ul,.md ol{margin-left:1.15rem}.md li{margin:.2rem 0}.md code{font-family:var(--mono);background:var(--head-bg);border:1px solid var(--line-c);border-radius:5px;padding:.05rem .3rem;font-size:.8125rem}.md pre{background:var(--head-bg);border:1px solid var(--line-c);border-radius:8px;padding:.6rem .8rem;overflow-x:auto}.md pre code{background:0 0;border:0;padding:0}.md table{border-collapse:collapse;width:fit-content;max-width:100%;font-size:.8125rem;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--line-c);padding:.3rem .55rem}.md th{white-space:nowrap}.md th,.md td,.msg-table th,.msg-table td{overflow-wrap:normal}.md blockquote{border-left:3px solid var(--line-c);color:var(--muted);padding-left:.75rem}.who{letter-spacing:.08em;color:var(--tint-text);align-items:center;gap:.45rem;margin-bottom:.35rem;font-size:.75rem;font-weight:800;display:flex}.who:before{content:"";background:var(--accent);border-radius:50%;width:.5rem;height:.5rem}.typing{color:var(--muted);align-items:center;gap:.2rem;font-size:.875rem;display:flex}.typing .td{background:var(--muted);border-radius:50%;width:5px;height:5px;margin-left:3px;animation:1.2s ease-in-out infinite tblink}.typing .td:nth-child(3){animation-delay:.2s}.typing .td:nth-child(4){animation-delay:.4s}@keyframes tblink{0%,80%,to{opacity:.25}40%{opacity:1}}.art-chip{background:var(--head-bg);border:1px solid var(--line-c);cursor:pointer;width:100%;color:inherit;text-align:left;border-radius:12px;align-items:center;gap:.6rem;margin-top:.55rem;padding:.55rem .75rem;font-family:inherit;display:flex}.art-chip:hover{border-color:var(--accent);background:var(--tint)}.art-chip .aic{background:var(--tint);width:32px;height:32px;color:var(--tint-text);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.art-chip:hover .aic{background:var(--card)}.art-chip .t1{font-size:.8125rem;font-weight:600;display:block}.art-chip .t2{color:var(--muted);font-size:.75rem}.art-chip .open{color:var(--tint-text);white-space:nowrap;align-items:center;gap:.2rem;margin-left:auto;font-size:.75rem;font-weight:600;display:inline-flex}.chips-toggle{color:var(--muted);text-underline-offset:3px;background:0 0;border:none;padding:.35rem .2rem 0;font-family:inherit;font-size:.75rem;font-weight:600;text-decoration:underline;display:block}.chips-toggle:hover{color:var(--tint-text)}.fbw{background:var(--head-bg);border:1px dashed var(--line-c);color:var(--muted);border-radius:12px;flex-wrap:wrap;align-items:center;gap:.55rem;padding:.5rem .85rem;font-size:.8125rem;display:flex}.fbw .q{color:var(--text);margin-right:.2rem;font-weight:600}.fb{border:1px solid var(--line-c);background:var(--card);color:var(--muted);border-radius:8px;align-items:center;gap:.35rem;min-height:30px;padding:.35rem .65rem;font-family:inherit;font-size:.75rem;display:inline-flex}.fb:hover{border-color:var(--accent);color:var(--tint-text);background:var(--tint)}.fb-input{border:1px solid var(--line-c);background:var(--card);min-width:220px;color:var(--text);font:inherit;border-radius:8px;outline:none;flex:1;padding:.4rem .6rem;font-size:.8125rem}.fb-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-glow)}.fb-error{color:var(--err);font-size:.75rem;font-weight:600}.stream-error{color:var(--err);align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;display:flex}.stream-stopped{color:var(--muted);align-items:center;gap:.5rem;margin-top:.4rem;font-size:.8125rem;font-weight:600;display:flex}.msg-table{border:1px solid var(--line-c);background:var(--card);border-radius:12px;margin:.7rem 0;overflow:hidden;box-shadow:0 2px 8px #0f24340d}.mt-head{align-items:center;gap:.55rem;padding:.6rem .75rem;display:flex}.mt-icon{background:var(--tint);width:24px;height:24px;color:var(--tint-text);border-radius:7px;flex-shrink:0;place-items:center;display:grid}.mt-title{font-size:.8125rem;font-weight:600}.mt-sub{color:var(--tint-text);background:var(--tint);white-space:nowrap;border-radius:999px;padding:.1rem .4rem;font-size:.6563rem;font-weight:600}.mt-note{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.6875rem}.mt-scroll{overflow-x:auto}.msg-table table{border-collapse:collapse;width:100%;font-size:.8125rem}.msg-table th{text-align:center;color:var(--muted);background:var(--card-hover);text-transform:uppercase;letter-spacing:.05em;border-top:1px solid var(--line-c);border-bottom:1px solid var(--line-c);white-space:nowrap;font-size:.6875rem;font-weight:600}.msg-table td{border-bottom:1px solid var(--row-line);font-variant-numeric:tabular-nums;text-align:center;padding:.42rem .6rem}.msg-table th{padding:0}.mt-sort{width:100%;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:.25rem;padding:.4rem .6rem;display:inline-flex}.mt-sort .ic{opacity:0;width:.85em;height:.85em;transition:opacity var(--speed) ease, transform var(--speed) ease}.msg-table th:hover .mt-sort .ic{opacity:.45}.mt-sort:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.mt-sort.is-asc,.mt-sort.is-desc{color:var(--tint-text)}.mt-sort.is-asc .ic,.mt-sort.is-desc .ic{opacity:1}.mt-sort.is-asc .ic{transform:rotate(180deg)}.msg-table td:first-child{padding-left:.75rem}.msg-table td:last-child{padding-right:.75rem}.msg-table th:first-child .mt-sort{padding-left:.75rem}.msg-table th:last-child .mt-sort{padding-right:.75rem}.msg-table td:first-child{font-weight:600}.msg-table tbody tr:last-child td{border-bottom:0}.msg-table tbody tr{transition:background var(--speed) ease}.msg-table tbody tr:hover{background:var(--card-hover)}.msg-table td.c-num{font-family:var(--mono);font-size:.78rem}.msg-table td.c-err{color:var(--err);font-weight:600}.msg-table td.c-warn{color:var(--warn);font-weight:600}.msg-table td.c-ok{color:var(--ok)}.msg-table td.c-empty{color:var(--muted)}.msg-copy{color:var(--muted);opacity:0;background:0 0;border:0;border-radius:6px;place-items:center;width:24px;height:24px;margin-left:auto;display:grid}.msg-copy~.msg-copy{margin-left:.15rem}.row.bot:hover .msg-copy,.msg-copy:focus-visible{opacity:1}.msg-copy:hover{background:var(--tint);color:var(--tint-text)}.msg-copy.is-copied{opacity:1;color:var(--ok)}.chat-older{color:var(--muted);border:1px dashed var(--line-c);border-radius:999px;align-self:center;padding:.35rem .7rem;font-size:.75rem}.thinking{border:1px solid var(--line-c);border-left:3px solid var(--orange);background:var(--bg);color:var(--muted);border-radius:12px;margin-bottom:.6rem;padding:12px 14px;font-size:13px;font-weight:400;line-height:1.5;overflow:hidden}:root[data-theme=dark] .thinking{background:#ffffff0a}.thinking-dots{gap:2px;margin-left:-.1rem;display:inline-flex}.thinking-dots i{background:currentColor;border-radius:50%;width:3px;height:3px;animation:1.2s ease-in-out infinite tblink}.thinking-dots i:nth-child(2){animation-delay:.2s}.thinking-dots i:nth-child(3){animation-delay:.4s}.thinking-summary{cursor:pointer;color:var(--text);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.4rem;font-size:11px;font-weight:600;list-style:none;display:flex}.thinking-summary::marker{display:none}.thinking-summary::-webkit-details-marker{display:none}.thinking-summary .ic{width:1em;height:1em;transition:transform var(--speed) ease}.thinking[open] .thinking-summary .ic{transform:rotate(90deg)}.thinking-meta{letter-spacing:0;text-transform:none;color:var(--hint);font-weight:600}.thinking-text{white-space:pre-wrap;overscroll-behavior:contain;max-height:22rem;margin:.4rem 0 0;animation:.2s both th-open;overflow-y:auto}@keyframes th-open{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.thinking-live .thinking-text{max-height:8.5rem}.thinking-live .thinking-text.is-clipped{-webkit-mask-image:linear-gradient(#0000 0,#000 1.5rem);mask-image:linear-gradient(#0000 0,#000 1.5rem)}.tasklist{z-index:5;background:var(--card);border:1px solid var(--line-c);border-radius:12px;width:238px;padding:.65rem .8rem .75rem;position:absolute;top:14px;right:1.1rem;box-shadow:0 6px 22px #0f243424}.tl-head{align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.tl-head .st{color:var(--tint-text);font-size:.8125rem;font-weight:700}.tl-head .st.stopped{color:var(--muted)}.tl-row{align-items:center;gap:.55rem;padding:.26rem 0;font-size:.8125rem;display:flex}.tl-row.queued{color:var(--muted)}.tl-done{background:var(--ok-bg);width:16px;height:16px;color:var(--ok);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.tl-done .ic{stroke-width:3px;width:.62rem;height:.62rem}:root[data-theme=dark] .tl-done{color:#7fd6a4;background:#1a7f4b38}.tl-fail{background:var(--err-bg);width:16px;height:16px;color:var(--err);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.tl-fail .ic{width:.7rem;height:.7rem}:root[data-theme=dark] .tl-fail{color:#ff9d9d;background:#c0343438}.tl-que{border:2px dashed var(--line-c);border-radius:50%;flex-shrink:0;width:12px;height:12px;margin:2px}.work{flex:1;min-height:0;display:flex}.chatcol{flex-direction:column;flex:1.15;min-width:0;display:flex;position:relative}.canvas{border-left:1px solid var(--line-c);background:var(--bg);flex-direction:column;flex-shrink:0;width:44%;min-width:420px;display:flex;position:relative}.cv-resizer{cursor:col-resize;z-index:8;touch-action:none;width:8px;position:absolute;top:0;bottom:0;left:-4px}.cv-resizer:hover,.cv-resizer:active{background:var(--focus-glow)}.ws-head{background:var(--card);border-bottom:1px solid var(--line-c);flex-shrink:0;align-items:center;gap:.55rem;padding:.6rem 1rem;display:flex}.ws-head .wlb{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.45rem;font-size:.6875rem;font-weight:800;display:flex}.ws-head .wlb .ic{color:var(--tint-text)}.ws-head .wcount{font-size:.75rem;font-family:var(--mono);color:var(--muted);background:var(--head-bg);border:1px solid var(--line-c);border-radius:999px;padding:.1rem .5rem}.cv-actions{align-items:center;gap:.35rem;margin-left:auto;display:flex}.cv-act{border:1px solid var(--line-c);background:var(--card);color:var(--muted);border-radius:8px;align-items:center;gap:.3rem;min-height:30px;padding:.3rem .6rem;font-family:inherit;font-size:.75rem;font-weight:600;display:inline-flex}.cv-act:hover{border-color:var(--accent);color:var(--tint-text);background:var(--tint)}.cv-act.is-copied{color:var(--ok);border-color:var(--ok)}.cv-tabstrip{flex-shrink:0;max-height:22vh;padding-bottom:.35rem;overflow-y:auto}.cv-runs{align-items:center;gap:.5rem;padding:.6rem 1rem 0;display:flex}.cv-run-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);flex-shrink:0;font-size:.6875rem;font-weight:700}.cv-run-select{border:1px solid var(--line-c);background:var(--card);min-width:0;color:var(--fg);font:inherit;border-radius:8px;flex:1;min-height:30px;padding:.3rem .5rem;font-size:.8125rem;font-weight:600}.cv-run-select:hover{border-color:var(--accent)}.cv-run-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cv-tabs{flex-wrap:wrap;flex-shrink:0;gap:.45rem;padding:.45rem 1rem .1rem;display:flex}.cv-tab-sep{background:var(--line-c);flex-shrink:0;align-self:center;width:1px;height:20px;margin:0 .25rem}.cv-tab{border:1px solid var(--line-c);background:var(--card);color:var(--muted);border-radius:9px;align-items:center;gap:.45rem;min-height:34px;padding:.4rem .75rem;font-family:inherit;font-size:.8125rem;font-weight:600;display:inline-flex}.cv-tab .ic{width:.95em;height:.95em}.cv-tab .tab-count{opacity:.7;font-size:.6875rem}.cv-tab:hover{border-color:var(--accent);color:var(--tint-text)}.cv-tab.on{border-color:var(--accent);background:var(--tint);color:var(--tint-text)}.cv-body{background-image:radial-gradient(var(--ws-dot) 1px, transparent 1.5px);background-size:16px 16px;flex:1;padding:1rem;overflow-y:auto}.cv-card{background:var(--card);border:1px solid var(--line-c);border-radius:14px;padding:.9rem 1rem;box-shadow:0 6px 18px #0f243417}.cv-card h3{align-items:center;gap:.5rem;font-size:.9375rem;font-weight:700;display:flex}.cv-card h3 .badge{margin-left:auto}.cv-card .note{color:var(--muted);font-size:.75rem;font-family:var(--mono);margin-top:.15rem}.cv-note{color:var(--muted);border-top:1px solid var(--line-c);margin-top:.55rem;padding-top:.55rem;font-size:.8125rem;line-height:1.45}.qc-scroll{margin-top:.6rem;overflow-x:auto}.qc-table{border-collapse:collapse;width:100%;font-size:.875rem}.qc-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1.5px solid var(--line-c);white-space:nowrap;padding:.4rem .6rem;font-size:.6875rem;font-weight:600}.qc-table td{border-bottom:1px solid var(--row-line);font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;padding:.5rem .6rem;font-size:.8125rem}.qc-table th,.qc-table td{width:1px}.qc-table th:last-child,.qc-table td:last-child{width:auto}.qc-table td:first-child{font-family:Barlow;font-size:.875rem;font-weight:600}.qc-table tbody tr{transition:background var(--speed) ease}.qc-table tbody tr:hover{background:var(--card-hover)}.chart-host{background:#fff;border-radius:10px;width:100%;height:clamp(320px,100vh - 310px,1100px);overflow:hidden}.cv-stack{gap:1rem;display:grid}.cv-stack .chart-host{height:clamp(300px,56vh,820px)}.chart-host .js-plotly-plot,.chart-host .plot-container{height:100%}@keyframes skpulse{0%,to{opacity:1}50%{opacity:.45}}.tl-run{border:2.5px solid var(--line-c);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:13px;height:13px;animation:.9s linear infinite tlspin}@keyframes tlspin{to{transform:rotate(360deg)}}.cv-image{border-radius:10px;width:100%;height:auto;margin-top:.6rem;display:block}.cv-empty{border:1px dashed var(--line-c);color:var(--muted);border-radius:10px;align-items:center;gap:.5rem;margin-top:.7rem;padding:.9rem 1rem;font-size:.8125rem;display:flex}.pdf-scrim{z-index:60;background:#0b161f85;justify-content:center;align-items:center;padding:24px 16px;display:flex;position:fixed;inset:0}.pdf-modal{background:var(--card);color:var(--text);border:1px solid var(--line-c);border-radius:12px;flex-direction:column;gap:14px;width:min(680px,100%);max-height:min(84vh,780px);padding:20px 22px 18px;display:flex;box-shadow:0 18px 48px #0b161f47}.pdf-modal:focus{outline:none}.pdf-head{align-items:flex-start;gap:12px;display:flex}.pdf-head h2{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:700}.pdf-sub{color:var(--muted);margin:3px 0 0;font-size:13px}.pdf-head .icon-btn{flex:none;margin-left:auto}.pdf-title-field{flex-direction:column;gap:5px;display:flex}.pdf-title-field span{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.pdf-title-field input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line-c);border-radius:7px;padding:8px 11px;font-size:14px}.pdf-title-field input:focus-visible{border-color:var(--accent);box-shadow:var(--focus);outline:none}.pdf-title-field input:disabled{opacity:.6}.pdf-masters{border-bottom:1px solid var(--line-c);flex-wrap:wrap;gap:8px;padding-bottom:12px;display:flex}.pdf-master{background:var(--bg);border:1px solid var(--line-c);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:5px 12px 5px 10px;font-size:13px;font-weight:500;display:inline-flex}.pdf-master.is-empty{opacity:.45;cursor:default}.pdf-master-n{color:var(--muted);background:var(--card);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 6px;font-size:11px;font-weight:600}.pdf-list{flex:1;min-height:120px;margin:0 -6px;padding:0 6px;overflow-y:auto}.pdf-empty{color:var(--muted);text-align:center;padding:28px 0;font-size:14px}.pdf-turn+.pdf-turn{border-top:1px solid var(--row-line);margin-top:16px;padding-top:14px}.pdf-turn-head{align-items:baseline;gap:10px;display:flex}.pdf-turn-asked{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.pdf-when{color:var(--hint);flex:none;margin-left:auto;font-size:11.5px}.pdf-rows{margin:6px 0 0;padding:0 0 0 22px;list-style:none}.pdf-rows li+li{margin-top:1px}.pdf-check{cursor:pointer;border-radius:6px;align-items:center;gap:9px;min-width:0;padding:5px 7px;display:flex}.pdf-check:hover{background:var(--card-hover)}.pdf-check input{accent-color:var(--accent);flex:none;width:15px;height:15px}.pdf-check .ic{color:var(--muted);flex:none}.pdf-turn-check{flex:1;min-width:0;padding-left:0}.pdf-row-label{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.pdf-row-detail{color:var(--hint);text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:45%;margin-left:auto;padding-left:10px;font-size:11.5px;overflow:hidden}.pdf-foot{border-top:1px solid var(--line-c);flex-wrap:wrap;align-items:center;gap:12px;padding-top:14px;display:flex}.pdf-status{color:var(--muted);align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.pdf-count{font-variant-numeric:tabular-nums}.pdf-ok{color:var(--ok);align-items:center;gap:6px;font-weight:500;display:inline-flex}.pdf-err{color:var(--err);align-items:center;gap:6px;display:inline-flex}.pdf-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.btn-ghost,.btn-cta{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:8px 15px;font-size:13.5px;font-weight:600}.btn-ghost{border-color:var(--line-c);color:var(--text);background:0 0}.btn-ghost:hover{background:var(--card-hover)}.btn-cta{background:var(--cta);color:var(--cta-text)}.btn-cta:hover:not(:disabled){background:var(--cta-hover)}.btn-cta:disabled{opacity:.45;cursor:not-allowed}.btn-ghost:focus-visible,.btn-cta:focus-visible{box-shadow:var(--focus);outline:none}.pdf-hint{color:var(--hint);margin:0;font-size:12px}@media (width<=560px){.pdf-modal{max-height:92vh;padding:16px 14px}.pdf-row-detail{display:none}.pdf-actions{width:100%;margin-left:0}.btn-cta{margin-left:auto}}.admin-body{flex:1;width:100%;max-width:980px;margin:0 auto;padding:1.6rem 1.5rem 2.5rem;overflow-y:auto}.admin-body h2{font-size:1.25rem;font-weight:800}.admin-sub{color:var(--muted);margin:.25rem 0 1.4rem;font-size:.875rem}.admin-card{background:var(--card);border:1px solid var(--line-c);border-radius:14px;margin-bottom:1rem;padding:1rem 1.1rem}.admin-card h3{margin-bottom:.7rem;font-size:.9375rem;font-weight:700}.admin-form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.admin-form input[type=text],.admin-form input[type=email]{border:1.5px solid var(--line-c);background:var(--card);color:var(--text);font:inherit;border-radius:9px;outline:none;padding:.45rem .65rem;font-size:.875rem}.admin-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-glow)}.admin-form .grow{flex:1;min-width:220px}.admin-add{background:var(--cta);color:var(--cta-text);border:0;border-radius:9px;min-height:38px;padding:.5rem 1rem;font-size:.875rem;font-weight:700}.admin-add:hover{background:var(--cta-hover)}.admin-add:disabled{opacity:.5;cursor:default}.lab-chips{flex-wrap:wrap;gap:.35rem;display:flex}.lab-chip{border:1px solid var(--line-c);background:var(--card);color:var(--muted);border-radius:999px;min-height:26px;padding:.22rem .7rem;font-family:inherit;font-size:.75rem;font-weight:600}.lab-chip:hover{border-color:var(--accent);color:var(--tint-text)}.lab-chip.on{border-color:var(--accent);background:var(--tint);color:var(--tint-text)}.lab-chip:disabled{opacity:.55;cursor:default}.admin-table{border-collapse:collapse;width:100%;font-size:.875rem}.admin-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1.5px solid var(--line-c);padding:.45rem .6rem;font-size:.6875rem;font-weight:600}.admin-table td{border-bottom:1px solid var(--row-line);vertical-align:middle;padding:.55rem .6rem}.admin-table .who-cell b{display:block}.admin-table .who-cell span{color:var(--muted);font-size:.8125rem}.admin-flag{background:var(--tint);color:var(--tint-text);border-radius:5px;align-items:center;gap:.3rem;padding:.14rem .45rem;font-size:.6875rem;font-weight:700;display:inline-flex}.admin-flag-toggle{border:1px solid var(--line-c);background:var(--card);color:var(--muted);border-radius:5px;padding:.14rem .45rem;font-family:inherit;font-size:.6875rem;font-weight:700}.admin-flag-toggle:hover{border-color:var(--accent);color:var(--tint-text)}.admin-flag-toggle.on{background:var(--tint);color:var(--tint-text);border-color:var(--accent)}.admin-flag-toggle:disabled{opacity:.55;cursor:default}.admin-search{border:1.5px solid var(--line-c);background:var(--card);width:100%;color:var(--text);font:inherit;border-radius:9px;outline:none;margin-bottom:.7rem;padding:.5rem .7rem;font-size:.875rem}.admin-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-glow)}.admin-remove{border:1px solid var(--line-c);background:var(--card);color:var(--muted);white-space:nowrap;border-radius:8px;min-height:30px;padding:.3rem .65rem;font-family:inherit;font-size:.75rem;font-weight:600}.admin-remove:hover{border-color:var(--err);color:var(--err);background:var(--err-bg)}.admin-remove:disabled{opacity:.45;cursor:default}:root[data-theme=dark] .admin-remove:hover{color:#ff9d9d;background:#c034342e}.admin-error{color:var(--err);margin-top:.5rem;font-size:.8125rem;font-weight:600}.admin-note{color:var(--muted);margin-top:.6rem;font-size:.75rem}.app{height:100%;display:flex}.main{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}@font-face{font-family:Barlow;src:url(/fonts/Barlow-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Barlow;src:url(/fonts/Barlow-Medium.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Barlow;src:url(/fonts/Barlow-SemiBold.ttf)format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Barlow;src:url(/fonts/Barlow-Bold.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Barlow;src:url(/fonts/Barlow-Black.ttf)format("truetype");font-weight:900;font-display:swap}:root{--navy:#0f2434;--ink:#0b161f;--surface-d:#13242f;--line-d:#28404f;--orange:#fe7c42;--orange-strong:#ef6b31;--orange-tint:#fff1e9;--mist:#f3f6f9;--line:#dbe3ea;--slate:#52677a;--ok:#1a7f4b;--ok-bg:#e9f7ef;--warn:#96660f;--warn-bg:#fdf3df;--err:#c03434;--err-bg:#fdeeee;--mono:"Consolas", "Cascadia Code", monospace;--focus:0 0 0 3px #fe7c4273;--speed:.18s;--bg:var(--mist);--text:var(--navy);--muted:var(--slate);--line-c:var(--line);--card:#fff;--card-hover:#f6f9fb;--head-bg:#fafbfd;--row-line:#ecf1f5;--top-bg:#fff;--hint:#7d94a6;--user-bub:var(--navy);--user-bub-text:#e9eef2;--cta:var(--orange);--cta-hover:var(--orange-strong);--cta-text:#0f2434;--accent:var(--orange);--tint:var(--orange-tint);--tint-text:var(--orange-strong);--focus-glow:#fe7c422e;--sb-bg:var(--navy);--sb-text:#cfdde7;--sb-title:#fff;--sb-muted:#8fa6b8;--sb-hover:#ffffff0f;--sb-active:#fe7c4224;--sb-active-text:#fff;--sb-active-muted:var(--sb-muted);--sb-edge:var(--orange);--sb-border:#21394b;--sb-pill:#16303f;--sb-pill-line:#2a4457;--sb-avatar:#2a4457;--ws-dot:#0f24341a}:root[data-theme=dark]{--bg:#0b161f;--text:#e9eef2;--muted:#9db0bf;--line-c:#28404f;--card:#13242f;--card-hover:#16293a;--head-bg:#0f1f29;--row-line:#1c3242;--top-bg:#0f2434;--hint:#52677a;--user-bub:#1d3140;--user-bub-text:#e9eef2;--tint:#fe7c4224;--tint-text:#fe9d6f;--focus-glow:#fe7c4240;--ws-dot:#ffffff12;--sb-bg:#0d1c27;--sb-border:#1b3040;--sb-pill:#13293a;--sb-pill-line:#24425a}:root[data-theme=dark] .badge.err{color:#ff9d9d;background:#c0343433}:root[data-theme=dark] .badge.ok{color:#7fd6a4;background:#1a7f4b33}:root[data-theme=dark] .badge.warn{color:#e8c063;background:#e8b23a29}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:Barlow,system-ui,sans-serif;overflow:hidden}button{cursor:pointer;font-family:inherit}button,.clickable{transition:background var(--speed) ease, color var(--speed) ease, border-color var(--speed) ease, box-shadow var(--speed) ease, transform var(--speed) ease}:focus-visible{box-shadow:var(--focus);border-radius:8px;outline:none}*{scrollbar-width:thin;scrollbar-color:var(--line-c) transparent}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.ic{stroke:currentColor;stroke-width:2px;fill:none;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.16em;flex-shrink:0;width:1.05em;height:1.05em}.num{font-variant-numeric:tabular-nums}.badge{vertical-align:1px;border-radius:5px;align-items:center;gap:.28rem;padding:.14rem .45rem;font-size:.6875rem;font-weight:700;display:inline-flex}.badge.err{background:var(--err-bg);color:var(--err)}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.avatar{background:var(--navy);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:.75rem;font-weight:700;display:grid}.logo-mark{background:#fff url(/favicon.png) 50%/130% no-repeat;border-radius:50%;flex-shrink:0;width:22px;height:22px}
