@charset "UTF-8";
:root{--bg:#0d1215;--panel:#161d21;--panel-soft:#1b2429;--ink:#eef1e9;--muted:#9aa6a7;--dim:#879393;--line:#2d373b;--accent:#b8d990;--accent-ink:#172312;--error:#efb69f;--display:"Bahnschrift","DIN Alternate","Microsoft YaHei UI",sans-serif;--body:"Microsoft YaHei UI","PingFang SC","Noto Sans CJK SC",sans-serif;--mono:"Cascadia Code","Consolas",monospace}
*{box-sizing:border-box} [hidden]{display:none!important} body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:14px;line-height:1.7;-webkit-font-smoothing:antialiased}body::before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent calc(100% - 1px),#ffffff03 0),linear-gradient(transparent calc(100% - 1px),#ffffff03 0);background-size:88px 88px;z-index:-1}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}input:focus-visible{outline:none}button{transition:background .16s,color .16s,border-color .16s,transform .16s}.shell{max-width:1400px;margin:auto;padding:0 64px}.topbar{height:116px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:15px;font:600 24px/1.2 var(--display);letter-spacing:1.8px}.brand-mark{width:39px;height:39px}.brand small{display:block;font:10px/1.5 var(--body);color:var(--muted);letter-spacing:2px;margin-top:7px}.header-right{display:flex;align-items:center;gap:25px}.protection{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}.protection i,.session-note i{width:5px;height:5px;background:var(--accent);border-radius:50%;display:inline-block}.mono{font-family:var(--mono);font-size:10px;letter-spacing:1px}.text-button{border:0;background:none;color:var(--ink);font-size:12px;text-decoration:underline;text-underline-offset:5px;padding:8px 0}.text-button:hover{color:var(--accent)}main{min-height:calc(100vh - 206px);display:grid;align-items:center}.auth-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.85fr);gap:90px;padding:72px 0 65px}.eyebrow{display:flex;gap:12px;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:1.6px;color:var(--accent)}.eyebrow .line{width:24px;height:1px;background:var(--accent)}h1{font-family:var(--display);font-size:clamp(40px,4.5vw,64px);line-height:1.22;letter-spacing:-2px;font-weight:600;margin:29px 0 23px}.accent{color:var(--accent)}.intro-copy{color:var(--muted);font-size:14px;line-height:1.95;letter-spacing:.5px;margin:0}.terrain{height:210px;margin-top:18px;position:relative;overflow:hidden;color:#414f4f}.terrain svg{width:100%;height:100%;opacity:.63}.terrain>span{position:absolute;left:0;bottom:12px;color:var(--dim);font-size:10px;letter-spacing:3px}.intro-foot{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;margin-top:8px}.intro-foot>.mono{margin-left:auto;font-size:9px;color:var(--dim)}.small-cross{font:18px var(--mono);color:var(--accent)}.auth-card,.login-card{background:var(--panel);border:1px solid var(--line);box-shadow:0 14px 45px #00000015;padding:28px 34px 30px;position:relative}.auth-card::before,.login-card::before{content:"";position:absolute;top:-1px;left:-1px;width:48px;height:2px;background:var(--accent)}.card-cap{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);padding-bottom:22px;border-bottom:1px solid var(--line)}.card-cap .mono{font-size:9px;color:var(--dim)}.lock-icon{width:46px;height:46px;background:var(--panel-soft);display:grid;place-items:center;margin-top:34px;border:1px solid var(--line)}.lock-icon svg{width:21px;fill:none;stroke:var(--accent);stroke-width:1.3}h2{font-size:25px;font-weight:500;line-height:1.4;margin:20px 0 13px;letter-spacing:-.5px}.muted{color:var(--muted);font-size:12px;line-height:1.85;margin:0}#auth-form{margin-top:31px}label{display:flex;justify-content:space-between;margin-bottom:10px;font-size:12px}label .mono{color:var(--dim);font-size:9px}.key-input-wrap{position:relative}input{width:100%;height:49px;background:#0f1619;border:1px solid #3c474b;color:var(--ink);border-radius:0;padding:0 60px 0 14px;font-size:13px;transition:border-color .2s}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b8d99009}input::placeholder{color:var(--dim)}.input-action{position:absolute;right:6px;top:7px;height:35px;padding:0 10px;border:0;background:none;color:var(--muted);font-size:11px}.input-action:hover{color:var(--ink)}.form-message{font-size:11px;line-height:1.65;min-height:24px;margin:10px 0 16px;color:var(--muted)}.form-message.error{color:var(--error)}.primary-button{width:100%;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);min-height:48px;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:13px;letter-spacing:.3px}.primary-button>span:last-child{font-size:22px;line-height:1}.primary-button:hover:not(:disabled){background:#cbeaa6;border-color:#cbeaa6;transform:translateY(-1px)}.privacy-note{display:flex;gap:10px;margin-top:23px;border-top:1px solid var(--line);padding-top:19px;color:var(--dim);font-size:10px;line-height:1.85}.privacy-note p{margin:0}.tiny-lock{font-size:17px;color:var(--muted)}footer{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);color:var(--dim);font-size:10px;letter-spacing:.4px}.footer-divider{padding:0 8px;color:#455352}footer>.mono{font-size:9px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 470px;gap:120px;padding:62px 0}.workspace-intro{padding-top:25px}.workspace h1{font-size:49px}.steps{list-style:none;padding:0;margin:39px 0 32px;max-width:300px}.steps li{display:flex;align-items:center;gap:17px;padding:16px 0;border-bottom:1px solid var(--line);color:var(--dim)}.steps li>span{font:11px var(--mono)}.steps li>div{font-size:13px}.steps small{display:block;font-size:10px;margin-top:3px;color:var(--dim)}.steps b{margin-left:auto;font-weight:400;font-family:var(--mono)}.steps .done{color:var(--accent)}.steps .active{color:var(--ink)}.steps .active>span{color:var(--accent)}.steps .active b{color:var(--accent)}.session-note{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:9px}.session-note .mono{color:var(--ink);font-size:11px}.login-card{padding:24px 30px}.provider-switch{display:flex;gap:10px;margin-top:22px}.provider{flex:1;display:flex;align-items:center;gap:9px;text-align:left;background:#11191c;border:1px solid var(--line);padding:13px 12px;color:var(--muted);font-size:12px}.provider small{display:block;font-size:9px;font-weight:400;color:var(--dim);margin-top:3px}.provider.selected{background:#b8d99008;border-color:#71805e;color:var(--ink)}.provider:hover{border-color:var(--accent)}.provider-icon{width:23px;font:24px var(--display);color:var(--ink)}.wechat-icon{font:19px var(--body)}.selected-dot{margin-left:auto;width:5px;height:5px;border-radius:50%;border:1px solid #58665c}.selected .selected-dot{background:var(--accent);border-color:var(--accent)}.qr-area{max-width:240px;margin:28px auto 0}.qr-frame{position:relative;width:240px;height:240px;background:#edf0e8;border:9px solid #edf0e8;display:grid;place-items:center;box-shadow:0 0 0 1px #b2baa4}.qr-frame::before,.qr-frame::after{content:"";position:absolute;pointer-events:none;width:17px;height:17px;border-color:var(--accent);border-style:solid}.qr-frame::before{top:-14px;left:-14px;border-width:2px 0 0 2px}.qr-frame::after{bottom:-14px;right:-14px;border-width:0 2px 2px 0}.qr-frame img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.qr-placeholder,.qr-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#53634d;font-size:12px}.qr-placeholder svg{width:70px;height:70px;stroke:#879c72;stroke-width:1.5;fill:none;margin-bottom:14px}.qr-placeholder small,.qr-loading small{font-size:10px;color:#7d8776;margin-top:6px}.qr-loading .spinner{width:30px;height:30px;border:2px solid #a3b196;border-top-color:#435b2c;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.qr-overlay{position:absolute;inset:0;background:#eef1e9f5;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#314026;text-align:center}.qr-overlay>span{font:42px var(--display);margin-bottom:8px}.qr-overlay strong{font-size:13px;font-weight:500}.qr-overlay small{font-size:10px;margin-top:7px;color:#718065}.qr-meta{display:flex;justify-content:space-between;margin:17px -4px 0;color:var(--dim);font-size:10px}.qr-meta .mono{font-size:10px}.scan-status{display:flex;justify-content:center;align-items:flex-start;gap:8px;min-height:25px;margin:20px 0 16px;font-size:11px;color:var(--muted);text-align:center}.scan-status i{width:5px;height:5px;flex:none;background:var(--dim);border-radius:50%;margin-top:7px}.scan-status.active{color:var(--accent)}.scan-status.active i{background:var(--accent)}.scan-status.error{color:var(--error)}.scan-status.error i{background:var(--error)}.card-hint{font-size:9px;text-align:center;color:var(--dim);margin:16px 0 0}.success-mark{display:grid;place-items:center;width:52px;height:52px;border:1px solid #7b9464;color:var(--accent);font:26px var(--mono);margin-top:30px}.credential-fields{margin-top:27px}.credential-row{margin-bottom:18px}.credential-row label{color:var(--muted);font-size:11px;align-items:center}.credential-row input{font-family:var(--mono);font-size:12px;padding-right:14px}.credential-actions{display:flex;gap:12px}.credential-actions button{background:none;border:0;padding:0;color:var(--accent);font-size:10px}.result-note{font-size:10px;color:var(--dim);margin:12px 0 25px;line-height:1.9}.secondary-button{width:100%;min-height:42px;background:none;border:1px solid var(--line);color:var(--muted);font-size:11px;margin-top:10px}.secondary-button:hover{border-color:var(--accent);color:var(--accent)}#copy-message{margin-bottom:0}.auth-layout,.workspace{animation:enter .45s ease both}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1440px){.shell{padding:0 70px}.auth-layout{gap:130px}.auth-card{max-width:440px;width:100%;justify-self:end}.terrain{margin-top:33px}.auth-layout{padding:84px 0}}
@media(max-width:1100px){.shell{padding:0 38px}.auth-layout{gap:45px;grid-template-columns:1fr 380px}.workspace{gap:50px;grid-template-columns:1fr 420px}.workspace h1{font-size:40px}.auth-card{padding:25px}.intro-foot>.mono{display:none}footer>.mono{display:none}}
@media(max-width:800px){.shell{padding:0 24px}.topbar{height:90px}.brand{font-size:20px}.brand small{font-size:8px;letter-spacing:1px}.brand-mark{width:32px}.protection{font-size:10px}.header-right{gap:14px}main{min-height:calc(100vh - 170px)}.auth-layout,.workspace{grid-template-columns:1fr;gap:30px;padding:38px 0 48px;max-width:510px;width:100%;margin:auto}.auth-layout h1{font-size:39px;margin:18px 0 14px}.auth-layout h1 br{display:none}.intro-copy{font-size:12px}.terrain,.intro-foot{display:none}.auth-card{padding:26px 30px}.lock-icon{margin-top:24px}.workspace-intro{padding-top:0}.workspace h1{font-size:36px;margin:16px 0 12px}.workspace h1 br{display:none}.steps{display:flex;max-width:none;margin:23px 0 15px;gap:13px}.steps li{flex:1;gap:9px;padding:11px 0}.steps li>div{font-size:11px}.steps small,.steps b{display:none}.session-note{margin:12px 0 0}.login-card{padding:24px 30px}footer{min-height:80px;font-size:9px}.workspace{gap:22px}}
@media(max-width:440px){.shell{padding:0 18px}.protection{font-size:0;gap:0}.protection i{width:6px;height:6px}.brand{font-size:18px;gap:10px}.brand small{font-size:7px}.topbar{height:80px}.auth-layout,.workspace{padding-top:30px}.auth-layout h1{font-size:35px;letter-spacing:-1.5px}.eyebrow{font-size:9px}.auth-card,.login-card{padding:22px}.auth-card h2{font-size:24px}.intro-copy br{display:none}footer{flex-direction:column;justify-content:center;gap:5px}.provider{padding:11px 8px;gap:7px}.provider small{font-size:8px}.selected-dot{display:none}.provider-icon{font-size:20px;width:19px}.qr-area{margin-top:28px}.qr-frame{width:220px;height:220px;margin:auto}.qr-meta{margin:16px 7px 0}.workspace h1{font-size:31px}.session-note{font-size:10px}.steps{gap:10px}.steps li{gap:7px}.steps li>div{font-size:10px}.card-hint{line-height:1.9}.workspace-intro>.intro-copy{font-size:11px}.card-cap .mono{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.brand,.header-right{flex-shrink:0}.text-button{white-space:nowrap}
