:root{font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#0f172a;background:#eef2f7;line-height:1.5;--primary: #2563eb;--primary-dark: #1d4ed8;--primary-soft: #eff6ff;--surface: #ffffff;--border: #e2e8f0;--muted: #64748b;--success: #16a34a;--shadow: 0 20px 50px rgba(15, 23, 42, .08);--page-gradient: linear-gradient(160deg, #f8fafc 0%, #eef2ff 45%, #f1f5f9 100%)}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;overflow-x:hidden}#app{min-height:100vh;min-height:100dvh}.app-header{background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.app-header-inner{max-width:1200px;width:100%;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.brand-link{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;flex-shrink:0}.brand-icon{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;display:grid;place-items:center;box-shadow:0 8px 20px #2563eb40}.brand-text{font-size:18px;font-weight:700;color:#0f172a}.header-nav{display:flex;align-items:center;gap:4px;flex-shrink:1;flex-wrap:wrap;justify-content:flex-end}.header-nav-link{padding:8px 14px;border:none;background:transparent;color:#475569;font-size:14px;cursor:pointer;border-radius:8px;transition:background .15s,color .15s;white-space:nowrap}.header-nav-link:hover{background:#f1f5f9;color:#334155}.header-nav-login{margin-left:8px;padding:8px 16px;border:1px solid var(--primary);background:#fff;color:var(--primary);font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;white-space:nowrap;transition:background .15s}.header-nav-login:hover{background:var(--primary-soft)}.app-notice{position:fixed;left:50%;bottom:32px;transform:translate(-50%);z-index:100;padding:12px 20px;border-radius:10px;background:#0f172aeb;color:#fff;font-size:14px;box-shadow:0 12px 32px #0f172a33;pointer-events:none}.notice-fade-enter-active,.notice-fade-leave-active{transition:opacity .2s,transform .2s}.notice-fade-enter-from,.notice-fade-leave-to{opacity:0;transform:translate(-50%) translateY(8px)}.demo-banner{padding:8px 16px;text-align:center;font-size:13px;color:#92400e;background:#fef3c7;border-bottom:1px solid #fde68a}.flow-page{min-height:100vh;min-height:100dvh;background:var(--page-gradient);width:100%;overflow-x:hidden}.page-center{min-height:calc(100dvh - 69px);width:100%;max-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px 56px}.hero-card{width:100%;max-width:580px;width:min(580px,100%);background:var(--surface);border-radius:24px;box-shadow:var(--shadow);padding:44px 40px 36px;text-align:center;border:1px solid rgba(255,255,255,.8)}.hero-title{margin:0 0 10px;font-size:28px;font-weight:700;color:#0f172a;letter-spacing:-.02em}.hero-sub{margin:0 0 32px;font-size:15px;color:var(--muted);line-height:1.7}.banner{width:100%;max-width:580px;width:min(580px,100%);margin-bottom:16px;padding:12px 16px;border-radius:12px;background:#fef3c7;color:#92400e;font-size:14px;text-align:center;border:1px solid #fde68a}.primary-btn,.secondary-btn,.ghost-btn{border:none;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .15s,background .15s,transform .15s;white-space:nowrap}.primary-btn{background:var(--primary);color:#fff;box-shadow:0 8px 20px #2563eb40}.primary-btn:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.primary-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.secondary-btn{background:#f1f5f9;color:#334155;border:1px solid var(--border)}.secondary-btn:hover:not(:disabled){background:#e2e8f0}.secondary-btn:disabled{opacity:.5;cursor:not-allowed}.ghost-btn{background:transparent;color:#64748b;padding:8px 12px}.ghost-btn:hover{background:#f1f5f9;color:#334155}.toolbar-btn{padding:8px 16px;font-size:13px}@media(max-width:1200px){.app-header-inner{padding:12px 16px}}@media(max-width:960px){.header-nav-link--optional{display:none}}@media(max-width:768px){.brand-text{font-size:16px}.brand-icon{width:36px;height:36px}.header-nav-link{padding:6px 10px;font-size:13px}.header-nav-login{padding:6px 12px;font-size:13px;margin-left:0}}@media(max-width:480px){.header-nav-link{display:none}.header-nav-link--always{display:inline-block}.banner,.hero-card{width:100%}}
