:root{--color-bg:#f6f7f4;--color-surface:#fff;--color-elevated:#fff;--color-text:#171717;--color-muted:#66706a;--color-border:#d8ded7;--color-primary:#1d1b18;--color-vermilion:#c84a32;--color-jade:#3c7c68;--color-gold:#b89b5e;--shadow-soft:0 14px 42px #242b261a;--radius-card:8px;--radius-control:8px;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html{background:var(--color-bg);min-height:100%;color:var(--color-text);letter-spacing:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}body{background:linear-gradient(#fffffffa 0%,#f6f7f4f5 48%,#f6f7f4 100%);min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}.page-shell{width:min(100%,520px);min-height:100vh;padding:20px 18px calc(28px + var(--safe-bottom));margin:0 auto}.page-shell.with-tabbar{padding-bottom:calc(92px + var(--safe-bottom))}.bottom-tabbar{z-index:20;width:min(100%,520px);min-height:calc(64px + var(--safe-bottom));padding:8px 12px calc(8px + var(--safe-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border-top:1px solid #d8ded7f2;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 34px #242b2617}.bottom-tabbar a{border-radius:var(--radius-control);min-width:0;color:var(--color-muted);place-items:center;font-size:13px;font-weight:850;display:grid}.bottom-tabbar a.router-link-active{color:var(--color-jade);background:#3c7c681a}.surface{border-radius:var(--radius-card);box-shadow:var(--shadow-soft);background:#fffffff0;border:1px solid #d8ded7e6}.eyebrow{color:var(--color-jade);margin:0 0 8px;font-size:13px;font-weight:700}.page-title{color:var(--color-text);margin:0;font-size:30px;font-weight:850;line-height:1.12}.page-copy{color:var(--color-muted);overflow-wrap:anywhere;margin:10px 0 0;font-size:15px;line-height:1.7}.primary-action{border-radius:var(--radius-control);background:var(--color-primary);color:#fff;border:0;justify-content:center;align-items:center;min-height:48px;padding:0 18px;font-weight:800;display:inline-flex}.quiet-action{border:1px solid var(--color-border);border-radius:var(--radius-control);min-height:44px;color:var(--color-primary);background:#fffc;justify-content:center;align-items:center;padding:0 16px;font-weight:750;display:inline-flex}.placeholder-panel{gap:14px;margin-top:22px;padding:20px;display:grid}
