:root{--bg: #FAFAFC;--surface: #FFFFFF;--surface-elevated: #FFFFFF;--text: #0F1020;--muted: #5B5E7A;--faint: #8A8DA8;--border: #E6E7F0;--border-strong: #CFD1E2;--border-highlight: rgba(99, 102, 241, .4);--primary: #4F46E5;--primary-hover: #4338CA;--primary-gradient: linear-gradient(135deg, #6366F1 0%, #D946EF 100%);--accent-glow: rgba(99, 102, 241, .18);--link: #4338CA;--field: #FFFFFF;--ring: rgba(79, 70, 229, .18);--danger: #B42318;--danger-bg: #FEF3F2;--ok: #0B7A43;--ok-bg: #ECFDF3;--warning: #B54708;--track: #E6E7F0;--shadow-sm: 0 1px 2px rgba(15, 16, 32, .04);--shadow-md: 0 8px 24px -12px rgba(15, 16, 32, .12);--shadow-lg: 0 20px 40px -15px rgba(15, 16, 32, .15);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 9999px;--font-main: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", monospace;--ease: cubic-bezier(.2, .7, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{--bg: #09091A;--surface: #11122A;--surface-elevated: #161836;--text: #F1F1FA;--muted: #A6A9C6;--faint: #7F82A3;--border: #23264A;--border-strong: #34386A;--border-highlight: rgba(129, 140, 248, .35);--primary: #6366F1;--primary-hover: #7578F5;--primary-gradient: linear-gradient(135deg, #6366F1 0%, #D946EF 100%);--accent-glow: rgba(129, 140, 248, .25);--link: #A9ACFF;--field: #0C0D20;--ring: rgba(129, 140, 248, .25);--danger: #FDA29B;--danger-bg: #2E1214;--ok: #4ADE80;--ok-bg: #0C2818;--warning: #FDB022;--track: #23264A;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px -12px rgba(0, 0, 0, .5);--shadow-lg: 0 20px 40px -15px rgba(0, 0, 0, .6)}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100vh}body{font-family:var(--font-main);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .35s var(--ease),color .35s var(--ease);overflow-x:hidden}a{color:var(--link);text-underline-offset:3px;transition:color .2s ease}button,input,select{font-family:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}#progress{position:fixed;top:0;left:0;right:0;height:2.5px;z-index:9999;background:linear-gradient(90deg,#6366f1,#d946ef,#6366f1);background-size:200% 100%;transform:scaleX(0);transform-origin:left;opacity:0;pointer-events:none}#progress.run{opacity:1;transform:scaleX(.85);animation:shimmer 1.5s linear infinite;transition:transform 1.2s cubic-bezier(.1,.6,.2,1)}#progress.end{opacity:0;transform:scaleX(1);transition:transform .25s,opacity .4s .25s}@keyframes shimmer{to{background-position:-200% 0}}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}.auth-split-page{display:flex;flex-wrap:wrap;min-height:100vh;width:100%}.brand{position:relative;overflow:hidden;isolation:isolate;flex:1.1 1 520px;min-width:0;padding:48px 56px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;color:#fff;background:#0a0a1f;--mx: 50%;--my: 40%}.brand:before,.brand:after{content:"";position:absolute;border-radius:50%;filter:blur(85px);z-index:-3;opacity:.58;will-change:transform}.brand:before{width:540px;height:540px;left:-140px;top:-120px;background:radial-gradient(circle,#6366F1 0%,#4F46E5 70%,transparent 100%);animation:drift 18s ease-in-out infinite alternate}.brand:after{width:480px;height:480px;right:-160px;bottom:-140px;background:radial-gradient(circle,#D946EF 0%,#C026D3 60%,transparent 100%);opacity:.42;animation:drift 22s ease-in-out infinite alternate-reverse}@keyframes drift{0%{transform:translate(0) scale(1)}50%{transform:translate(60px,45px) scale(1.12)}to{transform:translate(-30px,65px) scale(.95)}}.grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background-image:radial-gradient(rgba(255,255,255,.16) 1.2px,transparent 1.2px);background-size:28px 28px;-webkit-mask-image:radial-gradient(460px circle at var(--mx) var(--my),#000 0%,transparent 75%);mask-image:radial-gradient(460px circle at var(--mx) var(--my),#000 0%,transparent 75%);transition:opacity .3s ease;pointer-events:none}.ambient-canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}.logo{display:flex;align-items:center;gap:14px;text-decoration:none;color:#fff;width:fit-content}.logo-mark{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#6366f1,#d946ef);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;letter-spacing:-.02em;box-shadow:0 8px 24px -6px #d946efa6;transition:transform .5s var(--ease),box-shadow .4s ease}.logo:hover .logo-mark{transform:rotate(-8deg) scale(1.08);box-shadow:0 12px 30px -4px #d946efd9}.logo-text{display:flex;flex-direction:column;gap:2px}.logo-text b{font-size:15.5px;font-weight:800;letter-spacing:.02em}.logo-text span{font-size:11.5px;font-weight:600;color:#ffffffa6;text-transform:uppercase;letter-spacing:.06em}.hero{max-width:520px;display:flex;flex-direction:column;gap:36px}.hero h1{margin:0;font-size:48px;line-height:1.08;font-weight:800;letter-spacing:-.035em}.hero p{margin:16px 0 0;font-size:16.5px;line-height:1.6;color:#ffffffc2;min-height:3.2em}.swap{transition:opacity .25s ease,transform .25s ease}.swap.out{opacity:0;transform:translateY(6px)}.h-top{display:block;animation:rise .7s var(--ease) backwards}.h-rot{display:block;position:relative;height:1.15em;white-space:nowrap}.ph{position:absolute;left:0;top:0;display:flex;gap:.26em}.w{display:inline-block;padding-bottom:.12em;background:linear-gradient(100deg,#c7d2fe 5%,#f0abfc 95%);-webkit-background-clip:text;background-clip:text;color:transparent;animation:wIn .75s var(--ease) backwards;animation-delay:calc(var(--i, 0) * 80ms + .12s)}.ph.out .w{animation:wOut .35s ease forwards;animation-delay:calc(var(--i, 0) * 40ms)}@keyframes wIn{0%{opacity:0;transform:translateY(.55em);filter:blur(8px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes wOut{to{opacity:0;transform:translateY(-.5em);filter:blur(6px)}}.dots{display:flex;gap:8px;margin-top:22px}.dot{position:relative;width:32px;height:20px;border:0;background:none;padding:0;cursor:pointer}.dot:before,.dot:after{content:"";position:absolute;left:0;right:0;top:9px;height:2px;border-radius:2px}.dot:before{background:#ffffff38;transition:background .2s}.dot:hover:before{background:#ffffff73}.dot:after{background:#fff;transform:scaleX(0);transform-origin:left}.dot.done:after{transform:scaleX(1);opacity:.45}.dot.active:after{animation:fill 5s linear forwards}.hero:hover .dot.active:after,.hero:focus-within .dot.active:after{animation-play-state:paused}@keyframes fill{to{transform:scaleX(1)}}.chips-label{font-size:13px;font-weight:600;color:#fff9;margin:0 0 14px;text-transform:uppercase;letter-spacing:.05em}.chips{display:flex;flex-wrap:wrap;gap:9px;margin:0;padding:0;list-style:none}.chip{position:relative;display:inline-flex;align-items:center;gap:8px;padding:8px 15px 8px 12px;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);font-size:13.5px;font-weight:600;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;transition:transform .3s var(--ease),background .3s,border-color .3s,box-shadow .3s;animation:rise .6s var(--ease) backwards;-webkit-user-select:none;user-select:none}.chip:nth-child(1){animation-delay:.35s}.chip:nth-child(2){animation-delay:.42s}.chip:nth-child(3){animation-delay:.49s}.chip:nth-child(4){animation-delay:.56s}.chip:nth-child(5){animation-delay:.63s}.chip:nth-child(6){animation-delay:.7s}.chip svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease)}.chip:hover{transform:translateY(-2px);background:#ffffff21;border-color:#ffffff61;box-shadow:0 4px 16px #00000040}.chip:hover svg{transform:rotate(-10deg) scale(1.15)}.chip.lit{background:#ffffff29;border-color:#ffffff75;box-shadow:0 0 18px #6366f166}.chip.lit svg{transform:rotate(-10deg) scale(1.18);stroke:#c7d2fe}.brand-foot{font-size:13px;color:#ffffff85}.side{flex:1 1 480px;min-width:0;padding:32px 48px 48px;display:flex;flex-direction:column;gap:24px}.topbar{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--muted)}.topbar a{font-weight:600;text-decoration:none;position:relative}.topbar a:after,.label-row a:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.topbar a:hover:after,.label-row a:hover:after{transform:scaleX(1)}.icon-btn{position:relative;overflow:hidden;width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s var(--ease),border-color .2s,background .3s,box-shadow .2s}.icon-btn:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.icon-btn:active{transform:scale(.92)}.icon-btn svg{position:absolute;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s var(--ease),opacity .3s}.icon-btn .sun{opacity:0;transform:rotate(-90deg) scale(.5)}[data-theme=dark] .icon-btn .sun{opacity:1;transform:none}[data-theme=dark] .icon-btn .moon{opacity:0;transform:rotate(90deg) scale(.5)}.center{flex:1;display:flex;align-items:center;justify-content:center}.card{width:100%;max-width:410px}.view{display:none;flex-direction:column;gap:20px}.view.active{display:flex}.view.active>*{animation:rise .55s var(--ease) backwards}.view.active>*:nth-child(2){animation-delay:.04s}.view.active>*:nth-child(3){animation-delay:.08s}.view.active>*:nth-child(4){animation-delay:.12s}.view.active>*:nth-child(5){animation-delay:.16s}.view.active>*:nth-child(6){animation-delay:.2s}.view.active>*:nth-child(7){animation-delay:.24s}.view.active>*:nth-child(8){animation-delay:.28s}.view.active>*:nth-child(9){animation-delay:.32s}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.view h2{margin:0;font-size:30px;font-weight:800;letter-spacing:-.025em}.sub{margin:8px 0 0;font-size:15px;line-height:1.5;color:var(--muted)}.field{display:flex;flex-direction:column;gap:8px}.field label,.label-row label{font-size:13.5px;font-weight:600;transition:color .2s;color:var(--text)}.field:focus-within>label,.field:focus-within .label-row label{color:var(--primary)}[data-theme=dark] .field:focus-within>label,[data-theme=dark] .field:focus-within .label-row label{color:var(--link)}.label-row{display:flex;align-items:center;justify-content:space-between}.label-row a{position:relative;font-size:13px;font-weight:600;text-decoration:none}.input{width:100%;height:48px;border-radius:12px;border:1px solid var(--border);background:var(--field);color:var(--text);padding:0 15px;font-size:15px;transition:border-color .2s,box-shadow .25s var(--ease),background .3s}.input::placeholder{color:var(--faint);opacity:1;transition:opacity .2s,transform .25s var(--ease)}.input:hover{border-color:var(--border-strong)}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--ring)}.input:focus::placeholder{opacity:.4;transform:translate(4px)}.field.invalid .input{border-color:var(--danger);box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 14%,transparent)}.field.valid .input{border-color:var(--ok)}.shake{animation:shake .4s var(--ease)}@keyframes shake{20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.pw{position:relative}.pw .input{padding-right:50px}.pw button{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:9px;background:transparent;color:var(--faint);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s}.pw button:hover{color:var(--text);background:var(--border)}.pw button svg{position:absolute;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:opacity .2s,transform .3s var(--ease)}.pw button .off{opacity:0;transform:scale(.6)}.pw button.on .off{opacity:1;transform:none}.pw button.on .eye{opacity:0;transform:scale(.6)}.hint{display:none;font-size:12.5px;font-weight:500;color:var(--warning)}.hint.show{display:block;animation:rise .25s var(--ease)}.suggest{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);animation:rise .25s var(--ease);background:var(--surface);border:1px dashed var(--border-strong);padding:6px 10px;border-radius:var(--radius-sm);width:fit-content}.suggest button{border:0;background:none;padding:0;font-size:13px;font-weight:700;color:var(--link);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.btn{position:relative;overflow:hidden;height:48px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;transition:transform .2s var(--ease),border-color .2s,background .2s,box-shadow .25s var(--ease);text-decoration:none}.btn:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.btn:active{transform:scale(.985)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover{background:var(--surface);border-color:var(--border);color:var(--text);box-shadow:none}.btn.primary{height:50px;border:0;background:var(--primary);color:#fff;font-size:15.5px;font-weight:700;box-shadow:0 8px 20px -10px var(--primary);translate:var(--tx, 0px) var(--ty, 0px);transition:transform .2s var(--ease),translate .25s var(--ease),background .2s,box-shadow .25s var(--ease)}.btn.primary:hover{background:var(--primary-hover);box-shadow:0 12px 26px -10px var(--primary);transform:translateY(-1px)}.btn.primary:active{transform:scale(.985)}.btn.primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.25) 50%,transparent 65%);transform:translate(-120%);transition:transform .75s var(--ease);pointer-events:none}.btn.primary:hover:after{transform:translate(120%)}.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.btn .lbl{display:inline-flex;align-items:center;gap:10px;transition:opacity .2s,transform .3s var(--ease)}.btn.primary .lbl svg{transition:transform .3s var(--ease)}.btn.primary:hover .lbl svg{transform:translate(4px)}.btn .spin{position:absolute;width:20px;height:20px;border-radius:50%;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;opacity:0;animation:spin .7s linear infinite;animation-play-state:paused;transition:opacity .2s}.btn.loading{pointer-events:none}.btn.loading .lbl{opacity:0;transform:translateY(-8px)}.btn.loading .spin{opacity:1;animation-play-state:running}.btn.done{background:var(--ok)!important;color:#fff!important;box-shadow:0 8px 20px -8px var(--ok)!important}@keyframes spin{to{transform:rotate(360deg)}}.rip{position:absolute;border-radius:50%;pointer-events:none;background:currentColor;opacity:.18;transform:scale(0);animation:rip .6s var(--ease) forwards}.btn.primary .rip{background:#fff;opacity:.32}@keyframes rip{to{transform:scale(1);opacity:0}}.divider{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:13px;font-weight:500}.divider i{flex:1;height:1px;background:var(--border)}.alert{display:none;padding:12px 14px;border-radius:12px;background:var(--danger-bg);border:1px solid color-mix(in srgb,var(--danger) 40%,transparent);color:var(--danger);font-size:14px;line-height:1.5;font-weight:500}.alert.show{display:block;animation:rise .3s var(--ease)}.alert.success{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 40%,transparent);color:var(--ok)}.turnstile{min-height:65px;display:flex;align-items:center;justify-content:center;width:100%}.meter{display:flex;align-items:center;gap:12px;margin-top:4px}.bars{flex:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.bars i{height:4px;border-radius:2px;background:var(--track);transition:background .3s,transform .3s var(--ease)}.bars i.pop{animation:pop .35s var(--ease)}@keyframes pop{50%{transform:scaleY(2.2)}}.level{min-width:52px;text-align:right;font-size:13px;font-weight:700;color:var(--muted);transition:color .3s}.rules{display:flex;flex-direction:column;gap:6px;margin:6px 0 0;padding:0;list-style:none}.rules li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);transition:color .3s}.rules li svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.rules li .tick{display:none}.rules li.ok{color:var(--ok)}.rules li.ok .tick{display:block;stroke-dasharray:24;animation:draw .4s var(--ease) both}.rules li.ok .dot{display:none}@keyframes draw{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}.fine{margin:0;font-size:13px;line-height:1.5;color:var(--muted);text-align:center}.fine a{color:var(--primary);font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:color .2s var(--ease)}.fine a:hover{color:var(--primary-hover)}[data-theme=dark] .fine a{color:var(--link)}.passport-empty-state{transition:transform .25s var(--ease),border-color .25s ease}.passport-empty-state:hover{border-color:var(--primary);transform:translateY(-2px)}#dashboardView{display:flex;flex-direction:column;min-height:100vh;width:100%}.accounts-navbar{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;border-bottom:1px solid var(--border);background:var(--surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);position:sticky;top:0;z-index:100;transition:background .3s var(--ease),border-color .3s var(--ease)}.brand-badge{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text)}.brand-logo-icon{width:38px;height:38px;background:linear-gradient(135deg,var(--primary),#D946EF);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:15px;box-shadow:0 6px 18px -4px #6366f173}.brand-text-hub{display:flex;flex-direction:column}.brand-name{font-weight:800;font-size:15px;letter-spacing:-.01em}.brand-sub{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.nav-actions{display:flex;align-items:center;gap:12px}.accounts-main{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:40px 24px}.dashboard-container{width:100%;max-width:980px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-lg);animation:rise .5s var(--ease) backwards}.dashboard-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border);margin-bottom:28px;padding-bottom:8px;overflow-x:auto}.tab-btn{background:transparent;border:none;padding:10px 18px;color:var(--muted);font-weight:600;font-size:14.5px;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;gap:8px;transition:all .2s var(--ease)}.tab-btn.active{color:var(--primary);background:var(--ring)}[data-theme=dark] .tab-btn.active{color:var(--link)}.tab-btn:hover:not(.active){color:var(--text);background:var(--border)}.portals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-top:20px}.portal-card{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s var(--ease),border-color .25s,box-shadow .25s var(--ease)}.portal-card:hover{transform:translateY(-4px);border-color:var(--border-highlight);box-shadow:var(--shadow-md)}.portal-badge{font-size:12px;font-weight:700;padding:4px 9px;border-radius:6px;display:inline-block;background:#10b98124;color:var(--ok);margin-bottom:12px}.portal-title{font-size:17px;font-weight:800;margin-bottom:8px;display:flex;align-items:center}.portal-desc{font-size:13.5px;color:var(--muted);margin-bottom:20px;line-height:1.5}.accounts-footer{text-align:center;padding:24px;font-size:13px;color:var(--muted);border-top:1px solid var(--border)}@media (max-width: 900px){.brand{flex-basis:100%;padding:32px 24px;gap:28px}.hero h1{font-size:34px}.hero{gap:22px}.side{flex-basis:100%;padding:24px 20px 48px}.brand-foot{display:none}.dashboard-container{padding:24px 18px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.dot.active:after{animation:none;transform:scaleX(1)}}
