:root{font-family:"Segoe UI",Arial,sans-serif;color:#eff7ff;background:#050d1a;color-scheme:dark;font-synthesis:none;--city-x:0px;--city-y:0px;--portrait-x:0px;--portrait-y:0px}*{box-sizing:border-box}body{margin:0;min-height:100svh;isolation:isolate;overflow-x:hidden;background:#050d1a}.world{position:fixed;inset:0;z-index:-4;pointer-events:none;overflow:hidden}.city-layer{position:absolute;inset:-15px;transform:translate(var(--city-x),var(--city-y))}.city-photo,.city-glow{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 53%}.city-photo{filter:brightness(.83) saturate(.92)}.city-glow{mix-blend-mode:screen;filter:brightness(1.5) contrast(1.2);mask-image:linear-gradient(transparent 28%,#000 58%,#000 85%,transparent);animation:city-breathe 7s ease-in-out infinite;opacity:.12}.world-shade{position:absolute;inset:0;background:linear-gradient(180deg,#030d2238 0,transparent 42%,#0209143b 72%,#020913ba 100%),radial-gradient(ellipse at 50% 45%,#030d241c,transparent 60%)}#traffic{position:absolute;inset:0;width:100%;height:100%}.topbar{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 3.3vw}.brand{display:flex;align-items:center;gap:13px;text-shadow:0 2px 12px #000}.brand-mark{color:#f4d080;font-size:50px;line-height:1;font-weight:900;text-shadow:0 0 25px #f8c76666}.brand strong{font-size:23px;letter-spacing:3px}.brand strong span{font-weight:400;font-size:15px;color:#f1d58d;letter-spacing:2px}.brand small{display:block;font-size:6px;letter-spacing:2.1px;color:#ccdaeb;margin-top:3px}.edition{display:flex;align-items:center;gap:12px;font-size:8px;letter-spacing:2px;color:#d2e2f1}.edition span{opacity:.4}.edition i,.statusbar i,footer i{display:inline-block;width:5px;height:5px;background:#76eaff;border-radius:50%;box-shadow:0 0 12px #51e5ff}.scene-controls{display:flex;align-items:center;gap:8px}.scene-controls button,.language{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 11px;border:1px solid #89c8df3d;border-radius:9px;background:#0a1c2bba;color:#dceaf6;font:10px "Segoe UI",sans-serif}.scene-controls button{cursor:pointer}.scene-controls svg{width:16px;height:16px}.language{font-size:10px;font-weight:600;letter-spacing:1px}.portrait{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.portrait-stage{position:absolute;top:50%;width:42vw;height:calc(100svh - 10px);transform:translate(var(--portrait-x),calc(-50% + var(--portrait-y)));}.portrait-female .portrait-stage{left:-4.5vw}.portrait-male .portrait-stage{right:-4.5vw}.portrait-base,.expression{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.expression{opacity:0;pointer-events:none}.portrait-female .eyes{mask-image:radial-gradient(ellipse 9% 5% at 69% 31%,#000 45%,transparent 100%),radial-gradient(ellipse 4% 4% at 85% 35%,#000 30%,transparent 100%)}.portrait-male .eyes{mask-image:radial-gradient(ellipse 10% 5% at 30% 34%,#000 45%,transparent 100%)}.portrait-female .mouth{mask-image:radial-gradient(ellipse 10% 7% at 76% 52%,#000 30%,transparent 100%)}.portrait-male .mouth{mask-image:radial-gradient(ellipse 10% 7% at 23% 55%,#000 30%,transparent 100%)}.eyes.active{animation:eye-close .22s ease-in-out both}.mouth.active{animation:soft-smile 3s ease-in-out both}.ear{position:absolute;pointer-events:none;border-radius:50%;opacity:.8;mask-image:radial-gradient(circle,transparent 24%,#000 40%,#000 75%,transparent 97%);animation:ear-turn 24s linear infinite}.portrait-male .ear{animation-delay:-7s;animation-duration:27s}.slogan{position:fixed;z-index:2;left:3.5vw;bottom:84px;width:30vw;text-shadow:0 3px 20px #02060df0}.eyebrow{font-size:8px;letter-spacing:2.1px;color:#8be9ff}.slogan h1{font-size:clamp(29px,3.5vw,63px);line-height:1.02;letter-spacing:-1.8px;margin:15px 0}.slogan h1 span{color:#f6d385}.slogan p{font-size:11px;line-height:1.7;color:#c3d5e7;margin:0}.signature{position:fixed;right:3.5vw;bottom:88px;z-index:2;font-size:8px;letter-spacing:1.7px;color:#d6e6f6;text-shadow:0 2px 10px #000}.signature p{font-size:9px;letter-spacing:.3px;margin:8px 0 0;color:#adbed1}main{display:grid;place-items:center;position:relative;z-index:3;min-height:calc(100svh - 154px);padding:12px 20px 50px}.login-card{width:440px;max-width:100%;padding:30px 33px 23px;border:1px solid #8ecfe74d;border-radius:22px;background:linear-gradient(145deg,#203f53bb,#0a1a2bd9 50%,#071725d9);backdrop-filter:blur(12px);box-shadow:0 18px 60px #02081655,inset 0 1px #c7efff17}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.wordmark{font-size:9px;letter-spacing:1px;color:#f5fbff}.wordmark b{color:#ffbc69;margin-right:3px;animation:brand-breathe 4s ease-in-out infinite}.secure{display:flex;align-items:center;gap:6px;font-size:7px;letter-spacing:.4px;color:#bcd6e7}.secure svg{width:12px;height:12px;color:#80e6f8}.spark{width:44px;height:44px;display:grid;place-items:center;border:1px solid #8cd8ec55;outline:1px solid #65d8f714;outline-offset:4px;border-radius:12px;color:#8df1ff;margin:32px 0 22px;background:#2c667329}.spark svg{width:28px;height:28px}h2{font-size:34px;line-height:1.12;letter-spacing:-1.2px;margin:0;font-weight:750}h2 span{color:#7beaff}.intro{font-size:11px;line-height:1.65;color:#bdd0e1;margin:15px 0 29px}label{display:block;font-size:10px;font-weight:600;color:#e0ebf5;margin-bottom:9px}.input-wrap{position:relative;display:flex;align-items:center;margin-bottom:22px}.input-wrap>svg{position:absolute;left:15px;width:16px;height:16px;pointer-events:none;color:#8ba9bd}input{width:100%;height:51px;border:1px solid #476076;border-radius:8px;background:#071321e8;color:#f0f7ff;font:12px "Segoe UI",sans-serif;padding:0 16px 0 43px}input::placeholder{color:#89a0b5}input:focus{outline:none}.password-wrap{margin-bottom:0}.password-wrap input{padding-right:44px}.eye{position:absolute;right:4px;width:40px;height:40px;display:grid;place-items:center;border:0;background:none;color:#a0b5c6;cursor:pointer}.eye svg{width:18px;height:18px}.eye-slash{display:none}.eye[aria-pressed=true] .eye-slash{display:block}.form-message{min-height:32px;font-size:11px;line-height:1.5;margin:10px 0;color:#ffbdad;overflow-wrap:anywhere}.form-message[data-tone=info]{color:#b0e7f2}.submit{height:53px;width:100%;display:flex;align-items:center;justify-content:center;gap:16px;border:1px solid #ffe4a2;border-radius:8px;background:linear-gradient(110deg,#ffe09a,#efc16a);color:#201c14;font:700 12px "Segoe UI",sans-serif;box-shadow:0 4px 22px #f6ca6a20;cursor:pointer}.submit:hover:not(:disabled){filter:brightness(1.06)}.submit svg{width:18px;height:18px}.submit:disabled{opacity:.6;cursor:wait}button:focus-visible{outline:2px solid #91eeff;outline-offset:4px}.private-note{text-align:center;color:#99b3c7;font-size:9px;margin:17px 0 25px}footer{border-top:1px solid #9bd4eb26;padding-top:17px;display:flex;justify-content:space-between;color:#a0b9cc;font-size:7px;letter-spacing:.6px}footer span:first-child{display:flex;align-items:center;gap:7px}footer i{width:3px;height:3px}.statusbar{position:fixed;inset:auto 0 0;z-index:6;display:flex;justify-content:space-between;padding:16px 3.5vw;border-top:1px solid #8fc8e51c;background:#07131fdb;font-size:8px;letter-spacing:1.3px;color:#a7c2d8;backdrop-filter:blur(8px)}.statusbar span{display:flex;align-items:center;gap:10px}.statusbar b{color:#71e6f8;font-size:8px}.scene-paused *,.scene-paused *::before{animation-play-state:paused!important}@keyframes city-breathe{0%,100%{opacity:.08}50%{opacity:.22}}@keyframes eye-close{0%,100%{opacity:0}35%,65%{opacity:1}}@keyframes soft-smile{0%,100%{opacity:0}30%,65%{opacity:.85}}@keyframes brand-breathe{0%,100%{opacity:1}50%{opacity:.65}}@keyframes ear-turn{0%{transform:rotate(0);animation-timing-function:cubic-bezier(.65,0,.35,1)}44%,50%{transform:rotate(1080deg);animation-timing-function:cubic-bezier(.65,0,.35,1)}94%,100%{transform:rotate(0)}}@media(min-width:1700px){.login-card{width:460px;padding:33px 37px 25px}.intro{margin-bottom:32px}.spark{margin-top:37px}main{padding-top:35px}}
@media(max-height:780px) and (min-width:761px){.topbar{padding-top:16px;padding-bottom:14px}.login-card{padding-top:22px;padding-bottom:18px}.spark{margin:20px 0 17px;width:36px;height:36px}h2{font-size:30px}.intro{margin:11px 0 20px}.input-wrap{margin-bottom:17px}.password-wrap{margin-bottom:0}.private-note{margin:12px 0 17px}main{padding-top:0;min-height:calc(100svh - 110px)}.slogan{bottom:75px}}
@media(max-width:1100px){.edition{display:none}.slogan h1{font-size:31px}.signature{display:none}.portrait-stage{width:47vw}.portrait-female .portrait-stage{left:-10vw}.portrait-male .portrait-stage{right:-10vw}.login-card{width:410px}.slogan{left:22px;width:25vw}.slogan .eyebrow,.slogan p{display:none}}
@media(max-width:760px){.topbar{padding:18px}.brand strong{font-size:17px;letter-spacing:2px}.brand-mark{font-size:38px}.brand small{font-size:5px;letter-spacing:1px}.scene-controls button{padding:7px}.scene-controls button span{display:none}.language{padding:8px}.portrait{position:absolute;height:290px;top:52px;mask-image:linear-gradient(#000 60%,transparent)}.portrait-stage{top:0;width:48vw;height:345px;transform:translate(var(--portrait-x),var(--portrait-y))}.portrait-female .portrait-stage{left:0}.portrait-male .portrait-stage{right:0}.slogan{display:none}main{padding:200px 16px 75px;min-height:100svh}.login-card{width:440px;padding:27px}.spark{margin-top:26px}.intro{font-size:11px}.statusbar{padding:13px 18px;font-size:6px;letter-spacing:.6px}.statusbar span:last-child{display:none}.city-layer{position:fixed;inset:0}.city-photo,.city-glow{object-position:48% center}}
@media(prefers-reduced-motion:reduce){*,*::before{animation:none!important;transition:none!important}.expression,.ear{display:none}.city-glow{opacity:.1}}
@media(forced-colors:active){.world,.portrait{display:none}.login-card{background:Canvas;border:1px solid CanvasText}.submit,input{border:1px solid CanvasText}}
/* Explicit track sizing prevents a fixed-width card widening a mobile grid. */
/* Amber glass frame: only the masked outline moves, leaving the form clear. */
.login-card{position:relative;border-color:#f4a44999;box-shadow:0 18px 60px #02081655,0 0 19px #ff98251c,inset 0 1px #ffe3b326}
.login-card::before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:2px;pointer-events:none;background:conic-gradient(from var(--forge-border-angle),#b96a2670 0deg,#e78b3580 230deg,#ffad4c 280deg,#fff1c4 305deg,#ffd184 316deg,#e78b3580 340deg,#b96a2670 360deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:forge-neon-orbit 8s linear infinite}
@media(prefers-reduced-motion:reduce){.login-card::before{animation:none;--forge-border-angle:140deg}}
@media(forced-colors:active){.login-card::before{display:none}}
/* Keep the female smile local: preserve the sharp base cheek, chin and body.
   Full opacity at the hold avoids two differently positioned lip contours. */
.portrait-female .mouth{clip-path:inset(47% 15% 43% 65%);mask-image:radial-gradient(ellipse 9% 4.4% at 75.5% 51.8%,#000 60%,transparent 100%)}
.portrait-female .mouth.active{animation-name:female-soft-smile}
@keyframes female-soft-smile{0%,100%{opacity:0}30%,65%{opacity:1}}
.ear-energy{position:absolute;pointer-events:none;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg 205deg,#11aaff22 250deg,#49dbff 302deg,#e4ffff 318deg,transparent 332deg);mask-image:radial-gradient(circle,transparent 48%,#000 51% 57%,transparent 60%,#000 64% 67%,transparent 70%);mix-blend-mode:screen;animation:ear-turn 18s ease-in-out infinite,ear-energy-breathe 4.6s ease-in-out infinite;opacity:.85}.portrait-male .ear-energy{animation-duration:21s,5.3s;animation-delay:-8s,-2s}@keyframes ear-energy-breathe{0%,100%{opacity:.35}48%{opacity:1}70%{opacity:.65}}@media(prefers-reduced-motion:reduce){.ear-energy{display:none}}
main{grid-template-columns:minmax(0,1fr);width:100%}.login-card{min-width:0}
@media(max-width:760px){.login-card{width:100%;max-width:440px}.secure{font-size:6px}.card-top{gap:6px}main{padding-bottom:30px}.statusbar{position:relative;inset:auto}}
