@import url("./fonts.css?v=ir-material3-20261007-r1");
:root{
  color-scheme:light;
  --ir-bg:var(--md-sys-color-surface);--ir-panel:var(--md-sys-color-surface-container-lowest);
  --ir-text:var(--md-sys-color-on-surface);--ir-muted:var(--md-sys-color-on-surface-variant);
  --ir-line:var(--md-sys-color-outline-variant);--ir-accent:var(--md-sys-color-primary);--ir-error:var(--md-sys-color-error);
  --bg:var(--ir-bg);--panel:var(--ir-panel);--ink:var(--ir-text);--muted:var(--ir-muted);
  --line:var(--ir-line);--accent:var(--ir-accent);--raise:var(--md-sys-color-surface-container-high);--font:var(--ir-font);
  font-family:var(--ir-font);color:var(--ir-text);background:var(--ir-bg);
}
html,body{font-family:var(--ir-font)}
button,input,select,textarea,option,summary{font-family:var(--ir-font)}
code,pre,.json-editor,.debug-role small,.debug-hct,.debug-ratios{font-family:var(--ir-font)}
button,.button{border-radius:24px;box-shadow:none;font-weight:500}
.button{color:var(--ir-accent);background:var(--ir-panel);border-color:var(--md-sys-color-outline)}
input,select,textarea{border-radius:8px;background:var(--ir-panel);border-color:var(--md-sys-color-outline);color:var(--ir-text)}
input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--ir-accent)}
option{color:var(--ir-text);background:var(--ir-panel)}
button:not(:where(.theme-drawer *)):hover,.button:hover{background:var(--md-sys-color-surface-container-high)}
.primary,.button.primary{color:var(--md-sys-color-on-primary);background:var(--ir-accent);border-color:var(--ir-accent)}
.primary:hover{background:var(--ir-accent);box-shadow:0 2px 6px #0002}
.danger,.is-error,.status-line.is-error{color:var(--ir-error);border-color:var(--ir-error)}
.role-badge{color:var(--md-sys-color-on-secondary-container);background:var(--md-sys-color-secondary-container);border:0;border-radius:8px;padding:5px 10px}
.theme-open{margin-left:auto;white-space:nowrap;flex-shrink:0}
.theme-open svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.home-header #theme-debug-open{order:1;margin-left:auto}
.home-header #home-auth{order:2;margin-left:0}
.home-scroll{height:calc(100dvh - 88px)}
.home-brand strong,.brand-line h1,.platform-header .brand{letter-spacing:0}
.home-brand strong{font-weight:700}
.home-hero-mobile-period{display:none}
.home-nav button{border:0;gap:4px;padding:6px 0}
.home-nav button::before{display:none}
.home-nav-icon{display:grid;place-items:center;flex:none;width:56px;height:32px;border-radius:18px;transition:background-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}

.home-nav button .home-nav-icon svg{display:block;width:24px;height:24px;margin:0}
.seat-legend .legend-self{background:var(--ir-accent)}
.board-tooltip{background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface)}
.account-dialog,.platform-card,.home-admin-card{background:var(--ir-panel);color:var(--ir-text);border:0;border-radius:28px;box-shadow:none}
.account-dialog{padding:28px;line-height:1.7;box-shadow:0 12px 36px #0002}
.account-dialog header h2,.account-dialog h2{font-weight:500;color:var(--ir-text)}
.account-dialog p,.account-dialog label{color:var(--ir-muted)}
.account-dialog header>button{width:40px;min-height:40px;border-radius:50%;padding:0;background:transparent;border:0;color:var(--ir-muted)}
.account-dialog::backdrop{background:#0006;backdrop-filter:blur(4px)}
.account-dialog .form-tabs button[aria-pressed=true],.form-tabs button[aria-pressed=true],.admin-tabs button[aria-current=page],.home-admin-tabs button[aria-current=page]{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-color:transparent}
.account-section{border-color:var(--ir-line)}
.account-actions>.button,.account-actions>button,.account-features>summary{border-radius:24px;border-color:var(--md-sys-color-outline);color:var(--ir-accent);background:transparent}
.account-actions>.button:hover,.account-actions>button:hover,.account-features>summary:hover{background:var(--md-sys-color-surface-container-high)}
.account-feature-body{background:var(--md-sys-color-surface-container-low);border:0;border-radius:20px}
.status-line{color:var(--ir-accent)}
.home-error{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border:0;border-radius:20px}
.notice-mark,.tour-usage-mark{color:var(--ir-accent)}
.platform-header{min-height:88px;background:var(--ir-bg);border:0;padding:16px 32px;gap:20px}
.platform-header a{text-decoration:none;color:var(--ir-accent);white-space:nowrap}
.platform-header .brand{color:var(--ir-text);font-size:24px;margin-right:auto}
.platform-header .brand strong{font-weight:700}
.platform-page{max-width:1328px;margin:24px auto;padding:0 40px 48px;line-height:1.6}
.platform-page h1{font-size:36px;line-height:1.3;font-weight:500;letter-spacing:-.025em}
.platform-page h2{font-size:24px;font-weight:500}
.platform-page h3{font-size:18px;font-weight:500}
.platform-card{padding:28px;margin:20px 0}
.platform-page .auth-card{max-width:520px;margin:40px auto}
.platform-form{gap:20px}
.platform-form input,.platform-form select,.platform-form textarea{font-size:15px;min-height:48px}
.platform-page .account-actions{gap:12px}
.admin-tabs{padding:8px;background:var(--md-sys-color-surface-container);border-radius:28px;gap:6px}
.admin-tabs button{border:0;background:transparent;min-height:44px;color:var(--ir-muted)}
.metric{background:var(--ir-panel);border:0;border-radius:24px;padding:24px}
.metric strong{font-weight:500;font-size:36px}
.table-scroll{border:1px solid var(--ir-line);border-radius:24px;background:var(--ir-panel)}
th{background:var(--md-sys-color-surface-container-low);color:var(--ir-muted);font-weight:500}
th,td{border-color:var(--ir-line);padding:16px}
td button{border-radius:20px}
.admin-layout pre{background:var(--md-sys-color-surface-container-low);color:var(--ir-text);border-radius:20px}
.home-admin-card{padding:28px}
.home-editor textarea{background:var(--ir-panel);color:var(--ir-text);border-color:var(--md-sys-color-outline);border-radius:8px}
.home-admin-row,.home-admin-row+.home-admin-row{border-color:var(--ir-line)}
.home-admin-content,.home-admin-state{color:var(--ir-muted)}
body[data-page=admin] .home-admin-card{background:var(--ir-panel);color:var(--ir-text);border:0;border-radius:28px;padding:28px}
body[data-page=admin] .home-editor textarea{background:var(--ir-panel);color:var(--ir-text);border-color:var(--md-sys-color-outline);border-radius:8px}
body[data-page=admin] .home-admin-row,body[data-page=admin] .home-admin-row+.home-admin-row{border-color:var(--ir-line)}
body[data-page=admin] .home-admin-content,body[data-page=admin] .home-admin-state{color:var(--ir-muted)}
body[data-page=admin] .home-admin-tabs button[aria-current=page]{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-color:transparent}
.features-heading h1{font-weight:500}
.error-page{max-width:680px;margin:14vh auto 0;padding:32px}
.error-page .button{margin:16px 12px 0 0}
.debug-role,.debug-hct,.debug-ratios{overflow-wrap:anywhere}

html body.tour-shell{
  --ir-bg:var(--md-sys-color-surface);--ir-raised:var(--md-sys-color-surface-container-low);--ir-hover:var(--md-sys-color-surface-container-high);
  --ir-panel:var(--md-sys-color-surface-container-lowest);--ir-text:var(--md-sys-color-on-surface);--ir-muted:var(--md-sys-color-on-surface-variant);
  --ir-edge:var(--md-sys-color-outline);--ir-blue:var(--md-sys-color-primary);--ir-ink:var(--md-sys-color-on-primary);
  --bg:var(--ir-bg);--panel:var(--ir-panel);--ink:var(--ir-text);--muted:var(--ir-muted);--line:var(--md-sys-color-outline-variant);--accent:var(--ir-accent);
  --venue-ui-panel:var(--ir-panel);--venue-ui-panel-solid:var(--ir-panel);--venue-ui-surface:var(--md-sys-color-surface-container-low);
  --venue-ui-surface-hover:var(--md-sys-color-surface-container-high);--venue-ui-ink:var(--ir-text);--venue-ui-muted:var(--ir-muted);
  --venue-ui-line:var(--ir-line);--venue-ui-line-strong:var(--md-sys-color-outline);--venue-ui-accent:var(--ir-accent);
  --venue-ui-accent-soft:var(--md-sys-color-secondary-container);
  background:var(--ir-bg);color:var(--ir-text);font-family:var(--ir-font);line-height:1.5;
}
html body.tour-shell .topbar{background:color-mix(in srgb, var(--md-sys-color-surface) 80%, transparent);backdrop-filter:blur(12px);border:0;color:var(--ir-text);box-shadow:none}
html body.tour-shell .brand-mark{border:0;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-radius:16px}
/* A symmetric SVG keeps the mark centered independently of browser font metrics. */
.home-logo,html body.tour-shell .brand-mark{display:grid!important;place-items:center;flex-shrink:0;padding:0!important;line-height:0;box-sizing:border-box}
.home-logo{width:48px;height:48px;border:0;border-radius:16px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}
.home-logo .ir-infinity,html body.tour-shell .brand-mark .ir-infinity{display:block;width:78%;height:60%;overflow:visible}
.platform-header .brand{display:flex;align-items:center;gap:12px}
html body.tour-shell .brand-line h1{font-weight:700;color:var(--ir-text)}
html body.tour-shell .brand p,html body.tour-shell .venue-name small{color:var(--ir-muted)}
html body.tour-shell .city-pill{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border:0;border-radius:8px}
html body.tour-shell button:not(:where(.theme-drawer *)),html body.tour-shell .button,html body.tour-shell summary{font-family:var(--ir-font);color:var(--ir-accent);background:var(--ir-panel);border-color:var(--md-sys-color-outline);border-radius:24px!important;box-shadow:none}
html body.tour-shell button:not(:where(.theme-drawer *)):hover,html body.tour-shell .button:hover{background:var(--md-sys-color-surface-container-high)}
html body.tour-shell button:not(:where(.theme-drawer *))[aria-pressed=true]{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-color:transparent}
html body.tour-shell input:not(:where(.theme-drawer *)),html body.tour-shell select:not(:where(.theme-drawer *)),html body.tour-shell textarea:not(:where(.theme-drawer *)){font-family:var(--ir-font);color:var(--ir-text);background:var(--ir-panel);border-color:var(--md-sys-color-outline);border-radius:8px}
html body.tour-shell .header-actions>button{background:transparent;border-color:var(--md-sys-color-outline);color:var(--ir-accent);min-height:40px;font-size:13px}
html body.tour-shell .header-actions .theme-open{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border:0;margin:0}
html body.tour-shell #seat-panel{background:var(--ir-panel);border:0;border-radius:24px;color:var(--ir-text)}
html body.tour-shell .panel-heading h2{color:var(--ir-text);font-weight:500}
html body.tour-shell .panel-intro,html body.tour-shell .model-note,html body.tour-shell .map-caption,html body.tour-shell .field,html body.tour-shell .eyebrow{color:var(--ir-muted)}
html body.tour-shell #overview-locate,html body.tour-shell #seat-view,html body.tour-shell .primary{color:var(--md-sys-color-on-primary)!important;background:var(--ir-accent)!important;border-color:var(--ir-accent)!important}
html body.tour-shell .account-section h3{color:var(--ir-text)}
html body.tour-shell .account-feature-body{background:var(--md-sys-color-surface-container-low);border:0;border-radius:20px}
html body.tour-shell .sidebar-feature-form h4{color:var(--ir-accent)}
html body.tour-shell #tour-viewport-header{color:var(--ir-muted)}
html body.tour-shell #tour-viewport-header .tour-viewport-title{padding:6px 12px;border-radius:24px;background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface)}
html body.tour-shell #tour-viewport-header .tour-viewport-title strong,html body.tour-shell #tour-viewport-header #seat-count{color:inherit}
html body.tour-shell #tour-viewport-header .tour-viewport-actions button{background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);border:0}
html body.tour-shell .tour-views{background:var(--md-sys-color-surface-container);border:0;border-radius:28px;box-shadow:0 2px 8px #0002}
html body.tour-shell .tour-views button{color:var(--ir-muted);background:transparent}
html body.tour-shell .tour-views button[aria-pressed=true]{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}
html body.tour-shell #selection,html body.tour-shell #canvas-shell #selection{color:var(--ir-text)!important;background:var(--ir-panel)!important;border-color:var(--ir-line)!important;border-radius:24px!important;box-shadow:0 4px 16px #0002!important}
html body.tour-shell #seat-panel #selection{background:transparent!important;border-radius:0!important;box-shadow:none!important}
html body.tour-shell #selection .selection-actions button,html body.tour-shell #canvas-shell #selection .selection-actions button,html body.tour-shell #seat-panel #selection .selection-actions button{color:var(--ir-accent)!important;background:var(--md-sys-color-surface-container-low)!important;border-color:var(--ir-line)!important;border-radius:24px!important}
html body.tour-shell #selection #seat-view,html body.tour-shell #canvas-shell #selection #seat-view,html body.tour-shell #seat-panel #selection #seat-view{background:var(--ir-accent)!important;color:var(--md-sys-color-on-primary)!important;border-color:var(--ir-accent)!important}
html body.tour-shell #venue-tools[popover]{background:var(--ir-panel);color:var(--ir-text);border:0;border-radius:28px;box-shadow:0 8px 32px #0003}
html body.tour-shell #venue-tools .venue-tools-header{background:var(--ir-panel);border-color:var(--ir-line)}
html body.tour-shell #venue-tools .tool-label{color:var(--ir-muted)}
html body.tour-shell #venue-tools button,html body.tour-shell #venue-tools summary{border-radius:24px!important}
html body.tour-shell #venue-tools .exit-venue{color:var(--ir-accent);background:var(--md-sys-color-surface-container-low);border-radius:24px}
html body.tour-shell .account-dialog,html body.tour-shell #tour-usage-notice{font-family:var(--ir-font);color:var(--ir-text);background:var(--ir-panel);border:0;border-radius:28px;box-shadow:0 12px 36px #0003}
html body.tour-shell #tour-usage-content{color:var(--ir-muted);margin-bottom:36px}
html body.tour-shell #tour-usage-confirm{background:var(--ir-accent)!important;color:var(--md-sys-color-on-primary)!important;border:0!important;border-radius:24px!important}
html body.tour-shell #tour-usage-notice::backdrop{background:#0006;backdrop-filter:blur(4px)}
html body.tour-shell .blocking{background:var(--md-sys-color-surface);color:var(--ir-text)}
html body.tour-shell #mini-map .map-text{font-family:var(--ir-font)}
html body.tour-shell .tour-switch-arrow{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border:0!important;border-radius:50%!important}
html body.tour-shell .handbook-entry,html body.tour-shell #callbook-toggle,html body.tour-shell [data-callbook-open]{background:#ffdf74!important;color:#4a3900!important;border-color:#ffdf74!important}
html body.tour-shell .theme-drawer{color:var(--ir-text);background:var(--md-sys-color-surface-container-low)}

html body.tour-shell .venue-name,html body.tour-shell .venue-name>span{color:var(--ir-text)!important}
html body.tour-shell #seat-panel #overview-seat-form select,html body.tour-shell #seat-panel .feature-form select,html body.tour-shell #venue-tools select{appearance:none;padding-right:40px;background-color:var(--ir-panel)!important;background-image:linear-gradient(135deg,transparent 50%,currentColor 50%),linear-gradient(45deg,currentColor 50%,transparent 50%)!important;background-position:right 18px center,right 14px center!important;background-size:6px 6px,6px 6px!important;background-repeat:no-repeat!important;color:var(--ir-text)!important;border-color:var(--md-sys-color-outline)!important}
html body.tour-shell #seat-panel #overview-seat-form label,html body.tour-shell #seat-panel #overview-seat-form label>span{color:var(--ir-muted)!important}
html body.tour-shell #seat-panel #overview-seat-form #tour-frame{background:var(--md-sys-color-surface-container-low)!important;color:var(--ir-accent)!important;border-color:var(--md-sys-color-outline)!important}
html body.tour-shell #canvas-shell #selection #glowstick-actions button,html body.tour-shell #canvas-shell #selection #penlight-theme-controls button{background:var(--md-sys-color-surface-container-low)!important;color:var(--ir-accent)!important;border-color:var(--md-sys-color-outline-variant)!important;border-radius:24px!important}
html body.tour-shell #canvas-shell #selection #glowstick-actions button[aria-pressed=true]{background:var(--md-sys-color-secondary-container)!important;color:var(--md-sys-color-on-secondary-container)!important}
html body.tour-shell #canvas-shell #selection #tour-more{background:var(--md-sys-color-surface-container-low)!important;color:var(--ir-accent)!important;border-color:var(--md-sys-color-outline)!important}
html body.tour-shell #canvas-shell #selection .tour-seat-actions button{border-radius:24px!important}
html body.tour-shell #canvas-shell #selection #tour-book{background:#f5d76e!important;border-color:#ffe598!important;color:#392d08!important}
@media(min-width:761px){
  html body.tour-shell #canvas-shell #selection>.tour-seat-actions{display:grid;grid-template-columns:repeat(2,minmax(84px,1fr)) auto}
  html body.tour-shell #canvas-shell #selection .tour-seat-actions button{width:100%;min-height:36px;height:36px;margin:0;padding:7px 12px;font-size:11px;box-sizing:border-box}
}
html body.tour-shell #venue-tools #audience-modes{grid-template-columns:repeat(2,minmax(0,1fr))}
html body.tour-shell #tour-seat-options .selection-actions button[aria-pressed=true]{background:var(--md-sys-color-secondary-container)!important;color:var(--md-sys-color-on-secondary-container)!important}
html body.tour-shell #canvas-shell #selection #glowstick-actions button{font-family:var(--ir-font)!important}
html body.tour-shell #tour-cheer-panel,html body.tour-shell #tour-seat-options{background:var(--ir-panel)!important;color:var(--ir-text)!important;border-color:var(--ir-line)!important;border-radius:24px!important;box-shadow:0 8px 32px #0003!important}
html body.tour-shell #tour-seat-options .selection-actions button{color:var(--ir-accent)!important;border-radius:20px!important}
html body.tour-shell #tour-seat-options .selection-actions button:hover,html body.tour-shell #tour-seat-options .selection-actions button:focus-visible{background:var(--md-sys-color-surface-container-high)!important;border-color:transparent!important}
html body.tour-shell #callbook-panel,html body.tour-shell #action-help{background:var(--ir-panel);color:var(--ir-text);border-color:var(--ir-line);border-radius:24px;box-shadow:0 8px 32px #0003}
html body.tour-shell #callbook-shelf button,html body.tour-shell #callbook-shelf select,html body.tour-shell #callbook-shelf input,html body.tour-shell #callbook-shelf a{font-family:var(--ir-font);background:var(--md-sys-color-surface-container-low);color:var(--ir-accent);border-color:var(--md-sys-color-outline)}
html body.tour-shell #callbook-shelf .callbook-header h2,html body.tour-shell #callbook-shelf #callbook-original{color:var(--ir-accent)}
html body.tour-shell #callbook-shelf #callbook-page-total,html body.tour-shell #callbook-shelf #callbook-empty,html body.tour-shell #callbook-shelf #callbook-status{color:var(--ir-muted)}
html body.tour-shell #callbook-shelf #callbook-viewport{background:var(--md-sys-color-surface-container-low);scrollbar-color:var(--md-sys-color-outline) var(--md-sys-color-surface-container-low)}
html body.tour-shell #callbook-shelf .callbook-footer{border-color:var(--ir-line)}
html body.tour-shell #callbook-shelf .callbook-page-link{background:transparent;border:0;border-radius:0}
html body.tour-shell #tour-viewport-header nav{border-radius:24px;background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);border:0}
html body.tour-shell #tour-viewport-header nav button{border:0;border-radius:24px!important;background:transparent;color:var(--md-sys-color-inverse-on-surface)}
html body.tour-shell #tour-viewport-header nav button[aria-pressed=true]{background:var(--md-sys-color-inverse-primary);color:var(--md-sys-color-on-primary-container)}
html body.tour-shell #tour-viewport-header nav button span,html body.tour-shell #tour-viewport-header nav button small{color:inherit!important}

html[data-theme=dark] body.tour-shell #tour-viewport-header .tour-viewport-title,
html[data-theme=dark] body.tour-shell #tour-viewport-header nav,
html[data-theme=dark] body.tour-shell #tour-viewport-header .tour-viewport-actions button{
  background:rgba(22,31,38,.7);
  background:color-mix(in srgb,var(--md-sys-color-surface-container) 70%,transparent);
  color:var(--md-sys-color-on-surface);
  border:1px solid color-mix(in srgb,var(--md-sys-color-outline) 32%,transparent);
  -webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);
  box-shadow:0 2px 12px #0002;
}
html[data-theme=dark] body.tour-shell #tour-viewport-header nav button{color:var(--md-sys-color-on-surface-variant)}
html[data-theme=dark] body.tour-shell #tour-viewport-header nav button[aria-pressed=true]{
  background:color-mix(in srgb,var(--md-sys-color-primary) 24%,transparent);
  color:var(--md-sys-color-on-surface);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--md-sys-color-primary) 35%,transparent);
}
html[data-theme=dark] body.tour-shell #tour-viewport-header nav button:hover,
html[data-theme=dark] body.tour-shell #tour-viewport-header .tour-viewport-actions button:hover{
  background:color-mix(in srgb,var(--md-sys-color-surface-container-high) 85%,transparent);
  color:var(--md-sys-color-on-surface);
}
html[data-theme=dark] body.tour-shell #tour-viewport-header nav button:focus-visible,
html[data-theme=dark] body.tour-shell #tour-viewport-header .tour-viewport-actions button:focus-visible{
  outline:2px solid var(--md-sys-color-primary);outline-offset:2px;
}

