*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,Noto Sans Thai,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-7{width:1.75rem;height:1.75rem}.size-8{width:2rem;height:2rem}.animate-spin{animation:spin 1s linear infinite}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@font-face{font-family:LINE Seed Sans TH;src:url(/fonts/LINESeedSansTH-Light.otf) format("opentype");font-style:normal;font-weight:300;font-display:swap}@font-face{font-family:LINE Seed Sans TH;src:url(/fonts/LINESeedSansTH-Regular.ttf) format("truetype");font-style:normal;font-weight:400 600;font-display:swap}@font-face{font-family:LINE Seed Sans TH;src:url(/fonts/LINESeedSansTH-Bold.otf) format("opentype");font-style:normal;font-weight:700 900;font-display:swap}:root{color-scheme:light;font-family:LINE Seed Sans TH,system-ui,sans-serif;--ink: #1f2937;--muted: #64748b;--line: #dce4eb;--panel: rgba(255,255,255,.92);--blue: #237ea7}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{background:#f8fafc;color:var(--ink);overscroll-behavior:none}button,input,select{font:inherit}button{min-width:44px;min-height:44px;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #1e9bd1;outline-offset:2px}.app-shell{position:relative;width:100vw;height:100dvh;min-height:560px;overflow:hidden;background:#eef5fb;isolation:isolate}.hospital-canvas{position:absolute!important;inset:0;touch-action:none}.scene-wash{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 70% 15%,rgba(92,173,214,.18),transparent 32%),linear-gradient(180deg,#ffffffc7,#fff0 34%,#f8fafc7a)}.app-header{position:absolute;left:max(24px,env(safe-area-inset-left));top:max(24px,env(safe-area-inset-top));z-index:10;display:flex;min-width:0;max-width:min(540px,calc(100vw - 240px));align-items:flex-start;gap:12px;pointer-events:none}.app-header>div{min-width:0;pointer-events:auto}.app-header h1{max-width:100%;margin:0;overflow-wrap:anywhere;color:#111827;font-size:38px;line-height:1.16;font-weight:800}.header-subtitle{max-width:100%;margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.35}.mobile-title-break{display:none}.brand-line{display:flex;align-items:center;gap:7px;margin:0;color:#17799f;font-size:14px;font-weight:700}.header-back{margin-top:2px;pointer-events:auto}.top-actions{position:absolute;top:max(24px,env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right));z-index:10;display:flex;gap:10px}.glass-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(209,219,228,.84);background:#ffffffe6;color:#475569;box-shadow:0 10px 24px #0f172a17;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.glass-button{border-radius:12px;padding:8px 13px;font-size:14px;font-weight:700}.icon-button{width:46px;height:46px;border-radius:12px;padding:0}.glass-button:hover,.icon-button:hover{transform:translateY(-2px);background:#fff;box-shadow:0 13px 28px #0f172a21}.navigation-menu{position:absolute;left:max(16px,env(safe-area-inset-left));top:170px;z-index:10;display:flex;width:132px;flex-direction:column;gap:10px}.menu-tile{display:flex;min-height:78px;width:132px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid transparent;border-radius:14px;background:#ffffffe6;color:#64748b;box-shadow:0 10px 24px #0f172a17;transition:transform .18s ease,box-shadow .18s ease}.menu-tile:hover{transform:translateY(-2px);box-shadow:0 14px 28px #0f172a21}.menu-tile span{font-size:14px;font-weight:800}.menu-tile-active{box-shadow:0 0 0 2px currentColor,0 10px 24px #0f172a17}.overview-card,.mini-map,.crowd-status-card,.search-panel,.settings-panel,.demo-panel{position:absolute;z-index:10;border:1px solid rgba(216,225,233,.9);border-radius:18px;background:var(--panel);box-shadow:0 18px 46px #0f172a21;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.overview-card{right:max(16px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));width:min(310px,calc(100vw - 32px));padding:18px}.overview-card h2{margin:4px 0;font-size:18px}.overview-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.eyebrow{margin:0;color:#3487a7;font-size:11px;font-weight:800;letter-spacing:.08em}.overview-stat{display:flex;align-items:center;gap:8px;margin-top:13px;padding-top:12px;border-top:1px solid #e8edf1;color:#247ca0}.overview-stat strong{color:#1f2937}.overview-stat span{color:#64748b;font-size:12px}.status-panel-wrap{position:absolute;top:100px;right:max(16px,env(safe-area-inset-right));z-index:10;width:min(355px,calc(100vw - 32px));max-height:calc(100dvh - 126px);overflow:auto}.room-view .status-panel-wrap{bottom:max(16px,env(safe-area-inset-bottom))}.crowd-status-card{position:relative;width:100%;padding:18px}.status-card-heading,.density-heading,.density-percent,.panel-heading,.status-meta,.status-heading-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.status-card-heading h2{margin:3px 0 0;font-size:22px}.status-heading-actions{flex-shrink:0}.status-collapse-button{display:none;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid #d6e2e8;border-radius:10px;background:#fff;color:#5b7180}.status-collapsed-summary{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:12px;border-top:1px solid #edf1f4;padding-top:12px}.status-collapsed-summary strong{font-size:18px}.status-collapsed-summary span{color:#64748b;font-size:13px;text-align:right}.open-state{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800;white-space:nowrap}.open-state.open{background:#e8f7ef;color:#287c56}.open-state.closed{background:#fbeaea;color:#a83232}.density-heading{margin-top:16px}.density-label{margin:0;font-size:22px;font-weight:800}.density-description{margin:2px 0 0;color:var(--muted);font-size:13px}.density-number{display:grid;min-width:80px;border-radius:12px;padding:7px 10px;text-align:right}.density-number strong{font-size:23px;line-height:1}.density-number span{margin-top:3px;color:#64748b;font-size:11px}.density-meter{height:9px;margin-top:16px;overflow:hidden;border-radius:999px;background:#e5ebef}.density-meter span{display:block;height:100%;border-radius:inherit;transition:width .35s ease}.density-percent{margin:7px 0 0;color:#64748b;font-size:12px}.density-percent span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.status-grid>div{display:grid;gap:2px;border-radius:12px;background:#f7fafc;padding:10px}.status-grid svg{color:#217d9f}.status-grid span{color:#64748b;font-size:12px}.status-grid strong{color:#1f2937;font-size:14px}.status-meta{justify-content:flex-start;margin-top:12px;color:#8492a2;font-size:11px}.mode-switcher{display:flex;gap:4px;margin-top:14px;border-radius:12px;background:#edf2f5;padding:4px}.mode-switcher button{flex:1;min-height:40px;border:0;border-radius:9px;background:transparent;color:#64748b;font-size:12px;font-weight:800}.mode-switcher button.active{background:#fff;color:#1f6683;box-shadow:0 2px 8px #0f172a1a}.primary-action,.secondary-action{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:7px;border-radius:11px;font-weight:800}.primary-action{width:100%;margin-top:12px;border:0;background:#227da2;color:#fff}.primary-action:disabled{cursor:not-allowed;opacity:.55}.secondary-action{border:1px solid #d6e0e7;background:#fff;color:#526475;padding:7px 10px;font-size:12px}.ticket-card{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;border-radius:12px;background:#eaf6fb;padding:11px}.ticket-card div{display:grid}.ticket-card span{color:#267494;font-size:11px;font-weight:700}.ticket-card strong{color:#185571;font-size:22px}.ticket-card small{color:#617284;font-size:11px}.status-footnote{margin:12px 0 0;color:#94a3b8;font-size:11px;line-height:1.45}.mini-map{right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));width:172px;padding:12px}.mini-map-label{display:flex;align-items:center;gap:5px;color:#456275;font-size:12px;font-weight:800}.mini-map-building{position:relative;height:82px;margin:8px 0;border:2px solid #cbd9e2;border-radius:8px;background:linear-gradient(90deg,#eef5f8 49%,#fff 49%)}.mini-map-building:after{position:absolute;inset:25px 10px;border:1px dashed #b8cbd5;content:""}.mini-map-you{position:absolute;top:31px;left:47%;z-index:1;border-radius:999px;background:#283d49;padding:2px 4px;color:#fff;font-size:9px}.mini-map-dot{position:absolute;z-index:2;width:13px;height:13px;border:2px solid #fff;border-radius:999px;box-shadow:0 0 0 1px currentColor}.mini-map-dot.active{transform:scale(1.35)}.mini-map-er{top:11px;left:19px;background:#d94848;color:#d94848}.mini-map-pharmacy{top:48px;left:43px;background:#2f86aa;color:#2f86aa}.mini-map-exam{top:17px;right:19px;background:#6ca84d;color:#6ca84d}.mini-map p{margin:0;color:#71808d;font-size:10px;line-height:1.4}.search-panel,.settings-panel{top:max(75px,calc(env(safe-area-inset-top) + 64px));right:max(16px,env(safe-area-inset-right));width:min(360px,calc(100vw - 32px));padding:12px}.search-field{display:flex;align-items:center;gap:7px;border:1px solid #d7e1e8;border-radius:12px;background:#f8fbfd;padding-left:10px;color:#588096}.search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;padding:10px 0;color:#1f2937}.search-field .icon-button{width:38px;height:38px;border:0;box-shadow:none;background:transparent}.search-results{margin-top:7px}.search-results button{display:flex;width:100%;align-items:center;gap:9px;border:0;border-radius:10px;background:transparent;padding:9px;text-align:left;color:#6c8090}.search-results button:hover{background:#eef7fb}.search-results button span:nth-child(2){display:grid;flex:1}.search-results strong{color:#1f2937}.search-results small{color:#728596;font-size:11px}.search-dot{width:10px;height:10px;border-radius:999px}.empty-state{margin:14px 6px;color:#748493;font-size:14px}.settings-panel{width:min(320px,calc(100vw - 32px));padding:16px}.panel-heading h2{margin:3px 0 12px;font-size:19px}.settings-panel label,.demo-panel label{display:grid;gap:6px;margin-top:13px;color:#5c6e7d;font-size:13px;font-weight:700}.settings-panel select,.demo-panel select,.demo-panel input[type=number]{min-height:44px;border:1px solid #d6e0e7;border-radius:10px;background:#fff;padding:8px 10px;color:#1f2937}.switch-row{position:relative;display:flex!important;grid-template-columns:1fr auto;align-items:center;justify-content:space-between;min-height:44px}.switch-row input{position:absolute;width:1px;height:1px;opacity:0}.switch{position:relative;width:44px;height:24px;border-radius:999px;background:#cbd5df;transition:background .18s ease}.switch:after{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:999px;background:#fff;box-shadow:0 1px 4px #0f172a33;content:"";transition:transform .18s ease}.switch-row input:checked+.switch{background:#2f86aa}.switch-row input:checked+.switch:after{transform:translate(20px)}.settings-note{display:flex;align-items:flex-start;gap:6px;margin:14px 0 0;color:#728596;font-size:12px;line-height:1.45}.demo-panel{top:100px;right:max(16px,env(safe-area-inset-right));z-index:20;width:min(330px,calc(100vw - 32px));max-height:calc(100dvh - 120px);overflow:auto;padding:16px}.demo-panel .panel-heading{margin-bottom:5px}.demo-stepper{display:flex;align-items:center;justify-content:space-between;margin-top:14px;border:1px solid #dce5eb;border-radius:12px;padding:5px}.demo-stepper button{display:grid;width:44px;place-items:center;border:0;border-radius:9px;background:#eef6fa;color:#237ea7;font-size:23px}.demo-stepper strong{font-size:18px}.demo-presets{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:13px}.demo-presets button{border:1px solid #d6e2e9;border-radius:9px;background:#fff;color:#526475;font-size:12px;font-weight:700}.demo-presets button:hover{border-color:#70adbf;color:#206984}.demo-panel .secondary-action{width:100%;margin-top:12px}.demo-trigger.active{border-color:#2f86aa;background:#eaf6fb;color:#1b6a88;box-shadow:0 0 0 2px #2f86aa29}.demo-queue-fab{position:absolute;right:max(200px,calc(env(safe-area-inset-right) + 200px));bottom:max(18px,env(safe-area-inset-bottom));z-index:11;display:inline-flex;min-height:44px;align-items:center;gap:7px;border:1px solid #d5e2e9;border-radius:12px;background:#227da2;padding:8px 11px;color:#fff;box-shadow:0 10px 24px #0f172a1a;font-size:13px;font-weight:800}.offline-banner{position:absolute;top:max(75px,calc(env(safe-area-inset-top) + 64px));left:50%;z-index:11;transform:translate(-50%);border-radius:999px;background:#fff5d7;padding:8px 13px;color:#795f1d;box-shadow:0 8px 18px #0f172a17;font-size:12px;font-weight:700;display:flex;align-items:center;gap:6px}.accessibility-description{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.loading-indicator,.transition-overlay{position:absolute;z-index:30;display:flex;align-items:center;gap:8px;border-radius:999px;background:#fffffff0;color:#456275;box-shadow:0 12px 32px #0f172a24;font-size:13px;font-weight:700}.loading-indicator{left:50%;top:50%;transform:translate(-50%,-50%);padding:11px 15px}.transition-overlay{left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 16px}.loading-spinner{width:14px;height:14px;border:2px solid #b7d9e5;border-top-color:#227da2;border-radius:999px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.marker-button{width:64px;height:86px;transform:translate(-50%,-100%);border:0;background:transparent;cursor:pointer;filter:drop-shadow(0 13px 18px rgba(15,23,42,.22))}.marker-pin{position:relative;display:grid;place-items:center;width:60px;height:60px;border:4px solid rgba(255,255,255,.96);border-radius:999px 999px 999px 8px;transform:rotate(45deg)}.marker-pin svg{width:29px;height:29px;transform:rotate(-45deg);color:#fff}.marker-label{position:absolute;top:54px;left:50%;min-width:116px;transform:translate(-50%);border-radius:12px;padding:8px 12px;color:#fff;font-size:15px;font-weight:800;line-height:1.1;white-space:nowrap;box-shadow:0 9px 20px #0f172a29}.marker-tooltip{position:absolute;top:-64px;left:50%;width:178px;transform:translate(-50%);border-radius:16px;background:#fffffff5;padding:10px 12px;color:#334155;text-align:left;box-shadow:0 14px 34px #0f172a29;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease}.marker-button:hover .marker-tooltip,.marker-button:focus-visible .marker-tooltip{opacity:1;transform:translate(-50%) translateY(-4px)}.marker-tooltip strong,.marker-tooltip span{display:block}.marker-tooltip strong{color:#0f172a;font-size:14px}.marker-tooltip span{margin-top:2px;color:#64748b;font-size:12px}.large-text{font-size:112.5%}.high-contrast{--ink: #111827;--muted: #334155;--panel: rgba(255,255,255,.98)}.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.disclaimer-screen{display:grid;min-height:100dvh;place-items:center;overflow:auto;background:radial-gradient(circle at 75% 12%,rgba(91,174,214,.2),transparent 32%),#eef5fb;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));color:#1f2937}.disclaimer-card{width:min(760px,100%);max-height:calc(100dvh - 36px);overflow:auto;border:1px solid #d9e3ea;border-radius:24px;background:#fffffff5;padding:clamp(22px,4vw,38px);box-shadow:0 24px 70px #0f172a29}.disclaimer-icon{display:grid;width:54px;height:54px;place-items:center;border-radius:16px;background:#e8f5fa;color:#237ea7}.disclaimer-eyebrow{margin:18px 0 4px;color:#237ea7;font-size:12px;font-weight:800;letter-spacing:.08em}.disclaimer-card h1{margin:0;font-size:clamp(26px,4vw,36px);line-height:1.15}.disclaimer-welcome{margin:9px 0 0;color:#536b7a;font-size:17px;font-weight:700}.disclaimer-copy{margin-top:18px;border-top:1px solid #e5edf2;border-bottom:1px solid #e5edf2;padding:16px 0;color:#526575;font-size:14px;line-height:1.65}.disclaimer-copy p{margin:0 0 9px}.disclaimer-copy ol{margin:8px 0 0;padding-left:24px}.disclaimer-copy ol>li{margin:7px 0;padding-left:3px}.disclaimer-copy ul{margin:3px 0;padding-left:22px}.disclaimer-confirmation{margin:16px 0 0;color:#315b70;font-size:13px;font-weight:700;line-height:1.55}.disclaimer-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.disclaimer-actions button,.disclaimer-cancel,.disclaimer-start{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:7px;border-radius:12px;padding:10px 16px;font-size:14px;font-weight:800}.disclaimer-cancel{border:1px solid #d5e0e7;background:#fff;color:#667887}.disclaimer-start{border:0;background:#237ea7;color:#fff;box-shadow:0 8px 18px #237ea733}.disclaimer-cancelled-card{width:min(430px,100%);border:1px solid #d9e3ea;border-radius:22px;background:#fffffff5;padding:30px;text-align:center;box-shadow:0 24px 70px #0f172a29}.disclaimer-cancelled-card>svg{color:#a83232}.disclaimer-cancelled-card h1{margin:12px 0 4px;font-size:26px}.disclaimer-cancelled-card p{margin:0 0 18px;color:#64748b}@media(max-width:768px){.app-shell{min-height:500px}.app-header{left:max(12px,env(safe-area-inset-left));top:max(12px,env(safe-area-inset-top));max-width:calc(100vw - 170px)}.app-header h1{font-size:24px;line-height:1.1}.mobile-title-break{display:inline}.header-subtitle{max-width:220px;margin-top:5px;font-size:12px;line-height:1.35}.brand-line{font-size:12px}.top-actions{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));gap:6px}.top-actions .glass-button{width:42px;padding:0}.top-actions .glass-button span,.top-actions .search-trigger{display:none}.navigation-menu{inset:auto 0 0;width:100%;flex-direction:row;gap:0;padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid rgba(212,223,230,.96);border-radius:18px 18px 0 0;background:#fffffff2;box-shadow:0 -8px 28px #0f172a1a;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.menu-tile{width:25%;min-width:0;min-height:55px;border-radius:10px;box-shadow:none}.menu-tile span{overflow:hidden;max-width:100%;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.menu-tile-active{box-shadow:inset 0 0 0 1.5px currentColor}.status-panel-wrap{top:auto;right:0;bottom:calc(73px + env(safe-area-inset-bottom));width:100%;max-height:min(45dvh,420px);padding:0 10px;overflow:auto}.crowd-status-card{border-radius:18px;padding:14px}.status-heading-actions{gap:6px}.status-collapse-button{display:inline-flex}.status-card-heading h2{font-size:19px}.density-label{font-size:20px}.status-grid{gap:6px}.status-grid>div{padding:8px}.mini-map{display:none}.overview-card{right:12px;bottom:max(12px,env(safe-area-inset-bottom));left:12px;width:auto;padding:14px}.overview-card h2{font-size:16px}.demo-queue-fab{right:12px;bottom:calc(144px + env(safe-area-inset-bottom))}.demo-panel{top:max(70px,calc(env(safe-area-inset-top) + 60px));right:8px;bottom:calc(72px + env(safe-area-inset-bottom));left:8px;width:auto;max-height:calc(100dvh - 150px)}.search-panel,.settings-panel{top:max(70px,calc(env(safe-area-inset-top) + 60px));right:8px;left:8px;width:auto}.offline-banner{top:max(66px,calc(env(safe-area-inset-top) + 54px));max-width:calc(100vw - 24px)}.marker-button{width:54px;height:74px}.marker-pin{width:50px;height:50px}.marker-label{top:47px;min-width:96px;padding:7px 10px;font-size:13px}.marker-tooltip{top:-58px;width:150px}.status-footnote{padding-bottom:2px}.room-view .status-panel-wrap,.room-view .demo-queue-fab{bottom:max(12px,env(safe-area-inset-bottom))}}@media(orientation:landscape)and (max-width:900px){.app-header h1{font-size:24px}.status-panel-wrap{right:10px;bottom:calc(64px + env(safe-area-inset-bottom));width:min(340px,46vw);max-height:calc(100dvh - 86px)}.overview-card{right:12px;bottom:max(12px,env(safe-area-inset-bottom));left:auto;width:min(300px,42vw)}.navigation-menu{padding-top:5px;padding-bottom:max(5px,env(safe-area-inset-bottom))}.menu-tile{min-height:48px}.demo-panel{top:62px;max-height:calc(100dvh - 72px)}.demo-toggle,.demo-queue-fab{bottom:calc(64px + env(safe-area-inset-bottom))}}@media(max-width:600px){.disclaimer-screen{place-items:start center;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}.disclaimer-card{max-height:calc(100dvh - 24px);border-radius:20px;padding:20px}.disclaimer-copy{font-size:13px}.disclaimer-actions{flex-direction:column-reverse}.disclaimer-actions button{width:100%}.disclaimer-cancelled-card{padding:24px 18px}}.disclaimer-card{display:flex;height:min(820px,calc(100dvh - 36px));min-height:0;flex-direction:column;overflow:hidden}.disclaimer-copy{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding-right:8px}.disclaimer-confirmation{flex-shrink:0}.disclaimer-actions{flex-shrink:0;padding-top:2px;background:#fffffff5}@media(max-width:600px){.disclaimer-card{height:calc(100dvh - 24px)}}@media(max-width:768px){.app-header{left:max(20px,env(safe-area-inset-left));top:max(20px,env(safe-area-inset-top));max-width:calc(100vw - 200px)}.app-header h1{font-size:22px;line-height:1.2}.room-view .app-header h1{font-size:28px;line-height:1.1}.top-actions{top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));gap:8px}.top-actions .glass-button{width:44px}}.room-view .app-header h1{margin-top:8px}
