*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}
html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none}
body{display:flex;flex-direction:column;background:#11161e;color:#f3f1e9;font:13px/1.4 "Helvetica Neue",Inter,system-ui,sans-serif}
button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled,select:disabled{opacity:.48;cursor:default}
#view-area{position:relative;flex:1;min-height:100px;overflow:hidden}
#c,#plan,#plan-drawing{position:absolute;inset:0;width:100%;height:100%}#c{display:block;touch-action:none;cursor:grab}#c:active{cursor:grabbing}
#block-labels{position:absolute;inset:0;pointer-events:none;user-select:none}
#block-labels button{position:absolute;transform:translate(-50%,-50%);height:14px;padding:0;border:.5px solid #f3f1e980;border-radius:4px;background:#171713e8;color:#f3f1e9;font-family:Arial,sans-serif;font-size:8px;font-weight:600;line-height:13px;box-shadow:0 1px 3px #0002;pointer-events:none}
#block-labels button[aria-pressed=true]{background:#dfff47;color:#171713;border-color:#dfff47}
#block-labels button:focus-visible{outline:3px solid #785ef0;outline-offset:2px;background:#dfff47;color:#171713}
#plan{background:#f3f3f3;color:#171713}#plan-drawing{padding:46px 12px 32px}
#plan svg{display:block;width:100%;height:100%;touch-action:none;cursor:grab;user-select:none}
#plan .stade-block{fill:#d5d8da;stroke:#f3f3f3;stroke-width:.22;stroke-linejoin:round;cursor:pointer}
#plan .stade-block[data-level="middle"]{fill:#bfc4c8}#plan .stade-block[data-level="upper"]{fill:#aab2b9}
#plan .stade-block[aria-pressed="true"]{fill:#785ef0;stroke:#171713;stroke-width:.7}
#plan .stade-block:hover,#plan .stade-block:focus-visible{fill:#dfff47;stroke:#171713;stroke-width:.7;outline:none}
#plan text{pointer-events:none;text-anchor:middle;dominant-baseline:middle;font-family:Arial,sans-serif;font-weight:600;fill:#3e454a}
#plan .block-label{font-family:Arial,sans-serif;font-weight:500;}#plan .plan-lodge{fill:#c3c8ca;stroke:#f3f3f3;stroke-width:.12}
#plan .stage-label{fill:#f3f1e9;font-size:4px}#plan .floor-label{font-size:4px;letter-spacing:.25px;fill:#686e73}
.plan-caption{position:absolute;top:15px;left:16px;z-index:1;pointer-events:none;display:grid;gap:3px}.plan-caption strong{font-size:10px;letter-spacing:.12em}.plan-caption span{font-size:10px;color:#646b70}
.stade-tools{position:absolute;z-index:3;right:10px;top:10px;display:flex;align-items:center;gap:2px;padding:3px;border:1px solid #ffffff20;border-radius:11px;background:#171b22e8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.stade-tools button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:30px;min-height:30px;border:0;border-radius:7px;background:transparent;color:#d5d8de;padding:0 9px;font-size:11px}
.stade-tools button:hover{background:#ffffff10;color:#f3f1e9}.stade-tools button svg{width:14px;height:14px;pointer-events:none}#zoom-in,#zoom-out{padding:0;font-size:17px}#reset{padding:0}
body:not(.plan-mode) .stade-tools{top:56px}
body.plan-mode .stade-tools{border-color:#17171325;background:#f3f1e9e8}body.plan-mode .stade-tools button{color:#454b50}body.plan-mode .stade-tools button:hover{background:#1717130c;color:#171713}
#label-toggle[aria-pressed=true],#roof-toggle[aria-pressed=true]{background:#ffffff0a;color:#dfff47}
#label-toggle[aria-pressed=true]::before,#roof-toggle[aria-pressed=true]::before{content:"";width:4px;height:4px;flex:none;border-radius:50%;background:currentColor}
#views{position:absolute;z-index:2;top:10px;left:50%;right:auto;bottom:auto;transform:translateX(-50%);width:max-content;max-width:calc(100% - 20px);display:flex;justify-content:flex-start;gap:2px;padding:3px;border:1px solid #ffffff20;border-radius:11px;background:#171b22e8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow-x:auto;white-space:nowrap;scrollbar-width:none;touch-action:pan-x}
#views button{min-height:30px;border:0;border-radius:7px;padding:0 10px;background:transparent;color:#c1c7cf;font-size:11px;backdrop-filter:none}
#views button:focus-visible,.stade-tools button:focus-visible{outline-offset:-2px}
#views button:hover{background:#ffffff10;color:#f3f1e9}#views button[aria-pressed=true]{background:#ffffff0d;color:#dfff47;box-shadow:inset 0 -1px 0 #dfff4770}
#leave-view{position:absolute;bottom:34px;left:12px;z-index:2;min-height:32px;padding:0 11px;border:1px solid #ffffff25;border-radius:9px;background:#171b22e8;color:#f3f1e9;font-size:11px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}#leave-view:hover{background:#252c36}
#view-caption{position:absolute;left:14px;bottom:10px;right:14px;pointer-events:none;color:#f3f1e9;font-size:11px;text-shadow:0 1px 4px #000}
#initial-status{position:absolute;inset:0;display:grid;place-content:center;gap:12px;text-align:center;padding:24px;background:#f3f3f3;color:#171713;font-size:13px;z-index:4}
#initial-status button{min-height:44px;border:1px solid #171713;border-radius:99px;background:#dfff47;padding:10px 20px}
/* Compact summary; the choice itself opens in a spacious, searchable dialog. */
#place-panel{position:relative;flex:none;max-height:56%;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid #ffffff18;padding:7px 12px 3px;background:#151a22;color:#f3f1e9}
.place-fields{display:grid;grid-template-columns:120px 90px 90px 120px;gap:5px;align-items:stretch;max-width:100%}
#place-panel button{font:inherit;color:inherit}
#place-panel .place-field{display:grid;gap:1px;text-align:left;min-height:42px;padding:5px 9px;border:1px solid #ffffff18;border-radius:7px;background:#ffffff02}
.place-field span{font-size:10px;color:#a3abb8}.place-field strong{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12px;font-weight:500}.place-field i{font:14px Arial;color:#a3abb8}.place-field.has-value strong{color:#f3f1e9}
#place-panel .place-field:hover:not(:disabled){border-color:#ffffff35;background:#ffffff06}
#place-panel #show-seat{display:flex;align-items:center;justify-content:center;gap:5px;min-height:42px;border:1px solid #ffffff20;border-radius:7px;padding:6px 8px;background:#ffffff04;color:#dfff47;font-size:11px;font-weight:500;white-space:nowrap}
#show-seat:disabled{background:transparent!important;color:#a3abb8!important;border-color:#ffffff12!important;opacity:.55}
#place-panel #show-block{display:block;min-height:30px;padding:2px 0;border:0;background:none;color:#a3abb8;font-size:10px}#show-block:disabled{display:none}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#place-picker{width:440px;max-width:calc(100% - 24px);height:min(480px,calc(100% - 24px));max-height:calc(100% - 24px);margin:auto;padding:14px;border:1px solid #ffffff22;border-radius:13px;background:#171c24;color:#f3f1e9;box-shadow:0 24px 80px #0007;overflow:hidden;color-scheme:dark}
#place-picker[open]{display:flex;flex-direction:column;gap:9px}#place-picker::backdrop{background:#090c127d;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
#place-picker button,#place-picker input{font:inherit}#place-picker button{border:1px solid #ffffff18;background:#ffffff03;color:#e2e5e9;border-radius:7px;min-height:44px;min-width:44px}
#place-picker button:hover:not(:disabled){background:#ffffff09;border-color:#ffffff35}
#place-picker :is(button,input,a):focus-visible,#place-panel :is(button,summary,a):focus-visible{outline:2px solid #dfff47;outline-offset:2px}
.picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex:none}.picker-head h2{font-size:18px;letter-spacing:-.4px;line-height:1.15;font-weight:500;margin:0;outline:none}.picker-head p{font-size:11px;color:#a3abb8;margin:6px 0 0}.picker-head #picker-close{background:none;border:0;margin:-8px -8px 0 0;font-size:16px;flex:none}
.picker-steps{display:flex;gap:6px;flex:none}.picker-steps button{flex:1;min-width:0!important;font-size:10px!important;padding:6px 4px;border-color:transparent!important;background:transparent!important}.picker-steps button[aria-current=step]{color:#dfff47!important;box-shadow:inset 0 -1px #dfff4750;background:#ffffff03!important}
.picker-search{position:relative;flex:none}.picker-search input{display:block;width:100%;height:46px;padding:10px 46px 10px 12px;border:1px solid #ffffff20;border-radius:7px;background:#11161e;color:#f3f1e9;font-size:16px!important;-webkit-appearance:none;appearance:none}.picker-search input::placeholder{font-size:13px;color:#a3abb8}.picker-search input::-webkit-search-cancel-button{-webkit-appearance:none}.picker-search #picker-clear{position:absolute;right:1px;top:1px;border:0;background:none;min-height:44px}
#picker-feedback{flex:none;font-size:11px;line-height:1.5;color:#bcc4d0;margin:0;overflow-wrap:anywhere}
#picker-options{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#596271 transparent;padding:2px 4px 4px 2px;scroll-padding:4px}
#picker-options h3{font-size:10px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:#a3abb8;margin:14px 0 8px}#picker-options h3:first-child{margin-top:0}
.picker-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}#picker-options button{min-height:44px;font-size:13px;font-weight:500;padding:6px 3px}#picker-options button[aria-pressed=true]{background:#dfff470a;color:#dfff47;border-color:#dfff4750}
#picker-recovery{display:flex;align-items:center;gap:14px;flex-wrap:wrap}#picker-recovery button{padding:8px 14px}#picker-recovery a{display:inline-flex;align-items:center;min-height:44px;color:#dfff47;font-size:12px}
@media(max-width:600px),(pointer:coarse){
 .stade-tools{right:8px;top:8px;gap:0;padding:1px}.stade-tools button{min-width:44px;min-height:44px;padding-inline:8px}.plan-caption{left:12px;top:20px}.plan-caption span{display:none}.plan-caption strong{font-size:9px}
 #views{top:8px;max-width:calc(100% - 16px);justify-content:flex-start;padding:1px;gap:0}#views button{min-height:44px;font-size:11px;padding-inline:10px}body:not(.plan-mode) .stade-tools{top:62px}
 #place-panel{padding:6px 8px calc(2px + env(safe-area-inset-bottom));max-height:62%}.place-fields{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.2fr);gap:4px}#place-panel .place-field{min-height:46px;padding:5px 7px}.place-field span{font-size:9px}.place-field strong{font-size:13px}#place-panel #show-seat{min-height:46px;padding:4px;font-size:10px}
 #place-panel #show-block{min-height:44px;font-size:10px}
 #place-picker{width:100%;max-width:100%;height:min(480px,calc(100% - 8px));max-height:calc(100% - 8px);margin:auto 0 0;border-radius:13px 13px 0 0;padding:12px 10px calc(10px + env(safe-area-inset-bottom))}#place-picker[open]{gap:8px}.picker-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.picker-head h2{font-size:18px}
 #leave-view{min-height:44px;font-size:11px;bottom:34px;left:10px}#view-caption{left:10px;right:10px;font-size:10px}
}
@media(max-width:360px){.plan-caption{display:none}}
@media(max-height:420px){#view-area{min-height:100px}#place-panel{max-height:60%}#place-picker{padding:10px 12px}#place-picker[open]{gap:6px}.picker-head h2{font-size:18px}.picker-head p{display:none}}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.plan-legend{position:absolute;bottom:9px;left:12px;right:12px;display:flex;justify-content:center;gap:14px;pointer-events:none;font-size:9px;color:#58616a}.plan-legend span{display:flex;align-items:center;gap:4px;white-space:nowrap}.plan-legend span:before{content:"";width:7px;height:7px;border:1px solid #a1a8af;border-radius:2px;background:#d5d8da}.plan-legend span:nth-child(2):before{background:#bfc4c8}.plan-legend span:nth-child(3):before{background:#aab2b9}
@media(max-width:420px){.plan-legend{gap:8px;font-size:8px}}
