:root{--background:#f7f6f2;--foreground:#171615;--surface:#fffefa;--surface-2:#f2efe8;--border:rgba(79,64,42,.12);--gold:#bd8b36;--gold-soft:rgba(189,139,54,.12);--muted:#817c74;--shadow:0 14px 42px rgba(74,62,42,.055),0 2px 8px rgba(74,62,42,.035);--nav-h:76px}
.dark{--background:#0b0c0e;--foreground:#f2f0eb;--surface:#121315;--surface-2:#181a1d;--border:rgba(215,218,223,.13);--gold:#d1a04c;--gold-soft:rgba(209,160,76,.13);--muted:#9e9a93;--shadow:0 18px 48px rgba(0,0,0,.34)}
*{box-sizing:border-box}html,body{margin:0;min-width:320px;min-height:100%;background:var(--background);color:var(--foreground);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit}.app-runtime{min-height:100dvh}.app-shell{width:min(100%,470px);min-height:100dvh;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 12px calc(var(--nav-h) + env(safe-area-inset-bottom) + 28px)}.primary-content{display:grid;gap:12px}.preview-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:var(--gold-soft);color:var(--gold);font-size:11px}.preview-banner b{font-size:12px}.brandbar{display:flex;align-items:center;gap:10px;min-height:54px}.brandmark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#d5aa5b,#8f641f);color:#fff;font-weight:800}.brandbar b{font-size:17px}.brandbar small{display:block;color:var(--muted);font-size:10px}.theme-toggle{margin-left:auto;width:40px;height:40px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--gold)}.card{padding:18px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.hero h1{margin:0;font-size:24px}.hero p,.card p{margin:8px 0 0;color:var(--muted);line-height:1.65;font-size:13px}.status-card{background:var(--gold-soft)}.status-card strong{display:block;color:var(--gold);font-size:18px}.status-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.pill{padding:5px 9px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:10px}.gate-list{display:grid;gap:10px}.gate{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.gate:first-child{border-top:0}.gate b{font-size:13px}.gate span{font-size:11px;color:var(--gold)}.empty-state{text-align:center;padding:32px 18px}.empty-state .symbol{font-size:34px;color:var(--gold)}.empty-state h2{margin:12px 0 4px;font-size:18px}.empty-state p{max-width:300px;margin:0 auto;color:var(--muted);line-height:1.7;font-size:12px}.bottom-nav{position:fixed;z-index:50;bottom:0;left:50%;display:grid;grid-template-columns:repeat(5,1fr);width:min(100%,470px);height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:6px 8px env(safe-area-inset-bottom);transform:translateX(-50%);border-top:1px solid var(--border);background:var(--background)}.bottom-nav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;border:0;background:transparent;color:var(--muted);font-size:10px;min-height:58px}.bottom-nav button.active{color:var(--gold);font-weight:700}.nav-icon{font-size:21px;line-height:1}.readonly-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.readonly-tile{padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.readonly-tile b{display:block;font-size:13px}.readonly-tile span{display:block;margin-top:6px;color:var(--muted);font-size:11px}.safety-note{padding:12px 14px;border-left:3px solid var(--gold);background:var(--gold-soft);color:var(--muted);font-size:11px;line-height:1.6}@media (max-width:360px){.app-shell{padding-inline:9px}.card{padding:15px}.preview-banner{align-items:flex-start;flex-direction:column}.readonly-grid{grid-template-columns:1fr}}@media (min-width:700px){body{background:color-mix(in srgb,var(--background) 88%,#777 12%)}.app-shell{background:var(--background);box-shadow:0 0 60px rgba(0,0,0,.08)}}