@media(max-width:1100px){.platform-page{padding-inline:24px}.platform-header{padding-inline:24px;gap:16px}}
@media(max-width:760px){
  html body.tour-shell .topbar{display:grid;grid-template-columns:34px minmax(0,1fr) max-content;gap:8px;padding-inline:12px}
  html body.tour-shell .brand-mark{width:34px;height:34px;border-radius:10px}
  html body.tour-shell .brand-line{flex-wrap:wrap;gap:2px 5px}
  html body.tour-shell .brand-line h1{font-size:18px;letter-spacing:0}
  html body.tour-shell .brand p{font-size:7px;letter-spacing:.3px;white-space:nowrap}
  html body.tour-shell .city-pill{font-size:9px;padding:1px 4px}
  html body.tour-shell .header-actions{gap:4px;margin-left:0}
  html body.tour-shell .header-actions>button{width:32px;min-height:34px;padding:0}
  html body.tour-shell #mobile-picker span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .platform-header{min-height:80px;height:auto;padding:16px;gap:12px;flex-wrap:wrap}
  .platform-header .brand{font-size:22px}.platform-header a:not(.brand){font-size:13px}
  .platform-header .brand .home-logo{width:40px;height:40px;border-radius:12px}
  .platform-header .theme-open{width:40px;height:40px;padding:0;margin-left:0}.platform-header .theme-open span{display:none}
  .platform-page{padding:0 16px 32px;margin:20px auto}.platform-page h1{font-size:29px}
  .platform-card,.home-admin-card{padding:24px;border-radius:24px}
  .admin-tabs{border-radius:24px;gap:4px}.admin-tabs button{font-size:13px;padding:10px 14px}
  .metric{padding:18px}.metric strong{font-size:30px}th,td{padding:12px}
  html body.tour-shell #seat-panel{border-radius:24px 24px 0 0}
  html body.tour-shell .header-actions .theme-open{width:34px;min-height:34px;height:34px;padding:0}
  html body.tour-shell .header-actions .theme-open span{display:none}
}
@media(max-width:700px){
  .home-scroll{height:calc(100dvh - 80px);padding-bottom:calc(80px + env(safe-area-inset-bottom))}
  .home-nav{height:calc(80px + env(safe-area-inset-bottom));padding-bottom:max(8px,env(safe-area-inset-bottom))}
  .home-nav button{padding:4px 6px}.home-nav-icon{width:64px}
  .home-header #theme-debug-open{margin:0}.home-brand strong{font-size:22px}
  .home-header #home-auth{margin:0;flex-shrink:0}
  .overview-heading h1{font-size:28px;line-height:1.4}
  .overview-heading .home-hero-second{display:block;white-space:nowrap}
  .overview-heading .home-hero-mobile-period{display:inline}
  .home-brand small{font-size:8px}.home-steps{gap:12px;flex-wrap:wrap}
}
@media(max-width:380px){
  .home-header{padding-inline:12px;gap:8px}.home-logo{width:36px;height:36px;font-size:30px}.home-brand{gap:8px}.home-brand strong{font-size:20px}.home-brand small{font-size:7px}
  .home-header .theme-open,.home-header #home-auth{width:36px;height:40px;min-height:40px;padding:0}
  .platform-header{gap:8px}.platform-header .brand{font-size:20px}.platform-header a:not(.brand){font-size:12px}
}

