:root{--color-canvas:#f4f5f7;--color-surface:#fff;--color-surface-muted:#f8f9fa;--color-text:#17191c;--color-text-secondary:#60656d;--color-text-tertiary:#858b93;--color-border:#dfe2e6;--color-border-strong:#c8cdd3;--color-action:#1769d2;--color-action-hover:#115bb9;--color-action-soft:#edf4fd;--color-danger:#b42318;--color-danger-soft:#fff3f1;--color-success:#18794e;--color-success-soft:#edf8f2;--focus-ring:#1769d233;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--ease-out:cubic-bezier(.23, 1, .32, 1);color:var(--color-text);background:var(--color-canvas);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility}*,:before,:after{box-sizing:border-box}html{background:var(--color-canvas);min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{letter-spacing:0}a{color:var(--color-action);text-underline-offset:3px}.app-shell{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.site-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;width:min(100% - 40px,1120px);min-height:76px;margin:0 auto;display:flex}.brand-link{color:var(--color-text);text-decoration:none}.brand-link:focus-visible,.auth-switch a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px;border-radius:3px}.brand-mark{letter-spacing:0;align-items:center;min-width:0;display:inline-flex}.brand-wordmark{font-size:16px;font-weight:760;line-height:1}.brand-divider{background:var(--color-border-strong);width:1px;height:16px;margin:0 11px}.brand-caption{color:var(--color-text-secondary);font-size:14px;font-weight:500;line-height:1}.header-account{justify-items:end;max-width:45%;font-size:13px;line-height:1.4;display:grid}.header-account-name,.header-account-email{overflow-wrap:anywhere;text-align:right}.header-account-name{font-weight:650}.header-account-email{color:var(--color-text-tertiary)}.page-content{width:100%;padding:64px 20px 72px;display:grid}.auth-layout,.profile-layout{width:min(100%,920px);margin:auto}.auth-layout{grid-template-columns:minmax(0,1fr) minmax(320px,400px);align-items:start;gap:clamp(72px,10vw,144px);display:grid}.auth-intro,.profile-heading{padding-top:12px}.eyebrow{color:var(--color-action);margin:0 0 12px;font-size:13px;font-weight:700;line-height:1.4}h1,h2,p{letter-spacing:0}h1{margin:0;font-size:34px;font-weight:700;line-height:1.2}.auth-intro>p:last-child,.profile-heading>p:last-child{max-width:440px;color:var(--color-text-secondary);margin:16px 0 0;font-size:15px;line-height:1.75}.auth-form{border-left:1px solid var(--color-border);gap:20px;padding-left:40px;display:grid}.field{gap:8px;min-width:0;display:grid}.field-label{font-size:14px;font-weight:650;line-height:1.4}.field-hint{color:var(--color-text-secondary);font-size:12px;line-height:1.5}.email-verification-control{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.verification-button{white-space:nowrap;min-height:44px}.verification-code-input{letter-spacing:4px;max-width:180px}.text-input{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:5px;outline:none;width:100%;height:48px;padding:0 13px;font-size:16px;line-height:1;transition:border-color .15s,box-shadow .15s}.text-input:focus{border-color:var(--color-action);box-shadow:0 0 0 4px var(--focus-ring)}.password-control{display:block;position:relative}.password-input{padding-right:70px}.password-toggle{min-width:54px;height:36px;color:var(--color-action);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0 9px;font-size:13px;font-weight:650;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-toggle:focus-visible{outline:3px solid var(--focus-ring)}.primary-button,.secondary-button{cursor:pointer;min-height:46px;transition:background-color .14s ease, border-color .14s ease, color .14s ease, opacity .14s ease, transform .14s var(--ease-out);border-radius:5px;justify-content:center;align-items:center;font-size:14px;font-weight:700;line-height:1;display:inline-flex}.primary-button{border:1px solid var(--color-action);background:var(--color-action);color:#fff;width:100%;margin-top:4px;padding:0 18px}.secondary-button{border:1px solid var(--color-border-strong);background:var(--color-surface);min-width:104px;padding:0 16px}.primary-button:focus-visible,.secondary-button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled){transform:scale(.98)}.primary-button:disabled{cursor:wait;opacity:.62}.button-spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:14px;height:14px;margin-right:8px;animation:.7s linear infinite spin}.auth-switch{color:var(--color-text-secondary);text-align:center;margin:0;font-size:13px;line-height:1.6}.auth-switch a{font-weight:650}.status-message{border:1px solid;border-radius:4px;margin:0;padding:11px 12px;font-size:13px;line-height:1.55}.status-error{background:var(--color-danger-soft);color:var(--color-danger);border-color:#f0c7c2}.status-success{background:var(--color-success-soft);color:var(--color-success);border-color:#b9dfcd}.profile-layout{gap:40px;display:grid}.profile-heading h1{overflow-wrap:anywhere}.profile-content{border-top:1px solid var(--color-border-strong)}.details-list{margin:0}.detail-row{border-bottom:1px solid var(--color-border);grid-template-columns:180px minmax(0,1fr);gap:24px;padding:22px 0;display:grid}.detail-row dt,.detail-row dd{margin:0;font-size:15px;line-height:1.6}.detail-row dt{color:var(--color-text-secondary)}.detail-row dd{overflow-wrap:anywhere;font-weight:600}.tabular-number{font-variant-numeric:tabular-nums}.account-action{justify-content:space-between;align-items:center;gap:32px;padding:32px 0 0;display:flex}.account-action h2{margin:0;font-size:15px;font-weight:700;line-height:1.4}.account-action p{color:var(--color-text-secondary);margin:6px 0 0;font-size:13px;line-height:1.6}.danger-button{color:var(--color-danger);border-color:#e2b7b2;flex:none}.loading-state{min-height:240px;color:var(--color-text-secondary);justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex}.loading-dot{border:2px solid var(--color-border-strong);border-top-color:var(--color-action);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}.site-footer{min-height:64px;color:var(--color-text-tertiary);text-align:center;justify-content:center;align-items:center;gap:8px;padding:16px 20px;font-size:12px;line-height:1.5;display:flex}.page-enter-active,.page-leave-active{transition:opacity .18s var(--ease-out), transform .18s var(--ease-out)}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0;transform:translateY(-4px)}@keyframes spin{to{transform:rotate(360deg)}}@media (hover:hover) and (pointer:fine){.primary-button:hover:not(:disabled){border-color:var(--color-action-hover);background:var(--color-action-hover)}.password-toggle:hover{background:var(--color-action-soft)}.danger-button:hover{border-color:var(--color-danger);background:var(--color-danger-soft)}}@media (width<=720px){.site-header{width:calc(100% - 32px);min-height:68px}.header-account-email{display:none}.page-content{padding:44px 20px 56px}.auth-layout{grid-template-columns:minmax(0,1fr);gap:36px;max-width:430px}.auth-intro{padding-top:0}h1{font-size:30px}.auth-form{border-top:1px solid var(--color-border);border-left:0;gap:18px;padding:28px 0 0}.profile-layout{gap:32px}.detail-row{grid-template-columns:110px minmax(0,1fr);gap:16px}}@media (width<=430px){.brand-divider,.brand-caption{display:none}.header-account{max-width:52%}.page-content{padding-left:16px;padding-right:16px}.detail-row{grid-template-columns:minmax(0,1fr);gap:5px;padding:18px 0}.account-action{flex-direction:column;align-items:stretch;gap:18px}.secondary-button{width:100%}.site-footer span[aria-hidden=true],.site-footer span:last-child{display:none}}@media (prefers-reduced-motion:reduce){.page-enter-active,.page-leave-active{transition:opacity .18s}.page-enter-from,.page-leave-to{transform:none}.primary-button,.secondary-button{transition:background-color .14s,border-color .14s,color .14s,opacity .14s}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled){transform:none}}
