:root{--ink:#0F1216;--ink-2:#161A1F;--ink-3:#232930;--copper:#C8642A;--copper-deep:#9C4A1C;--copper-hot:#E07B3C;--grey:#8E9497;--white:#F4F5F2;--green:#2E7D4F;--red:#B23A2E;--bg:#F4F5F2;--surface:#FFFFFF;--fg:#0F1216;--muted:#545B60;--line:#D9DCDA;--accent:#9C4A1C;--maxw:1200px;--gutter:max(20px,env(safe-area-inset-left,0px))}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{--display:var(--font-display),"Arial Narrow",Arial,sans-serif;--body:var(--font-body),"Segoe UI",Arial,sans-serif;--mono:var(--font-mono),Consolas,monospace;margin:0;background:var(--bg);color:var(--fg);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased}img,svg{max-width:100%}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--copper);outline-offset:3px}h1,h2,h3,h4{font-family:var(--display);font-stretch:125%;line-height:1.02;margin:0;letter-spacing:-.01em;text-wrap:balance}p{margin:0}.wrap{max-width:var(--maxw);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}.label{font:500 .74rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;font:700 .95rem/1 var(--body);text-decoration:none;border:0;cursor:pointer;background:var(--copper);color:var(--ink);transition:background .15s,transform .15s}.btn:hover{background:var(--copper-hot)}.btn:active{transform:translateY(1px)}.btn.ghost{background:transparent;box-shadow:inset 0 0 0 1.5px currentColor;color:inherit}.btn.ghost:hover{background:rgba(200,100,42,.08)}.btn.dark{background:var(--ink);color:var(--white)}.btn.dark:hover{background:#222831}.btn.sm{padding:9px 14px;font-size:.85rem}.btn[disabled]{opacity:.5;cursor:not-allowed}.phase{display:grid;grid-gap:5px;gap:5px;width:44px}.phase i{display:block;height:5px;background:var(--copper)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}