:root{--bg:#f4f6f1;--surface:#fff;--ink:#18201b;--muted:#5a665e;--border:#d9ded6;--brand:#1f6b34;--brand-ink:#fff;--accent:#ffc21a;--accent-ink:#1d1600;--danger:#b42318;--danger-bg:#fdecea;--success:#1f7a3a;--success-bg:#e6f4ea;--info-bg:#eef2ec;--focus:#1a5fd0;--pitch:#3d8b46;--pitch-stripe:#44964d;--pitch-line:#fffc;--square-line:#ffffff47;--square-hover:#ffffff47;--square-reserved:#141e166b;--square-sold:#101612d1;--square-text:#ffffffbf;--radius:12px;--shadow:0 1px 2px #0000000f, 0 4px 16px #0000000f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#111613;--surface:#1a211c;--ink:#e8ede9;--muted:#9aa69e;--border:#2d3830;--brand:#3fa35a;--brand-ink:#0b130d;--danger:#ff8a7a;--danger-bg:#3a1c18;--success:#6fd68a;--success-bg:#173222;--info-bg:#1f2a22;--focus:#7fb0ff;--pitch:#2c6833;--pitch-stripe:#31723a;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2{margin:0 0 .5em;line-height:1.2}h1{font-size:clamp(1.6rem,5vw,2.4rem)}h2{font-size:1.25rem}a{color:var(--brand)}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.muted{color:var(--muted)}.center{text-align:center}[hidden]{display:none!important}.site-header{background:var(--brand);padding:.75rem 16px}.brand{color:var(--brand-ink);font-weight:700;text-decoration:none}.site-footer{color:var(--muted);text-align:center;padding:2rem 16px;font-size:.875rem}.page{max-width:48rem;margin:0 auto;padding:1.5rem 16px 3rem}.page-narrow{max-width:32rem}.page-wide{max-width:80rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-block:1rem;padding:1.25rem}.button{background:var(--brand);color:var(--brand-ink);cursor:pointer;font:inherit;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:.6rem 1.4rem;font-weight:600;text-decoration:none;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.45}.button.is-secondary{border:2px solid var(--brand);color:var(--brand);background:0 0}.button-block{width:100%}.icon-button{background:var(--surface);border:1px solid var(--border);color:var(--ink);cursor:pointer;border-radius:8px;width:40px;height:40px;font-size:1.25rem;line-height:1}input:not([type=checkbox]){background:var(--surface);border:1px solid var(--border);color:var(--ink);font:inherit;border-radius:8px;width:100%;min-height:48px;padding:.5rem .75rem}input[type=checkbox]{accent-color:var(--brand);width:22px;height:22px;margin:0}.message{background:var(--info-bg);border-radius:8px;margin:.75rem 0;padding:.75rem 1rem}.message[data-tone=error]{background:var(--danger-bg);color:var(--danger)}.message[data-tone=success]{background:var(--success-bg);color:var(--success)}.notice{background:var(--info-bg);border-left:4px solid var(--accent);border-radius:4px;padding:.75rem 1rem}.hero{padding-block:1.5rem 1rem}.eyebrow{color:var(--brand);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .5rem;font-size:.875rem;font-weight:700}.lead{font-size:1.125rem}.sales-status{color:var(--muted)}.steps{margin:0;padding-left:1.25rem}.steps li+li{margin-top:.5rem}.field-page{gap:1rem;display:grid}.field-intro p{margin:.25rem 0}.field-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:.5rem;display:flex}.legend{flex-wrap:wrap;gap:.25rem .9rem;margin:0;padding:0;font-size:.875rem;list-style:none;display:flex}.legend li{align-items:center;gap:.35rem;display:flex}.swatch{border:1px solid var(--border);border-radius:3px;width:14px;height:14px;display:inline-block}.swatch-free{background:var(--pitch)}.swatch-selected{background:var(--accent)}.swatch-reserved{background:repeating-linear-gradient(45deg, var(--pitch) 0 3px, #7c8c80 3px 6px)}.swatch-sold{background:#1b221d}.zoom{gap:.35rem;display:flex}.field-viewport{border-radius:var(--radius);touch-action:none;overflow:hidden}.field-canvas{transform-origin:0 0}.loading{text-align:center;padding:2rem}.field{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.pitch{fill:var(--pitch)}.pitch-stripe{fill:var(--pitch-stripe)}.pitch-lines{fill:none;stroke:var(--pitch-line);stroke-width:.5px}.pitch-lines .pitch-spot{fill:var(--pitch-line);stroke:none}.field-labels text{dominant-baseline:central;fill:var(--muted);text-anchor:middle;font-size:3.6px;font-weight:600}.square{cursor:pointer;outline:none}.square rect{fill:#0000;stroke:var(--square-line);stroke-width:.25px}.square text{dominant-baseline:central;fill:var(--square-text);pointer-events:none;text-anchor:middle;font-size:2.6px}.square[data-status=free]:hover rect{fill:var(--square-hover)}.square[data-status=reserved] rect{fill:var(--square-reserved)}.square[data-status=sold] rect{fill:var(--square-sold)}.square[data-status=reserved],.square[data-status=sold]{cursor:not-allowed}.square[data-status=sold] text{fill:#fff6}.square[aria-pressed=true] rect{fill:var(--accent);stroke:var(--accent-ink);stroke-width:.4px}.square[aria-pressed=true] text{fill:var(--accent-ink);font-weight:700}.square:focus-visible rect{stroke:var(--focus);stroke-width:1px}.selection-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.pick-form label{margin-bottom:.35rem;font-weight:600;display:block}.pick-row{gap:.5rem;display:flex}.pick-row input{text-transform:uppercase;flex:1}.selection-summary{margin:1rem 0 .5rem;font-weight:600}.chips{flex-wrap:wrap;gap:.4rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.chip{background:var(--accent);color:var(--accent-ink);cursor:pointer;font:inherit;border:0;border-radius:999px;min-height:36px;padding:.25rem .75rem;font-weight:700}.chip:after{content:" ×";font-weight:400}.turnstile:not(:empty){margin-bottom:.75rem}@media (max-width:899px){.field-page{padding-bottom:9rem}.selection-bar{background:var(--surface);border-top:1px solid var(--border);padding:.75rem 16px calc(.75rem + env(safe-area-inset-bottom));z-index:10;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000001f}.selection-bar .selection-summary{margin-top:0}.selection-bar .chips{max-height:5.5rem;overflow-y:auto}.selection-bar .message{margin-block:0 .5rem}}@media (min-width:900px){.field-page{grid-template-columns:minmax(0,1fr) 20rem;align-items:start}.field-intro{grid-column:1/-1}.selection-panel{position:sticky;top:1rem}}.order-line{justify-content:space-between;gap:1rem;margin:0;font-size:1.125rem;display:flex}.countdown{color:var(--muted);margin:.5rem 0 0}.countdown[data-urgent=true]{color:var(--danger);font-weight:600}.countdown-time{font-variant-numeric:tabular-nums}.form{gap:1rem;display:grid}.field-row label{margin-bottom:.35rem;font-weight:600;display:block}.hint{color:var(--muted);margin:.25rem 0 0;font-size:.875rem}.checkbox-row{align-items:flex-start;gap:.75rem;display:flex}.checkbox-row label{margin:0;font-weight:400}.form.is-disabled{opacity:.5}.result{text-align:center;padding-block:2rem}.result-icon{border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 1rem;font-size:2rem;font-weight:700;display:grid}[data-state=pending] .result-icon{border:5px solid var(--border);border-top-color:var(--brand);animation:1s linear infinite spin}[data-state=paid] .result-icon{background:var(--success-bg);color:var(--success)}[data-state=paid] .result-icon:before{content:"✓"}[data-state=failed] .result-icon,[data-state=conflict] .result-icon{background:var(--danger-bg);color:var(--danger)}[data-state=failed] .result-icon:before{content:"×"}[data-state=conflict] .result-icon:before{content:"!"}.result-details{font-weight:600}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){[data-state=pending] .result-icon{animation:none}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header-split{justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-user{color:var(--brand-ink);opacity:.85;font-size:.875rem}.stats{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;padding:.9rem 1rem;display:flex}.stat-label{color:var(--muted);font-size:.875rem}.stat-value{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}.stat-sub{color:var(--muted);font-size:.8rem}.stat[data-alert=true]{border-color:var(--danger)}.stat[data-alert=true] .stat-value{color:var(--danger)}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:0 1rem;display:grid}.admin-form{margin-top:1rem}.sales-state{font-weight:600}.sales-state[data-open=true]{color:var(--success)}.button.is-danger{background:var(--danger);color:var(--surface)}.winner-info{background:var(--info-bg);border-left:4px solid var(--accent);border-radius:4px;margin-top:1rem;padding:.75rem 1rem}.winner-info p{margin:.15rem 0}.winner-square{font-weight:700}.winner-name{font-size:1.125rem;font-weight:600}.link-button{color:var(--brand);cursor:pointer;font:inherit;background:0 0;border:0;padding:.25rem .5rem;font-size:.875rem;text-decoration:underline}.orders-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:.75rem;display:flex}.orders-head h2{margin:0}.orders-filters{flex-wrap:wrap;gap:.5rem;display:flex}.orders-filters input{flex:14rem}select{background:var(--surface);border:1px solid var(--border);color:var(--ink);font:inherit;border-radius:8px;min-height:48px;padding:.5rem .75rem}.table-scroll{margin-inline:-1.25rem;padding-inline:1.25rem;overflow-x:auto}.orders{border-collapse:collapse;width:100%;min-width:52rem;font-size:.9rem}.orders th{border-bottom:2px solid var(--border);color:var(--muted);text-align:left;padding:.5rem;font-weight:600}.orders td{border-bottom:1px solid var(--border);vertical-align:top;padding:.6rem .5rem}.orders tr.is-winner td{background:color-mix(in srgb, var(--accent) 22%, transparent)}.cell-squares{font-weight:600}.cell-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.badge{white-space:nowrap;border-radius:999px;padding:.1rem .55rem;font-size:.8rem;font-weight:600;display:inline-block}.badge-paid,.badge-ok{background:var(--success-bg);color:var(--success)}.badge-open{background:var(--info-bg);color:var(--muted)}.badge-conflict,.badge-error{background:var(--danger-bg);color:var(--danger)}.badge-failed,.badge-expired{background:var(--info-bg);color:var(--muted)}.test-banner{background:var(--accent);color:var(--accent-ink);text-align:center;padding:.5rem 16px;font-weight:700}.go-live{border:2px solid var(--danger);border-radius:var(--radius);background:var(--danger-bg);margin-bottom:1rem;padding:1rem 1.25rem}.go-live h2{color:var(--danger);margin-bottom:.25rem;font-size:1.05rem}.go-live ul{margin:0;padding-left:1.25rem}.go-live[data-ready=true]{background:var(--success-bg);border-color:var(--success)}.go-live[data-ready=true] h2{color:var(--success)}
