:root{color-scheme:light dark;--paper: #f1f4ef;--raised: #ffffff;--ink: #16211b;--ink-2: #4a5a51;--rule: #cbd5cc;--enamel: #0b6e4f;--enamel-deep: #08543c;--enamel-wash: #e3efe8;--turmeric: #b4830e;--turmeric-wash: #f7eed8;--chili: #a82820;--chili-wash: #f8e5e3;--gutter: 5.5rem;--edge: 4px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #0e1512;--raised: #16201b;--ink: #e6ede7;--ink-2: #9db0a4;--rule: #27342c;--enamel: #4fbf8f;--enamel-deep: #6ed3a5;--enamel-wash: #14291f;--turmeric: #ddaa3e;--turmeric-wash: #2a2313;--chili: #e8776a;--chili-wash: #2d1614}}:root[data-theme=dark]{--paper: #0e1512;--raised: #16201b;--ink: #e6ede7;--ink-2: #9db0a4;--rule: #27342c;--enamel: #4fbf8f;--enamel-deep: #6ed3a5;--enamel-wash: #14291f;--turmeric: #ddaa3e;--turmeric-wash: #2a2313;--chili: #e8776a;--chili-wash: #2d1614}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Archivo,Helvetica Neue,Arial,sans-serif;font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--enamel);text-underline-offset:2px}a:hover{color:var(--enamel-deep)}.mono,code{font-family:IBM Plex Mono,ui-monospace,SF Mono,Menlo,monospace;font-variant-ligatures:none}.nav{display:flex;align-items:baseline;gap:1.5rem;flex-wrap:wrap;padding:.9rem 1.5rem;background:var(--raised);border-bottom:2px solid var(--ink)}.brand{font-weight:700;font-size:1.15rem;letter-spacing:.06em;color:inherit;text-decoration:none}.nav nav{display:flex;gap:1.25rem;flex-wrap:wrap}.nav nav a{color:var(--ink-2);text-decoration:none;padding-bottom:.15rem;border-bottom:2px solid transparent;font-weight:500}.nav nav a:hover{color:var(--ink)}.nav nav a.active{color:var(--ink);border-bottom-color:var(--enamel)}.who{margin-left:auto;display:flex;align-items:baseline;gap:.9rem;font-size:.9rem;color:var(--ink-2)}main{max-width:62rem;margin:0 auto;padding:2rem 1.5rem 5rem}h1{font-size:1.85rem;font-weight:700;letter-spacing:-.015em;margin:0 0 .3rem}.lede{max-width:46ch;color:var(--ink-2);margin:0 0 1.5rem}.muted{color:var(--ink-2)}.small{font-size:.85rem}.back{display:inline-block;margin-bottom:1.25rem;color:var(--ink-2);font-size:.9rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.rail{list-style:none;margin:1.25rem 0;padding:0;border-top:1px solid var(--rule)}.ticket{display:grid;grid-template-columns:var(--gutter) 1fr auto;gap:1.25rem;align-items:baseline;padding:.9rem 1rem .9rem 1.25rem;border-bottom:1px solid var(--rule);border-left:var(--edge) solid var(--rule);background:var(--raised)}.ticket--pending{border-left-color:var(--turmeric)}.ticket--accepted{border-left-color:var(--enamel)}.ticket--ready{border-left-color:var(--ink)}.ticket-gutter{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.78rem;line-height:1.35;color:var(--ink-2)}.ticket-status{display:block;font-weight:500;color:var(--ink)}.ticket--pending .ticket-status{color:var(--turmeric)}.ticket--accepted .ticket-status{color:var(--enamel)}.ticket-id{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.95rem;margin:0 0 .15rem}.ticket-id a{color:inherit;text-decoration-color:var(--rule);text-underline-offset:3px}.ticket-id a:hover{text-decoration-color:var(--enamel)}.ticket-lines{margin:0;color:var(--ink-2);font-size:.92rem}.amount{font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;white-space:nowrap}.pricelist{list-style:none;margin:1.25rem 0;padding:0;border-top:1px solid var(--rule)}.price-row{display:grid;grid-template-columns:1fr auto auto;gap:1.25rem;align-items:baseline;padding:.85rem .25rem;border-bottom:1px solid var(--rule)}.price-name{font-size:1.15rem;font-weight:600;margin:0}.price-desc{margin:.1rem 0 0;color:var(--ink-2);font-size:.9rem;max-width:44ch}.price-row--out .price-name,.price-row--out .amount{color:var(--ink-2);text-decoration:line-through;text-decoration-thickness:1px}.rail--loading .ticket{border-left-color:var(--rule)}.bar{display:block;height:.72rem;border-radius:2px;background:linear-gradient(90deg,var(--rule),var(--paper),var(--rule));background-size:200% 100%;animation:shimmer 1.5s linear infinite}.bar-wide{width:58%}.bar-narrow{width:30%;margin-top:.4rem}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.state{border:1px solid var(--rule);border-left:var(--edge) solid var(--rule);background:var(--raised);padding:1.5rem 1.35rem;margin:1.25rem 0}.state-title{margin:0 0 .35rem;font-size:1.1rem;font-weight:600}.state--empty{border-left-color:var(--rule)}.state--error{border-left-color:var(--chili);background:var(--chili-wash)}.state--error .state-title{color:var(--chili)}.state--notfound{border-left-color:var(--ink-2)}.state--notice{border-left-color:var(--turmeric);background:var(--turmeric-wash)}.freshness{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.8rem;color:var(--ink-2);margin:0 0 .5rem}.freshness--stale{color:var(--turmeric);font-weight:500;padding-left:.75rem;border-left:var(--edge) solid var(--turmeric)}.field-error{margin:.35rem 0 0;color:var(--chili);font-size:.85rem;font-weight:500}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--chili);background:var(--chili-wash)}.qty{display:flex;align-items:center;gap:.6rem}.qty input{width:4rem;font:inherit;font-variant-numeric:tabular-nums;padding:.4rem .55rem;border:1px solid var(--rule);border-radius:3px;background:var(--paper);color:inherit}.note{display:block;margin:1.5rem 0;max-width:44ch}.note span{display:block;margin-bottom:.35rem;font-weight:500}.note textarea{width:100%;font:inherit;padding:.6rem;border:1px solid var(--rule);border-radius:3px;background:var(--raised);color:inherit;resize:vertical}.total{font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:500;margin:1.25rem 0}button,.button{font:inherit;font-weight:500;cursor:pointer;border:1px solid var(--ink);border-radius:3px;background:transparent;color:var(--ink);padding:.5rem 1rem;text-decoration:none;display:inline-block}button:hover:not(:disabled),.button:hover{background:var(--enamel-wash)}button:disabled{cursor:not-allowed;background:transparent;border-color:var(--rule);color:var(--ink-2);opacity:.7}button.primary:not(:disabled),.button{background:var(--enamel);border-color:var(--enamel);color:#fff}button.primary:hover:not(:disabled),.button:hover{background:var(--enamel-deep);border-color:var(--enamel-deep)}button.secondary{border-color:var(--rule);color:var(--ink-2)}:focus-visible{outline:2px solid var(--enamel);outline-offset:2px}.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.5rem 0}.sheet{border:1px solid var(--rule);border-left:var(--edge) solid var(--rule);background:var(--raised);padding:1.5rem;margin:1.25rem 0}.sheet--pending{border-left-color:var(--turmeric)}.sheet--accepted{border-left-color:var(--enamel)}.sheet--ready{border-left-color:var(--ink)}.sheet-status{font-size:1.5rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .75rem}.sheet--pending .sheet-status{color:var(--turmeric)}.sheet--accepted .sheet-status{color:var(--enamel)}.timeline{list-style:none;margin:0 0 1rem;padding:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.82rem;color:var(--ink-2)}.timeline li{padding:.1rem 0}.lines{list-style:none;margin:1rem 0;padding:0}.lines li{display:flex;justify-content:space-between;gap:1.5rem;padding:.35rem 0;border-bottom:1px dotted var(--rule)}.note-shown{margin:1rem 0;padding-left:.85rem;border-left:2px solid var(--rule);color:var(--ink-2)}.demo-banner{margin:0;padding:.5rem 1.5rem;background:var(--turmeric);color:#1c1505;font-size:.82rem;text-align:center;font-weight:500}.boot{padding:5rem 1.5rem;text-align:center;color:var(--ink-2);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.9rem}.centered{max-width:30rem;margin:4rem auto 0}.sticky-cart{position:sticky;bottom:1.25rem;margin-top:1.5rem}.rowlink{display:inline-block;margin:0 0 1.25rem;font-size:.88rem;color:var(--ink-2);text-decoration-color:var(--rule)}.rowlink:hover{color:var(--enamel)}.tally{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.82rem;color:var(--ink-2);margin:.75rem 0 1.25rem}@media(max-width:34rem){:root{--gutter: 4.25rem}body{font-size:16px}main{padding:1.5rem 1rem 4rem}.nav{padding:.75rem 1rem;gap:.75rem 1rem}.who{width:100%;margin-left:0}.ticket{grid-template-columns:var(--gutter) 1fr;row-gap:.35rem}.ticket .amount{grid-column:2}.price-row{grid-template-columns:1fr auto}}@media(prefers-reduced-motion:reduce){.bar{animation:none}}
