:root{--color-accent:#E2553E;--color-accent-strong:#C2412D;--color-accent-soft:#F7A072;--color-accent-bg:#FCE6E1;--color-ink:#2B2D42;--color-ink-secondary:#5E6072;--color-ink-muted:#8A8C9A;--color-on-accent:#FFFFFF;--color-on-dark:#FFF7F0;--color-background:#FFF7F0;--color-surface:#FFFFFF;--color-surface-muted:#FBEFE5;--color-border:#E8DED5;--color-border-strong:#D3C6BA;--color-success:#2A9D8F;--color-success-strong:#1F7A6F;--color-success-bg:#E3F4F1;--color-warning:#9A6700;--color-warning-bg:#FDF1D6;--color-error:#B42318;--color-error-bg:#FDE8E5;--font-heading:"Space Grotesk",system-ui,sans-serif;--font-body:"Inter",system-ui,sans-serif;--radius:8px;--radius-card:12px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--color-background);color:var(--color-ink);font-family:var(--font-body);font-weight:400;line-height:1.5;min-height:100vh}h1,h2,h3{font-family:var(--font-heading);font-weight:600;line-height:1.2;margin:0}p{margin:0}a{color:var(--color-accent-strong)}button,input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:2px}.wrap{width:min(880px,calc(100% - 32px));margin:0 auto;padding-bottom:48px}.stack{display:flex;flex-direction:column;gap:16px}.row{gap:8px}.row,.spread{display:flex;flex-wrap:wrap;align-items:center}.spread{gap:12px}.header,.spread{justify-content:space-between}.header{display:flex;align-items:center;gap:16px;padding:20px 0 8px;flex-wrap:wrap}.logo{display:block;height:32px;width:auto}.nav{display:flex;flex-wrap:wrap;gap:16px}.nav a{font-weight:500;text-decoration:none}.nav a[aria-current=page]{text-decoration:underline;text-underline-offset:4px}.muted{color:var(--color-ink-secondary)}.small{font-size:.9rem}.faint{color:var(--color-ink-muted)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:16px}.tip{background:var(--color-accent-bg);border-radius:var(--radius);padding:12px 14px}.button,.button-quiet,.button-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:var(--radius);border:1px solid transparent;font-weight:500;text-decoration:none;cursor:pointer;background:var(--color-accent-strong);color:var(--color-on-accent)}.button:hover{opacity:.92}.button:disabled{opacity:.5;cursor:not-allowed}.button-quiet,.button-secondary{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-border-strong)}.button-quiet{color:var(--color-error)}.field{width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:4px;padding:4px 4px 4px 12px;background:var(--color-accent-bg);border-radius:999px;font-weight:500}.chip button{border:0;background:transparent;min-width:36px;min-height:36px;cursor:pointer;color:var(--color-ink-secondary)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.8rem;font-weight:500}.badge.ok{background:var(--color-success-bg);color:var(--color-success-strong)}.badge.warn{background:var(--color-warning-bg);color:var(--color-warning)}.badge.bad{background:var(--color-error-bg);color:var(--color-error)}.badge.neutral{background:var(--color-surface-muted);color:var(--color-ink-secondary)}.banner{background:var(--color-warning-bg);color:var(--color-warning)}.banner,.error{border-radius:var(--radius);padding:12px 14px}.error{background:var(--color-error-bg);color:var(--color-error)}.preview{display:grid;grid-template-columns:128px 1fr;grid-gap:12px;gap:12px;align-items:start}.preview .placeholder,.preview img{width:100%;height:96px;object-fit:cover;border-radius:var(--radius);background:var(--color-surface-muted)}.signin{width:min(420px,calc(100% - 32px));margin:48px auto}.table{display:flex;flex-direction:column;gap:12px}@media (max-width:640px){.preview{grid-template-columns:1fr}.preview .placeholder,.preview img{height:180px}.button,.button-quiet,.button-secondary{flex:1 1 auto}}