:root{color:#27364c;font-synthesis:none;text-rendering:optimizelegibility;--surface:#e9f1f8;--ink:#27364c;--muted:#68788e;--blue:#526f9f;--blue-deep:#38547f;--raised:-12px -12px 28px #ffffffe6, 12px 12px 28px #5b769133;--small:-5px -5px 12px #ffffffdb, 5px 5px 12px #5b769133;--inset:inset 4px 4px 10px #5b76912b, inset -4px -4px 10px #ffffffd9;background:#e9f1f8;font-family:Avenir,Helvetica Neue,PingFang SC,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 11% 82%, #f5e0e8e0, transparent 28rem), radial-gradient(circle at 91% 10%, #c8e0f4f2, transparent 31rem), var(--surface);min-width:320px;min-height:100vh;margin:0}button,input,a{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #38547f7a}.passport-shell{grid-template-rows:96px 1fr 74px;width:min(1180px,100% - 48px);min-height:100vh;margin-inline:auto;display:grid}.brand{width:max-content;color:var(--ink);letter-spacing:.17em;align-self:center;align-items:center;gap:12px;font-size:.76rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{color:#fff;width:42px;height:42px;box-shadow:var(--small);letter-spacing:0;background:linear-gradient(145deg,#718fba,#45658f);border-radius:14px;place-items:center;font-family:Georgia,serif;font-size:1.2rem;display:grid}.passport-stage{grid-template-columns:minmax(320px,.85fr) minmax(420px,.7fr);justify-content:center;align-items:center;gap:clamp(70px,10vw,150px);padding:38px 6% 60px;display:grid}.identity-visual{place-items:center;min-height:480px;display:grid;position:relative}.orbit{border:1px solid #526f9f26;border-radius:50%;position:absolute}.orbit-outer{width:440px;height:440px}.orbit-inner{border-style:dashed;width:330px;height:330px;transform:rotate(-18deg)}.passport-stamp{z-index:1;width:270px;height:335px;box-shadow:var(--raised);background:linear-gradient(145deg,#f2f7fb,#d6e2ec);border-radius:42% 42% 30px 30px;flex-direction:column;padding:42px 34px 36px;animation:.7s ease-out both arrive;display:flex;position:relative;overflow:hidden;transform:rotate(-4deg)}.passport-stamp:before{content:"";border:18px solid #ca97ad2e;border-radius:50%;width:142px;height:142px;position:absolute;top:58px;right:-30px}.stamp-kicker,.stamp-number{color:#708198;letter-spacing:.2em;font-size:.65rem;font-weight:800}.passport-stamp strong{letter-spacing:-.04em;margin:auto 0;font-family:Georgia,Songti SC,serif;font-size:2rem;font-weight:500;line-height:1.38}.visual-note{color:#7c899a;max-width:160px;font-family:Georgia,serif;font-size:.72rem;font-style:italic;line-height:1.6;position:absolute;bottom:35px;right:-20px}.login-card{width:100%;max-width:470px;box-shadow:var(--raised);background:#e9f1f8c7;border-radius:34px;padding:clamp(34px,5vw,54px);animation:.65s ease-out .1s both arrive}.eyebrow{color:var(--blue-deep);letter-spacing:.18em;margin:0 0 15px;font-size:.7rem;font-weight:800}h1{letter-spacing:-.06em;margin:0 0 10px;font-family:Georgia,Songti SC,serif;font-size:clamp(2.5rem,5vw,3.65rem);font-weight:500}.intro,.success-state>p:not(.eyebrow){color:var(--muted);margin:0;line-height:1.7}.method-switch{box-shadow:var(--inset);border-radius:15px;grid-template-columns:1fr 1fr;margin:34px 0 28px;padding:5px;display:grid}.method-switch button{color:#78869a;cursor:pointer;background:0 0;border:0;border-radius:11px;min-height:43px;font-size:.88rem;font-weight:700}.method-switch button.active{color:var(--blue-deep);background:var(--surface);box-shadow:var(--small)}.field{margin-bottom:21px;display:block}.field>span:first-child{color:#526176;margin:0 0 9px 4px;font-size:.78rem;font-weight:700;display:block}.field input{width:100%;height:52px;color:var(--ink);box-shadow:var(--inset);background:#e9f1f8b3;border:0;border-radius:14px;padding:0 17px}.field input::placeholder{color:#98a4b3}.code-field{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.code-field button{min-width:102px;min-height:46px;color:var(--blue-deep);background:var(--surface);box-shadow:var(--small);cursor:pointer;border:0;border-radius:13px;font-size:.76rem;font-weight:700}.code-field button:disabled{color:#929dac;box-shadow:var(--inset);cursor:not-allowed}.form-message{color:#9a536f;min-height:22px;margin:-4px 0 12px;font-size:.78rem;line-height:1.5}.primary-button{color:#fff;cursor:pointer;background:linear-gradient(145deg,#6988b7,#45658f);border:0;border-radius:16px;justify-content:space-between;align-items:center;width:100%;min-height:54px;padding:0 22px;font-weight:800;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:-6px -6px 16px #ffffffb8,7px 7px 16px #4259754d}.primary-button:hover:not(:disabled){transform:translateY(-2px)}.primary-button:active:not(:disabled){transform:translateY(1px);box-shadow:inset 3px 3px 8px #27364c47,inset -3px -3px 8px #ffffff29}.primary-button:disabled{opacity:.52;cursor:not-allowed}.privacy-note{color:#8491a2;margin:20px 4px 0;font-size:.7rem;line-height:1.65}.success-state{flex-direction:column;justify-content:center;align-items:flex-start;min-height:420px;display:flex}.success-state .primary-button{margin-top:38px}.success-mark{color:#4f7b6e;width:62px;height:62px;box-shadow:var(--small);border-radius:20px;place-items:center;margin-bottom:36px;font-size:1.4rem;font-weight:800;display:grid}footer{color:#7a8799;justify-content:space-between;align-items:center;font-size:.74rem;display:flex}.security-status{align-items:center;gap:8px;display:inline-flex}.security-status i{background:#78a798;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #78a79821}@keyframes arrive{0%{opacity:0;transform:translateY(18px)}}@media (width<=880px){.passport-stage{grid-template-columns:1fr;padding-inline:0}.identity-visual{display:none}.login-card{margin-inline:auto}}@media (width<=520px){.passport-shell{grid-template-rows:78px 1fr 62px;width:min(100% - 30px,1180px)}.passport-stage{padding-block:22px 42px}.login-card{border-radius:26px;padding:31px 24px}h1{font-size:2.65rem}.code-field{grid-template-columns:1fr 94px}.code-field button{min-width:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
