:root{--ink:#16161a;--muted:#5c5850;--paper:#fbfaf7;--card:#fff;--line:#d9d5cc;--accent:#8a1c1c;--accent-ink:#fff;--accent-tint:#f7ecec;--ok:#1d6b3a;--ok-tint:#e9f4ed;--warn:#8a5a00;--warn-tint:#fdf4e3;--bad:#a11d1d;--bad-tint:#fbeaea;--radius:10px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent)}h1{margin:8px 0 12px;font-size:28px;line-height:1.2}h2{margin:28px 0 8px;font-size:22px}h3{margin:18px 0 6px;font-size:18px}p{margin:8px 0}.wrap{max-width:720px;margin:0 auto;padding:16px 16px 72px}.wrap.wide{max-width:1100px}.muted{color:var(--muted)}.small{font-size:15px}.topbar{border-bottom:1px solid var(--line);background:var(--card);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.topbar .brand{color:var(--ink);font-weight:800;text-decoration:none}.topbar nav{flex-wrap:wrap;align-items:center;gap:14px;font-size:15px;display:flex}.crumbs{color:var(--muted);margin:4px 0 8px;font-size:15px}.crumbs a{color:var(--muted)}label.field{margin:14px 0;display:block}label.field>span{margin-bottom:4px;font-weight:600;display:block}label.field>small{color:var(--muted);margin-top:4px;font-size:15px;display:block}input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=date],input[type=time],input[type=datetime-local],input:not([type]),select,textarea{width:100%;font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:11px 12px}textarea{min-height:90px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.check-row{align-items:flex-start;gap:10px;margin:12px 0;display:flex}.check-row input{flex:none;width:22px;height:22px;margin-top:2px}.row{flex-wrap:wrap;gap:12px;display:flex}.row>*{flex:200px}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}button,.btn{font:inherit;cursor:pointer;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:10px 16px;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:default}.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}.big{width:100%;margin-top:8px;padding:15px;font-size:18px}.danger{color:var(--bad);border-color:var(--bad)}.linklike{color:var(--accent);background:0 0;border:0;padding:0;text-decoration:underline}.actions{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.note{border-radius:var(--radius);margin:12px 0;padding:12px 14px}.note.ok{background:var(--ok-tint);color:var(--ok)}.note.warn{background:var(--warn-tint);color:var(--warn)}.note.bad{background:var(--bad-tint);color:var(--bad)}.note.info{color:#213a63;background:#eef1f6}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:12px 0;padding:14px}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.stat{font-size:26px;font-weight:800}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:15px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px}th{white-space:nowrap;font-weight:700}.tabs{border-bottom:2px solid var(--line);gap:4px;margin:12px 0 16px;display:flex;overflow-x:auto}.tabs button{white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;margin-bottom:-2px;padding:10px 12px}.tabs button.on{border-bottom-color:var(--accent);font-weight:700}.pill{color:var(--ink);background:#eceae4;border-radius:99px;padding:2px 8px;font-size:13px;font-weight:700;display:inline-block}.pill.ok{background:var(--ok-tint);color:var(--ok)}.pill.warn{background:var(--warn-tint);color:var(--warn)}.pill.bad{background:var(--bad-tint);color:var(--bad)}code,.mono{font-family:ui-monospace,Menlo,monospace;font-size:14px}.copybox{align-items:center;gap:8px;display:flex}.copybox input{font-family:ui-monospace,Menlo,monospace;font-size:14px}.cat-row{text-align:left;border:2px solid var(--line);border-radius:var(--radius);background:#fff;align-items:center;gap:12px;width:100%;margin:0 0 12px;padding:14px 12px;display:flex}.cat-row.voted{border-color:var(--accent);background:var(--accent-tint)}.cat-row .check{border:2px solid var(--line);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-weight:700;display:flex}.cat-row.voted .check{background:var(--accent);border-color:var(--accent)}.cat-row .cat-text{flex:1;min-width:0}.cat-row .cat-name{font-size:18px;font-weight:700;display:block}.cat-row .cat-sub{color:var(--muted);font-size:15px;display:block}.cars{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.car{border:2px solid var(--line);border-radius:var(--radius);text-align:left;background:#fff;width:100%;padding:8px}.car.selected{border-color:var(--accent);background:var(--accent-tint)}.car img,.nophoto{aspect-ratio:4/3;object-fit:cover;background:#eceae4;border-radius:6px;width:100%;display:block}.car .num{margin-top:6px;font-size:20px;font-weight:800;display:block}.car .desc{color:var(--muted);font-size:15px}.thumb{aspect-ratio:4/3;object-fit:cover;background:#eceae4;border-radius:4px;width:64px;display:block}.pub button:focus-visible,.pub .btn:focus-visible,.pub a:focus-visible,.pub input[type=radio]:focus-visible,.pub input[type=file]:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.pub .btn.primary{color:var(--accent-ink)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pub-head{margin:4px 0 16px}.pub-region{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);font-size:15px;font-weight:700}.pub-head h1{margin:2px 0 4px}.pub-when,.h-tight{margin:0}.results-title{align-items:center;gap:10px;margin-top:10px;display:flex}.pub-links{margin-top:20px}fieldset.choice-group{border:0;min-width:0;margin:14px 0;padding:0}fieldset.choice-group legend{margin-bottom:4px;padding:0;font-weight:600}.choice-opts{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.choice-opt{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;display:flex}.choice-opt input{width:20px;height:20px;margin:0}.choice-opt:has(input:checked){border-color:var(--accent);background:var(--accent-tint)}.pub-photo{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);background:#eceae4;width:100%;max-width:320px;margin:8px 0;display:block}.pub-photo-wrap{margin:0 0 12px}.claim-num{align-items:baseline;gap:10px;margin:8px 0;display:flex}.claim-num span{font-size:18px;font-weight:600}.claim-num strong{color:var(--accent);font-size:44px;line-height:1}.done{text-align:center}.done .card{text-align:left}.done-label{margin:8px 0 0;font-size:18px}.num-huge{color:var(--accent);margin:4px 0;font-size:96px;font-weight:900;line-height:1}.done-lead{font-size:20px;font-weight:700}.back-btn{margin:4px 0 8px}.cat-heading{margin-top:4px}.cat-help{font-size:17px}.cat-row .chevron{color:var(--muted);flex:none;font-size:28px;line-height:1}.num-search{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 14px;display:flex}.num-search label{flex:1 0 100%;font-weight:600}.num-search input{flex:160px;width:auto;padding:10px 12px;font-size:24px;font-weight:700}.pub .car .num{font-size:30px;line-height:1.1}.pub .car .desc{display:block}.pick-tag{color:var(--accent-ink);background:var(--accent);border-radius:99px;margin-top:6px;padding:2px 8px;font-size:14px;font-weight:700;display:inline-block}.focus-banner{border:2px solid var(--accent);background:var(--accent-tint);border-radius:var(--radius);margin:12px 0 16px;padding:12px}.focus-top{align-items:center;gap:10px;display:flex}.focus-title{flex-direction:column;flex:1;min-width:0;display:flex}.focus-title strong{font-size:24px}.focus-cats{flex-direction:column;gap:8px;margin-top:10px;display:flex}.focus-cats button{text-align:left;width:100%;padding:12px 14px;font-size:17px}.result-cat h3{margin-top:0}.winners{gap:12px;display:grid}.winner{grid-template-columns:minmax(96px,160px) 1fr;align-items:center;gap:12px;display:grid}.winner img,.winner .nophoto{aspect-ratio:4/3;object-fit:cover;background:#eceae4;border-radius:6px;width:100%;display:block}.winner .num{font-size:30px;font-weight:800;line-height:1.1;display:block}.winner .desc{color:var(--muted);display:block}@media print{.no-print,.topbar{display:none!important}body{background:#fff}main.wrap>.print-page:first-child,.print-preview{margin-top:0!important}.wrap,.wrap.wide{max-width:none;margin:0;padding:0}}@page{size:letter;margin:.4in}.qr-svg svg{width:100%;height:100%;display:block}.print-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.print-toolbar .spacer{flex:auto}.print-preview{border:1px dashed var(--line);border-radius:var(--radius);background:#fff;margin:10px 0;padding:10px;overflow-x:auto}@media print{.print-preview{border:none;margin:0;padding:0;overflow:visible}}.print-page{page-break-after:always;break-after:page}.print-page:last-child{page-break-after:auto;break-after:auto}.pcard{page-break-inside:avoid;break-inside:avoid;color:#000;background:#fff;border:2px solid #000;border-radius:10px;flex-direction:column;padding:.25in;display:flex}.pcard+.pcard{margin-top:.2in}.pcard-half{height:4.85in}.pcard-full{height:9.9in}.pcard-head{text-align:center}.pcard-event{font-size:15pt;font-weight:800}.pcard-venue{color:#333;font-size:11pt}.pcard-body{flex:1;justify-content:center;align-items:center;gap:.3in;display:flex}.pcard-number{text-align:center;font-variant-numeric:tabular-nums;font-weight:900;line-height:1}.pcard-half .pcard-number{font-size:130pt}.pcard-full .pcard-number{font-size:240pt}.pcard-desc{text-align:center;font-weight:700}.pcard-half .pcard-desc{font-size:20pt}.pcard-full .pcard-desc{font-size:32pt}.pcard-photo{object-fit:cover;border:2px solid #000;border-radius:6px;flex:none;width:1.8in;height:1.35in}.pcard-foot{border-top:3px solid #000;align-items:center;gap:.25in;margin-top:auto;padding-top:.15in;display:flex}.pcard-scan{font-weight:900}.pcard-half .pcard-scan{font-size:16pt}.pcard-full .pcard-scan{font-size:26pt}.pcard-writein-label{margin-top:.18in;font-size:11pt;font-weight:700}.pcard-writein-line{border-bottom:2px solid #000;height:.34in}.pcard-writein-grid{grid-template-columns:1fr 1fr;gap:0 .3in;display:grid}.pcard{overflow:hidden}.pcard-body{min-height:0}.pcard-blank.pcard-half .pcard-number{font-size:88pt}.pcard-blank.pcard-half .pcard-writein-label{margin-top:.08in}.pcard-blank.pcard-half .pcard-writein-line{height:.28in}.pcard-blank.pcard-full .pcard-number{font-size:180pt}.sign-page{flex-direction:column;height:10.1in;display:flex}.sign-half{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.2in;display:flex}.sign-half.flip{transform:rotate(180deg)}.sign-cut{border-top:2px dashed #999}.sign-title{margin:0;font-size:44pt;font-weight:900}.sign-sub{color:#333;font-size:16pt}.sign-url{font-family:ui-monospace,Menlo,monospace;font-size:18pt;font-weight:700}.ballot-page{gap:.2in;height:10.2in;display:grid}.ballot-page.per2{grid-template-rows:1fr 1fr}.ballot-page.per4{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}.ballot-box{page-break-inside:avoid;break-inside:avoid;border:2px dashed #000;border-radius:8px;flex-direction:column;padding:.18in;display:flex;overflow:hidden}.ballot-box h2{margin:0 0 4px;font-size:15pt}.ballot-box .muted{font-size:10pt}.ballot-award{border-bottom:1px solid #999;justify-content:space-between;align-items:center;gap:8px;padding:4px 0;display:flex}.ballot-award .award-name{font-size:11pt;font-weight:700}.ballot-award .award-rule{color:#444;font-size:9pt;font-weight:400;display:block}.ballot-award .num-box{border:1.5px solid #000;flex:none;width:.8in;height:.32in}.meter{border:1px solid var(--line);background:#eceae4;border-radius:99px;height:14px;overflow:hidden}.meter>span{background:var(--accent);height:100%;display:block}.meter.warn>span{background:var(--warn)}.confirm-row{background:var(--accent-tint);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:8px;display:flex}.confirm-box{border:2px solid var(--line);border-radius:var(--radius);background:var(--card);flex-basis:100%;margin:8px 0;padding:12px}fieldset.plain{border:0;min-width:0;margin:0;padding:0}.field-label{margin:14px 0 4px;font-weight:600}label.btn{position:relative}.panel{border:2px solid var(--accent)}.panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-photo{aspect-ratio:4/3;object-fit:cover;border-radius:8px;width:100%;max-width:360px;margin:8px 0;display:block}.cars-table tr.sel td{background:var(--accent-tint)}.cars-table .thumb{width:56px}input.big-check{width:24px;height:24px}tr.row-bad td{background:var(--bad-tint);color:var(--bad)}.preview{max-height:420px;margin:8px 0;overflow:auto}textarea.brief{white-space:pre-wrap;min-height:260px;font-size:14px}tr.lead td{font-weight:700}.switch-row .check-row input{margin-top:4px}input[type=search]{width:100%;font:inherit;border:1px solid var(--line);background:#fff;border-radius:8px;padding:11px 12px}.crop-overlay{z-index:1000;touch-action:none;background:#16161aeb;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:16px;display:flex;position:fixed;inset:0}.crop-stage{justify-content:center;align-items:center;display:flex}.crop-frame{aspect-ratio:4/3;border:2px solid var(--paper);touch-action:none;cursor:grab;background:#000;border-radius:10px;width:92vw;max-width:520px;position:relative;overflow:hidden}.crop-frame:active{cursor:grabbing}.crop-image{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:none;max-height:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.crop-hint{color:var(--paper);opacity:.85;text-align:center;margin:0;font-size:15px}.crop-actions{gap:12px;width:92vw;max-width:520px;display:flex}.crop-actions button{cursor:pointer;border-radius:10px;flex:1;min-height:52px;padding:16px;font-size:18px;font-weight:700}.crop-cancel{color:var(--paper);border:2px solid var(--paper);background:0 0}.crop-use{margin-top:0}
