:root{--color-bg:#fff;--color-surface:#f6f5f2;--color-fg:#1b1a17;--color-muted:#66625a;--color-border:#e2dfd8;--color-accent:#9a5b00;--color-accent-fg:#fff;--color-danger:#b42318;--color-danger-bg:#fdf0ee;--color-level-ok:#2e7d32;--color-level-notice:#8a6d00;--color-level-warn:#b45309;--color-level-stop:#b42318;--radius:10px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--tabbar-height:56px;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "PingFang SC", "Microsoft YaHei", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#000;--color-surface:#161513;--color-fg:#eeece8;--color-muted:#a29d93;--color-border:#2c2a26;--color-accent:#f0a63a;--color-accent-fg:#1b1a17;--color-danger:#ff8a7a;--color-danger-bg:#2a1512;--color-level-ok:#81c784;--color-level-notice:#e0c35a;--color-level-warn:#f0a63a;--color-level-stop:#ff8a7a}}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-bg);min-height:100dvh;color:var(--color-fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);margin:0;font-size:16px;line-height:1.5}h1,h2,h3{margin:0 0 var(--space-3);line-height:1.25}h1{font-size:1.375rem}h2{font-size:1.125rem}h3{font-size:1rem}p{margin:0 0 var(--space-3)}a{color:var(--color-accent)}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.gate{border-left:4px solid var(--color-border);padding:var(--space-2) var(--space-3);background:var(--color-surface);border-radius:0 var(--radius) var(--radius) 0;margin-bottom:var(--space-3)}.gate--ok{border-left-color:var(--color-level-ok)}.gate--notice{border-left-color:var(--color-level-notice)}.gate--warn{border-left-color:var(--color-level-warn)}.gate--stop{border-left-color:var(--color-level-stop)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
