@font-face{font-family:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Sarabun-400-thai-DYeElMJp.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Sarabun-400-latin-BkkjKFoN.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sarabun;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/Sarabun-600-thai-DwjJ-1Im.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/Sarabun-600-latin-DkjKekQp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sarabun;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/Sarabun-700-thai-CV17GLa9.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/Sarabun-700-latin-DXgJNg7I.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f7f6f0;--surface:#fff;--surface-2:#fbfaf5;--ink:#111;--muted:#5b5b53;--line:#e7e4d8;--line-strong:#b9b5a4;--field-line:#cdcabb;--brand:#111;--accent:#ffd900;--accent-text:#111;--accent-ink:#111;--focus:#111;--tint:#fff6c2;--ok:#2e9e5b;--danger:#c93a3a;--seat-free:#2e9e5b;--seat-mine:#111;--seat-held:#f0a500;--seat-sold:#ccc;--ok-bg:#e2f5ea;--ok-ink:#1d6b3d;--warn-bg:#fff3d6;--warn-ink:#6f4a00;--danger-bg:#fdecec;--danger-ink:#8f2323;--danger-line:#f5c2c2;--ok-line:#b6e2c6;--warn-line:#f0d28a;--neutral-bg:#ecebe3;--neutral-ink:#5b5b53;--radius:12px;--shadow:0 1px 2px #28230a0f, 0 6px 20px #28230a12;--shadow-lg:0 12px 32px #28230a29;color:var(--ink);font-family:Sarabun,Noto Sans Thai,Thonburi,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.55}*{box-sizing:border-box}img,svg,video,canvas{max-width:100%}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:2px}fieldset{min-width:0}body{background:var(--bg);flex-direction:column;min-height:100vh;margin:0;display:flex}#root{flex-direction:column;min-height:100vh;display:flex}h1{margin:0 0 .75rem;font-size:1.75rem;line-height:1.25}h2{margin:0 0 .5rem;font-size:1.15rem}h3{margin:0}a{color:var(--accent-text);text-underline-offset:2px}p{margin:0 0 .75rem}.container{width:100%;max-width:1080px;margin:0 auto;padding:0 16px}.page{flex:1;padding-top:24px;padding-bottom:40px}.muted{color:var(--muted)}.show-list-card{scroll-margin-top:80px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.center{text-align:center}.hint{color:var(--muted);margin:.5rem 0 0;font-size:.85rem}.eyebrow{text-transform:none;color:var(--accent-text);margin-bottom:.25rem;font-size:.85rem;font-weight:600}.ok{color:var(--ok)}.site-header{z-index:20;color:var(--ink);border-bottom:4px solid var(--accent);box-shadow:var(--shadow);background:#fff;position:sticky;top:0}.header-inner{flex-wrap:wrap;align-items:center;gap:16px;min-height:64px;padding-top:8px;padding-bottom:8px;display:flex}.brand{min-height:44px;color:var(--ink);letter-spacing:.02em;align-items:center;margin-inline:-4px;padding-inline:4px;font-size:1.2rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-logo{width:auto;height:40px;display:block}.nav{flex:1;gap:4px;display:flex}.nav a{color:#2a2a26;border-radius:8px;padding:6px 10px;font-size:.95rem;font-weight:600;text-decoration:none}.nav a:hover{background:var(--tint);color:var(--ink)}.nav a.active{background:var(--ink);color:var(--accent)}.auth-box{align-items:center;gap:8px;margin-left:auto;display:flex}.who{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:.9rem;overflow:hidden}html{scroll-padding-top:76px}.tap-target{align-items:center;min-height:44px;padding-inline:6px;display:inline-flex}.menu-toggle{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;margin-left:auto;padding:0;display:none}.menu-toggle:hover{background:var(--tint)}.menu-toggle:focus-visible,.menu-panel a:focus-visible,.menu-logout:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.menu-bar{stroke:currentColor;stroke-width:2px;stroke-linecap:round;transform-box:fill-box;transform-origin:50%;transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] .menu-bar-top{transform:translateY(5px)rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-bar-mid{opacity:0}.menu-toggle[aria-expanded=true] .menu-bar-bot{transform:translateY(-5px)rotate(-45deg)}.menu-panel{border-top:1px solid var(--line);box-shadow:var(--shadow-lg);background:#fff;max-height:calc(100dvh - 68px);padding-bottom:12px;animation:.18s ease-out menu-in;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.menu-list{margin:0;padding:8px 0 0;list-style:none}.menu-list a{color:#2a2a26;border-radius:10px;align-items:center;min-height:48px;padding:0 12px;font-size:1.05rem;font-weight:600;text-decoration:none;display:flex}.menu-list a:hover{background:var(--tint);color:var(--ink)}.menu-list a.active{background:var(--ink);color:var(--accent)}.menu-auth{border-top:1px solid var(--line);flex-direction:column;gap:10px;margin-top:8px;padding-top:12px;display:flex}.menu-who{color:var(--muted);overflow-wrap:anywhere;margin:0;padding:0 12px;font-size:.9rem}.menu-logout{border:1px solid var(--ink);min-height:48px;color:var(--ink);font:inherit;cursor:pointer;text-align:center;background:0 0;border-radius:10px;padding:0 12px;font-weight:600}.menu-logout:hover{background:var(--tint)}.menu-auth .btn-ghost{color:var(--ink);border-color:var(--ink)}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media (width<=767.98px){.nav,.auth-box{display:none}.menu-toggle{display:inline-flex}.menu-panel{display:block}}@media (prefers-reduced-motion:reduce){.menu-bar{transition:none}.menu-panel{animation:none}}main:focus{outline:none}.site-footer{border-top:1px solid var(--line);color:var(--muted);text-align:center;padding:8px 0;font-size:.85rem}.btn{background:var(--surface);color:var(--ink);border:1px solid;border-color:var(--line-strong);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:10px 18px;font-weight:600;text-decoration:none;transition:filter .15s,background .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible,.seat:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--ink);box-shadow:0 2px 0 var(--ink)}.btn-primary:hover:not(:disabled){background:#ffe433}.btn-primary:active:not(:disabled){box-shadow:0 1px 0 var(--ink);transform:translateY(1px)}.btn-ghost{color:inherit;background:0 0;border-color:currentColor}.site-header .btn-ghost{color:var(--ink);border-color:var(--ink)}.site-header .btn-ghost:hover{background:var(--tint)}.card .btn-ghost{color:var(--ink);border-color:var(--line)}.btn-link{color:var(--muted);background:0 0;border-color:#0000}.btn-success{background:var(--ok);color:#fff;border-color:#0000}.btn-danger{background:var(--danger);color:#fff;border-color:#0000}.btn-sm{min-height:36px;padding:4px 12px;font-size:.9rem}.btn-lg{min-height:48px;padding:12px 22px;font-size:1.05rem}.btn-block{width:100%}.actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.pre-register{background:var(--tint);margin-bottom:16px}.form-card{max-width:440px;margin:0 auto}.form-card.wide{max-width:560px}.form{flex-direction:column;gap:14px;margin:16px 0;display:flex}.field{flex-direction:column;gap:4px;min-width:0;font-size:.9rem;font-weight:600;display:flex}.input,.field input,.field select,.field textarea,.login-input{font:inherit;border:1px solid var(--field-line);width:100%;min-height:48px;color:var(--ink);background:#fff;border-radius:12px;padding:10px 14px;font-size:1rem}.field input,.field select,.field textarea{font-weight:400}.input::placeholder,.field input::placeholder,.field textarea::placeholder,.login-input::placeholder{color:var(--muted)}.input:focus-visible,.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.login-input:focus-visible{border-color:var(--ink);box-shadow:0 0 0 3px var(--accent);outline:none}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.consent{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;margin:0;padding:12px 14px}.consent legend{padding:0 6px;font-size:.9rem;font-weight:600}.check{cursor:pointer;align-items:flex-start;gap:10px;font-size:.92rem;display:flex}.check input{flex:none;width:20px;height:20px;margin-top:3px}.alert{border-radius:10px;margin:0;padding:10px 14px;font-size:.92rem}.alert-error{background:var(--danger-bg);color:var(--danger-ink);border:1px solid var(--danger-line)}.state-msg{text-align:center;color:var(--muted);padding:48px 0}.event-list{gap:16px;display:grid}.event h2{font-size:1.3rem}.show-list{flex-direction:column;margin:12px 0 0;padding:0;list-style:none;display:flex}.show-row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.queue-card{text-align:center;max-width:520px;margin:24px auto}.queue-card .flow-steps{margin-bottom:16px}.queue-position{flex-direction:column;margin:20px 0 4px;display:flex}.queue-position-card{background:var(--tint);border-radius:12px;margin:16px 0;padding:12px 16px}.queue-label{color:var(--muted)}.queue-keep{background:var(--tint);color:var(--brand);border-radius:10px;margin:4px 0 8px;padding:8px 14px;font-weight:600}.queue-number{color:var(--brand);font-variant-numeric:tabular-nums;font-size:4rem;font-weight:700;line-height:1.1}.queue-eta{font-size:1.05rem}.progress{background:var(--line);border-radius:3px;height:6px;margin:16px 0;overflow:hidden}.progress span{background:var(--accent);border-radius:3px;width:35%;height:100%;animation:1.4s ease-in-out infinite slide;display:block}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(300%)}}@media (prefers-reduced-motion:reduce){.progress span{width:100%;animation:none}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.live{background:var(--ok-bg);color:var(--ok-ink);border-radius:999px;padding:3px 10px;font-size:.82rem}.live-connecting,.live-lost{background:var(--warn-bg);color:var(--warn-ink)}.seat-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}.seat-panel{padding:16px 12px}.summary{flex-direction:column;display:flex;position:sticky;top:76px}.summary-title{order:1}.bar-alerts,.bar-info,.bar-details{display:contents}.hold-timer{order:2}.bar-details>*{order:6}.total{order:3}.bar-alerts>*{order:4}.bar-pay{order:5}.summary-list{order:6}.fee-line{order:7}.clear-btn{order:8}.bar-details>.hint{order:9}.bar-compact-text,.bar-toggle{display:none}.summary-list{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.summary-list li{grid-template-columns:auto 1fr auto 44px;align-items:center;gap:8px;font-size:.92rem;display:grid}.summary-list li.standing-line{grid-template-columns:auto 1fr auto}.summary-list li.standing-line .standing-stepper{grid-column:1/-1;justify-self:end}.seat-remove{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.seat-remove:hover{background:var(--tint);color:var(--ink)}.fee-line{justify-content:space-between;gap:8px;margin-bottom:6px;font-size:.92rem;display:flex}.total{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;padding:12px 0;font-size:1.05rem;display:flex}.total strong{color:var(--brand);font-variant-numeric:tabular-nums;font-size:1.7rem}.hold-timer{background:var(--warn-bg);color:var(--warn-ink);border-radius:10px;padding:8px 12px;font-size:.92rem}.countdown{font-variant-numeric:tabular-nums;margin-left:6px;font-size:1.1rem;font-weight:700}.countdown[data-urgent]{color:var(--danger)}.seatmap{--pitch:calc(var(--seat-size,32px) + 4px);flex-direction:column;gap:18px;display:flex}.stage{text-align:center;width:min(360px,80%);color:var(--accent);letter-spacing:.3em;background:#111;border-radius:0 0 40px 40px;align-self:center;padding:6px;font-size:.85rem}.zone-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;font-size:1rem;display:flex}.zone-price{color:var(--muted);font-size:.9rem;font-weight:400}.zone-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding-bottom:6px;overflow-x:auto}.seat-row{margin-bottom:4px;align-items:center;gap:4px;width:max-content;margin-inline:auto;display:flex}.row-label{z-index:1;background:var(--surface);width:22px;color:var(--muted);flex:none;justify-content:center;align-self:stretch;align-items:center;font-size:.75rem;display:flex;position:sticky;left:0}.seat{width:var(--seat-size,32px);height:var(--seat-size,32px);touch-action:manipulation;font-size:calc(var(--seat-size,32px) * .36);color:#fff;cursor:pointer;border:0;border-radius:7px 7px 4px 4px;flex:none;padding:0;font-family:inherit;font-weight:600}.aisle{width:calc(var(--seat-size,32px) * .8);flex:none}.row-aisle{height:calc(var(--seat-size,32px) * .8)}.seat[data-status=free],.swatch[data-status=free]{background:var(--seat-free)}.seat[data-status=mine],.swatch[data-status=mine]{background:var(--seat-mine);box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--accent)}.seat[data-status=held],.swatch[data-status=held]{background:var(--seat-held)}.seat[data-status=blocked],.swatch[data-status=blocked]{color:#333;background:repeating-linear-gradient(135deg,#9a9a90 0 4px,#c9c8bd 4px 8px)}.seat[data-status=sold],.swatch[data-status=sold]{background:var(--seat-sold);color:#888}.seat[data-status=sold]{box-shadow:inset 0 0 0 1px var(--line-strong)}.seat:disabled{cursor:not-allowed}.seat[data-status=free]:hover{filter:brightness(1.1);transform:translateY(-1px)}.legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:16px;margin:0 0 4px;padding:0;font-size:.85rem;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:flex}.map-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.zone-strip{scrollbar-width:thin;flex:240px;gap:8px;min-width:0;margin-bottom:10px;padding-bottom:6px;display:flex;overflow-x:auto}.zone-chip{border:1px solid var(--line-strong);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;flex:none;padding:0 14px;font-weight:600}.zone-chip:hover{background:var(--tint)}.zone-chip:focus-visible,.seat-remove:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.zone:focus{outline:3px solid var(--focus);outline-offset:4px;border-radius:8px}.zone-standing{min-width:calc(var(--pitch) * 8);min-height:calc(var(--pitch) * 3);border:1px dashed var(--line-strong);background:var(--surface);text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px 12px;display:flex}.zone-standing .zone-title{justify-content:center;margin-bottom:0}.standing-note,.standing-free{color:var(--muted);margin:0;font-size:.85rem}.standing-stepper{align-items:center;gap:10px;display:flex}.standing-stepper button{border:1px solid var(--line-strong);background:var(--surface);width:44px;height:44px;color:var(--ink);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:999px;flex:none;padding:0;font-size:1.25rem;font-weight:600}.standing-stepper button:hover:not(:disabled){background:var(--tint)}.standing-stepper button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.standing-stepper button:disabled{opacity:.4;cursor:not-allowed}.standing-stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:2ch;font-size:1.1rem;font-weight:700}.zoom-group{justify-content:flex-end;gap:6px;margin-bottom:10px;display:flex}.zoom-btn{font:inherit;border:1px solid var(--field-line);background:var(--surface);min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:0 12px;font-weight:600;display:inline-flex}.zoom-btn:disabled{opacity:.4;cursor:default}.map-toolbar .zoom-group{margin-left:auto}.zoom-btn[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--accent)}.swatch{border-radius:4px;width:14px;height:14px;display:inline-block}.ticket-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:16px;display:grid}.ticket{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.ticket[data-status=used]{opacity:.7}.ticket-body{flex:200px;min-width:0}.ticket-title{overflow-wrap:anywhere;margin:6px 0;font-size:1.15rem}.ticket-body p{margin:0 0 4px}.ticket-seat{font-weight:600;margin-top:6px!important}.ticket-qr{border:1px solid var(--line);background:#fff;border-radius:10px;margin-inline:auto;padding:6px;line-height:0}.badge{border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-block}.badge-valid{background:var(--ok-bg);color:var(--ok-ink)}.badge-featured{background:var(--warn-bg);color:var(--warn-ink)}.badge-used{background:var(--neutral-bg);color:var(--neutral-ink)}.badge-ok{background:var(--ok-bg);color:var(--ok-ink)}.badge-warn{background:var(--warn-bg);color:var(--warn-ink)}.badge-neutral{background:var(--neutral-bg);color:var(--neutral-ink)}@media (width<=767.98px){:root{--bar-h:72px}html:has(.event-cta-bar){scroll-padding-bottom:calc(72px + env(safe-area-inset-bottom))}html:has(.bar-pay){scroll-padding-bottom:calc(var(--bar-h) + 8px)}html:has(.bar-alerts:not(:empty)){scroll-padding-bottom:calc(var(--bar-h) + 6.5rem + 8px)}.seat-layout{grid-template-columns:minmax(0,1fr)}.card.summary{z-index:15;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:var(--surface);border-width:1px 0 0;border-radius:0;grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) 44px auto;align-items:center;column-gap:8px;max-height:50dvh;margin-inline:-16px;display:grid;position:sticky;top:auto;bottom:0;box-shadow:0 -4px 16px #28230a29}.summary-title{display:none}.bar-alerts{grid-area:1/1/auto/-1;max-height:5.5rem;margin-bottom:8px;display:block;overflow-y:auto}.bar-alerts:empty{display:none}.bar-alerts .alert{margin:0 0 4px}.bar-alerts .alert-warn .btn-sm{min-height:44px}.bar-info{flex-direction:column;grid-area:2/1;min-width:0;line-height:1.3;display:flex}.bar-compact-text{font-weight:700;display:block}.hold-timer{color:var(--muted);background:0 0;margin:0;padding:0;font-size:.78rem}.hold-timer .countdown{color:var(--ink);margin-left:2px;font-size:.85rem}.hold-timer .countdown[data-urgent]{color:var(--danger)}.bar-toggle{width:44px;height:44px;color:var(--brand);cursor:pointer;background:0 0;border:0;border-radius:10px;grid-area:2/2;justify-content:center;align-items:center;padding:0;display:inline-flex}.bar-toggle svg{transition:transform .15s}.bar-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.bar-pay{grid-area:2/3;width:auto;min-width:auto;min-height:48px;padding-inline:14px}.bar-details{overscroll-behavior:contain;flex-direction:column;grid-area:3/1/auto/-1;align-self:stretch;min-height:0;margin-top:4px;display:flex;overflow-y:auto}.bar-details>*{flex:none;order:0}.card.summary[data-open=false] .bar-details{display:none}.clear-btn{min-height:44px}}@media (width<=767.98px) and (height<=479.98px){.card.summary{max-height:40dvh}}@media (width<=520px){h1{font-size:1.4rem}.grid-2{grid-template-columns:1fr}.queue-number{font-size:clamp(2.5rem,12vw,3.2rem)}.queue-card .actions{flex-direction:column;align-items:stretch}.queue-card .actions .btn{width:100%;min-height:44px}.card{padding:16px}}@media (prefers-reduced-motion:reduce){.bar-toggle:after{transition:none}}.alert-warn{background:var(--warn-bg);color:var(--warn-ink);border:1px solid var(--warn-line);margin-bottom:10px}.alert-warn p{margin:0 0 8px}.clear-btn{margin-top:8px}.section-title{margin:18px 0 8px;font-size:1.05rem}.kv{gap:8px;margin:0 0 8px;display:grid}.kv>div{grid-template-columns:9rem minmax(0,1fr);gap:8px;display:grid}.kv dt{color:var(--muted)}.kv dd{overflow-wrap:anywhere;margin:0}.alert-ok{background:var(--ok-bg);color:var(--ok-ink);border:1px solid var(--ok-line);margin-bottom:10px}.prose{max-width:760px;margin:0 auto;line-height:1.7}.prose h2{margin:20px 0 6px;font-size:1.1rem}.prose ul{padding-left:1.2rem}@media (width<=640px){.kv>div{grid-template-columns:1fr;gap:0}.kv dt{font-size:.85rem}}.login-page{max-width:480px;margin:0 auto;padding:16px 0 8px}.login-page h1{color:var(--brand);margin-bottom:1.25rem;font-size:clamp(1.8rem,6vw,2.6rem)}.login-divider{color:var(--muted);align-items:center;gap:14px;margin:22px 0;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line);flex:1;height:1px}.login-form{flex-direction:column;gap:16px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-field>label{color:var(--ink);font-size:.95rem}.login-pw{position:relative}.login-pw .login-input{padding-right:52px}.login-eye{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.login-eye:hover{color:var(--ink)}.login-eye:focus-visible,.login-forgot:focus-visible,.login-remember input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.login-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.login-remember{cursor:pointer;align-items:center;gap:10px;min-height:44px;font-weight:600;display:inline-flex}.login-remember input{width:22px;height:22px;accent-color:var(--accent);cursor:pointer;margin:0}.login-forgot{font:inherit;color:var(--accent-text);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;min-height:44px;padding:0 4px;font-weight:600;text-decoration:none;display:inline-flex}.login-forgot:hover{text-decoration:underline}.login-notice{background:var(--bg);border:1px solid var(--line);color:var(--brand);border-radius:10px;margin:0;padding:10px 14px}.login-submit{border-radius:999px;min-height:52px;font-size:1.05rem}.login-register{margin-top:20px}.login-register a{font-weight:600}@media (forced-colors:active){.input:focus-visible,.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.login-input:focus-visible,.login-eye:focus-visible,.login-forgot:focus-visible{outline:2px solid highlight}}.home{flex-direction:column;gap:20px;display:flex}.searchbox{align-items:center;display:flex;position:relative}.searchbox-icon{stroke:var(--muted);stroke-width:2px;fill:none;stroke-linecap:round;pointer-events:none;position:absolute;left:16px}.searchbox-input{border:1px solid var(--field-line);background:var(--surface);width:100%;min-height:48px;color:var(--ink);font:inherit;appearance:none;border-radius:999px;padding:0 48px 0 46px}.searchbox-input::placeholder{color:var(--muted)}.searchbox-input::-webkit-search-cancel-button{display:none}.searchbox-input:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-color:var(--accent)}.searchbox-clear{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;right:2px}.searchbox-clear svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round}.searchbox-clear:hover{background:var(--bg)}.searchbox-clear:focus-visible{outline:3px solid var(--focus);outline-offset:-2px}.home-section h2{margin:0 0 12px;font-size:1.25rem}.event-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media (width>=768px){.event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}@media (width>=1100px){.event-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.event-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:96px;box-shadow:var(--shadow);color:var(--ink);gap:14px;padding:0;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden}a.event-card:hover{box-shadow:var(--shadow-lg)}a.event-card:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.event-card.is-disabled{opacity:.75}.event-card-media{aspect-ratio:1/1.2;background:var(--line);flex:none;width:104px;position:relative}.event-card-img,.event-card-ph{object-fit:cover;width:100%;height:100%;display:block}.event-card-ph{color:#fff;background:linear-gradient(135deg, hsl(var(--hue) 55% 42%), hsl(calc(var(--hue) + 40) 55% 30%));justify-content:center;align-items:center;font-size:1.6rem;font-weight:700;display:flex}.event-card-chip{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:600;line-height:1.5;position:absolute;top:6px;left:6px}.event-card-body{flex-direction:column;flex:1;justify-content:center;gap:2px;min-width:0;padding:12px 14px 12px 0;display:flex}.event-card .status-chip{align-self:flex-start;margin-bottom:2px}.event-card-date{color:var(--ink);margin:0;font-size:.95rem;font-weight:600}.event-card-date.muted{color:var(--muted)}.event-card-title{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;font-size:1.05rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.event-card-venue{white-space:nowrap;text-overflow:ellipsis;margin:4px 0 0;font-size:.9rem;overflow:hidden}@media (width>=768px){.event-card-media{width:120px}}.skeleton-block,.skeleton-line{background:linear-gradient(90deg, var(--line) 25%, var(--surface-2) 50%, var(--line) 75%);background-size:200% 100%;animation:1.4s linear infinite shimmer}.skeleton-block{width:100%;height:100%}.skeleton-line{border-radius:7px;width:90%;height:14px;margin:6px 0;display:block}.skeleton-line.short{width:35%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.hero,.hero-viewport{position:relative}.hero-track{scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--radius);box-shadow:var(--shadow);overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.hero-track::-webkit-scrollbar{display:none}.hero-slide{scroll-snap-align:start;aspect-ratio:16/9;background:linear-gradient(135deg, hsl(var(--hue) 55% 40%), hsl(calc(var(--hue) + 50) 55% 26%));color:#fff;flex:0 0 100%;position:relative;overflow:hidden}@media (width>=768px){.hero-slide{aspect-ratio:16/7}}.hero-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-backdrop{object-fit:cover;filter:blur(18px)brightness(.55);width:100%;height:100%;position:absolute;inset:0;transform:scale(1.1)}.hero-slide[data-orientation=portrait] .hero-img{object-fit:contain}.hero-skeleton{aspect-ratio:16/9;border-radius:var(--radius);height:auto}@media (width>=768px){.hero-skeleton{aspect-ratio:16/7}}.hero-chip{grid-column:1;justify-self:start;margin-bottom:4px}.hero-caption{background:linear-gradient(#1110,#111111d9);grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:12px;padding:36px 12px 10px 16px;display:grid;position:absolute;inset:auto 0 0}.hero-title{white-space:normal;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;text-shadow:0 1px 3px #00000080;-webkit-box-orient:vertical;grid-column:1;margin:0;font-size:1.05rem;line-height:1.3;display:-webkit-box;overflow:hidden}.hero-date{opacity:.95;grid-column:1;margin:0;font-size:.85rem}.hero-cta{grid-area:1/2/span 3;align-self:end}@media (width>=768px){.hero-title{white-space:normal;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:1.6rem;display:-webkit-box}.hero-caption{padding:56px 24px 20px}.hero-date{font-size:1rem}}.hero-nav{color:#fff;cursor:pointer;background:#11111180;border:0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.hero-nav svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.hero-nav:hover{background:#111111bf}.hero-nav:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.hero-prev{left:6px}.hero-next{right:6px}.hero-dots{justify-content:center;margin-top:-4px;display:flex}.hero-dot{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.hero-dot span{background:var(--field-line);border-radius:50%;width:10px;height:10px;transition:width .2s,background .2s;display:block}.hero-dot[aria-current=true] span{background:var(--accent);border-radius:5px;width:24px}.hero-dot:focus-visible{outline:3px solid var(--accent);outline-offset:-6px;border-radius:10px}@media (prefers-reduced-motion:reduce){.hero-track{scroll-behavior:auto}.skeleton-block,.skeleton-line{animation:none}.hero-dot span,.event-card{transition:none}}.event-detail{max-width:720px;margin:0 auto}.event-layout{gap:20px;display:grid}.event-poster{margin:0}.event-poster img{border-radius:var(--radius);background:var(--line);aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.event-layout[data-orientation=portrait] .event-poster img{aspect-ratio:4/5;max-height:60vh}.event-poster-ph{aspect-ratio:16/9;border-radius:var(--radius);color:#fff;place-items:center;width:100%;font-size:3rem;font-weight:700;display:grid}.event-desc{color:var(--ink);white-space:pre-line;margin:0 0 16px}.show-row-end{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.event-cta-bar{display:none}@media (width>=768px){.event-layout[data-orientation=portrait]{grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:start}.event-layout[data-orientation=portrait] .event-poster img{aspect-ratio:3/4;object-fit:cover;max-height:none}}@media (width<=767.98px){.event-layout[data-orientation=portrait] .event-poster img{object-fit:cover;max-height:45vh}.event-cta-bar{z-index:15;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);margin-inline:-16px;display:block;position:sticky;bottom:0;box-shadow:0 -4px 16px #28230a1f}}.table-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;max-width:100%;overflow-x:auto}.card.table-scroll{padding:0}.table{border-collapse:collapse;overflow-wrap:normal;width:100%;font-size:.92rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}.table th{color:var(--muted);white-space:nowrap;font-size:.8rem;font-weight:600}.table .num{text-align:right;white-space:nowrap}@media (width>=640px){.table-scroll--sticky-first .table th:first-child,.table-scroll--sticky-first .table td:first-child{z-index:1;background:var(--surface);box-shadow:1px 0 0 var(--line);position:sticky;left:0}}@media (width<=639.98px){.stack-cards{overflow-wrap:anywhere}.stack-cards thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stack-cards,.stack-cards tbody,.stack-cards tr,.stack-cards td{width:100%;display:block}.stack-cards tr{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;padding:6px 0}.stack-cards tr:last-child{margin-bottom:0}.card.table-scroll{padding:8px}.stack-cards td{text-align:left;white-space:normal;border:0;padding:6px 14px}.stack-cards td:before{content:attr(data-label);color:var(--muted);font-size:.75rem;font-weight:600;display:block}.stack-cards td[data-label=""]:before{display:none}.stack-cards .num{text-align:left}}.card,.ticket,.alert,.field,.kv dd,h1,h2{overflow-wrap:anywhere}.field input[type=checkbox]{flex:none;width:22px;height:22px;min-height:0;padding:0}.field input[type=date]{min-width:0}.field input[type=checkbox]:focus-visible,.field input[type=radio]:focus-visible{outline:3px solid var(--focus);outline-offset:2px;box-shadow:none}@media (width<=767.98px),(pointer:coarse){input:not([type=checkbox]):not([type=radio]),select,textarea,.field select,.field textarea,.input{min-height:48px;font-size:16px}.btn-sm,.btn-link{min-height:44px}.btn-sm{padding-inline:14px}}.check{min-height:44px;padding-block:6px}.check input{width:24px;height:24px;accent-color:var(--accent);margin-top:0}.check span{overflow-wrap:anywhere;line-height:1.5}.consent .btn{margin-top:8px}.mock-notice{background:var(--warn-bg);color:var(--warn-ink);border:1px solid var(--warn-line);border-radius:10px;padding:8px 12px;font-weight:600}.ticket-qr{width:min(100%,164px)}.ticket-qr svg{width:100%;height:auto;display:block}.ticket[data-status=used] .ticket-qr{filter:grayscale();opacity:.6}.prose li{margin-bottom:.35rem}.prose,.prose p,.prose li{overflow-wrap:anywhere}@media (width<=520px){.ticket{flex-direction:column;align-items:stretch;padding:16px}.ticket-body{flex:none}.ticket-qr{width:min(100%,280px)}.form-card .actions,.form-card.center>.btn{flex-direction:column;align-items:stretch}.form-card .actions .btn,.form-card.center>.btn{width:100%}.consent .alert-warn{flex-direction:column;gap:10px;display:flex}.consent .alert-warn p{margin:0}.consent .btn{width:100%}.site-footer{font-size:.8rem}.prose{line-height:1.65}}.login-register a,.form-card>p.center a{align-items:center;min-height:44px;display:inline-flex}.maintenance-message{background:var(--tint);color:var(--brand);border-radius:10px;margin:12px 0;padding:10px 14px;font-weight:600}.queue-paused{margin:12px 0 4px;font-weight:600}.turnstile{flex-direction:column;align-items:center;gap:6px;max-width:100%;margin:8px 0;display:flex;overflow:hidden}.turnstile-box:empty{display:none}.turnstile-msg{text-align:center;margin:0}.queue-countdown{font-size:clamp(2.2rem,10vw,3.4rem)}.qr-pay{max-width:420px}.qr-amount{font-variant-numeric:tabular-nums;margin:4px 0;font-size:2rem;font-weight:700}.qr-box{border:1px solid var(--line);background:#fff;border-radius:14px;margin:12px 0 4px;padding:12px;line-height:0;display:inline-block;position:relative}.qr-box svg{max-width:100%;height:auto;transition:filter .2s}.qr-box.qr-expired svg{filter:blur(6px)grayscale();opacity:.45}.qr-overlay{color:#7a1f1f;background:#ffffff8c;border-radius:14px;justify-content:center;align-items:center;font-size:1.15rem;font-weight:700;line-height:1.4;display:flex;position:absolute;inset:0}.qr-ref{margin:4px 0 12px;font-size:.85rem}.qr-timer p{font-variant-numeric:tabular-nums;margin:0 0 6px}.qr-timer strong{font-size:1.25rem}.qr-timer-low strong{color:#b3261e}.qr-bar{background:var(--line);border-radius:3px;max-width:260px;height:6px;margin:0 auto 16px;overflow:hidden}.qr-bar span{background:var(--accent);border-radius:3px;height:100%;transition:width .25s linear;display:block}.qr-timer-low .qr-bar span{background:#b3261e}.qr-demo{border-top:1px dashed var(--line);margin-top:16px;padding-top:12px}.qr-demo .muted{margin:0 0 8px;font-size:.85rem}@media (prefers-reduced-motion:reduce){.qr-bar span,.qr-box svg{transition:none}}.print-labels{display:none}.ticket-label{box-sizing:border-box;text-align:center;color:#000;break-after:page;page-break-inside:avoid;background:#fff;flex-direction:column;justify-content:space-between;align-items:center;padding:4mm;display:flex;overflow:hidden}.ticket-label p{margin:0}.label-logo{width:auto;max-width:100%;height:11mm;display:block}.label-event{font-size:5mm;font-weight:700;line-height:1.2}.label-when,.label-meta{font-size:3mm}.label-seat{font-size:5mm;font-weight:700}@media print{body *{visibility:hidden}.print-labels,.print-labels *{visibility:visible}.print-labels{width:100%;display:block;position:absolute;top:0;left:0}}.map-scroll{-webkit-overflow-scrolling:touch;padding-bottom:6px;overflow:auto}.map-canvas{width:calc(var(--map-w) * var(--pitch));height:calc(var(--map-h) * var(--pitch));margin-inline:auto;position:relative}.map-stage{left:calc(var(--x) * var(--pitch));top:calc(var(--y) * var(--pitch));width:calc(var(--w) * var(--pitch));height:calc(var(--h) * var(--pitch));color:var(--accent);letter-spacing:.3em;text-align:center;background:#111;border-radius:10px;justify-content:center;align-items:center;font-size:.9rem;display:flex;position:absolute;overflow:hidden}.map-stage>span{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.map-zone{left:calc(var(--x) * var(--pitch));top:calc(var(--y) * var(--pitch));transform-origin:50%;width:max-content;position:absolute}.map-zone .zone-scroll{overflow:visible}.layout-scroll{border:1px dashed var(--line);background:repeating-linear-gradient(0deg,#0000 0 13px,#0000000d 13px 14px),repeating-linear-gradient(90deg,#0000 0 13px,#0000000d 13px 14px);border-radius:10px;max-height:70vh;margin:12px 0;overflow:auto}.layout-canvas{margin:30px;position:relative}.layout-item{font:inherit;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transform-origin:50%;border:2px solid #111;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:2px;font-size:.8rem;display:flex;position:absolute;overflow:hidden}.layout-zone{background:var(--tint,#fff7cc);color:#111}.layout-stage{color:var(--accent);letter-spacing:.2em;background:#111}.layout-item[aria-pressed=true]{outline:3px solid var(--focus,#ffd900);outline-offset:2px;border-color:var(--accent);z-index:2}.form-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:12px;margin:12px 0;display:grid}.form-grid>p{grid-column:1/-1;margin:0}.map-stage[data-shape=t]{align-items:flex-start}.layout-stage[data-shape=t]{justify-content:flex-start}.layout-rotate{background:var(--accent);cursor:grab;touch-action:none;z-index:3;border:2px solid #111;border-radius:50%;width:22px;height:22px;padding:0;position:absolute}.layout-rotate:after{content:"↻";color:#111;font-size:14px;line-height:18px;display:block}.form-card.map-wide{max-width:1100px}.verify-banner{background:var(--warn-bg);border-bottom:1px solid var(--warn-line);text-align:center;padding:8px 16px;font-size:.92rem}.verify-banner a{color:var(--warn-ink);font-weight:600}.linklike{font:inherit;color:var(--accent-text);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.status-chip{border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600;line-height:1.5;display:inline-block}.status-chip-on_sale{background:var(--ok-bg);color:var(--ok-ink)}.status-chip-upcoming{background:var(--warn-bg);color:var(--warn-ink)}.status-chip-past{background:var(--neutral-bg);color:var(--neutral-ink)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.page-header-main{flex:240px;min-width:0}.page-header h1{overflow-wrap:anywhere;margin:0 0 4px}.page-subtitle{color:var(--muted);margin:4px 0 0}.page-back{min-height:44px;color:var(--muted);flex-basis:100%;align-items:center;gap:4px;text-decoration:none;display:inline-flex}.page-back:hover{color:var(--ink)}.page-action{align-items:center;gap:8px;display:flex}.flow-steps{flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 16px;padding:0;list-style:none;display:flex}.flow-step{color:var(--muted);align-items:center;gap:8px;display:flex}.flow-step[data-state=current]{color:var(--ink);font-weight:600}.flow-num{border:2px solid var(--line-strong);border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:inline-flex}.flow-step[data-state=done] .flow-num{background:var(--ink);border-color:var(--ink);color:var(--accent)}.flow-step[data-state=current] .flow-num{background:var(--accent);border-color:var(--accent);color:var(--ink)}@media (width<=519px){.flow-step:not([data-state=current]) .flow-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.booking-context{background:var(--tint);border-radius:12px;margin-bottom:16px;padding:12px 14px}.booking-context-title{overflow-wrap:anywhere;margin:0 0 8px}.mini-steps{flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.mini-steps .flow-num{border-width:1.5px;width:20px;height:20px;font-size:.75rem}.mini-steps .flow-step{gap:6px}@media (width<=519px){.mini-steps .flow-step:not([data-state=current]) .flow-label{clip:auto;white-space:normal;width:auto;height:auto;position:static;overflow:visible}}.more-fields summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;font-weight:600;list-style:none;display:flex}.more-fields summary::-webkit-details-marker{display:none}.more-fields summary:before{content:"▸";transition:transform .15s;display:inline-block}.more-fields[open]>summary:before{transform:rotate(90deg)}.more-fields summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:8px}.more-fields[open]>summary{margin-bottom:8px}.pw-hint{color:var(--muted);align-items:center;gap:4px;margin:6px 0 0;font-size:.85rem;display:flex}.pw-hint[data-ok]{color:var(--ok-ink)}.result-icon{border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 12px;display:flex}.result-ok{background:var(--accent);color:var(--ink)}.result-warn{background:var(--warn-bg);color:var(--warn-ink)}.seat-chips{flex-wrap:wrap;justify-content:center;gap:8px;margin:8px 0;padding:0;list-style:none;display:flex}.seat-chip{background:var(--tint);border-radius:999px;padding:4px 12px;font-weight:600}.result-total{font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700}.seat-pill{background:var(--tint);border-radius:999px;padding:4px 12px;font-weight:600;display:inline-block}.past-tickets summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;margin:20px 0 8px;font-size:1.2rem;font-weight:700;list-style:none;display:flex}.past-tickets summary::-webkit-details-marker{display:none}.past-tickets summary:before{content:"▸";transition:transform .15s;display:inline-block}.past-tickets[open]>summary:before{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.more-fields summary:before,.past-tickets summary:before{transition:none}}.past-tickets summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:8px}.empty-state{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:48px 0;display:flex}.zone-image-map{background:var(--tint);border-radius:12px;margin:0;position:relative;overflow:hidden;container-type:inline-size}.zone-image-map img{width:100%;height:auto;display:block}.zone-image-map [role=alert]{text-align:center;margin:0;padding:24px 16px}.hotspot-layer{width:100%;height:100%;position:absolute;inset:0}.hotspot{cursor:pointer;outline:none}.hotspot polygon{fill:#ffd9002e;stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.hotspot[data-sold-out]{cursor:not-allowed}.hotspot[data-sold-out] polygon{fill:#1111118c}.hotspot:focus-visible polygon{stroke:var(--focus);stroke-width:3px}.hotspot-label{pointer-events:none;color:#fff;text-align:center;white-space:nowrap;background:#111111db;border-radius:6px;flex-direction:column;align-items:center;padding:1px 5px 2px;line-height:1.15;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #00000073}.hotspot-name{letter-spacing:.02em;font-size:clamp(.58rem,2.9cqi,.78rem);font-weight:600}.hotspot-price{color:var(--accent);font-size:clamp(.66rem,3.5cqi,.98rem);font-weight:800}.hotspot-soldout{color:#fff;font-size:clamp(.58rem,2.9cqi,.78rem);font-weight:700}.hotspot-badge{background:var(--ink);min-width:22px;color:var(--accent);text-shadow:none;border-radius:999px;margin-top:2px;padding:0 6px}.zone-chip[aria-disabled=true]{opacity:.55;cursor:not-allowed}.zone-view .seat{min-width:44px;min-height:44px}.zone-back{min-height:44px}.zone-view-head{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.zone-view-title{margin:0}.zone-view-meta{color:var(--muted);margin:0}.zone-view-seats .zone-scroll{overflow-x:auto}.zone-view-zone .zone-title{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.swipe-hint{text-align:center;color:var(--muted);font-size:.9rem}.tickets-section{margin-top:16px}.tickets-section .zone-image-map{margin:12px 0 0}.show-tabs{gap:8px;margin:12px 0 0;padding-bottom:2px;display:flex;overflow-x:auto}.show-tabs [aria-selected=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.zone-availability{margin:12px 0 0;padding:0;list-style:none}.zone-availability li{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,max-content) auto;align-items:center;gap:8px;min-height:44px;padding:8px 0;display:grid}.zone-availability .zone-info{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0;display:flex}.zone-availability .zone-kind{border:1px solid var(--line-strong);border-radius:999px;padding:0 8px;font-size:.8rem;font-weight:600}.zone-availability .zone-price{color:var(--muted)}.zone-availability .badge{text-align:center;white-space:normal;overflow-wrap:anywhere;justify-self:end;max-width:9.5em}.tickets-section .alert-ok{margin:12px 0 0}.step-title{margin:0;font-size:1rem;font-weight:400}.step-title:focus{outline:none}.step-actions{gap:8px;display:flex}.step-actions .btn{flex:1;min-height:44px}.step-actions .btn-primary{flex:2}.consent[role=group]{padding:4px 12px}
