/* RankSprig visual system. Existing page trees, routes and component behavior remain intact. */
:root{--rs-paper:#f6f7f2;--rs-surface:#fdfefb;--rs-ink:#243d32;--rs-muted:#64736b;--rs-line:#dde4da;--rs-green:#315c45;--rs-soft:#e8efdf;--rs-lime:#dce9bd;--rs-radius:13px;--rs-shadow:0 12px 34px rgb(36 61 50 / 5%)}
body.marketing-page,body.workspace-page{font-family:"Aptos","Segoe UI","Microsoft YaHei UI","Microsoft YaHei",sans-serif;letter-spacing:.005em;text-rendering:optimizeLegibility}
body.marketing-page{--paper:var(--rs-paper);--cream:#eef1e8;--white:var(--rs-surface);--ink:var(--rs-ink);--muted:var(--rs-muted);--green:var(--rs-green);--green-light:var(--rs-soft);--lime:var(--rs-lime);--border:var(--rs-line);background:var(--rs-paper);color:var(--rs-ink)}
body.workspace-page{--paper:var(--rs-paper);--cream:#eef1e8;--white:var(--rs-surface);--ink:var(--rs-ink);--muted:var(--rs-muted);--green:var(--rs-green);--green-light:var(--rs-soft);--lime:var(--rs-lime);--border:var(--rs-line);--ws-sidebar:#f0f2eb;--ws-action:var(--rs-green);--ws-action-hover:#274c39;--ws-warning-bg:#f5eddc;--ws-danger-bg:#f5e5e1;background:var(--rs-paper);color:var(--rs-ink)}
html[data-theme="dark"] body.workspace-page{--paper:#17261f;--cream:#1d3026;--white:#203329;--ink:#e8eee3;--muted:#b1beb3;--green:#c6d9ad;--green-light:#293d30;--lime:#344b37;--border:#3c5043;--ws-sidebar:#1b2d23;--ws-action:#557b5d;--ws-action-hover:#68906d;--ws-warning-bg:#3e3524;--ws-danger-bg:#402c29;color-scheme:dark}
.marketing-page .button,.workspace-page .button{border-radius:8px;font-weight:600;box-shadow:none}
.marketing-page .button:hover,.workspace-page .button:hover{box-shadow:0 5px 14px rgb(32 62 46 / 12%)}
.marketing-page :is(input,select,textarea),.workspace-page :is(input,select,textarea){border-radius:8px}
/* Public pages */
.marketing-page .public-header{min-height:84px;height:auto}
.marketing-page .hero{gap:clamp(38px,6vw,78px);padding-top:clamp(58px,7.5vw,92px);padding-bottom:clamp(72px,8vw,102px)}
.marketing-page .hero h1{line-height:1.15;letter-spacing:-2.5px}
.marketing-page .hero-description{max-width:470px;font-size:15px;line-height:1.9}
.marketing-page .preview-panel{border-color:var(--rs-line);border-radius:15px;box-shadow:0 24px 55px rgb(37 63 45 / 9%)}
.marketing-page .integration-strip{border-block-color:var(--rs-line)}
.marketing-page .how-section{padding-block:clamp(72px,8vw,106px)}
.marketing-page :is(.section-heading h2,.closing-cta h2,.center-heading h1,.legal-main h1){line-height:1.28}
.marketing-page .feature-grid article{border:1px solid var(--rs-line);border-radius:var(--rs-radius);box-shadow:var(--rs-shadow)}
.marketing-page .feature-grid{grid-template-columns:1.12fr 1fr;grid-auto-rows:minmax(0,auto);gap:16px}
.marketing-page .feature-grid article:first-child{grid-row:span 2;background:#eaf0e3;border-color:#d7e2ce}
.marketing-page .section-heading{display:block;max-width:680px;margin-bottom:34px}
.marketing-page .section-heading p{max-width:520px;margin:16px 0 0;color:var(--rs-muted);line-height:1.8}
.marketing-page .closing-cta,.marketing-page .pricing-card{border-radius:15px}
.marketing-page .pricing-card{box-shadow:var(--rs-shadow)}
.marketing-page .public-footer{padding-block:36px 30px}
/* User workspace */
.workspace-page .sidebar{border-right:1px solid var(--rs-line)}
.workspace-page .workspace-nav{gap:20px}
.workspace-page .workspace-nav a{min-height:42px;border-radius:8px}
.workspace-page .workspace-nav a.active{box-shadow:inset 3px 0 var(--rs-green)}
html[lang="zh-CN"] .workspace-page .workspace-nav a.active{box-shadow:inset -3px 0 var(--rs-green)}
.workspace-page .workspace-header{min-height:70px;border-bottom-color:var(--rs-line);background:var(--rs-surface)}
.workspace-page .workspace-content{padding-top:34px;padding-bottom:42px}
.workspace-page .page-heading{margin-bottom:25px}
.workspace-page .page-heading h1{font-size:clamp(25px,2vw,30px);letter-spacing:-.65px;line-height:1.35}
.workspace-page .page-heading p{color:var(--rs-muted);line-height:1.75}
.workspace-page :is(.metric-card,.panel,.settings-card,.opportunity-card,.billing-plan,.billing-summary,.gentle-callout){border-radius:var(--rs-radius)}
.workspace-page :is(.metric-card,.panel,.settings-card,.opportunity-card,.billing-plan,.billing-summary){border-color:var(--rs-line);box-shadow:var(--rs-shadow)}
.workspace-page .panel-heading{padding-bottom:17px}
.workspace-page .panel-heading h2{font-size:15px;letter-spacing:-.15px}
.workspace-page :is(.panel-heading p,.caption,.chart-caption){color:var(--rs-muted)}
.workspace-page .metric-card{padding:20px}
.workspace-page .metric-value{font-variant-numeric:tabular-nums}
.workspace-page .data-table th{font-size:11px;letter-spacing:.02em}
.workspace-page .data-table td{padding-block:14px}
.workspace-page .workspace-footer{border-top:1px solid var(--rs-line);color:var(--rs-muted)}
/* Admin console */
.admin-page{--admin-paper:var(--rs-paper);--admin-surface:var(--rs-surface);--admin-ink:var(--rs-ink);--admin-muted:var(--rs-muted);--admin-line:var(--rs-line);background:var(--admin-paper);color:var(--admin-ink);font-family:"Aptos","Segoe UI","Microsoft YaHei UI","Microsoft YaHei",sans-serif}
.admin-page .admin-shell{grid-template-columns:252px minmax(0,1fr);background:var(--admin-paper)}
.admin-page .admin-sidebar{position:sticky;top:0;height:100dvh;overflow-y:auto;gap:18px;padding:26px 18px 20px;background:#243d32}
.admin-page .admin-wordmark{font-size:23px}
.admin-page .admin-edition{letter-spacing:1.25px}
.admin-page .admin-sidebar nav{gap:4px}
.admin-page .admin-sidebar nav a{min-height:40px;border-radius:8px;font-size:13px}
.admin-page .admin-sidebar nav a[aria-current="page"]{background:rgb(255 255 255 / 11%);box-shadow:inset 3px 0 #dce9bd;color:#f2f5ed}
.admin-page .admin-subnav a[aria-current="page"]{background:rgb(255 255 255 / 9%)}
.admin-page .admin-main{min-width:0}
.admin-page .admin-header{min-height:70px;background:var(--admin-surface);border-bottom:1px solid var(--admin-line)}
.admin-page .admin-content{max-width:1480px;padding:34px clamp(22px,3vw,44px)}
.admin-page .admin-title-row{margin-bottom:24px}
.admin-page .admin-title-row h1{color:var(--admin-ink);font-size:clamp(26px,2vw,31px);letter-spacing:-.6px;line-height:1.35}
.admin-page :is(.admin-title-row p,.admin-muted){color:var(--admin-muted);line-height:1.75}
.admin-page :is(.admin-metric,.admin-panel,.admin-user-detail,.admin-grant-card){border-color:var(--admin-line);border-radius:var(--rs-radius);background:var(--admin-surface);box-shadow:var(--rs-shadow)}
.admin-page .admin-metric{padding:20px}
.admin-page .admin-metric dt{color:var(--admin-muted)}
.admin-page .admin-metric dd{color:var(--admin-ink);font-variant-numeric:tabular-nums}
.admin-page .admin-panel{padding:23px;margin-bottom:20px}
.admin-page .admin-panel h2{font-size:15px;line-height:1.5}
.admin-page .admin-panel p{line-height:1.75}
.admin-page .admin-table-wrap table{width:100%}
.admin-page .admin-table-wrap :is(th,td){border-color:var(--admin-line);padding-block:12px}
.admin-page .admin-table-wrap th{color:var(--admin-muted);font-size:11px;font-weight:600}
.admin-page .admin-footer{border-top:1px solid var(--admin-line);color:var(--admin-muted)}
.admin-page :is(input,select,textarea){max-width:100%;border-color:var(--admin-line);border-radius:8px}
.admin-page .button{border-radius:8px}
@media(max-width:1100px){.admin-page .admin-shell{grid-template-columns:220px minmax(0,1fr)}.admin-page .admin-content{padding:26px 22px}}
@media(max-width:700px){.marketing-page .feature-grid{grid-template-columns:minmax(0,1fr)}.marketing-page .feature-grid article:first-child{grid-row:auto}.marketing-page .section-heading{margin-bottom:24px}.admin-page .admin-shell{grid-template-columns:minmax(0,1fr)}.admin-page .admin-sidebar{position:static;width:auto;height:auto;overflow:visible}.admin-page .admin-content{padding:24px 16px}.admin-page .admin-panel{padding:18px}.workspace-page .workspace-content{padding-top:24px}}
@media(prefers-reduced-motion:reduce){.marketing-page *, .workspace-page *, .admin-page *, .marketing-page *::before, .workspace-page *::before, .admin-page *::before{scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Codex 修改 2026-10-21: compact optional analytics choice, using existing design tokens. */
.analytics-preferences{position:fixed;z-index:10000;bottom:20px;left:20px;right:20px;max-width:660px;padding:20px;border:1px solid var(--line,#d5ddd5);border-radius:12px;background:var(--paper,#fffdf8);color:var(--ink,#17382c);box-shadow:0 6px 24px #0002}.analytics-preferences p{margin:0 0 14px;line-height:1.6}.analytics-preferences .button-group{display:flex;gap:12px;flex-wrap:wrap}
