:root{color-scheme:light;--ink:#152a29;--muted:#526564;--paper:#f4f2ec;--line:#d3ddd7;--accent:#185c50}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 system-ui,-apple-system,sans-serif}header,main,footer{max-width:1000px;margin:auto;padding:24px}header{padding-top:36px;border-bottom:1px solid var(--line)}h1{font-size:clamp(28px,5vw,45px);line-height:1.1;letter-spacing:-1px;margin:14px 0}h2{font-size:18px;margin:0 0 17px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:750}header p{max-width:650px;color:var(--muted)}section{padding:25px 0;border-bottom:1px solid var(--line)}label{display:block;font-size:13px;font-weight:650;margin:10px 0 5px}button,.button{display:inline-block;border:1px solid var(--line);border-radius:6px;padding:10px 13px;background:white;color:var(--ink);font:inherit;font-size:13px;text-decoration:none;cursor:pointer;margin:0}button:first-child{background:var(--accent);color:white}button:disabled{opacity:.45;cursor:not-allowed}.actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}input,select,textarea{max-width:100%;width:100%;border:1px solid var(--line);padding:10px;border-radius:6px;background:#fff;color:var(--ink);font:inherit}textarea{font:12px/1.6 ui-monospace,monospace}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 ui-monospace,monospace;background:#e9eeea;border-radius:5px;padding:13px;max-height:360px;overflow:auto}.hint,footer{font-size:12px;color:var(--muted)}.row{padding:12px 0;border-bottom:1px dashed var(--line);overflow-wrap:anywhere}.row small{display:block;color:var(--muted)}.tag{display:inline-block;background:#dce9df;padding:2px 7px;border-radius:3px;font-size:11px;margin:3px 5px 3px 0}.warning{background:#fff0cb;padding:8px}.error,#error{color:#8a251f}a{color:var(--accent)}details{margin:15px 0}summary{cursor:pointer}#budget{width:180px}footer{padding-bottom:30px}@media(max-width:460px){header,main,footer{padding:17px}h1{font-size:30px}}

@view-transition { navigation: auto; }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
}
