#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50}*{margin:0;padding:0}body,html{height:100%}:root{--bg-start:#e0f2fe;--bg-end:#ecfeff;--grid:rgba(3,105,161,.06);--glow:rgba(56,189,248,.35);--card-bg:hsla(0,0%,100%,.55);--stroke:hsla(0,0%,100%,.7);--shadow:0 10px 30px rgba(2,6,23,.12);--primary:#0284c7;--primary-700:#0369a1;--danger:#ef4444;--text-main:#0b1324;--text-sub:#4b5563;--ring:rgba(2,132,199,.32)}*{box-sizing:border-box}#app,body,html{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:var(--text-main);background:radial-gradient(1200px 600px at 70% 20%,var(--glow),transparent 60%),linear-gradient(135deg,var(--bg-start),var(--bg-end))}.page{display:grid;place-items:center;height:100vh;max-width:1120px;margin:0 auto;padding:28px}.page:before{content:"";position:fixed;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:44px 44px,44px 44px;-webkit-mask-image:radial-gradient(ellipse at 20% 30%,rgba(0,0,0,.8),transparent 65%);mask-image:radial-gradient(ellipse at 20% 30%,rgba(0,0,0,.8),transparent 65%);pointer-events:none}.prototype{display:flex;flex-direction:column;justify-content:center}.brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}.logo{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#38bdf8,#0284c7);color:#fff;font-weight:800;box-shadow:var(--shadow)}.brand-title{margin:0;font-size:22px;letter-spacing:.2px}.brand-sub{margin:2px 0 0;color:var(--text-sub);font-size:13px}.card{position:relative;backdrop-filter:saturate(140%) blur(10px);background:var(--card-bg);border:1px solid var(--stroke);border-radius:18px;box-shadow:var(--shadow);padding:28px;width:100%;max-width:600px}.card-title{margin:2px 0 16px;font-size:22px;letter-spacing:.2px}.card-sub{margin:0 0 16px;font-size:13px;color:var(--text-sub);border-bottom:1px dashed rgba(2,6,23,.08);padding-bottom:12px}.tab-header{display:flex;gap:8px;margin-bottom:20px;background:hsla(0,0%,100%,.5);padding:4px;border-radius:12px}.tab-btn{flex:1;padding:10px;border:none;background:transparent;color:var(--text-sub);font-size:15px;font-weight:600;border-radius:10px;cursor:pointer;transition:all .2s}.tab-btn.active{background:#fff;color:var(--primary);box-shadow:0 2px 8px rgba(2,132,199,.15)}.tab-btn:hover:not(.active){color:var(--text-main)}.register-tip{margin:10px 4px 0;font-size:13px;color:#fb923c;text-align:center;background:rgba(251,146,60,.1);padding:10px;border-radius:8px;border:1px solid rgba(251,146,60,.2)}.field{margin-bottom:12px}.field label{display:block;font-size:13px;color:var(--text-sub);margin-bottom:8px}.input-wrap{position:relative;display:flex;align-items:center}.iconbox{position:absolute;left:8px;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0284c7;border:1px solid rgba(2,132,199,.18);box-shadow:inset 0 2px 6px rgba(2,132,199,.08)}.input-wrap input{width:100%;padding:14px 44px 14px 58px;border-radius:12px;border:1px solid rgba(15,23,42,.08);background:#fff;outline:none;transition:box-shadow .2s,border-color .2s,transform .06s;font-size:15px}.input-wrap input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--ring)}.input-wrap .icon{position:static;color:#0284c7}.eye{position:absolute;right:8px;height:34px;padding:0 8px;border:none;background:transparent;color:#64748b;border-radius:8px;cursor:pointer}.eye:hover{background:rgba(15,23,42,.04)}.get-code-btn{position:absolute;right:8px;height:34px;padding:0 12px;border:none;background:var(--primary);color:#fff;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;transition:background .2s,opacity .2s}.get-code-btn:hover:not(:disabled){background:var(--primary-700)}.get-code-btn:disabled{opacity:.5;cursor:not-allowed}.helper{margin:6px 6px 0;font-size:12px;color:var(--danger)}.field.error .input-wrap input{border-color:var(--danger);box-shadow:0 0 0 4px rgba(239,68,68,.18)}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between;margin:10px 2px 2px}.checkbox{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-sub);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox input{width:16px;height:16px;accent-color:var(--primary)}.link{color:var(--primary);text-decoration:none;font-size:13px}.link:hover{text-decoration:underline}.btn-primary{width:100%;margin-top:14px;padding:14px 18px;border-radius:12px;border:1px solid transparent;background:linear-gradient(135deg,var(--primary),var(--primary-700));color:#fff;font-weight:800;letter-spacing:.3px;cursor:pointer;box-shadow:var(--shadow);transition:transform .06s ease,filter .2s ease,opacity .2s ease;font-size:15px}.btn-primary:hover{filter:brightness(1.02)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary.loading{position:relative}.spinner{width:16px;height:16px;border:2px solid hsla(0,0%,100%,.5);border-top-color:#fff;border-radius:50%;margin-right:8px;display:inline-block;vertical-align:-3px;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.success{margin:10px 4px 0;font-size:13px;color:#16a34a}.footer-actions{display:flex;gap:10px;margin-top:14px}.btn-ghost{padding:8px 12px;border-radius:10px;border:1px solid rgba(15,23,42,.1);background:hsla(0,0%,100%,.65);color:#0f172a;cursor:pointer;transition:background .2s,transform .06s}.btn-ghost:hover{background:#fff}.btn-ghost:active{transform:translateY(1px)}.shake{animation:shake .45s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}.spec{background:hsla(0,0%,100%,.7);border:1px solid var(--stroke);backdrop-filter:blur(6px);border-radius:16px;padding:18px 18px 14px;box-shadow:var(--shadow);overflow:auto}.spec h3{margin:6px 0 10px;font-size:16px}.spec ul{margin:0;padding-left:18px;line-height:1.7;color:var(--text-sub);font-size:13px}.spec ul ul{margin-top:6px}.spec .spec-demo{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 6px}.spec .chip{padding:6px 10px;border-radius:999px;border:1px solid rgba(15,23,42,.08);background:#fff;cursor:pointer;font-size:12px}.spec .chip:hover{background:#f8fafc}.hint{margin-top:8px;color:#64748b;font-size:12px}@media (max-width:980px){.page{height:100vh;max-width:680px}.prototype{align-items:center}.card{max-width:600px}}.app-wrapper[data-v-0992fa1a]{display:flex;height:100vh}.sidebar-container[data-v-0992fa1a]{width:210px;background-color:#304156;overflow:hidden}.logo-container[data-v-0992fa1a]{height:50px;display:flex;align-items:center;justify-content:center;background-color:#2b2f3a}.logo[data-v-0992fa1a]{display:flex;align-items:center;color:#fff}.logo-icon[data-v-0992fa1a]{width:32px;height:32px;border-radius:6px;background:linear-gradient(135deg,#409eff,#67c23a);display:flex;align-items:center;justify-content:center;font-weight:700;margin-right:8px}.logo-text[data-v-0992fa1a]{font-size:18px;font-weight:600}.sidebar-menu[data-v-0992fa1a]{border:none;height:calc(100vh - 50px)}.main-container[data-v-0992fa1a]{flex:1;display:flex;flex-direction:column}.navbar[data-v-0992fa1a]{height:50px;background-color:#fff;border-bottom:1px solid #e6e6e6;display:flex;align-items:center;justify-content:space-between;padding:0 20px}.page-title[data-v-0992fa1a]{margin:0;font-size:20px;font-weight:500;color:#303133}.user-dropdown[data-v-0992fa1a]{cursor:pointer;color:#606266;font-size:14px}.app-main[data-v-0992fa1a]{flex:1;padding:20px;background-color:#f0f2f5;overflow-y:auto}