:root{
  --bg:#0E1511;--cream:#F4EBD6;--muted:#B8B39F;--field:#172019;--border:#2A3A2E;
  --accent:#F5683B;--lime:#B7F04A;--ink2:#5C5A4E;--rule:#C9BFA4;--ph:#5F6A62;
}
*{box-sizing:border-box}
html{background:var(--bg);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--cream);font-family:'Instrument Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--cream);text-decoration:none}
button{font:inherit;color:inherit}
.view{max-width:430px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;gap:22px;padding:22px 20px 32px}
.view[hidden]{display:none}
.row{display:flex;justify-content:space-between;align-items:center}
.meta{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:500}
.col{display:flex;flex-direction:column;gap:8px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.chips{display:grid;gap:6px}
.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.c6{grid-template-columns:repeat(6,minmax(0,1fr))}
.serif{font-family:'Instrument Serif',Georgia,serif;font-style:italic}
.display{font-family:'Big Shoulders Display',sans-serif;font-weight:900;text-transform:uppercase}
.lede{margin:0;font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:18px;line-height:1.25}
.help{display:block;font-size:12px;color:var(--muted);line-height:1.4}
.help.tight{margin-top:-8px}

.gbi-in{width:100%;height:52px;padding:0 14px;background:var(--field);border:1px solid var(--border);border-radius:4px;color:var(--cream);font-size:16px;outline:none;font-family:inherit;-webkit-appearance:none;appearance:none}
.gbi-in:focus{border-color:var(--muted)}
.gbi-in::placeholder{color:var(--ph)}
.gbi-in:disabled{opacity:.45}
.gbi-in[type=number]::-webkit-inner-spin-button,.gbi-in[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.gbi-in[type=number]{-moz-appearance:textfield}
.gbi-lbl{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}
.gbi-chip{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border:1px solid var(--border);border-radius:4px;background:var(--field);color:var(--cream);font-size:14px;font-weight:500;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;text-align:center}
.gbi-chip.on{border-color:var(--accent);color:var(--accent)}
.gbi-chip:focus-visible,.gbi-tile:focus-visible{outline:2px solid var(--cream);outline-offset:2px}
.vote{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:4px;padding:12px 14px;text-align:left}
.vote .t{font-size:15px;font-weight:600}
.vote .d{display:block;font-size:13px;line-height:1.35;color:var(--muted)}
.vote.on .d{color:var(--cream)}
.vote .top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.vote .rec{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}

.gbi-tile{position:relative;display:block;height:120px;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--field);cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent}
.gbi-tile img{display:block;width:100%;height:100%;object-fit:cover}
.gbi-tile .nm{position:absolute;left:0;right:0;bottom:0;padding:6px 10px;background:rgba(14,21,17,.82);font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:18px;line-height:1;text-transform:uppercase;color:var(--cream);text-align:left}
.gbi-tile .ck{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;display:none;align-items:center;justify-content:center;background:var(--accent)}
.gbi-tile.on{border:2px solid var(--accent)}
.gbi-tile.on .ck{display:flex}

.gbi-sec{display:flex;align-items:baseline;gap:12px;padding-top:18px;border-top:1px solid var(--border)}
.gbi-num{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:22px;color:var(--muted)}
.gbi-h{font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:32px;line-height:1;text-transform:uppercase}

.status{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--cream);color:var(--bg);border-radius:6px}
.status .k{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.status .v{display:block;font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:24px;line-height:1}

.cta{display:flex;justify-content:center;align-items:center;width:100%;height:56px;border:0;border-radius:6px;background:var(--accent);color:var(--bg);font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:24px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.cta:disabled{opacity:.6;cursor:wait}
.ghost{display:flex;justify-content:center;align-items:center;gap:10px;width:100%;height:52px;border-radius:6px;border:1px solid var(--accent);background:transparent;color:var(--accent);font-family:'Big Shoulders Display',sans-serif;font-weight:700;font-size:20px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}

.bad .gbi-in,.gbi-in.bad{border-color:var(--accent)}
.bad .gbi-chip{border-color:#7a3a26}
.err{display:none;font-size:12px;color:var(--accent);font-weight:500}
.bad>.err,.bad .err{display:block}
.formerr{display:none;padding:12px 14px;border:1px solid var(--accent);border-radius:6px;color:var(--accent);font-size:14px;line-height:1.4}
.formerr.show{display:block}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* waiver */
.back{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:-10px;color:var(--cream);background:none;border:0;cursor:pointer}
.big{display:flex;flex-direction:column;font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:56px;line-height:.88;text-transform:uppercase;letter-spacing:-.01em}
.big .a{color:var(--accent)}
.terms{display:flex;flex-direction:column;gap:14px;padding:18px;background:var(--cream);color:var(--bg);border-radius:6px}
.terms ol{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.45}
.agree{display:flex;align-items:flex-start;gap:12px;padding-top:12px;border-top:1px solid var(--rule);cursor:pointer}
.agree input{position:absolute;opacity:0;width:1px;height:1px}
.box{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border:2px solid var(--bg);border-radius:3px;background:transparent}
.box svg{visibility:hidden}
.agree input:checked+.box{background:var(--bg)}
.agree input:checked+.box svg{visibility:visible}
.agree input:focus-visible+.box{outline:2px solid var(--accent);outline-offset:2px}
.agree .txt{font-size:14px;line-height:1.4;font-weight:600}
.terms.bad .agree .box{border-color:var(--accent)}
.clear{background:none;border:0;padding:6px 0 6px 12px;font-size:12px;color:var(--muted);cursor:pointer}
.pad{display:flex;flex-direction:column;justify-content:flex-end;height:180px;padding:14px;background:var(--field);border:1px solid var(--border);border-radius:6px;position:relative}
.pad.bad{border-color:var(--accent)}
.pad canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;border-radius:6px}
.pad .base{display:flex;justify-content:space-between;align-items:baseline;padding-top:10px;border-top:1px solid var(--border);position:relative;pointer-events:none}
.pad .base .l{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.pad .base .r{font-size:11px;color:var(--muted)}
.grow{flex-grow:1}

/* done */
.ok{display:flex;align-items:center;gap:6px;color:var(--lime);font-weight:600}
.cred{display:flex;flex-direction:column;background:var(--cream);color:var(--bg);border-radius:10px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.45)}
.cred .hd{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--bg);color:var(--cream)}
.cred .hd span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.cred .hd .y{color:var(--lime)}
.cred .who{display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px 18px 18px}
.cred .nm{font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:40px;line-height:.95;text-transform:uppercase;text-align:center;overflow-wrap:anywhere}
.cred .sub{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:17px;color:var(--ink2);text-align:center}
.cred .sig{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 18px 14px}
.cred .sig img{display:block;height:64px;max-width:100%;object-fit:contain}
.cred .sig span,.cred .cell .k{display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);font-weight:600}
.cred .sig .line{width:80%;border-top:1px solid var(--rule)}
.cred .cells{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule)}
.cred .cell{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-right:1px solid var(--rule)}
.cred .cell:last-child{border-right:0}
.cred .cell .v{display:block;font-family:'Big Shoulders Display',sans-serif;font-weight:700;font-size:20px}
.cred .bar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-top:1px solid var(--rule);background:#EBE0C6}
.cred .bar span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);font-weight:600}
.panel{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:var(--field);border:1px solid var(--border);border-radius:6px}
.panel .v{display:block;font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:30px;line-height:1}
.capture{padding:20px;background:var(--bg)}
