:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--hydro-brand:#915ef7;--hydro-brand-strong:#7a4bd4;--hydro-brand-soft:#f6f4ff;--hydro-brand-muted:#ddcffc;--hydro-surface:#fff;--hydro-canvas:#f6f4ff;--hydro-canvas-deep:#efeaff;--hydro-ink:#333;--hydro-muted:#666;--hydro-line:#e6e0f4;--hydro-shadow:0 16px 40px #33333314;--hydro-glow:linear-gradient(180deg, #915ef71f, #915ef700 220px);--hydro-gradient:linear-gradient(165deg, #fbfaff 0%, var(--hydro-canvas) 46%, var(--hydro-canvas-deep) 100%);--warn-bg:#f8efe4;--warn-ink:#6a3e12;--warn-line:#e2c7a2;--error-bg:#f8ecec;--error-ink:#7a2424;--error-line:#e4c2c2;--ok-bg:#f6f4ff;--ok-ink:#333;--ok-line:#ddcffc}*{box-sizing:border-box}html,body,#root{height:100%}body{color:var(--hydro-ink);background:var(--hydro-glow), var(--hydro-gradient);margin:0;font-family:PingFang SC,Noto Sans SC,Source Han Sans SC,Microsoft YaHei,WenQuanYi Micro Hei,Segoe UI,sans-serif}button,textarea,input{font:inherit}.gate{place-items:center;min-height:100%;padding:32px 16px;display:grid}.login-split{grid-template-columns:minmax(0,55fr) minmax(0,45fr);place-items:stretch stretch;min-height:100dvh;padding:0;display:grid}.login-hero{color:#fff;background:linear-gradient(155deg,#b08ff9 0%,#915ef7 48%,#7a4bd4 100%);flex-direction:column;justify-content:center;padding:72px;display:flex;position:relative;overflow:hidden}.login-hero:before{content:"";pointer-events:none;background-image:radial-gradient(#ffffff80 .55px,#0000 .65px);background-size:12px 12px;position:absolute;inset:0}.login-hero>*{z-index:1;position:relative}.login-pane{background:#fff;justify-content:center;align-items:center;padding:48px 40px;display:flex}.login-card{width:min(400px,100%);margin:0;padding:40px 36px}.login-title{margin:0 0 22px;font-size:22px}.login-card .actions,.login-card button[type=submit]{width:100%}.login-note{margin-top:18px}.hero-sub{color:#fff;max-width:12em;margin:18px 0 0;font-size:18px;line-height:1.5}.gate-card{width:min(440px,100%)}.brand{align-items:center;gap:12px;min-width:0;display:flex}.logo{flex:none;width:28px;height:auto}.logo-plate{background:#fff;border-radius:20px;flex:none;justify-content:center;align-items:center;width:72px;height:72px;display:inline-flex}.logo-plate .logo{width:36px}.brand-copy{min-width:0}.brand-kicker{color:var(--hydro-brand);letter-spacing:.08em;margin:0;font-size:12px;font-weight:700}.brand-inverse .brand-kicker,.brand-inverse .brand-lockup{color:#fff}.brand-lockup{color:var(--hydro-ink);letter-spacing:-.03em;margin:0;font-size:18px;font-weight:760;line-height:1.25}h1.brand-lockup{font-size:40px}h1{letter-spacing:-.03em;margin:0;font-size:22px;font-weight:720;line-height:1.25}.lede,.brand-sub{color:var(--hydro-muted);margin:8px 0 0;font-size:14px;line-height:1.6}.shell{height:100dvh;min-height:0;max-height:100dvh;display:flex;overflow:hidden}.rail{border-right:1px solid var(--hydro-line);background:var(--hydro-canvas);flex-direction:column;flex:0 0 256px;width:256px;min-width:0;display:flex}.rail-top,.rail-note{padding:20px 16px}.rail-top{flex-direction:column;flex:1;gap:14px;min-height:0;display:flex}.rail .brand{order:0}.rail-new{order:1}.rail nav{order:2}.rail-help{order:3}.rail-help summary{color:var(--hydro-muted);cursor:pointer;font-size:13px;font-weight:700}.rail-help:not([open])>:not(summary){display:none}.rail-help p{margin-top:10px}.rail-note{flex:1;min-height:0;padding-top:0;overflow:auto}.account{border:1px solid var(--hydro-line);background:var(--hydro-surface);border-radius:14px;order:4;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding:8px 8px 8px 12px;display:flex}.account p{overflow-wrap:anywhere;min-width:0;margin:0;font-size:13px;font-weight:700}.rail-new,.session-entry{width:100%}.session-entry{border:1px solid var(--hydro-line);background:var(--hydro-surface);color:var(--hydro-ink);text-align:left;white-space:normal;border-radius:14px;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.session-entry[aria-current=true]{border-color:var(--hydro-brand-muted);background:var(--hydro-brand-soft);box-shadow:inset 3px 0 0 var(--hydro-brand)}.session-kicker,.who{color:var(--hydro-brand-strong);letter-spacing:.04em;font-size:12px;font-weight:700}.session-title{color:var(--hydro-ink);overflow-wrap:anywhere;font-size:14px;font-weight:650;line-height:1.4}.session-note{color:var(--hydro-muted);font-size:12px;font-weight:500;line-height:1.4}.session-list{flex-direction:column;gap:8px;min-height:0;display:flex;overflow:auto}.session-row{align-items:stretch;gap:4px;display:flex}.session-row .session-entry{flex:1;min-width:0}.session-delete{color:var(--hydro-muted);background:0 0;border:0;padding:8px;font-size:12px}.session-empty{color:var(--hydro-muted);margin:0;font-size:13px;line-height:1.5}.workspace{background:var(--hydro-surface);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.reading{flex-direction:column;flex:1;width:min(900px,100%);min-width:0;min-height:0;margin:0 auto;padding:20px 8px 16px;display:flex}.ephemeral{color:var(--hydro-muted);background:0 0;border:0;margin:0 0 8px;padding:0;font-size:13px;line-height:1.55}.save-state{color:var(--hydro-muted);align-items:center;gap:8px;margin:0 0 8px;font-size:13px;line-height:1.5;display:flex}.save-state-failed{color:var(--error-ink)}.save-retry{border:1px solid var(--hydro-line);color:var(--hydro-ink);background:#fff;border-radius:999px;padding:2px 10px;font-size:12px}.transcript{flex-direction:column;flex:1;gap:12px;width:100%;min-height:0;margin:0;padding:8px 4px 12px;display:flex;overflow:auto}.menu-spacer{flex:0 0 8.5rem;height:8.5rem}.user-turn,.answer,.error,.pending{max-width:100%}.user-turn{border:1px solid var(--hydro-brand-muted);background:var(--hydro-brand-soft);border-radius:18px 18px 6px;align-self:flex-end;width:auto;max-width:min(100%,36rem);padding:12px 14px}.answer,.error,.pending,.validation{border-radius:6px 18px 18px;padding:14px 16px;line-height:1.6}.answer{width:100%;color:var(--hydro-ink);background:0 0;border:0;border-radius:0;align-self:stretch;padding:2px 0 8px}.answer.verified{color:var(--hydro-ink);background:0 0;border:0}.pending,.validation{border:1px solid var(--hydro-line);background:#ffffffb8;align-self:stretch}.error{border:1px solid var(--error-line);background:var(--error-bg);color:var(--error-ink);align-self:flex-start}.user-turn h2,.answer>h2,.error h2{letter-spacing:.04em;margin:2px 0 6px;font-size:13px}.user-message,.user-turn .sent{color:var(--hydro-ink);background:0 0;border:0;margin:0;padding:0}.state-pill{background:var(--hydro-brand-soft);color:var(--hydro-brand-strong);border-radius:999px;align-items:center;margin:0 0 8px;padding:2px 8px;font-size:12px;font-weight:700;line-height:1.6;display:inline-flex}.state-error{background:var(--error-bg);color:var(--error-ink)}.effort{border:0;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;padding:0;display:flex}.effort legend{color:var(--hydro-muted);margin-right:4px;padding:0;font-size:13px;font-weight:700}.effort label{border:1px solid var(--hydro-line);border-radius:999px;align-items:center;gap:6px;margin:0;padding:4px 10px;font-size:13px;font-weight:650;display:inline-flex}.effort label:has(input:checked){border-color:var(--hydro-brand);background:var(--hydro-brand-soft);color:var(--hydro-brand-strong)}.effort input{accent-color:#915ef7}.composer{border:1px solid var(--hydro-line);background:#fff;border-radius:24px;flex:none;margin:8px 0 0;padding:12px 14px;position:relative;box-shadow:0 10px 32px #33333314}.panel{border:1px solid var(--hydro-line);background:var(--hydro-surface);box-shadow:var(--hydro-shadow);border-radius:18px}.gate-card .panel{margin-top:18px;padding:20px}label{margin-bottom:8px;font-size:13px;font-weight:700;display:block}textarea,input[type=text],input[type=password],select{border:1px solid var(--hydro-brand-muted);background:var(--hydro-surface);width:100%;color:var(--hydro-ink);border-radius:12px;padding:12px 14px;line-height:1.55}textarea{resize:vertical;min-height:84px;max-height:180px;display:block}input[type=text],input[type=password],select{margin-bottom:16px}textarea:focus,input[type=text]:focus,input[type=password]:focus,select:focus{border-color:var(--hydro-brand);outline:3px solid #915ef72e}.credential-hint{margin:0 0 12px}.skill-chip{border:1px solid var(--hydro-brand-muted);background:var(--hydro-brand-soft);color:var(--hydro-brand-strong);border-radius:999px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;padding:8px 10px 8px 14px;font-size:14px;font-weight:700;display:flex}.skill-chip button{padding:6px 12px}#skill-options{z-index:3;border:1px solid var(--hydro-brand-muted);background:var(--hydro-surface);max-height:9.5rem;box-shadow:var(--hydro-shadow);border-radius:12px;flex-direction:column;gap:6px;margin-top:0;padding:8px;display:flex;position:absolute;bottom:calc(100% + 8px);left:12px;right:12px;overflow:auto}#skill-options button{border:1px solid var(--hydro-line);background:var(--hydro-surface);width:100%;color:var(--hydro-ink);text-align:left;white-space:normal;border-radius:10px;font-weight:650}#skill-options button:hover:enabled{border-color:var(--hydro-brand-muted);background:var(--hydro-brand-soft);color:var(--hydro-brand-strong)}#skill-options p{color:var(--hydro-muted);margin:0;font-size:13px}.row{justify-content:space-between;align-items:center;gap:16px;margin-top:12px;display:flex}.actions{flex-shrink:0;gap:8px;display:flex}.hint,.footnote,.notice{color:var(--hydro-muted);margin:0;font-size:13px;line-height:1.55}.notice{border:1px solid var(--warn-line);background:var(--warn-bg);color:var(--warn-ink);border-radius:12px;padding:12px 14px}.footnote{margin-top:12px}button{background:var(--hydro-brand);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:999px;padding:10px 18px;font-weight:700}button:hover:enabled{background:var(--hydro-brand-strong)}button:disabled{cursor:not-allowed;background:#b7adc9}button.secondary{border:1px solid var(--hydro-brand-muted);background:var(--hydro-surface);color:var(--hydro-brand-strong)}button.secondary:hover:enabled{background:var(--hydro-brand-soft)}button.secondary:disabled{border-color:var(--hydro-line);color:#b7adc9;background:0 0}button:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #915ef747}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markdown h3{letter-spacing:0;margin:12px 0 6px;font-size:15px}.markdown p{margin:0 0 8px}.markdown{max-width:100%;overflow-x:auto}.markdown table{border-collapse:collapse;background:var(--hydro-surface);width:100%;color:var(--hydro-ink);margin:8px 0 12px;font-size:13px}.markdown th,.markdown td{border-bottom:1px solid var(--hydro-line);text-align:left;vertical-align:top;padding:6px 8px}.answer p,.error p,.validation,.pending{margin:0}.answer p,.error p,.sent{overflow-wrap:anywhere;white-space:pre-wrap}.fact-view{max-width:100%;margin-top:12px}.fact-table-scroll{max-width:100%;max-height:320px;overflow:auto}.fact-view table{border-collapse:collapse;background:var(--hydro-surface);width:100%;color:var(--hydro-ink);font-size:13px}.fact-view caption,.fact-chart p{color:var(--hydro-muted);text-align:left;margin:0 0 8px;font-size:13px}.fact-view th,.fact-view td{border-bottom:1px solid var(--hydro-line);text-align:left;vertical-align:top;padding:6px 8px}.fact-chart{margin-top:12px}.fact-chart svg{background:var(--hydro-surface);border:1px solid var(--hydro-line);border-radius:12px;width:100%;max-width:100%;height:auto;display:block}@media (width<=800px){.login-split{grid-template-columns:1fr}.login-hero{min-height:200px;padding:28px 20px}.login-hero h1.brand-lockup{font-size:32px}.login-pane{padding:24px 16px 32px}.login-card{padding:28px 20px}.shell{flex-direction:column}.rail{border-right:0;border-bottom:1px solid var(--hydro-line);flex:none;width:100%;max-height:none;overflow:visible}.rail-top{gap:8px;padding:12px 14px}.reading{width:100%;padding:12px 14px}.transcript{padding-left:0;padding-right:0}.composer{border-radius:20px;padding:10px 12px}.composer textarea{height:72px;min-height:72px;max-height:120px}#skill-options{left:14px;right:14px}h1{font-size:20px}.rail-new{width:100%}}
