:root{color-scheme:light;--bg:#F6F8FC;--card:#fff;--text:#172033;--muted:#627084;--line:#e2e7ef;--input:#fff;--blue:#2454E8;--soft:#edf3ff;--shadow:0 20px 70px #15244109;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #83b2ff;outline-offset:4px}.top{max-width:1440px;margin:auto;padding:28px 64px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:750;letter-spacing:-1px;color:var(--text)}.brand:hover{text-decoration:none}.brand-light{font-weight:450}.brand-mark{display:grid;place-items:center;position:relative;background:var(--blue);color:white;font-size:32px;font-weight:700;width:40px;height:40px;border-radius:13px;line-height:1;padding-bottom:5px}.brand-mark span{position:absolute;width:7px;height:7px;border-radius:2px;background:#b9d4ff;bottom:8px;right:8px}.top nav{display:flex;align-items:center;gap:20px}.language{font-size:12px;letter-spacing:.06em;color:var(--text);font-weight:650}.theme{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);background:var(--card);border-radius:50%;color:var(--text)}svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;fill:none}.layout{max-width:1312px;margin:24px auto 50px;display:grid;grid-template-columns:1fr 1fr;gap:48px;min-height:650px}.story{position:relative;background:#112949;border-radius:28px;overflow:hidden;color:#f5f8ff;padding:54px 46px 34px;display:flex;flex-direction:column;background-image:radial-gradient(ellipse at 85% 80%,#1f5596 0,transparent 57%)}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:650;color:#b9cce5;display:flex;align-items:center;gap:10px}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:#85b9ff}.story h2{font-size:44px;letter-spacing:-1.8px;line-height:1.15;font-weight:550;margin:30px 0 22px}.story-description{max-width:360px;font-size:16px;color:#b8cbe2;line-height:1.8;margin:0}.conversation{height:238px;position:relative;flex:1;min-height:215px;margin-top:26px}.bubble{position:absolute;display:flex;align-items:center;gap:12px;box-shadow:0 15px 45px #071b3333}.bubble-first{top:34px;left:5%;background:#f6f9ff;color:#203451;padding:17px 20px;border-radius:18px 18px 18px 4px;transform:rotate(-4deg);font-size:15px;font-weight:550;width:270px}.bubble-first small{display:block;font-size:10px;color:#778aa4;font-weight:400;margin-top:6px}.avatar{display:grid;place-items:center;width:40px;height:40px;background:#deebff;color:#2052a0;border-radius:13px;font-size:18px}.bubble-dot{background:#71b895;width:7px;height:7px;border-radius:50%;margin-left:auto}.bubble-second{top:126px;right:0;background:#2567d9;color:#fff;padding:20px;border-radius:18px 18px 4px 18px;transform:rotate(3deg);font-size:13px}.spark{font-size:22px;color:#b6d7ff}.bubble-third{bottom:5px;left:28%;padding:15px 19px;background:#ffffff13;border:1px solid #ffffff20;border-radius:14px;gap:5px}.bubble-third i{width:5px;height:5px;background:#aacdfb;border-radius:50%}.orbit{position:absolute;width:245px;height:245px;border:1px solid #ffffff09;border-radius:50%;top:-20px;left:65px}.orbit-two{width:330px;height:330px;top:-60px;left:23px}.float-star{position:absolute;font-size:36px;right:12%;top:0;color:#7aa7e2}.story-bottom{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.02em;color:#b8cbe2;margin-top:35px}.mini-logo{display:grid;place-items:center;border:1px solid #ffffff26;border-radius:50%;width:28px;height:28px;font-size:16px}.form-area{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px 32px}.form-card{width:100%;max-width:390px}.form-eyebrow{font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--muted);margin-bottom:22px;display:flex;align-items:center;justify-content:space-between}.form-eyebrow span{color:#9da9b9;font-weight:400;letter-spacing:.03em}h1{font-size:30px;letter-spacing:-1.05px;line-height:1.25;margin:0 0 12px;font-weight:650}h1:focus{outline:none}.description{line-height:1.7;color:var(--muted);margin:0 0 30px;font-size:14px}.field{margin:0 0 18px}.field label{display:block;margin-bottom:9px;font-size:12px;font-weight:600}.input-wrap{position:relative}.field input{width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--input);height:49px;padding:12px 14px;color:var(--text);transition:border-color .18s,box-shadow .18s}.field input:hover{border-color:#adbdd4}.field input:focus{outline:none;border-color:#5286ed;box-shadow:0 0 0 3px #5286ed20}.field input[type=password],.field input[data-visible]{padding-right:50px}.field small{display:block;color:var(--muted);font-size:11px;line-height:1.6;margin-top:7px}.password-toggle{position:absolute;right:4px;top:4px;width:41px;height:41px;display:grid;place-items:center;color:var(--muted);background:none;border:0;border-radius:7px}.form-options{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:11px;margin:3px 0 24px}.remember{display:flex;gap:5px;align-items:center;cursor:pointer}.remember input{accent-color:var(--blue);width:16px;height:16px;margin:0}.primary{border:0;color:white;background:var(--blue);display:flex;width:100%;align-items:center;justify-content:space-between;border-radius:10px;min-height:49px;padding:13px 18px;font-weight:600;font-size:13px;transition:background .18s,transform .18s}.primary:hover{background:#123eba;transform:translateY(-1px)}.primary:disabled{opacity:.7;cursor:wait;transform:none}.submit-icon{font-size:20px;font-weight:400}.loading .submit-icon{width:16px;height:16px;border:2px solid #ffffff50;border-top-color:white;border-radius:50%;font-size:0;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.switch-form{text-align:center;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:25px;margin:28px 0 0;line-height:1.8}.switch-form a{font-weight:600;margin-left:4px}.legal{font-size:10px;text-align:center;color:var(--muted);line-height:1.7;margin:17px 0 0}.secure-note{font-size:10px;display:flex;align-items:center;gap:7px;color:var(--muted);margin:28px 0 0;line-height:1.5}.secure-note svg{width:12px;height:12px;flex-shrink:0}.message{font-size:12px;padding:14px 16px;line-height:1.7;border-radius:10px;margin-bottom:20px;overflow-wrap:anywhere}.error{background:#fff0f0;color:#a52536;border:1px solid #f2d2d8}.success{background:#edf9f3;color:#186245;border:1px solid #cdeadd}.pending{background:var(--soft);color:var(--text);border:1px solid var(--line)}.back{display:block;font-size:12px;margin-top:25px;font-weight:550}.secondary{display:block;padding:14px;border:1px solid var(--line);border-radius:10px;margin-top:14px;text-align:center;font-size:12px}footer{display:flex;justify-content:space-between;align-items:center;max-width:1440px;margin:auto;padding:0 64px 28px;color:var(--muted);font-size:10px;gap:20px}footer div{display:flex;gap:25px}footer a{color:var(--muted)}.footer-tag span{color:var(--blue);margin-left:8px}.skip{position:absolute;top:-100px;left:15px;z-index:10;padding:12px;background:var(--card)}.skip:focus{top:10px}
html[data-theme=dark]{color-scheme:dark;--bg:#10151e;--card:#1a2230;--text:#eef3fc;--muted:#a1aec2;--line:#303c4f;--input:#19212e;--blue:#729dff;--soft:#1b2941}html[data-theme=dark] .primary,html[data-theme=dark] .brand-mark{background:#2c60d5;color:white}html[data-theme=dark] .error{background:#351e28;color:#ffb0bc;border-color:#633241}html[data-theme=dark] .success{background:#15352c;color:#a5e3c8;border-color:#285747}
@media(prefers-color-scheme:dark){html:not([data-theme=light]){color-scheme:dark;--bg:#10151e;--card:#1a2230;--text:#eef3fc;--muted:#a1aec2;--line:#303c4f;--input:#19212e;--blue:#729dff;--soft:#1b2941}}
@media(min-width:1500px){.layout{margin-top:50px;min-height:700px}}@media(max-width:1390px){.layout{margin-left:48px;margin-right:48px;gap:25px}.story h2{font-size:39px}.story{padding:42px 35px}.form-area{padding:24px}.top{padding:25px 48px}footer{padding-left:48px;padding-right:48px}}@media(max-width:1000px){.layout{margin:20px 32px 42px;gap:10px}.story{padding:35px 25px}.story h2{font-size:32px;letter-spacing:-1px}.story-description{font-size:14px}.bubble-first{width:225px;left:0}.bubble-second{font-size:11px;padding:15px;right:-10px}.form-area{padding:20px}h1{font-size:26px}.top{padding:25px 32px}.form-options{flex-wrap:wrap;gap:12px}.footer-tag{display:none}footer{padding-left:32px;padding-right:32px}}@media(max-width:780px){.layout{display:block;max-width:540px;margin:24px auto 36px;min-height:0;padding:0 24px}.story{display:none}.form-area{padding:22px 0}.form-card{max-width:420px}.top{padding:22px 24px}.brand{font-size:23px}.form-eyebrow{margin-bottom:22px}h1{font-size:30px}.form-options{flex-wrap:nowrap}.description{margin-bottom:26px}footer{padding:0 24px 24px;max-width:600px;flex-wrap:wrap;justify-content:center;gap:14px}.secure-note{margin-top:27px}.form-card{background:var(--card);padding:30px;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}}@media(max-width:480px){.layout{padding:0 24px;margin-top:8px}.form-card{padding:16px 0 8px;border:none;background:transparent;box-shadow:none}.form-area{padding-top:14px}.top{padding:20px 24px}.form-options{font-size:10px;gap:8px}h1{font-size:29px}.form-eyebrow{margin-bottom:20px}footer{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(prefers-color-scheme:dark){html:not([data-theme=light]) .primary,html:not([data-theme=light]) .brand-mark{background:#2c60d5;color:#fff}html:not([data-theme=light]) .error{background:#351e28;color:#ffb0bc;border-color:#633241}html:not([data-theme=light]) .success{background:#15352c;color:#a5e3c8;border-color:#285747}}
.legal{font-size:11px}

:root{--bg:var(--cc-bg);--card:var(--cc-surface);--text:var(--cc-text);--muted:var(--cc-muted);--line:var(--cc-border);--input:var(--cc-surface);--blue:var(--cc-link);--soft:var(--cc-accent);font-family:var(--cc-font)}:root[data-theme=dark]{--bg:var(--cc-bg);--card:var(--cc-surface);--text:var(--cc-text);--input:var(--cc-surface);--muted:var(--cc-muted);--line:var(--cc-border)}.brand-mark,.primary{background:#2454E8}.brand-mark{padding:0}.brand-mark svg{width:24px;height:24px}

/* TASK013 authentication composition, shared Chipter palette. */
:root{--bg:#f6f8fc;--card:#fff;--text:#172033;--blue:#2454e8}.layout{max-width:1240px;gap:0;border:1px solid var(--line);border-radius:30px;overflow:hidden;background:var(--card);min-height:660px}.story{border-radius:0;background:#0b1020;padding:44px;color:#f4f7ff}.auth-editorial{margin:auto 0;padding:30px 0}.auth-orbit{font-size:90px;color:#93b2ff;line-height:1}.story h2{font-size:clamp(34px,4vw,52px);letter-spacing:-.055em;max-width:440px;line-height:1.1}.story-description{font-size:15px;line-height:1.8}.form-area{padding:42px}.form-card{max-width:390px}.form-card h1{font-size:34px;letter-spacing:-.045em}.field input{border-radius:12px;background:var(--bg)}.primary,.secondary{border-radius:12px}.brand-mark{border-radius:14px}.top{max-width:1368px}.secure-note{max-width:390px}.story-bottom{margin-top:20px}html[data-theme=dark]{--bg:#0b1020;--card:#151c2e;--text:#f4f7ff;--line:#29344d;--input:#0b1020}.cv-nav-section{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--cc-muted);padding:20px 14px 6px;margin:0}@media(max-width:780px){.layout{border:0;border-radius:0;background:transparent;min-height:0;margin:8px auto 30px;padding:0 20px}.form-area{padding:20px 0}.form-card{max-width:440px;padding:28px;border:1px solid var(--line);border-radius:24px}.form-card h1{font-size:30px}.top{padding:20px}.secure-note{font-size:11px}}@media(max-width:380px){.form-card{padding:22px 18px}.layout{padding:0 12px}.top{padding:18px 14px}.form-options{flex-wrap:wrap;gap:12px}}
