
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;color-scheme:dark;color:#f4f7fb;background:#0b1016;--bg:#0b1016;--panel:#121922;--panel-raised:#17212c;--soft:#0f161e;--line:#273442;--line-strong:#3b4b5c;--ink:#f4f7fb;--muted:#99a7b6;--faint:#6f7f90;--blue:#4b7dff;--blue-strong:#6b68ff;--mint:#55d9b7;--danger:#ff7182;--warning:#f5c96a;--shadow:0 24px 70px rgba(0,0,0,.28)}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{min-width:0;background:var(--bg)}
body{margin:0;min-width:0;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 7% -6%,rgba(75,125,255,.2),transparent 34rem),radial-gradient(circle at 98% 9%,rgba(85,217,183,.12),transparent 28rem),var(--bg);color:var(--ink)}
button,input{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.48}
.topbar{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(39,52,66,.82);background:rgba(11,16,22,.84);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.topbar-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;width:min(1120px,calc(100% - 40px));min-height:68px;margin:0 auto}
.brand{display:grid;color:var(--ink);text-decoration:none;line-height:.78;letter-spacing:-.05em}.brand span{font-size:12px;font-weight:620}.brand strong{font-size:18px}.topbar-copy{display:grid;min-width:0;gap:2px}.topbar-copy strong{font-size:13px}.topbar-copy span{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
main{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:38px 0 30px}.compliance-footer{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:0 0 max(30px,env(safe-area-inset-bottom));color:var(--faint);font-size:11px;text-align:center}.compliance-footer a{color:inherit;text-decoration:none}.compliance-footer a:hover{text-decoration:underline}
.loading-shell{display:grid;min-height:calc(100svh - 144px);place-items:center}.loading-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;width:min(440px,100%);padding:22px;border:1px solid var(--line);border-radius:20px;background:rgba(18,25,34,.88);box-shadow:var(--shadow)}.loading-card strong{display:block;font-size:15px}.loading-card p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.loading-card .button{grid-column:1/-1}.spinner{width:28px;height:28px;border:3px solid rgba(75,125,255,.18);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.notice{position:fixed;top:82px;left:50%;z-index:40;width:min(520px,calc(100% - 32px));padding:13px 15px;transform:translateX(-50%);border:1px solid rgba(85,217,183,.35);border-radius:13px;background:#17251f;color:#dffaf1;box-shadow:var(--shadow);font-size:13px}.notice.error{border-color:rgba(255,113,130,.42);background:#29171c;color:#ffdce1}
.auth-shell{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);align-items:center;gap:28px;min-height:calc(100svh - 144px)}.auth-card-stack{min-width:0}
.hero-card,.panel{min-width:0;border:1px solid rgba(39,52,66,.95);border-radius:24px;background:rgba(18,25,34,.92);box-shadow:var(--shadow)}
.hero-card{display:grid;align-content:space-between;gap:34px;min-height:558px;padding:44px;background:linear-gradient(145deg,rgba(22,33,45,.96),rgba(13,21,29,.96))}
.eyebrow,.section-kicker{margin:0;color:#8ba8ff;font-size:10px;font-weight:850;letter-spacing:.17em}.section-kicker{margin-bottom:7px;color:var(--faint)}
.hero-copy h1,.page-heading h1{max-width:700px;margin:10px 0 16px;font-size:clamp(38px,5vw,64px);line-height:.98;letter-spacing:-.055em}.hero-copy>p:last-child{max-width:660px;margin:0;color:#bdc7d2;font-size:15px;line-height:1.72}
.route-map{position:relative;display:grid;grid-template-columns:auto minmax(90px,1fr) auto;align-items:end;gap:18px;min-height:128px;padding:36px 12px 0}.route-cloud{position:absolute;top:0;left:50%;padding:7px 11px;transform:translateX(-50%);border:1px solid rgba(139,168,255,.22);border-radius:999px;background:rgba(75,125,255,.08);color:#aebfff;font-size:10px;font-weight:750;white-space:nowrap}.device{display:grid;justify-items:center;gap:9px;color:var(--muted);font-size:10px;font-weight:750}.device i{display:block;border:2px solid #dce6f0;background:#19232e;box-shadow:inset 0 0 0 4px #0e151d}.device-phone i{width:42px;height:72px;border-radius:11px}.device-desktop i{position:relative;width:100px;height:64px;border-radius:9px}.device-desktop i:after{position:absolute;right:27px;bottom:-10px;left:27px;height:7px;border-top:2px solid #dce6f0;border-bottom:2px solid #dce6f0;content:""}.route-line{position:relative;align-self:center;height:3px;margin-bottom:20px;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--mint))}.route-line:before{position:absolute;top:50%;left:50%;padding:5px 8px;transform:translate(-50%,-50%);border:1px solid rgba(85,217,183,.25);border-radius:999px;background:#101821;color:#b6f4e2;content:"直连";font-size:9px;font-weight:850;letter-spacing:.1em}.route-line i{position:absolute;top:-3px;left:0;width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 14px rgba(85,217,183,.9);animation:route 2.8s ease-in-out infinite}@keyframes route{0%{left:0}50%{left:calc(100% - 9px)}100%{left:0}}
.trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.trust-grid div{display:grid;gap:4px;padding:14px;border:1px solid rgba(39,52,66,.78);border-radius:14px;background:rgba(9,14,20,.32)}.trust-grid strong{font-size:16px}.trust-grid span{color:var(--muted);font-size:10px;line-height:1.4}
.panel{padding:24px}.auth-panel{align-self:center;padding:28px}.panel-intro h2,.panel-heading h2,.admin-heading h2{margin:7px 0 6px;font-size:22px;letter-spacing:-.025em}.panel-intro>p:last-child,.panel-heading p,.admin-heading>div>p:last-child,.page-heading>div>p:last-child{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.auth-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.auth-card-heading .button{flex:0 0 auto}
.registration-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;padding:14px 2px 0;border-top:1px solid var(--line);color:var(--faint);font-size:11px}.registration-cta.is-open{color:#94dfcb}.button-link{min-height:auto;padding:0;border:0;background:transparent;color:#aebfff;font-size:11px;font-weight:800}.button-link:hover{text-decoration:underline}
.form-stack{display:grid;gap:15px;margin-top:18px}.form-stack label{display:grid;gap:7px}.form-stack label span{font-size:11px;font-weight:750}.form-stack input{width:100%;height:48px;padding:0 13px;border:1px solid var(--line);border-radius:11px;background:#0f161e;color:var(--ink);outline:none}.form-stack input::placeholder{color:#5f6e7e}.form-stack input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(75,125,255,.14)}.form-stack small{color:var(--muted);font-size:10px;line-height:1.5}
.turnstile-shell{display:grid;gap:6px;min-width:0;min-height:72px;overflow:hidden}.turnstile-shell>div{min-width:0;min-height:65px}.turnstile-shell iframe{max-width:100%!important}.turnstile-shell small{color:var(--faint)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border-radius:10px;font-weight:780;text-decoration:none;transition:border-color .16s ease,background .16s ease,transform .16s ease}.button:not(:disabled):active{transform:translateY(1px)}.button-primary{border:0;background:linear-gradient(135deg,var(--blue),var(--blue-strong));color:#fff;box-shadow:0 10px 24px rgba(75,125,255,.18)}.button-secondary{border:1px solid rgba(75,125,255,.34);background:rgba(75,125,255,.1);color:#b9c9ff}.button-quiet{border:1px solid var(--line);background:var(--panel-raised);color:var(--ink)}.button-small{min-height:36px;padding:0 12px;font-size:11px}.button-block{width:100%}
.auth-boundary{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:9px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;line-height:1.55}.auth-boundary i,.boundary-badge i{width:8px;height:8px;margin-top:3px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 5px rgba(85,217,183,.1)}
.authorization-shell{display:grid;min-height:calc(100svh - 144px);place-items:center}.authorization-panel{width:min(620px,100%);padding:34px}.authorization-panel h1{margin:9px 0 12px;font-size:clamp(32px,6vw,48px);line-height:1;letter-spacing:-.045em}.authorization-lead,.authorization-complete>p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.authorization-device{display:flex;align-items:center;gap:14px;margin-top:26px;padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--soft)}.authorization-device-icon{position:relative;display:block;width:42px;height:29px;border:2px solid #dce6f0;border-radius:5px;background:#19232e;box-shadow:inset 0 0 0 3px #0e151d}.authorization-device-icon:after{position:absolute;right:10px;bottom:-7px;left:10px;height:4px;border-top:2px solid #dce6f0;content:""}.authorization-device div{display:grid;gap:3px;min-width:0}.authorization-device small{color:var(--faint);font-size:9px;font-weight:780;letter-spacing:.08em;text-transform:uppercase}.authorization-device strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.authorization-warning{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:11px;margin-top:14px;padding:14px;border:1px solid rgba(245,201,106,.24);border-radius:13px;background:rgba(245,201,106,.06)}.authorization-warning i{width:8px;height:8px;margin-top:4px;border-radius:50%;background:var(--warning);box-shadow:0 0 0 5px rgba(245,201,106,.09)}.authorization-warning span{display:grid;gap:4px}.authorization-warning strong{font-size:11px}.authorization-warning small{color:var(--muted);font-size:10px;line-height:1.5}.authorization-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.authorization-complete{display:grid;justify-items:center;padding:18px 0;text-align:center}.authorization-success-mark{display:grid;width:58px;height:58px;margin-bottom:20px;place-items:center;border:1px solid rgba(85,217,183,.38);border-radius:50%;background:rgba(85,217,183,.1);color:#a5ecd9;font-size:28px;font-weight:850}.authorization-complete>p{max-width:450px}.authorization-complete .button{margin-top:24px}
.account-shell{padding-top:10px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:26px}.page-heading h1{margin:8px 0 10px;font-size:clamp(36px,5vw,58px)}.boundary-badge{display:flex;align-items:center;gap:11px;flex:0 0 auto;padding:11px 14px;border:1px solid rgba(85,217,183,.27);border-radius:14px;background:rgba(85,217,183,.07)}.boundary-badge i{margin:0}.boundary-badge span{display:grid;gap:2px}.boundary-badge strong{font-size:11px}.boundary-badge small{color:#9edccb;font-size:9px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.panel-heading h2{margin-top:0}.list-stack{display:grid;gap:10px}.list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.list-row-main{display:grid;gap:5px;min-width:0}.list-row-main strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.list-row-main small{overflow-wrap:anywhere;color:var(--muted);font-size:10px}.status-line{display:flex;align-items:center;gap:8px;min-width:0}.status-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#657383}.status-dot.online{background:var(--mint);box-shadow:0 0 0 4px rgba(85,217,183,.1)}.list-actions{display:flex;align-items:center;gap:7px}.list-actions button{min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:var(--panel-raised);color:var(--ink);font-size:10px;font-weight:750}.list-actions button.connect{border-color:rgba(75,125,255,.32);background:var(--blue);color:#fff}.list-actions button.danger{color:#ff9ba8}.empty-state{display:grid;min-height:178px;place-items:center;padding:24px;border:1px dashed var(--line-strong);border-radius:14px;color:var(--muted);font-size:12px;line-height:1.6;text-align:center}.empty-state.is-loading{min-height:120px;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.58}}
.desktop-enroll-guide{display:grid;gap:9px}.desktop-enroll-guide>span{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.desktop-enroll-guide strong{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:rgba(75,125,255,.12);color:#aebfff;font-size:10px}.desktop-enroll-guide small{color:var(--muted);font-size:10px;line-height:1.45}.boundary-list{display:grid;gap:9px;margin:18px 0 0;padding:17px 0 0;border-top:1px solid var(--line);list-style:none}.boundary-list li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:8px;color:var(--muted);font-size:10px;line-height:1.45}.boundary-list strong{color:#aeb9c5}.boundary-list li:last-child strong{color:#ff9ba8}
.recommendations-shell{margin-top:28px;padding:22px;border:1px solid rgba(39,52,66,.82);border-radius:20px;background:rgba(13,20,28,.72)}.recommendations-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}.recommendations-heading h2{margin:5px 0 4px;font-size:18px;letter-spacing:-.02em}.recommendations-heading p:last-child{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.recommendations-heading>span{flex:0 0 auto;padding:5px 8px;border:1px solid var(--line);border-radius:999px;color:var(--faint);font-size:8px;font-weight:800;letter-spacing:.08em}.recommendation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.recommendation-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:92px;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--soft);color:var(--ink);text-decoration:none;transition:border-color .16s ease,background .16s ease,transform .16s ease}.recommendation-card:hover{border-color:var(--line-strong);background:var(--panel-raised);transform:translateY(-1px)}.recommendation-card:focus-visible{outline:3px solid rgba(75,125,255,.28);outline-offset:2px}.recommendation-mark{display:grid;width:48px;height:48px;place-items:center;border:1px solid rgba(75,125,255,.24);border-radius:14px;background:linear-gradient(145deg,rgba(75,125,255,.2),rgba(107,104,255,.08));color:#c8d4ff;font-size:18px;font-weight:900}.recommendation-card.accent-violet .recommendation-mark{border-color:rgba(163,120,255,.28);background:linear-gradient(145deg,rgba(163,120,255,.22),rgba(75,125,255,.08));color:#dccaff}.recommendation-card.accent-mint .recommendation-mark{border-color:rgba(85,217,183,.28);background:rgba(85,217,183,.11);color:#b6f4e2}.recommendation-card.accent-amber .recommendation-mark{border-color:rgba(245,201,106,.3);background:rgba(245,201,106,.1);color:#f9dda0}.recommendation-copy{display:grid;gap:3px;min-width:0}.recommendation-copy small{color:var(--faint);font-size:8px;font-weight:820;letter-spacing:.08em;text-transform:uppercase}.recommendation-copy strong{font-size:13px}.recommendation-copy p{margin:2px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.recommendation-action{align-self:end;color:#aebfff;font-size:9px;font-weight:800;white-space:nowrap}.recommendation-action:after{margin-left:4px;content:"↗"}
.admin-section{margin-top:42px;padding-top:36px;border-top:1px solid var(--line)}.admin-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.operator-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border:1px solid var(--line);border-radius:999px;background:#17212b;color:var(--muted);font-size:9px;font-weight:800}.pill.active{border-color:rgba(85,217,183,.22);background:rgba(85,217,183,.09);color:#9ce6d2}.pill.disabled{border-color:rgba(255,113,130,.22);background:rgba(255,113,130,.08);color:#ffabb6}
.admin-control-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px;margin-bottom:18px}.settings-panel,.create-user-panel{box-shadow:none}.setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 0;border-top:1px solid var(--line)}.setting-row strong{display:block;font-size:12px}.setting-row small{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.5}.setting-actions,.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.compact-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.compact-form input{height:44px}.form-actions .button{flex:1 1 auto}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.metric-card{min-height:100px;padding:15px;border:1px solid var(--line);border-radius:15px;background:rgba(18,25,34,.9)}.metric-card strong{display:block;font-size:24px;letter-spacing:-.035em}.metric-card span{display:block;margin-top:6px;color:var(--muted);font-size:9px}.metric-card small{display:block;margin-top:5px;color:var(--faint);font-size:8px}.metric-card.tone-safe{border-color:rgba(85,217,183,.27);background:linear-gradient(145deg,rgba(85,217,183,.08),rgba(18,25,34,.92))}.metric-card.tone-safe strong{color:#a5ecd9}.metric-card.tone-watch{border-color:rgba(255,196,92,.35);background:rgba(255,196,92,.07)}.metric-card.tone-watch strong{color:#ffd58a}.metric-card.tone-danger{border-color:rgba(255,113,130,.42);background:rgba(255,113,130,.08)}.metric-card.tone-danger strong{color:#ffabb6}.metric-card.is-loading{min-height:100px;animation:pulse 1.4s ease-in-out infinite}.admin-grid{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr)}.compact-list .list-row{padding:11px}.compact-list .list-row-main strong{font-size:11px}.user-page-button{margin-top:12px}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr;align-items:start;min-height:auto}.auth-card-stack{order:-1}.hero-card{min-height:auto}.dashboard-grid,.admin-grid,.admin-control-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.topbar-inner,main{width:min(100% - 28px,560px)}.topbar-inner{gap:11px;min-height:62px}.topbar-copy span{display:none}.topbar-copy strong{font-size:12px}.brand span{font-size:10px}.brand strong{font-size:16px}.topbar .button{min-height:34px;padding:0 10px}.topbar .button-small{font-size:10px}main{padding-top:22px}.auth-shell{gap:14px}.auth-panel,.panel{padding:18px;border-radius:19px}.auth-card-heading{gap:10px}.auth-card-heading .button{min-height:36px;padding:0 10px}.authorization-actions{display:grid;grid-template-columns:1fr}.authorization-actions .button-primary{order:-1}.hero-card{gap:24px;padding:24px;border-radius:19px}.hero-copy h1{font-size:34px}.hero-copy>p:last-child{font-size:13px}.route-map{grid-template-columns:auto minmax(66px,1fr) auto;gap:10px;min-height:112px;padding-right:0;padding-left:0}.device-desktop i{width:78px;height:52px}.trust-grid{gap:7px}.trust-grid div{padding:11px}.trust-grid strong{font-size:14px}.trust-grid span{font-size:9px}.page-heading{display:grid;align-items:start;gap:17px}.page-heading h1{font-size:38px}.boundary-badge{justify-self:start}.panel-heading{align-items:flex-start}.desktop-panel .panel-heading{display:grid;grid-template-columns:minmax(0,1fr) auto}.list-row{grid-template-columns:1fr}.list-actions{justify-content:flex-start}.list-actions button{min-height:38px}.recommendations-shell{margin-top:18px;padding:17px;border-radius:17px}.recommendations-heading{align-items:flex-start}.recommendations-heading>span{display:none}.recommendation-grid{grid-template-columns:1fr}.recommendation-card{grid-template-columns:44px minmax(0,1fr);min-height:88px}.recommendation-mark{width:44px;height:44px}.recommendation-action{grid-column:2;align-self:auto}.admin-heading{display:grid;align-items:start}.operator-actions{justify-content:flex-start}.setting-row{grid-template-columns:1fr}.setting-actions{justify-content:flex-start}.form-actions{display:grid;grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{min-height:92px}.notice{top:72px}.button{min-height:46px}.button-small{min-height:38px}.secret-once code{font-size:10px}}
@media(max-width:380px){.topbar-copy{display:none}.topbar-inner{grid-template-columns:auto 1fr}.topbar .button{justify-self:end}.trust-grid{grid-template-columns:1fr}.route-cloud{font-size:9px}.device-phone i{width:36px;height:64px}.device-desktop i{width:70px;height:48px}.metric-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