/* Image brand replaces the complete homepage wordmark. SVG viewBox removes only transparent padding. */
.home-header .home-brand-image{width:236px;height:66px;flex:0 1 236px;min-width:120px;display:flex;align-items:center;justify-content:center}
.home-brand-image .site-brand-art{display:block;width:100%;height:100%;overflow:hidden}
.home-brand-image:focus-visible{outline:2px solid var(--ir-accent);outline-offset:5px;border-radius:4px}
.logo-editor{margin-top:24px}.logo-editor>label{display:grid;gap:10px;margin:20px 0}.logo-editor input[type=file]{max-width:100%}
.logo-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.logo-preview{height:128px;padding:24px;border:1px solid var(--ir-line);border-radius:16px;display:flex;align-items:center;justify-content:center}
.logo-preview.light{background:#f7f9fc}.logo-preview.dark{background:#0e1416}.logo-preview svg{display:block;width:100%;max-width:280px;height:100%}
@media(max-width:700px){.home-header .home-brand-image{width:176px;height:50px;flex-basis:176px}.logo-previews{grid-template-columns:1fr}.logo-preview{height:112px}}
@media(max-width:380px){.home-header .home-brand-image{width:150px;height:46px;flex-basis:150px}}

/* Venue pages use the same database-backed artwork and transparent crop as home. */
html body.tour-shell .topbar .venue-brand-image{display:flex;align-items:center;justify-content:center;width:236px;height:66px;flex:0 1 236px;min-width:120px;text-decoration:none}
html body.tour-shell .venue-brand-image .site-brand-art{display:block;width:100%;height:100%;overflow:hidden}
html body.tour-shell .venue-city-pill{flex-shrink:0}
@media(max-width:760px){
  html body.tour-shell .topbar{grid-template-columns:minmax(0,1fr) max-content;gap:8px}
  html body.tour-shell .topbar .venue-brand-image{width:176px;max-width:100%;height:50px;flex-basis:176px;min-width:0}
  html body.tour-shell .venue-city-pill{display:none}
  html body.tour-shell .topbar .header-actions{width:auto;justify-self:end;flex-shrink:0;gap:4px}
}
@media(max-width:380px){html body.tour-shell .topbar .venue-brand-image{width:150px;height:46px;flex-basis:150px}}

/* Live plans use the same coordinates and rows as the 3D layouts. */
.live-seat-plan{display:block;width:100%;height:auto;overflow:visible}
.tour-map-details .live-seat-plan{max-height:285px}
.live-seat-plan .plan-stage{fill:var(--md-sys-color-secondary-container,#d4e4ec)}
.live-seat-plan .plan-stage-label{fill:var(--md-sys-color-on-secondary-container,#244453);font:12px sans-serif}
.live-seat-plan .plan-badge rect{fill:var(--md-sys-color-surface-container-lowest,#fff);stroke:var(--md-sys-color-outline-variant,#b6c6cc);stroke-width:.5}
.live-seat-plan .plan-badge text{fill:var(--md-sys-color-on-surface,#20343d);font:10px sans-serif;pointer-events:none}
.live-seat-plan .plan-badge[role=button]{cursor:pointer}
.live-seat-plan .plan-badge[aria-pressed=true] rect{stroke:var(--md-sys-color-primary,#087ca1);stroke-width:2}
.live-seat-plan .plan-marker{fill:#fff;stroke:#009dd1;stroke-width:2;pointer-events:none}
/* Mobile only: retain count, action controls, seat label and the action dock. */
@media(max-width:760px){
  html body.tour-shell #tour-viewport-header #mode-label,
  html body.tour-shell #tour-viewport-header .live-dot,
  html body.tour-shell #tour-station-tabs,
  html body.tour-shell #canvas-shell .tour-switch-arrow,
  html body.tour-shell #canvas-shell #selection #penlight-theme-controls:not([hidden]),
  html body.tour-shell #canvas-shell #selection #penlight-theme-controls{display:none!important}
  html body.tour-shell #tour-viewport-header #seat-count{display:inline!important;border-left:0;padding-left:0}
  html body.tour-shell #tour-viewport-header{grid-template-rows:auto}
  html body.tour-shell #canvas-shell #selection #glowstick-actions{grid-column:1/-1;grid-row:1}
  html body.tour-shell #canvas-shell #selection .selection-text{grid-column:1/-1;grid-row:2}
  html body.tour-shell #canvas-shell #selection .tour-seat-actions{grid-column:1/-1;grid-row:3}
}

#board-companion-messages{max-height:180px;overflow:auto;border-block:1px solid var(--md-sys-color-outline-variant,#b8c9d0);padding:8px 0;margin:6px 0}
.seat-companion-message+.seat-companion-message{margin-top:10px}
.seat-companion-message p{margin:4px 0;font-size:14px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}
.companion-message{white-space:normal;overflow-wrap:anywhere}
#seat-message-count{font-size:12px}
html[data-theme=light] .site-brand-art{filter:brightness(.72) contrast(1.15) drop-shadow(0 0 .5px var(--md-sys-color-primary))}
.seat-legend .legend-self{background:var(--md-sys-color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--md-sys-color-primary) 35%, transparent)}
.legend-friends{display:inline-flex;align-items:center;gap:4px}
.legend-friends i{width:7px;height:7px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--md-sys-color-surface)}
.legend-friend{background:#66ccff}
.legend-friend.tone-2{background:#ee0000}
.legend-friend.tone-3{background:#00ffcc}
.legend-friend.tone-4{background:#0080ff}
select,.show-fields select,.home-form select,.freebie-fields select{appearance:none;padding-right:40px;background-image:linear-gradient(135deg,transparent 50%,currentColor 50%),linear-gradient(45deg,currentColor 50%,transparent 50%);background-position:right 18px center,right 14px center;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
select:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}
.home-scroll,.debug-body,dialog.theme-drawer{scrollbar-width:thin;scrollbar-color:var(--md-sys-color-outline-variant) transparent}
.home-scroll::-webkit-scrollbar,.debug-body::-webkit-scrollbar,dialog.theme-drawer::-webkit-scrollbar{width:8px;height:8px}
.home-scroll::-webkit-scrollbar-thumb,.debug-body::-webkit-scrollbar-thumb,dialog.theme-drawer::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline-variant);border-radius:4px}
html body.tour-shell .tour-views,html body.tour-shell .view-toolbar{background:color-mix(in srgb, var(--md-sys-color-surface) 80%, transparent);backdrop-filter:blur(12px)}
html body.tour-shell #scene{top:0}
html body.tour-shell #tour-viewport-header{top:105px}
@media(max-width:760px){html body.tour-shell #tour-viewport-header{top:87px}}
.platform-header .header-icon{width:44px;height:44px;min-width:44px;border-radius:50%;display:grid;place-items:center;background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-primary);margin-left:8px}
.platform-header .header-icon svg{width:22px;height:22px}
.platform-header .home-brand-image{margin-right:auto}
