/* Design Blueprint starter. Review in your project before applying. */
:root {
  --bp-paper: #f4f3ee;
  --bp-ink: #111111;
  --bp-charcoal: #171717;
  --bp-muted: #595952;
  --bp-accent: #e5ff00;
  --bp-gap: 24px;
  --bp-radius: 12px;
  --bp-panel: 24px;
  --bp-font: system-ui, sans-serif;
  --bp-mono: ui-monospace, monospace;
  --bp-ease: cubic-bezier(0.22, 1, 0.36, 1);
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bp-paper); color: var(--bp-ink); font-family: var(--bp-font); line-height: 1.65; }
main { max-width: 72rem; margin: auto; padding: clamp(20px, 5vw, 64px); }
h1 { font-size: clamp(2.5rem, 6vw, 5rem); line-height: 1.08; font-weight: 600; letter-spacing: 0; max-width: 16ch; text-wrap: balance; }
h2 { font-size: clamp(1.5rem, 3vw, 2.5rem); line-height: 1.2; }
p { max-width: 65ch; }
a { color: inherit; text-underline-offset: .2em; }
.meta { font-family: var(--bp-mono); font-size: .8rem; }
.muted { color: var(--bp-muted); }
.action, button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 12px 20px; background: var(--bp-accent); color: var(--bp-ink); border: 1px solid var(--bp-ink); border-radius: var(--bp-radius); font: inherit; text-decoration: none; }
button:disabled { opacity: .6; cursor: not-allowed; }
:focus-visible { outline: 3px solid var(--bp-ink); outline-offset: 4px; }
.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bp-gap); margin: 32px 0; }
.panel { border: 1px solid var(--bp-ink); border-radius: var(--bp-panel); padding: var(--bp-gap); }
.dark { background: var(--bp-charcoal); color: var(--bp-paper); }
.dark :focus-visible { outline-color: var(--bp-accent); }
label { display: block; margin: 16px 0 6px; }
input { width: 100%; min-height: 44px; padding: 10px; border: 1px solid var(--bp-muted); border-radius: var(--bp-radius); background: var(--bp-paper); color: var(--bp-ink); font: inherit; }
details { border-top: 1px solid var(--bp-muted); padding: 18px 0; }
summary { cursor: pointer; min-height: 44px; }
@media (max-width: 640px) { .grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
