:root{--color-bg: #f3f4f6;--color-surface: #ffffff;--color-text: #1c1c1c;--color-muted: #5f6368;--color-accent: #243038;--color-accent-contrast: #ffffff;--color-line: #e2e4e8;--color-danger: #8d2f2f;--color-todo: #f7f7f4;--layout-max: 600px;--space: 16px;--font: "Hiragino Sans", "Noto Sans JP", sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font)}a{color:inherit}button,a{font:inherit}.frame{width:min(100%,var(--layout-max));margin:0 auto;min-height:100vh;background:var(--color-surface);padding:var(--space)}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space);padding-bottom:12px;border-bottom:1px solid var(--color-line)}.header a{text-decoration:none;font-weight:700}.tabs,.menu,.stack{display:grid;gap:8px}.tabs{grid-template-columns:repeat(3,1fr)}.tabs button,.menu a,.button{border:1px solid var(--color-line);border-radius:4px;padding:10px 12px;background:var(--color-surface);text-decoration:none;text-align:center}.tabs button[aria-pressed=true]{background:var(--color-accent);color:var(--color-accent-contrast);border-color:var(--color-accent)}.menu a[data-placement=bottom-left]{justify-self:start}.card{border:1px solid var(--color-line);border-radius:4px;padding:12px;margin:12px 0}.note{color:var(--color-muted);font-size:.875rem}.todo{background:var(--color-todo)}.banner-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.banner{display:grid;place-items:center;min-height:72px;border:1px solid var(--color-line);border-radius:4px;font-weight:700;letter-spacing:.08em}.danger{color:var(--color-danger)}
