:root{font-family:"Microsoft YaHei",Inter,Arial,sans-serif;color:#eaf0ff;background:#090e20;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 17% 12%,#182650 0,transparent 39%),radial-gradient(ellipse at 83% 90%,#141c3a 0,transparent 41%),#090e20}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.hidden{display:none!important}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,64px);border-bottom:1px solid #ffffff16;background:#0b1227c4;backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:800;letter-spacing:.04em}.brand img{width:36px;height:36px}.brand small{color:#9faee0;font-size:14px;font-weight:500}.brand em{font-size:11px;font-style:normal;color:#9abaff;border:1px solid #526bad;border-radius:20px;padding:3px 8px;margin-left:6px}.top-right{display:flex;gap:18px;align-items:center;color:#aebce2;font-size:13px}.link{border:0;background:transparent;color:#b7c8ff;padding:6px}.auth-layout{max-width:1120px;min-height:calc(100vh - 70px);margin:auto;display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:center;padding:52px 30px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.24em;color:#8ea3e3;text-transform:uppercase}.intro h1{font-size:clamp(42px,5vw,70px);line-height:1.18;letter-spacing:-.055em;margin:22px 0}.intro h1 span{background:none;color:#aebcff;-webkit-text-fill-color:currentColor}.intro>p{max-width:460px;color:#aab6d1;line-height:1.9;font-size:15px}.privacy-card{margin-top:48px;display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid #667fc149;background:#1925437a;border-radius:18px;max-width:430px}.privacy-card strong,.privacy-card small{display:block}.privacy-card small{color:#9aa9ca;margin-top:5px;font-size:12px}.dot{width:9px;height:9px;border-radius:50%;background:#54d3ad;box-shadow:0 0 0 5px #54d3ad22;flex:none}.auth-card,.card{background:#111a30e8;border:1px solid #8094cf2d;border-radius:22px;box-shadow:0 22px 65px #0003}.auth-card{padding:28px 34px 34px}.tabs{display:flex;border-bottom:1px solid #ffffff20;margin-bottom:28px}.tabs button{flex:1;background:none;color:#8596be;border:0;padding:12px;font-weight:700}.tabs button.selected{color:#fff;border-bottom:2px solid #8298ff}.auth-card h2{font-size:22px;margin:0 0 26px}.auth-card label,.card label{display:flex;flex-direction:column;gap:9px;color:#ccd7f2;font-size:13px;margin-bottom:20px}input,select,textarea{width:100%;outline:none;border:1px solid #65759d54;background:#0b1428;color:#f2f6ff;border-radius:10px;padding:12px 14px;min-height:45px}textarea{resize:vertical;line-height:1.65}input:focus,select:focus,textarea:focus{border-color:#93a2ff;box-shadow:0 0 0 3px #778bff22}input::placeholder,textarea::placeholder{color:#687999}.primary,.secondary{border-radius:10px;min-height:43px;padding:10px 18px;font-weight:700;border:1px solid transparent}.primary{background:linear-gradient(110deg,#7869df,#527cd9);color:white;box-shadow:0 8px 25px #5766cc46}.primary:hover:not(:disabled){filter:brightness(1.12)}.secondary{background:#1b2845;color:#d6e1ff;border-color:#5b729b55}.secondary:hover:not(:disabled){background:#253658}.auth-card .primary{width:100%;margin-top:4px}.code-row{display:flex;gap:10px;align-items:flex-end}.code-row label{flex:1}.code-row button{margin-bottom:20px;white-space:nowrap}.help{font-size:12px;color:#8b9abc;line-height:1.65}.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 70px)}.side{border-right:1px solid #ffffff14;background:#0c1429b2;padding:26px 15px;display:flex;flex-direction:column}.side-label{font-size:11px;color:#6f83b1;margin:4px 12px 20px;letter-spacing:.15em}.nav{text-align:left;width:100%;border:0;background:transparent;color:#9bacd0;border-radius:10px;padding:13px 16px;margin:3px 0;font-weight:600}.nav:hover,.nav.active{background:#24365e;color:#f1f5ff}.side-foot{margin-top:auto;padding:14px 12px;color:#899cc1;font-size:11px;display:flex;align-items:center;gap:12px}.content{padding:38px clamp(24px,5vw,68px);max-width:1200px;width:100%}.heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:32px}.heading h1{font-size:32px;margin:10px 0}.heading p{color:#a9b7d2;margin:0;font-size:14px;line-height:1.65}.badge{background:#1b4149;color:#8fe4d3;border-radius:100px;padding:7px 12px;font-size:11px;white-space:nowrap}.card{padding:26px;margin-bottom:18px;border-radius:17px}.card h2{font-size:17px;margin:0 0 18px}.card>p{color:#aab8d3;line-height:1.7}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.actions input{max-width:360px}.muted{color:#90a1c4;font-size:12px}.grid2,.grid3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.result{white-space:pre-wrap;word-break:break-word;color:#dbe5ff;background:#0a1326;border:1px solid #ffffff16;min-height:140px;padding:18px;border-radius:12px;line-height:1.75;max-height:480px;overflow:auto;font-family:inherit}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}th,td{border-bottom:1px solid #ffffff17;padding:12px 10px;white-space:nowrap}th{color:#8fa2c9;font-weight:600}td{color:#d7e0f5}#toast{position:fixed;right:26px;bottom:24px;background:#263a60;color:#fff;border:1px solid #6b83b5;border-radius:10px;padding:12px 18px;opacity:0;transform:translateY(12px);transition:.2s;pointer-events:none;max-width:min(400px,calc(100vw - 40px));font-size:13px}#toast.show{opacity:1;transform:translateY(0)}@media(max-width:820px){.auth-layout{grid-template-columns:1fr;gap:36px;padding:40px 20px}.intro h1{font-size:40px}.privacy-card{margin-top:22px}.auth-card{max-width:560px;width:100%;margin:auto}.shell{grid-template-columns:1fr}.side{flex-direction:row;flex-wrap:wrap;gap:5px;padding:10px;border-right:0;border-bottom:1px solid #ffffff20}.side-label,.side-foot{display:none}.nav{width:auto;padding:10px;font-size:12px}.content{padding:26px 18px}.heading h1{font-size:26px}.grid2,.grid3{grid-template-columns:1fr}.topbar{padding:0 15px}.brand{font-size:15px}.brand small{font-size:12px}.top-right{font-size:11px}}
.asset-list{margin-top:18px;display:grid;gap:8px}.asset-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;background:#0b1428;border:1px solid #ffffff17;border-radius:9px;font-size:12px}.asset-item small{color:#8da1c7}.asset-item button{border:0;background:transparent;color:#95b8ff}

.brand img{width:48px;height:48px;object-fit:contain}.side .nav{text-decoration:none}.auth-layout .intro .privacy-card{display:none}

.admin-only .side{display:none!important}.admin-only .shell{display:block!important}.admin-only .shell.hidden{display:none!important}.admin-only .content{max-width:1200px;margin:0 auto;padding:32px 24px}.admin-only .brand em{display:none}

.login-preferences{display:flex;align-items:center;justify-content:space-between;margin:2px 0 14px;padding:2px 0;gap:16px}.auth-card .remember-toggle{position:relative;display:inline-flex;flex-direction:row;align-items:center;gap:10px;margin:0;cursor:pointer;font-size:13px;color:#c9d3ed}.remember-toggle input[type=checkbox]{position:absolute;width:1px;height:1px;min-height:0;padding:0;opacity:0}.remember-switch{width:32px;height:19px;flex:none;border:1px solid #6b739555;border-radius:20px;background:#263047;transition:.18s}.remember-switch:after{content:"";display:block;width:13px;height:13px;margin:2px;border-radius:50%;background:#8f9bb8;transition:.18s}.remember-toggle input:checked+.remember-switch{background:#7369d8;border-color:#9389ed}.remember-toggle input:checked+.remember-switch:after{transform:translateX(13px);background:white}.remember-toggle input:focus-visible+.remember-switch{outline:2px solid #b9c5ff;outline-offset:3px}.device-only{font-size:11px;color:#7e8aa7}.password-note{font-size:11px;color:#7e8aa7;margin:0 0 20px;line-height:1.6}

.member-hero{display:flex;align-items:center;gap:28px;padding:30px 36px;background:radial-gradient(ellipse at 10% 50%,#39305280,transparent 65%),#11172d;border:1px solid #38354d;border-radius:20px;margin-bottom:28px}
.member-hero img{width:122px;height:122px;object-fit:contain;filter:drop-shadow(0 6px 14px #0008)}
.member-hero h2{font-size:26px;margin:10px 0}.member-hero p{color:#aeb8cf;overflow-wrap:anywhere}.member-line{display:flex;gap:16px;align-items:center;flex-wrap:wrap;color:#aeb8cf}.member-line strong{color:#e8c983}
.account-tabs{display:flex;gap:24px;border-bottom:1px solid #303950;margin-bottom:24px}.account-tabs button{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;color:#aeb8cf;padding:12px 4px}.account-tabs .selected{color:#fff;border-color:#a899f1}
.account-section .card{max-width:900px}.profile-facts{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:26px 0}.profile-facts span,.profile-facts strong{display:block;overflow-wrap:anywhere}.profile-facts span{color:#8f9ab6;font-size:13px;margin-bottom:9px}.profile-facts strong{font-weight:500}
.form-status{min-height:22px;line-height:1.6;color:#bfbcf3}.account-section .link{margin-left:14px}.account-section hr{border:0;border-top:1px solid #303950;margin:24px 0}.account-section h3{font-size:15px}
.recovery-dialog{width:min(460px,calc(100vw - 40px));box-sizing:border-box;padding:30px;border:1px solid #575570;border-radius:20px;background:#11172d;color:#eff0ff;box-shadow:0 24px 100px #0008}.recovery-dialog::backdrop{background:#080b1cd9;backdrop-filter:blur(6px)}.recovery-dialog header{display:flex;justify-content:space-between;align-items:start}.recovery-dialog h2{margin:8px 0}.recovery-code-row{display:flex;align-items:center;gap:12px}.recovery-code-row label{flex:1;min-width:0}.recovery-code-row button{margin-top:8px;white-space:nowrap}.recovery-dialog .primary{width:100%}.recovery-dialog .form-status{font-size:13px}.login-preferences .link{font-size:12px;padding:4px 0}
@media(max-width:650px){.member-hero{padding:20px;gap:18px}.member-hero img{width:80px;height:80px}.member-hero h2{font-size:21px}.profile-facts{grid-template-columns:1fr}.account-tabs{gap:18px}.recovery-dialog{padding:22px}}

.recovery-dialog label{display:flex;flex-direction:column;gap:7px;margin:16px 0;font-size:13px;color:#bec9e4}.recovery-code-row label{margin:0}.recovery-code-row{margin:16px 0}.recovery-code-row button{align-self:end;margin:0}

/* Login particle ribbon: isolated background, readable controls. */
.auth-layout{position:relative;isolation:isolate}
#authFlow{position:fixed;inset:70px 0 0;width:100vw;height:calc(100vh - 70px);pointer-events:none;z-index:-2}
.auth-layout:before{content:"";position:fixed;inset:70px 0 0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 23% 48%,#090e20c4,transparent 58%)}
.auth-layout .intro{position:relative;text-shadow:0 2px 26px #090e20}
.auth-layout .auth-card{background:linear-gradient(145deg,#141b33f5,#10162bf5);border-color:#96a1de38;box-shadow:0 24px 85px #02051066,0 1px 0 #ffffff08 inset;backdrop-filter:blur(18px)}
.motion-toggle{position:absolute;right:30px;bottom:18px;background:#11182b9c;border:1px solid #9baee033;color:#a6b4d4;border-radius:30px;padding:7px 12px;font-size:11px;letter-spacing:.08em}
.motion-toggle:hover{color:#eaf0ff;border-color:#abbaff88}.motion-toggle:focus-visible{outline:2px solid #aebcff;outline-offset:3px}
@media(max-width:700px){#authFlow{opacity:.6}.motion-toggle{bottom:10px}}
