:root{--ink:#351249;--purple:#683d89;--orange:#ff9800;--lime:#b2e000;--line:#e7deec;--muted:#66546f;--soft:#f6f2f9;--white:#fff;color:var(--ink);font-synthesis:none;background:#f3eff6;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.5}button,input{font:inherit}button,a,input{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:var(--purple)}img{max-width:100%;display:block}button:disabled,.disabled{opacity:.55;cursor:default;pointer-events:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;line-height:1.16}h1{margin-bottom:10px;font-size:clamp(1.65rem,5.5vw,2.15rem);font-weight:900}h2{margin-bottom:10px;font-size:1.5rem;font-weight:800}h3{margin-bottom:14px;font-size:1.125rem;font-weight:800}p{margin-bottom:18px}:is(button:focus-visible,a:focus-visible,input:focus-visible){outline-offset:4px;outline:3px solid #4d2670}input{width:100%;min-width:0;color:var(--ink);background:#fff;border:1.5px solid #b9a6c7;border-radius:9px;padding:12px;font-size:1rem}input[type=checkbox]{width:22px;height:22px;accent-color:var(--purple);flex-shrink:0;margin:0}label{margin-bottom:14px;font-size:.9375rem;font-weight:700;display:block}label input:not([type=checkbox]){margin-top:6px;display:block}input::placeholder{color:#86788c}.button{text-align:center;border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:49px;padding:12px 18px;font-size:1rem;font-weight:800;line-height:1.4;text-decoration:none;display:inline-flex}.primary{background:var(--orange);color:var(--ink)}.primary:hover{background:#f7a516}.secondary{color:var(--ink);background:#fff;border:1.5px solid #9471af}.secondary:hover{background:#f4edf9}.full{width:100%;margin-bottom:10px}.text-button{color:var(--purple);background:0 0;border:0;padding:10px;font-weight:700;text-decoration:underline}.voting-shell{background:#fff;border-radius:22px;width:min(100%,500px);min-height:calc(100svh - 52px);margin:26px auto;overflow:hidden;box-shadow:0 8px 48px #35124912}.event-header{text-align:center;background:#fd7f00;padding:16px 18px 18px;overflow:hidden}.brand{color:var(--ink);text-decoration:none;display:block}.renew{letter-spacing:.11em;font-size:.875rem;font-weight:800;display:block}.brand-art{margin:8px 0 6px;display:block}.brand-art img{width:100%;max-width:100%;height:auto;display:block}.event-date{margin:0;font-size:1rem;font-weight:800}.voting-main{background:#fff;border-radius:16px 16px 0 0;margin-top:-10px;padding:24px 20px 20px;position:relative}.intro{color:var(--muted);margin-bottom:22px;line-height:1.45}.car-photo{aspect-ratio:4/3;background:#f0e8f7;border-radius:12px;width:100%;overflow:hidden}.car-photo img{object-fit:cover;width:100%;height:100%}.photo-placeholder{color:#694583;background:linear-gradient(135deg,#f2e9f9,#e9daf3);flex-direction:column;justify-content:center;align-items:center;gap:7px;height:100%;min-height:90px;display:flex}.photo-placeholder span{font-weight:800}.photo-placeholder small{font-size:.8125rem}.featured-image,.tile-image{position:relative}.number-badge{background:var(--purple);color:#fff;border-radius:9px;padding:3px 10px;font-size:1.25rem;font-weight:900;line-height:1.6;position:absolute;top:10px;left:10px;box-shadow:0 2px 5px #0002}.featured-car{text-align:center;margin-bottom:20px}.featured-car h2{overflow-wrap:anywhere;margin:14px 0 3px;font-size:1.8rem}.featured-car>p{margin:0;font-size:1rem}.car-grid{grid-template-columns:1fr 1fr;gap:20px 13px;margin-bottom:26px;display:grid}.car-tile{text-align:left;background:0 0;border:0;min-width:0;padding:0}.car-tile h2{letter-spacing:-.025em;overflow-wrap:anywhere;margin:9px 0 2px;font-size:1.0625rem}.car-tile p{margin:0;font-size:.875rem}.car-tile .number-badge{padding:2px 7px;font-size:1rem;top:7px;left:7px}.chosen .car-photo{outline:3px solid var(--purple);outline-offset:2px}.tile-check{background:var(--lime);color:var(--ink);border-radius:50%;place-items:center;width:27px;height:27px;display:grid;position:absolute;bottom:7px;right:7px}.current-panel{background:#fcfaff;border:1.5px solid #a586bc;border-radius:12px;margin:0 0 16px;padding:15px}.current-panel span{margin-bottom:3px;font-size:.875rem;font-weight:700;display:block}.current-panel strong{overflow-wrap:anywhere;font-size:1.1rem;line-height:1.35;display:block}.vote-rule{text-align:center;color:var(--muted);margin:8px 0;font-size:.8125rem;line-height:1.5}.event-footer{text-align:center;padding:0 20px 20px;font-size:.875rem}.event-footer p{border-top:1px solid var(--line);margin:0 0 5px;padding-top:16px}.event-footer div{justify-content:center;gap:8px;font-size:.8125rem;display:flex}.event-footer a{text-decoration:none}.current-vote{justify-content:center;align-items:center;gap:7px;margin-bottom:12px;font-weight:700;display:flex}.status-banner{background:#f2eaf8;border-radius:10px;align-items:center;gap:10px;margin-bottom:22px;padding:12px;font-size:.875rem;font-weight:600;display:flex}.status-banner svg{flex-shrink:0}.success-screen{text-align:center;padding-top:20px}.success-mark{background:var(--purple);width:118px;height:118px;color:var(--lime);border-radius:50%;place-items:center;margin:0 auto 25px;display:grid;box-shadow:0 0 0 9px #f4ecfa}.success-screen h1{font-size:2.25rem}.voted-card{border:1.5px solid var(--line);text-align:left;border-radius:12px;align-items:center;gap:15px;margin:28px 0 18px;padding:9px;display:flex}.voted-card .car-photo{flex-shrink:0;width:105px}.voted-card h2{margin:5px 0 0;font-size:1.2rem}.voted-card span{font-size:.875rem}.voted-card .photo-placeholder small{display:none}.voted-card .photo-placeholder{gap:2px}.voted-card .photo-placeholder span{font-size:.8125rem}.success-copy{margin-bottom:22px;line-height:1.5}.enjoy{margin:4px 0 20px}.empty-state{text-align:center;background:#fcfaff;border:1px dashed #b49bc5;border-radius:16px;margin:20px 0 25px;padding:35px 20px}.empty-state svg{color:var(--purple);margin:0 auto 18px}.empty-state h2,.empty-state h3{margin-bottom:12px}.empty-state p{color:var(--muted);margin:0}.loading{color:var(--muted);justify-content:center;align-items:center;gap:12px;padding:40px 15px;display:flex}.message{overflow-wrap:anywhere;border-radius:10px;align-items:center;gap:10px;margin-bottom:20px;padding:13px 16px;font-size:.9375rem;line-height:1.5;display:flex}.error{color:#8c2020;background:#fff0f0;border:1px solid #d68b8b}.success{color:#334d18;background:#f1f8df;border:1px solid #abc679}.neutral{background:#f1e9f8;border:1px solid #bea3d3}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-panel{min-height:430px;padding-top:34px}.login-panel>p{margin-bottom:24px}.login-panel .hint{margin-top:18px}.hint{color:var(--muted);margin:14px 0;font-size:.875rem;line-height:1.5}.admin-shell{max-width:1160px;margin:auto;padding:0 30px 35px}.admin-header{border-bottom:1px solid #e1d5e9;justify-content:space-between;align-items:center;gap:15px;padding:24px 0;display:flex}.admin-brand{color:var(--ink);letter-spacing:-.06em;font-size:1.7rem;font-weight:900;line-height:1.1;text-decoration:none}.admin-brand span{color:#ad5800;font-size:1.1rem}.admin-brand small{letter-spacing:.12em;margin-top:8px;font-size:.6875rem;display:block}.quiet-link{flex-shrink:0;font-size:.875rem;font-weight:700}.admin-heading{justify-content:space-between;align-items:center;gap:20px;padding:28px 0 22px;display:flex}.admin-heading h1{margin:3px 0}.eyebrow{letter-spacing:.12em;color:var(--purple);margin:0;font-size:.75rem;font-weight:700}.status-pill{white-space:nowrap;background:#e7dcf0;border-radius:50px;padding:8px 14px;font-size:.875rem;font-weight:800}.status-pill.is-open{background:#def09d}.admin-nav{border-bottom:1px solid #dccce7;gap:6px;padding-bottom:9px;display:flex;overflow:auto}.admin-nav button{white-space:nowrap;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;padding:12px 18px;font-size:.9375rem;font-weight:700;display:flex}.admin-nav .selected{background:var(--purple);color:#fff}.admin-content{padding-top:27px}.section-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.section-heading h2{margin:0 0 8px}.section-heading p{color:var(--muted);margin:0}.count{color:var(--purple);vertical-align:middle;background:#e9def2;border-radius:8px;padding:3px 8px;font-size:1rem;display:inline-block}.panel{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:22px;padding:22px}.panel h3{align-items:center;gap:8px;display:flex}.setup-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-row{gap:14px;display:flex}.form-row>label{flex:1;min-width:0}.form-row>label:first-child{flex:.55}.admin-car-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.admin-car{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;overflow:hidden}.admin-car .car-photo{border-radius:0}.admin-car.inactive{opacity:.7}.admin-car-body{padding:16px}.admin-car h3{overflow-wrap:anywhere;margin-bottom:5px}.admin-car p{color:var(--muted);margin-bottom:15px;font-size:.8125rem}.admin-car .button{min-height:45px;padding:9px;font-size:.875rem}.admin-car .full{margin:0}.admin-footer{color:var(--muted);border-top:1px solid #e1d5e9;flex-wrap:wrap;align-items:center;gap:18px;margin-top:24px;padding:24px 0;font-size:.8125rem;display:flex}.admin-footer a:last-child{align-items:center;gap:5px;margin-left:auto;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:16px;display:flex}.sign-options{grid-template-columns:repeat(2,1fr);gap:0 22px;margin-bottom:22px;display:grid}.check-row{align-items:center;gap:11px;min-height:42px;margin-bottom:8px;font-size:.9375rem;font-weight:500;display:flex}.result-summary{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px;display:grid}.result-summary>div{border:1px solid var(--line);background:#fff;border-radius:12px;padding:20px}.result-summary span{color:var(--muted);font-size:.875rem;display:block}.result-summary strong{margin-top:4px;font-size:2.2rem;line-height:1.2;display:block}.result-summary .summary-status{font-size:1.25rem;line-height:1.7}.results-list{border:1px solid var(--line);background:#fff;border-radius:13px;margin-bottom:24px;overflow:hidden}.result-row{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:17px 20px;display:flex}.result-row:last-child{border:0}.rank{background:#ede5f4;border-radius:50%;flex-shrink:0;place-items:center;width:43px;height:43px;font-size:1.125rem;font-weight:800;display:grid}.rank.prize{color:#633800;background:#ffe1a4}.result-row>div{flex:1;min-width:0}.result-row>div strong{overflow-wrap:anywhere;display:block}.result-row>div span{color:var(--muted);margin-top:3px;font-size:.8125rem;display:block}.vote-count{text-align:right;font-size:1.6rem;line-height:1.1}.vote-count small{margin-top:5px;font-size:.75rem;font-weight:500;display:block}.status-options{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.status-option{text-align:left;background:#fff;border:1.5px solid #b49ac7;border-radius:11px;padding:18px}.status-option strong{margin-bottom:9px;display:block}.status-option span{color:var(--muted);font-size:.875rem;display:block}.status-option.selected{border:2px solid var(--purple);opacity:1;background:#f2e7fc}.reset-panel{max-width:620px;margin-top:28px}.reset-panel input{max-width:240px}.team-row{border-top:1px solid var(--line);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.team-row div{min-width:0}.team-row div span{color:var(--muted);margin-top:4px;font-size:.8125rem;display:block}.modal-backdrop{z-index:50;background:#1d0929a6;justify-content:center;align-items:flex-start;padding:28px 16px;display:flex;position:fixed;inset:0;overflow:auto}.edit-modal{background:#fff;border-radius:17px;width:min(100%,470px);padding:20px;box-shadow:0 20px 60px #0004}.edit-modal header{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.edit-modal h2{margin:0}.icon-button{background:var(--soft);border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.photo-buttons{gap:10px;margin:15px 0 22px;display:flex}.photo-buttons .button{flex:1;padding:10px;font-size:.9375rem}.guide-shell{background:#fff;border-radius:18px;max-width:820px;margin:32px auto;padding:40px}.guide-shell h1{font-size:2rem}.guide-shell h2{border-top:1px solid var(--line);margin-top:32px;padding-top:22px}.guide-shell li{margin-bottom:12px;padding-left:4px}.guide-shell ul,.guide-shell ol{padding-left:22px}.guide-top{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.guide-top .eyebrow{font-size:.8125rem}.guide-shell .intro{font-size:1.0625rem}.guide-shell table{border-collapse:collapse;width:100%;margin:20px 0}.guide-shell td,.guide-shell th{text-align:left;border:1px solid var(--line);vertical-align:top;padding:12px}.guide-shell th{background:var(--soft)}.signs-page{padding:25px}.print-controls{background:#fff;border-radius:14px;max-width:760px;margin:0 auto 30px;padding:24px}.signs-stack{flex-direction:column;align-items:center;gap:25px;display:flex}.print-sign{text-align:center;background:#fff;width:7.7in;min-height:10in;position:relative;overflow:hidden;box-shadow:0 5px 25px #0001}.print-sign .event-header{padding:18px 30px 16px}.print-sign .brand{max-width:420px;margin:auto}.print-sign .brand-art{height:auto}.sign-body{padding:18px 30px}.sign-car{letter-spacing:.15em;font-size:1.1rem;font-weight:800;display:block}.sign-body h2{letter-spacing:-.04em;margin:3px 0 10px;font-size:5.7rem;line-height:1}.sign-body h3{letter-spacing:-.035em;margin:12px 0 0;font-size:1.75rem}.sign-theme{margin:0 0 8px;font-size:1.4rem;font-weight:800}.qr-code{width:3.9in;height:3.9in;margin:0 auto}.sign-rule{max-width:370px;margin:0 auto 14px;font-size:.9375rem}.sign-link{overflow-wrap:anywhere;margin-bottom:12px;font-size:.8125rem}.sign-host{margin:0;font-size:.9375rem;font-weight:700}.qr-download{margin-bottom:15px;padding:10px;font-size:.875rem;display:inline-block}@media (max-width:900px){.admin-car-grid{grid-template-columns:repeat(3,1fr)}.setup-grid{grid-template-columns:1fr}.setup-grid .panel{margin-bottom:0}.setup-grid{margin-bottom:22px}.status-options{grid-template-columns:1fr}.print-sign{width:min(100%,7.7in);min-height:0}.qr-code{width:min(100%,3.9in);height:auto}.sign-body{padding:20px}}@media (max-width:600px){body{background:#fff}.voting-shell{min-height:100svh;box-shadow:none;border-radius:0;max-width:500px;margin:0}.brand-art{height:auto}.event-header{padding:15px 18px 20px}.voting-main{padding-top:23px}.admin-shell{background:#f6f2f9;min-height:100svh;padding:0 16px 20px}.admin-header{padding:20px 0}.admin-brand{font-size:1.5rem}.admin-heading{align-items:flex-start;padding:22px 0}.admin-heading h1{font-size:1.55rem}.status-pill{padding:7px 10px;font-size:.75rem}.admin-nav{gap:4px}.admin-nav button{padding:11px 13px;font-size:.875rem}.admin-nav svg{width:17px}.admin-content{padding-top:22px}.panel{padding:17px}.admin-car-grid{grid-template-columns:repeat(2,1fr);gap:12px}.admin-car-body{padding:12px}.admin-car .number-badge{font-size:1rem;top:7px;left:7px}.admin-car h3{font-size:1rem}.admin-car .button{gap:5px;font-size:.8125rem}.admin-car .button svg{flex-shrink:0;width:15px}.form-row{gap:11px}.section-heading{flex-wrap:wrap;gap:12px}.sign-options{grid-template-columns:1fr}.result-summary{grid-template-columns:1fr 1fr;gap:9px}.result-summary>div{padding:15px}.result-summary>div:last-child{grid-column:1/-1}.result-summary strong{font-size:1.85rem}.result-row{gap:11px;padding:14px 12px}.rank{width:34px;height:34px}.team-row{font-size:.875rem}.team-row .text-button{padding:8px 0}.admin-footer a:last-child{margin-left:0}.guide-shell{border-radius:0;margin:0;padding:25px 20px}.guide-shell table{font-size:.875rem}.guide-shell td,.guide-shell th{padding:9px}.guide-top{align-items:flex-start}.guide-top .button{white-space:nowrap;min-height:42px;padding:9px 12px;font-size:.8125rem}.signs-page{background:#f6f2f9;padding:16px}.print-controls{padding:18px}.print-controls h1{font-size:1.55rem}.sign-body h2{font-size:4rem}.sign-body h3{font-size:1.4rem}.sign-rule{font-size:.8125rem}.sign-link{font-size:.75rem}}@media (prefers-reduced-motion:reduce){*{scroll-behaviour:auto!important;transition:none!important;animation:none!important}}@page{size:Letter portrait;margin:.4in}@media print{html,body{color:#351249;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff!important}.print-controls,.no-print,.qr-download{display:none!important}.signs-page{background:#fff;padding:0}.signs-stack{display:block}.print-sign{width:7.7in;height:10in;min-height:0;box-shadow:none;break-after:page;break-inside:avoid;page-break-after:always;margin:0;padding:0;overflow:hidden}.print-sign:last-child{break-after:auto;page-break-after:auto}.print-sign .event-header{padding:18px 30px 16px}.print-sign .brand-art{height:auto}.sign-body{padding:16px 30px}.sign-body h2{font-size:5.7rem}.sign-body h3{font-size:1.75rem}.qr-code{width:3.9in;height:3.9in}.sign-rule{font-size:.9375rem}.sign-link{font-size:.8125rem}.guide-shell{border-radius:0;width:auto;max-width:none;margin:0;padding:0}.guide-shell h2{break-after:avoid}.guide-shell li,.guide-shell table{break-inside:avoid}.guide-shell h1{font-size:24pt}.guide-shell h2{font-size:17pt}.guide-shell p,.guide-shell li{font-size:11pt}}.danger-outline{color:#942b2b;background:#fff;border:1.5px solid #b33e3e}.danger-outline:hover{background:#fff1f1}.delete-car-section{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.private-label{color:var(--muted);margin-left:5px;font-size:.8125rem;font-weight:500}.admin-car .private-person{color:var(--ink);overflow-wrap:anywhere;margin:7px 0;font-size:.875rem}.result-row>div .private-person{color:var(--ink);overflow-wrap:anywhere;font-size:.875rem}.illustrated-placeholder{background:#fff8ef;width:100%;height:100%;position:relative}.illustrated-placeholder img{object-fit:cover;width:100%;height:100%}.illustrated-placeholder>span{white-space:nowrap;color:#351249;background:#fffef5ed;border-radius:20px;padding:3px 9px;font-size:.6875rem;font-weight:700;line-height:1.5;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}
