:root{--ink:#17201d;--muted:#68736e;--paper:#f5f2ea;--card:#fffdf8;--line:#d9d5ca;--copper:#aa6538;--green:#2f5e4e;--green2:#19483b;--shadow:0 24px 80px rgba(27,43,37,.12)}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:"PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif}body{margin:0;min-height:100vh;overflow-x:hidden}.ambient{position:fixed;border-radius:50%;filter:blur(1px);pointer-events:none;z-index:-1}.ambient-a{width:560px;height:560px;right:-220px;top:-240px;background:radial-gradient(circle,rgba(181,124,72,.19),transparent 68%)}.ambient-b{width:620px;height:620px;left:-350px;bottom:-320px;background:radial-gradient(circle,rgba(40,94,76,.14),transparent 68%)}.topbar{height:78px;max-width:1240px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(23,32,29,.12)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font-weight:700;letter-spacing:.04em}.brand-mark,.spiral{display:grid;place-items:center;color:#fff;background:var(--green2);border-radius:50%;font-family:serif}.brand-mark{width:34px;height:34px}.top-note{font-size:13px;color:var(--muted);letter-spacing:.16em}.hero{max-width:1180px;min-height:calc(100vh - 150px);margin:auto;padding:90px 28px;display:grid;grid-template-columns:1.45fr .65fr;gap:90px;align-items:center}.eyebrow{font-size:12px;color:var(--copper);letter-spacing:.2em;text-transform:uppercase;font-weight:700}.hero h1,.welcome-card h1,.admin-heading h1{font-family:"Songti SC","Noto Serif CJK SC",serif;font-weight:500;line-height:1.18;margin:24px 0;font-size:clamp(42px,6vw,76px);letter-spacing:-.04em}.hero h1 em{font-style:normal;color:var(--green)}.hero-copy>p{max-width:620px;font-size:19px;line-height:1.8;color:var(--muted)}.trust-row{display:flex;gap:12px;margin-top:38px}.trust-row span,.pill{border:1px solid var(--line);border-radius:100px;padding:8px 14px;font-size:12px;background:rgba(255,255,255,.55)}.hero-card,.welcome-card,.center-card,.table-card,.metric-grid article,.step-card{background:rgba(255,253,248,.9);border:1px solid rgba(23,32,29,.12);box-shadow:var(--shadow)}.hero-card{padding:38px;border-radius:6px}.spiral{width:80px;height:80px;font-size:32px;box-shadow:inset 0 0 0 10px rgba(255,255,255,.08)}.spiral.small{width:58px;height:58px;font-size:24px;margin:auto}.hero-card h2{font-size:25px;margin:30px 0 12px}.hero-card p,.center-card p{color:var(--muted);line-height:1.7}.button{appearance:none;border:0;border-radius:3px;background:var(--green2);color:#fff;padding:13px 20px;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;display:inline-flex;justify-content:center;align-items:center}.button:hover{background:var(--green)}.button:disabled{opacity:.35;cursor:not-allowed}.button.secondary,.button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.button.ghost{margin-top:22px;width:100%}footer{text-align:center;padding:28px;color:#8a928e;font-size:12px}.onboard,.admin-layout{max-width:1180px;margin:48px auto;padding:0 28px}.welcome-card{padding:34px 40px;border-radius:5px;display:grid;grid-template-columns:1fr auto;align-items:center}.welcome-card h1{font-size:42px;margin:10px 0}.welcome-card>p{grid-column:1;color:var(--muted)}.security-note{grid-column:2;grid-row:1/3;max-width:360px;padding:18px;border-left:3px solid var(--copper);color:var(--muted);line-height:1.6;font-size:13px}.step-nav{display:grid;grid-template-columns:repeat(4,1fr);margin:35px 0 22px}.step-dot{position:relative;border:0;background:none;color:#89918d;display:flex;align-items:center;gap:10px;text-align:left;padding:10px;cursor:pointer}.step-dot:before{content:"";position:absolute;left:-50%;right:78%;height:1px;background:var(--line);top:50%}.step-dot:first-child:before{display:none}.step-dot b{display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--line);border-radius:50%;background:var(--paper);z-index:1}.step-dot.active{color:var(--green2)}.step-dot.active b{background:var(--green2);color:white;border-color:var(--green2)}.step-card{display:none;grid-template-columns:1fr 1fr;min-height:560px;border-radius:6px;overflow:hidden}.step-card.active{display:grid}.step-copy{padding:50px;display:flex;flex-direction:column}.step-number{font-size:12px;letter-spacing:.15em;color:var(--copper);font-weight:700}.step-copy h2{font-family:"Songti SC",serif;font-weight:500;font-size:38px;margin:18px 0}.step-copy>p{color:var(--muted);line-height:1.7}.step-visual{background:#e8e5dc;padding:34px;display:grid;place-items:center}.screen-mock,.guide-shot{width:100%;background:#f8f8f6;border:1px solid #c8ccc8;border-radius:12px;box-shadow:0 18px 40px rgba(20,30,26,.15);overflow:hidden}.screen-nav{padding:14px 18px;background:#edf0ed;border-bottom:1px solid #d8ddd9;color:#68736e;font-size:12px}.screen-panel{padding:28px;display:flex;flex-direction:column;gap:16px}.screen-panel b{font-size:20px}.mock-field{padding:14px;background:white;border:1px solid #d7dcd8;border-radius:6px;color:#69736e}.mock-button{align-self:flex-start;padding:10px 16px;border-radius:5px;background:#3370ff;color:#fff}.guide-shot img{width:100%;display:block}.guide-shot figcaption{padding:12px 16px;font-size:12px;color:var(--muted)}.check{margin:24px 0;padding:17px;background:#f3efe5;border-left:3px solid var(--copper);font-size:14px;line-height:1.6}.check input{margin-right:10px}.step-actions{display:flex;justify-content:space-between;margin-top:auto;padding-top:28px}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;margin-bottom:15px}input,textarea{width:100%;border:1px solid var(--line);background:#fffdf9;padding:12px 13px;border-radius:3px;color:var(--ink);font:inherit}textarea{resize:vertical}.status-box,.success-box{padding:18px;background:#f0eee7;border:1px solid var(--line);display:flex;flex-direction:column;gap:12px;color:var(--muted)}.progress-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}.progress-list span{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line)}.progress-list b{font-size:12px;color:var(--muted)}.center-card{max-width:560px;text-align:center;margin:110px auto;padding:54px;border-radius:6px}.center-card h1{font-family:"Songti SC",serif;font-size:36px;font-weight:500}.admin-heading{display:flex;justify-content:space-between;align-items:end}.admin-heading h1{font-size:48px;margin:14px 0}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.metric-grid article{padding:24px}.metric-grid span{color:var(--muted);font-size:13px}.metric-grid b{display:block;font-size:36px;margin-top:8px;font-family:serif}.table-card{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:18px;border-bottom:1px solid #e4e1d8;font-size:13px}th{color:var(--muted);font-weight:500}td small{display:block;color:var(--muted);margin-top:5px}.empty{text-align:center;color:var(--muted);padding:60px}dialog{width:min(720px,calc(100% - 32px));border:1px solid var(--line);border-radius:6px;padding:30px;background:var(--card);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(18,28,24,.55)}dialog h2{font-family:"Songti SC",serif;font-size:30px;font-weight:500}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.hint{color:var(--muted);font-size:13px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.success-box{margin-top:15px}.success-box input{font-size:12px}@media(max-width:800px){.top-note{display:none}.hero{grid-template-columns:1fr;padding-top:54px;gap:35px}.hero h1{font-size:44px}.onboard,.admin-layout{margin-top:22px;padding:0 15px}.welcome-card{padding:25px;display:block}.security-note{margin-top:20px}.step-nav{overflow:auto;grid-template-columns:repeat(4,minmax(130px,1fr))}.step-card.active{display:flex;flex-direction:column}.step-copy{padding:28px 24px;min-height:610px}.step-copy h2{font-size:31px}.step-visual{order:-1;padding:18px}.form-grid,.metric-grid{grid-template-columns:1fr}.admin-heading{align-items:start;gap:20px}.admin-heading h1{font-size:36px}.topbar{height:66px;padding:0 16px}}

.onboarding-progress{margin:28px 0 18px;padding:24px 28px;background:rgba(255,253,248,.92);border:1px solid rgba(23,32,29,.12);box-shadow:0 12px 36px rgba(27,43,37,.08)}
.progress-track{--progress:0%;height:6px;border-radius:999px;background:#dedbd2;overflow:hidden}
.progress-track i{display:block;width:var(--progress);height:100%;background:var(--green2);transition:width .35s ease}
.onboarding-progress ol{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.onboarding-step{display:flex;align-items:center;gap:9px;color:#89918d;font-size:13px;min-width:0}
.onboarding-step b{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:var(--paper)}
.onboarding-step.active{color:var(--green2);font-weight:700}
.onboarding-step.active b{border-color:var(--green2);box-shadow:0 0 0 3px rgba(25,72,59,.12)}
.onboarding-step.complete b{background:var(--green2);border-color:var(--green2);color:#fff}
#progress-summary{margin:15px 0 0;color:var(--green2);font-size:13px;font-weight:700}
.primary-action{width:100%;min-height:54px;margin:18px 0;font-size:16px}
.device-code-card{display:flex;flex-direction:column;align-items:center;gap:12px;margin:24px 0;padding:24px;background:#f3efe5;border:1px solid var(--line)}
.device-code-card span{color:var(--muted);font-size:13px}
.device-code-card strong{font:700 clamp(28px,7vw,42px)/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;color:var(--green2)}
.oauth-logs{margin-top:22px;text-align:left}
.oauth-logs summary{cursor:pointer;color:var(--muted);font-size:13px;text-align:center}
.oauth-logs pre{margin-top:12px}
.onboarding-visual{width:100%;animation:visual-in .24s ease-out}
.onboarding-visual[hidden]{display:none!important}
.guide-shot-landscape img{width:100%;height:360px;object-fit:cover;object-position:center}
.guide-shot-message{max-width:360px;margin:auto}
.guide-shot-message img{width:100%;max-height:440px;object-fit:cover;object-position:top}
.authorization-mock .screen-panel,.preparation-mock .screen-panel{min-height:330px;justify-content:center}
.screen-panel p{margin:0;color:var(--muted);line-height:1.7}
.visual-kicker{color:var(--copper);font-size:12px;font-weight:700;letter-spacing:.12em}
.visual-status-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.visual-status-list span{position:relative;padding:15px 42px 15px 4px;border-bottom:1px solid var(--line);color:var(--muted)}
.visual-status-list span:after{position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:12px}
.visual-status-list .complete:after{content:"已完成";color:var(--green2)}
.visual-status-list .processing:after{content:"进行中";color:var(--copper)}
@keyframes visual-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:800px){.onboarding-progress{padding:20px 18px}.onboarding-progress ol{grid-template-columns:1fr 1fr;gap:14px 10px}.onboarding-step{font-size:12px}.step-copy{min-height:auto}.device-code-card strong{font-size:28px}}
