:root{color-scheme:light;--bg:#f6f8f7;--surface:#fff;--ink:#183039;--muted:#71828a;--line:#dce4e2;--accent:#136f64;--accent-hover:#105c53;--accent-soft:#e7f2ee;--error:#a64035;--error-bg:#fff1ee;--error-line:#f1cec7;--shadow:0 16px 55px #132e3210;--navy:#102a39}
:root[data-theme=dark]{color-scheme:dark;--bg:#101e26;--surface:#152731;--ink:#edf4f3;--muted:#94a9b1;--line:#314750;--accent:#8bd9c3;--accent-hover:#b0ead9;--accent-soft:#203f3b;--error:#ffb6a9;--error-bg:#3a2929;--error-line:#64413c;--shadow:0 16px 55px #0002}
@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--bg:#101e26;--surface:#152731;--ink:#edf4f3;--muted:#94a9b1;--line:#314750;--accent:#8bd9c3;--accent-hover:#b0ead9;--accent-soft:#203f3b;--error:#ffb6a9;--error-bg:#3a2929;--error-line:#64413c;--shadow:0 16px 55px #0002}}
*{box-sizing:border-box}html,body{margin:0;min-width:280px;min-height:100%;background:var(--bg)}body{font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,select,a{ -webkit-tap-highlight-color:transparent}button,a,input,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent)}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:wait;opacity:.75}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-shell{display:grid;grid-template-columns:minmax(400px,49%) minmax(0,1fr);min-height:100dvh}
.story{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;background:var(--navy);color:#eff8f6;padding:49px 10.5% 30px;min-height:780px}.brand{display:inline-flex;align-items:center;gap:13px;align-self:flex-start;color:inherit;font-size:21px;font-weight:650;letter-spacing:-.4px;line-height:1.25}.brand small{display:block;margin-top:7px;color:#95afba;font-size:8px;letter-spacing:1.85px;font-weight:500}.brand-mark{display:flex;align-items:flex-end;width:32px;height:33px;gap:4px;flex:none}.brand-mark i{display:block;width:7px;height:20px;border-radius:2px;background:#7bd8c8}.brand-mark i:nth-child(2){height:32px;background:#b1e6dc}.brand-mark i:nth-child(3){height:25px;background:#45afa7}.story-copy{position:relative;z-index:1;margin:auto 0;padding:82px 0 160px}.eyebrow{display:flex;align-items:center;gap:10px;color:#b2c9ce;font-size:11px;letter-spacing:2px;margin:0 0 29px}.eyebrow span{display:inline-block;width:20px;height:1px;background:#8ed6c4}.story h1{margin:0;font-size:clamp(39px,4.25vw,64px);font-weight:500;letter-spacing:-2px;line-height:1.4}.story h1 em{font-style:normal;color:#a6e0cf}.story-description{margin:28px 0 0;color:#a2bac5;font-size:13px;line-height:2.1;letter-spacing:.3px}.research-path{display:flex;align-items:center;gap:15px;margin-top:30px;color:#d6e9e7;font-size:11px;letter-spacing:2px}.research-path i{display:block;width:33px;height:1px;background:#48636d}.chart-art{position:absolute;inset:auto -1px 50px;z-index:-1;opacity:.8}.chart-art svg{display:block;width:100%;height:auto}.chart-grid{stroke:#668e9a;stroke-opacity:.13;stroke-width:1}.chart-line{stroke:#8ed6c4;stroke-width:2.1;stroke-linejoin:round;stroke-linecap:round}.chart-secondary{stroke:#6d919f;stroke-opacity:.55;stroke-width:1;stroke-dasharray:4 6}.story-footer{position:relative;margin:0;font-size:8px;letter-spacing:1.75px;color:#7b99a8}
.entry{display:flex;flex-direction:column;min-width:0;padding:41px 8% 29px}.entry-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.private-label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;white-space:nowrap}.private-label svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4}.theme-control select{min-height:34px;padding:6px 9px;background:transparent;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:11px;cursor:pointer}.login-card{width:100%;max-width:370px;margin:auto; padding:66px 0 70px}.card-kicker{font-size:10px;letter-spacing:2.7px;font-weight:650;color:var(--accent);margin:0 0 13px}.login-card h2,.logout-card h1{font-size:30px;letter-spacing:-.6px;line-height:1.4;margin:0;font-weight:650}.card-description{color:var(--muted);font-size:12px;line-height:1.9;margin:12px 0 0}.auth-form{margin-top:33px}.field{margin-bottom:21px}.field label{display:block;font-size:12px;font-weight:550;margin-bottom:9px}.field input{display:block;width:100%;height:48px;padding:11px 14px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:7px;font-size:14px;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field input::placeholder{color:var(--muted)}.password-field{position:relative}.password-field input{padding-right:49px}.password-toggle{position:absolute;right:4px;top:4px;display:grid;place-items:center;width:40px;height:40px;padding:10px;border:0;background:transparent;color:var(--muted);border-radius:5px}.password-toggle:hover{color:var(--accent);background:var(--accent-soft)}.password-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.eye-closed,.password-toggle[aria-pressed=true] .eye-open{display:none}.password-toggle[aria-pressed=true] .eye-closed{display:block}.submit-button{display:flex;align-items:center;justify-content:center;gap:13px;width:100%;min-height:48px;margin-top:29px;padding:12px 18px;border:1px solid transparent;border-radius:7px;background:var(--accent);color:var(--surface);font-size:13px;font-weight:650;letter-spacing:.25px;transition:background .15s,transform .15s}.submit-button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.submit-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.password-note{margin:13px 0 0;text-align:center;color:var(--muted);font-size:10px}.form-error{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;margin:0 0 21px;background:var(--error-bg);color:var(--error);border:1px solid var(--error-line);border-radius:6px;font-size:12px;overflow-wrap:anywhere;line-height:1.75}.form-error svg{flex:none;width:18px;height:18px;margin-top:1px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.workspace-preview{margin-top:39px;border-top:1px solid var(--line);padding-top:24px;text-align:center;font-size:10px;color:var(--muted)}.workspace-preview p{margin:9px 0 0;font-size:11px;color:var(--ink)}.workspace-preview i{font-style:normal;color:var(--line);margin:0 9px}.entry-footer{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:9px;letter-spacing:.4px}
.logout-shell{display:flex;flex-direction:column;min-height:100dvh;padding:38px 6% 28px}.logout-header{display:flex;justify-content:space-between;align-items:center;gap:15px}.logout-header .brand{font-size:20px}.logout-header .brand small{color:var(--muted)}.logout-card{width:100%;max-width:410px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:38px;margin:auto; text-align:center}.logout-symbol{display:grid;place-items:center;width:49px;height:49px;border-radius:12px;background:var(--accent-soft);color:var(--accent);margin:0 auto 24px}.logout-symbol svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.logout-card .card-kicker{font-size:9px}.logout-card h1{font-size:25px}.logout-card .auth-form{margin-top:27px}.logout-card .submit-button{margin-top:0}.cancel-button{display:block;margin-top:12px;padding:11px 15px;min-height:46px;border:1px solid var(--line);border-radius:7px;color:var(--muted);font-size:12px}.cancel-button:hover{border-color:var(--accent);color:var(--accent)}
@media(min-width:1600px){.story-copy{padding-bottom:210px}.entry{padding-left:11%;padding-right:11%}.login-card{max-width:390px}.story{padding-left:12%;padding-right:12%}}
@media(max-width:1050px){.auth-shell{grid-template-columns:minmax(320px,45%) minmax(0,1fr)}.story{padding:40px 9% 26px}.story-copy{padding-bottom:145px}.story h1{font-size:45px}.story-description{font-size:12px}.entry{padding:33px 7% 26px}.entry-top{gap:8px}.private-label{font-size:10px}.theme-control select{font-size:10px;padding-left:7px;padding-right:7px}.brand{font-size:19px}}
@media(max-width:740px){.auth-shell{display:block}.story{min-height:0;padding:27px 7% 29px}.brand{font-size:18px;gap:11px}.brand small{font-size:7px;letter-spacing:1.45px;margin-top:6px}.brand-mark{height:28px;width:28px;gap:3px}.brand-mark i{width:6px;height:16px}.brand-mark i:nth-child(2){height:27px}.brand-mark i:nth-child(3){height:21px}.story-copy{margin:29px 0 0;padding:0}.eyebrow{font-size:9px;letter-spacing:1px;margin:0 0 14px}.story h1{font-size:32px;line-height:1.45;letter-spacing:-1px}.story h1 br{display:none}.story-description{font-size:11px;margin-top:14px;line-height:1.9}.story-description br{display:none}.research-path,.story-footer{display:none}.chart-art{inset:auto -20% 0 42%;opacity:.3;transform:rotate(-4deg)}.entry{padding:23px 7% 25px}.entry-top{max-width:410px;width:100%;margin:0 auto}.login-card{max-width:410px;padding:35px 0 40px}.login-card h2{font-size:26px}.card-description{font-size:12px}.card-kicker{font-size:9px;margin-bottom:10px}.auth-form{margin-top:27px}.field input{font-size:16px;height:49px}.submit-button{min-height:49px}.workspace-preview{margin-top:31px;padding-top:20px}.entry-footer{max-width:410px;width:100%;margin:0 auto;font-size:8px}.logout-shell{padding:27px 7% 24px}.logout-header .brand{font-size:16px}.logout-card{padding:31px 24px;margin:60px auto;max-width:380px}.logout-page .entry-footer{margin-top:auto}.logout-card .card-description{font-size:11px}}
@media(max-width:360px){.story h1{font-size:29px}.brand{font-size:17px}.workspace-preview i{margin:0 5px}.workspace-preview p{font-size:10px}.logout-header{align-items:flex-start}.logout-header .brand small{font-size:6px}.logout-card{padding:28px 20px}.entry-footer{gap:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
