:root{--bg:#000000;--bg-soft:#050505;--surface:rgba(255,255,255,0.03);--surface-2:rgba(255,255,255,0.05);--text:#ffffff;--muted:#888888;--primary:#ffffff;--primary-dark:#cccccc;--danger:#ff453a;--success:#32d74b;--ring:rgba(255,255,255,0.3);--border:rgba(255,255,255,0.08);--radius-lg:24px;--radius:14px;--radius-sm:8px;--shadow:0 30px 80px -20px rgba(0,0,0,0.7);--shadow-sm:0 10px 30px -12px rgba(0,0,0,0.6);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px}*{box-sizing:border-box}html{color-scheme:dark}body,html{background:var(--bg)}body{margin:0;min-width:320px;min-height:100dvh;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input{font:inherit}a{color:inherit;text-decoration:none;transition:color .3s ease}a:hover{color:var(--primary)}:focus-visible{outline:2px solid var(--ring);outline-offset:3px;border-radius:var(--radius-sm)}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px);filter:blur(10px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleReveal{0%{opacity:0;transform:scale(.95);filter:blur(5px)}to{opacity:1;transform:scale(1);filter:blur(0)}}.skipLink{position:fixed;left:16px;top:-60px;z-index:1000;padding:10px 16px;background:var(--primary);color:#000;border-radius:var(--radius-sm);font-weight:500}.skipLink:focus{top:16px}.page{min-height:100dvh;display:grid;place-items:center;padding:clamp(24px,5vw,64px);animation:fadeIn 1.2s ease-out forwards}.shell{width:min(100%,1080px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,460px);align-items:stretch;grid-gap:0;gap:0;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius-lg);overflow:hidden}.intro{padding:64px 56px;background:transparent;display:flex;flex-direction:column;justify-content:space-between;gap:48px;border-right:1px solid var(--border);animation:fadeUp 1s cubic-bezier(.16,1,.3,1) forwards}.introHeading{margin-top:56px}.brand{display:inline-flex;align-items:center;gap:16px;text-decoration:none;font-weight:400;letter-spacing:.1em;text-transform:uppercase;font-size:.9rem}.brandMark{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:#000;background:var(--primary);box-shadow:none;transition:transform .6s cubic-bezier(.16,1,.3,1)}.brandIcon{width:100%;height:100%;object-fit:contain}.brandMark:hover{transform:scale(1.05)}.intro h1{font-size:clamp(2.1rem,4vw,3.1rem);line-height:1.15;letter-spacing:-.03em;font-weight:300;margin:0 0 16px}.intro p{max-width:30rem;margin:0;font-size:1.05rem;line-height:1.7}.intro p,.securityNote{color:var(--muted);font-weight:300}.securityNote{display:flex;gap:14px;align-items:flex-start;padding-top:24px;border-top:1px solid var(--border);font-size:.85rem;letter-spacing:.02em}.panel{padding:64px 56px;display:flex;flex-direction:column;justify-content:center;background:transparent;animation:fadeUp 1s cubic-bezier(.16,1,.3,1) .1s forwards;opacity:0}.panel h2{margin:0 0 10px;font-size:1.85rem;font-weight:400;letter-spacing:-.02em}.lead{margin:0 0 36px;color:var(--muted);font-weight:300}.form{display:grid;grid-gap:22px;gap:22px}.field{display:grid;grid-gap:8px;gap:8px}.field label{font-size:.78rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.field input{width:100%;height:50px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 16px;background:var(--surface);color:var(--text);outline:none;font-size:1rem;font-weight:400;transition:border-color .3s ease,background .3s ease,box-shadow .3s ease}.field input:hover{border-color:rgba(255,255,255,.18)}.field input:focus{border-color:var(--primary);background:var(--surface-2);box-shadow:0 0 0 3px var(--ring)}.field input::placeholder{color:#3a3a3a}.field small{color:var(--muted);font-size:.8rem}.passwordWrap{position:relative}.passwordWrap input{padding-right:72px}.passwordToggle{position:absolute;top:50%;right:6px;min-width:44px;min-height:36px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer;transform:translateY(-50%);font-size:.85rem;transition:color .3s ease,background .3s ease}.passwordToggle:hover{color:var(--primary);background:var(--surface-2)}.codeRow{display:flex;gap:12px}.codeRow input{flex:1 1;min-width:0}.codeRow .secondary{flex-shrink:0;white-space:nowrap}.row{justify-content:space-between;gap:16px;margin-top:4px}.checkbox,.row{display:flex;align-items:center}.checkbox{gap:10px;color:var(--muted);font-size:.88rem;font-weight:300}.checkbox input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border:1px solid var(--muted);border-radius:4px;background:transparent;cursor:pointer;position:relative;transition:all .3s ease}.checkbox input:checked{background:var(--primary);border-color:var(--primary)}.link{color:var(--text);text-decoration:underline;text-underline-offset:4px;-webkit-text-decoration-color:rgba(255,255,255,.3);text-decoration-color:rgba(255,255,255,.3);font-weight:400;font-size:.9rem;transition:-webkit-text-decoration-color .3s ease;transition:text-decoration-color .3s ease;transition:text-decoration-color .3s ease,-webkit-text-decoration-color .3s ease}.link:hover{-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary)}.button{min-height:52px;border:none;border-radius:var(--radius-sm);padding:0 24px;background:var(--primary);color:#000;font-weight:600;font-size:.95rem;letter-spacing:.03em;cursor:pointer;transition:transform .3s cubic-bezier(.16,1,.3,1),background .3s ease,box-shadow .3s ease}.button:hover{background:#e6e6e6;transform:translateY(-2px);box-shadow:var(--shadow-sm)}.button:active{transform:translateY(0)}.button:disabled{cursor:not-allowed;opacity:.35;transform:none;box-shadow:none}.secondary{min-height:48px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:0 20px;cursor:pointer;font-weight:500;font-size:.92rem;transition:border-color .3s ease,background .3s ease}.secondary:hover{border-color:rgba(255,255,255,.3);background:var(--surface-2)}.secondary:disabled{cursor:not-allowed;opacity:.4}.message{min-height:22px;margin:0;font-size:.88rem;font-weight:400;line-height:1.5}.message[data-kind=error]{color:var(--danger)}.message[data-kind=success]{color:var(--success)}.footerText{margin:28px 0 0;text-align:center;color:var(--muted);font-size:.85rem;font-weight:300}.account{width:min(100%,840px);padding:48px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius-lg);animation:scaleReveal .8s cubic-bezier(.16,1,.3,1) forwards}.accountHeader{justify-content:space-between;gap:24px;margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid var(--border)}.accountHeader,.profile{display:flex;align-items:center}.profile{gap:20px}.avatar{display:grid;place-items:center;width:72px;height:72px;flex-shrink:0;border-radius:50%;background:var(--surface-2);color:var(--text);font-size:1.8rem;font-weight:300;background-position:50%;background-size:cover;border:1px solid var(--border)}.accountLabel{margin:0 0 4px;color:var(--muted);font-size:.85rem;font-weight:400}.accountName{margin:0;font-size:1.6rem;font-weight:400}.details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.detail{padding:20px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);transition:border-color .3s ease,transform .3s ease}.detail:hover{border-color:rgba(255,255,255,.2);transform:translateY(-2px)}.detail span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.detail strong{font-size:1.1rem;font-weight:400;overflow-wrap:anywhere}.detail strong,.loadingState{display:flex;align-items:center}.loadingState{gap:12px;color:var(--muted);font-size:.95rem}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--text);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.oauthCard{width:min(100%,560px);padding:48px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius-lg);text-align:center;animation:fadeUp .8s cubic-bezier(.16,1,.3,1) forwards}.oauthCard .brandMark{margin:0 auto 28px}.oauthCard h1{font-size:1.5rem;font-weight:400;margin:12px 0}.oauthActions{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-top:36px}@media (max-width:900px){.shell{grid-template-columns:1fr}.intro{border-right:none;border-bottom:1px solid var(--border)}.intro,.panel{padding:40px}}@media (max-width:560px){.page{padding:16px}.shell{border-radius:var(--radius)}.intro,.panel{padding:28px 24px}.introHeading{margin-top:32px}.intro h1{font-size:2rem}.securityNote{display:none}.account,.oauthCard{padding:28px 20px}.details{grid-template-columns:1fr;gap:12px}.accountHeader{flex-direction:column;align-items:flex-start;gap:16px}.oauthActions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}