@font-face{font-family:Averta;src:url('/seating/assets/averta-regular.otf') format('opentype');font-weight:400;font-display:swap}@font-face{font-family:Averta;src:url('/seating/assets/averta-bold.otf') format('opentype');font-weight:600 900;font-display:swap}
:root{--navy:#0b2938;--deep:#071e2b;--gold:#dcbc78;--gold-light:#edcf91;--paper:#f5f0e6;--ink:#142f3b;--muted:#5f655f;--line:#d5ccba}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;height:100dvh}body{display:grid;grid-template-rows:auto minmax(0,1fr) auto;font:14px/1.4 Averta,Arial,sans-serif;color:var(--ink);background:var(--paper);overflow:hidden}button,select{font:inherit;color:inherit}button,select{border:1px solid var(--line);border-radius:7px;background:#fff;min-height:40px;padding:8px 14px}button{cursor:pointer}button:hover{background:#eee5d3}button:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #a87524;outline-offset:3px}h1,h2,p{margin:0}.header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;border-bottom:3px solid var(--gold);background:var(--navy);color:var(--paper)}.identity h1{color:var(--gold-light);font-size:20px;letter-spacing:-.025em;font-weight:700}.identity p{color:#e1e3de;font-size:12px;margin-top:3px}.tools{display:flex;gap:8px}.tools select{color:var(--ink);background:var(--paper)}.tools button{color:var(--navy);background:var(--gold);border-color:var(--gold);font-weight:600}.tools button:hover{background:var(--gold-light)}.tools select{max-width:210px;padding-right:26px}#map{min-height:0;position:relative;background:var(--paper);overflow:hidden}#chart{display:block;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}#chart.dragging{cursor:grabbing}#chart:focus-visible{outline:2px solid #a87524;outline-offset:-3px}.seat{fill:var(--navy);stroke:var(--deep);stroke-width:1.5}.seat.wheelchair{fill:var(--navy);stroke:var(--gold);stroke-width:2.5}.seat-number{fill:#fffaf0;font-weight:600;text-anchor:middle;dominant-baseline:central;pointer-events:none}.row-label{fill:var(--ink);font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none}.section-hit{fill:transparent;cursor:zoom-in}.highlight{fill:none;stroke:#a87524;stroke-width:3;vector-effect:non-scaling-stroke;pointer-events:none}.zoom{position:absolute;left:18px;bottom:18px;display:flex;gap:6px}.zoom button{color:var(--paper);background:var(--navy);border-color:var(--navy);box-shadow:0 2px 8px #0b293820}.zoom button:hover{background:#214657}.zoom #zoom-in,.zoom #zoom-out{width:42px;padding:0;font-size:22px}.hint{position:absolute;right:20px;bottom:26px;color:var(--muted);font-size:12px;pointer-events:none}footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;border-top:1px solid var(--line);background:#eae2d3;font-size:12px;min-height:48px}#seat-info{font-weight:600}.reference{display:flex;gap:22px;align-items:center;color:#526057}.reference a{color:inherit;text-decoration:none}.reference a:hover{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{width:min(440px,calc(100% - 32px));border:1px solid var(--line);border-radius:14px;padding:24px;color:var(--ink);background:var(--paper);box-shadow:0 20px 90px #1c2a3930}dialog::backdrop{background:#071e2b99;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:20px}.dialog-head h2{font-size:23px}.dialog-head button{min-height:32px;width:32px;padding:0;font-size:22px}form label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}form select{display:block;width:100%;margin-bottom:18px;min-height:44px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.primary{width:100%;background:var(--navy);color:var(--paper);border-color:var(--navy);font-weight:600;min-height:44px}.primary:hover{background:#214657}@media(max-width:620px){.header{padding:12px 14px;gap:12px;flex-wrap:wrap}.identity h1{font-size:18px}.tools{width:100%}.tools select{flex:1;max-width:none;min-width:0}.tools button{flex:none}.hint{right:12px;bottom:68px;font-size:11px}.hint span{display:none}.zoom{left:12px;bottom:14px}.zoom button{min-height:44px}footer{padding:10px 14px max(10px,env(safe-area-inset-bottom));align-items:flex-start;flex-direction:column;gap:4px;font-size:11px}.reference{width:100%;justify-content:space-between;gap:8px}.reference span{font-size:10px}#seat-info{min-height:16px}.identity p{font-size:11px}}@media(prefers-reduced-motion:no-preference){button{transition:background .12s}}

.stage{fill:var(--gold);stroke:#a88547}.stage-label,.level-label{fill:var(--navy)}.companion-badge{fill:var(--gold);stroke:var(--paper);stroke-width:.7}.companion-label{fill:var(--navy)}
