:root{--bg:#f6f3ec;--surface:#fff;--fg:#1c1b19;--muted:#57534c;--border:#d9d2c3;--accent:#8a2b17;--accent-strong:#6e2010;--accent-fg:#fff;--ok:#1f6b3a;--warn:#8a5a00;--focus:#1a5fb4;--radius:12px;--tap:48px;--max:40rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Hiragino Sans,Noto Sans JP,Noto Sans KR,Noto Sans SC,Noto Sans TC,sans-serif;line-height:1.5}html[data-text-size=large]{font-size:125%}html[data-text-size=xlarge]{font-size:150%}html[data-contrast=high]{--bg:#fff;--surface:#fff;--fg:#000;--muted:#000;--border:#000;--accent:#000;--accent-strong:#000;--accent-fg:#fff;--ok:#000;--warn:#000}html[data-contrast=high] .card,html[data-contrast=high] .btn{border-width:2px}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0}a{color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1,h2,h3{margin:0 0 .5rem;line-height:1.25}.container{max-width:var(--max);margin:0 auto;padding:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.btn{min-height:var(--tap);min-width:var(--tap);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--fg);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-block{width:100%;display:flex}.muted{color:var(--muted)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}input[type=text],input[type=number],select{min-height:var(--tap);font:inherit;border:1px solid var(--muted);border-radius:var(--radius);background:var(--surface);color:var(--fg);padding:.5rem .75rem}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
