*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0b0d12;--surface:#131722;--surface-2:#1b2130;--border:#2a3245;--text:#e6e9f0;--text-dim:#8b93a7;--accent:#3b82f6;--live:#22c55e;--sim:#8b5cf6;--warn:#ef4444}body,html{height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;overflow:hidden;--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px)}.twin-root{position:relative;width:100vw;height:100vh;height:100dvh}.twin-canvas{position:absolute;inset:0;z-index:0}.hud-stats{position:fixed;top:16px;left:calc(16px + var(--safe-l));z-index:30;max-width:calc(100vw - 32px);flex-wrap:wrap;display:flex;gap:20px;align-items:center;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--border);border-radius:12px;padding:10px 18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hud-stats__brand{display:flex;flex-direction:column;gap:2px;padding-right:16px;border-right:1px solid var(--border)}.hud-live{font-size:11px;color:var(--text-dim)}.hud-live--on{color:var(--live);animation:pulse 2s ease-in-out infinite}.hud-mode{font-size:10px;font-weight:800;letter-spacing:.06em;padding:1px 7px;border-radius:4px;width:-moz-fit-content;width:fit-content;margin-top:2px}.hud-mode--mirror{color:#38bdf8;border:1px solid #38bdf8}.hud-mode--demo{color:#22c55e;border:1px solid #22c55e}.session-mode{font-size:12px;font-weight:600;text-align:right}.session-mode--mirror{color:#38bdf8}.session-mode--demo{color:#22c55e}.hud-sample{letter-spacing:.08em}.hud-dryrun,.hud-sample{font-size:10px;font-weight:800;color:#eab308;border:1px solid #eab308;border-radius:4px;padding:1px 6px;width:-moz-fit-content;width:fit-content;margin-top:2px}.hud-dryrun{letter-spacing:.1em}.hud-refresh{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:12px;font-weight:600;cursor:pointer}.hud-refresh:hover{border-color:var(--accent)}.hud-refresh:disabled{opacity:.6;cursor:wait}.hud-stat__value{font-size:20px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hud-stat__label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.event-feed{position:fixed;top:16px;right:calc(16px + var(--safe-r));bottom:calc(72px + var(--safe-b));z-index:30;width:min(330px,calc(100vw - 32px));display:flex;flex-direction:column;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--border);border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}.event-feed__header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);border-bottom:1px solid var(--border)}.event-feed__collapse{background:none;border:none;color:var(--text-dim);font-size:18px;line-height:1;cursor:pointer;padding:0 4px}.event-feed__collapse:hover{color:var(--text)}.event-feed__controls{display:flex;gap:4px;padding:8px 10px;border-bottom:1px solid var(--border)}.event-filter{flex:1 1;background:var(--surface-2);color:var(--text-dim);border:1px solid var(--border);border-radius:6px;padding:4px 6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.event-filter--on{color:var(--text);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 22%,var(--surface-2))}.event-ticker{position:fixed;top:16px;right:calc(16px + var(--safe-r));display:flex;align-items:center;gap:8px;max-width:330px;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--border);border-radius:10px;padding:8px 12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text);font-size:12px;cursor:pointer;z-index:30}.event-ticker:hover{border-color:var(--accent)}.event-ticker__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-ticker__count{margin-left:auto;color:var(--text-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:11px}.event-feed__list{flex:1 1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.event-feed__empty{padding:24px 14px;color:var(--text-dim);font-size:13px;line-height:1.5}.event-entry{padding:8px 10px;border-radius:8px;background:var(--surface-2);border-left:3px solid var(--sim);animation:slide-in .25s ease-out}.event-entry--live{border-left-color:var(--live);animation:slide-in .25s ease-out,flash 1s ease-out}.event-entry__meta{display:flex;gap:8px;align-items:center;margin-bottom:3px}.event-badge{font-size:9px;font-weight:700;padding:1px 6px;border-radius:4px;letter-spacing:.08em}.event-badge--live{background:color-mix(in srgb,var(--live) 22%,transparent);color:var(--live)}.event-badge--sim{background:color-mix(in srgb,var(--sim) 22%,transparent);color:var(--sim)}.event-channel{font-size:10px;color:var(--accent);font-family:ui-monospace,monospace}.event-time{margin-left:auto;font-size:10px;color:var(--text-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.event-entry__title{font-size:13px;font-weight:600}.event-entry__detail{font-size:11px;color:var(--text-dim);font-family:ui-monospace,monospace;word-break:break-all}.panel{--panel-density:1;display:flex;flex-direction:column;background:#eef1f7;border:calc(1px * var(--panel-density)) solid #c7d0df;border-radius:calc(10px * var(--panel-density));overflow:hidden;cursor:pointer;transition:box-shadow .3s;color:#1c2536}.panel--focused{cursor:default;box-shadow:0 0 calc(60px * var(--panel-density)) color-mix(in srgb,var(--accent) 55%,transparent)}.panel__titlebar{display:flex;justify-content:space-between;align-items:center;padding:calc(8px * var(--panel-density)) calc(12px * var(--panel-density));font-size:calc(13px * var(--panel-density));font-weight:600;background:#ffffff;color:#24304a;border-bottom:calc(1px * var(--panel-density)) solid #dde3ee;flex:none}.panel__close{background:#e3e9f3;color:#24304a;border:none;border-radius:calc(6px * var(--panel-density));padding:calc(4px * var(--panel-density)) calc(10px * var(--panel-density));font-size:calc(12px * var(--panel-density));cursor:pointer}.panel__body{flex:1 1;position:relative;background:#f7f9fc}.panel__viewport{--panel-zoom:1;position:absolute;inset:0;overflow:hidden}.panel__iframe{width:calc(100% / var(--panel-zoom));height:calc(100% / var(--panel-zoom));transform:scale(var(--panel-zoom));transform-origin:0 0;border:none;background:#fff}.panel__missing{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:calc(24px * var(--panel-density, 1));color:#5b6780;font-size:calc(14px * var(--panel-density, 1));line-height:1.5}.table-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;background:rgba(10,12,18,.85);border:1px solid var(--border);color:var(--text);font-size:13px;font-weight:700;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.table-chip__party{font-weight:400;color:var(--text-dim);font-size:11px}.terminal{height:100%;display:flex;flex-direction:column;background:#eef1f7;padding:14px;gap:12px}.terminal__brand{font-size:11px;color:#55617c;text-transform:uppercase;letter-spacing:.08em}.terminal--clover .terminal__brand{color:#7ac142}.terminal__screen{flex:1 1;border-radius:10px;background:#1d2a40;border:1px solid #c7d0df;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px}.terminal__status{font-size:24px;font-weight:800;letter-spacing:.06em;color:#eef2fa}.terminal--succeeded .terminal__status{color:var(--live)}.terminal--failed .terminal__status{color:var(--warn)}.terminal--attempted .terminal__status{color:#eab308;animation:pulse 1s ease-in-out infinite}.terminal__detail{font-size:11px;color:#9fb0cc;font-family:ui-monospace,monospace;text-align:center;word-break:break-all}.terminal__tap-zone{text-align:center;padding:12px;border:1px dashed #b7c2d6;border-radius:10px;color:#55617c;font-size:12px}.printer{height:100%;display:flex;flex-direction:column;background:#dfe4ee}.printer__slot{height:14px;margin:12px 24px 0;background:#39415a;border-radius:7px;border:1px solid #b7c2d6;flex:none}.printer__paper{flex:1 1;margin:0 30px;background:#f5f2e9;overflow-y:auto;box-shadow:inset 0 8px 12px -8px rgba(0,0,0,.6)}.printer__chit,.printer__paper{display:flex;flex-direction:column}.printer__chit{gap:2px;padding:12px 14px 8px;color:#23211c;font-family:ui-monospace,Courier New,monospace;font-size:12px;animation:chit-feed .5s ease-out}.printer__chit--idle{color:#8a8677;text-align:center;padding-top:40px}.printer__hint{font-size:10px}.printer__time{color:#8a8677;font-size:10px}.printer__tear{margin-top:8px;border-bottom:2px dashed #c9c4b2}@keyframes chit-feed{0%{transform:translateY(-14px);opacity:0}to{transform:none;opacity:1}}.phone-placeholder{height:100%;background:#f4f6fb;color:#1c2536;display:flex;flex-direction:column}.phone-placeholder__notch{width:120px;height:22px;background:#000;border-radius:0 0 14px 14px;margin:0 auto}.phone-placeholder__body{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:24px}.phone-placeholder__body h3{font-size:26px}.phone-placeholder__hint{font-size:12px;color:#5b6780;line-height:1.6}.floor-switcher{position:fixed;top:92px;left:calc(16px + var(--safe-l));display:flex;gap:6px;z-index:30}.floor-switcher__btn{background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--text-dim);border:1px solid var(--border);border-radius:8px;padding:7px 14px;font-size:12px;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.floor-switcher__btn--active{color:var(--text);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 22%,var(--surface))}.table-card{position:fixed;bottom:calc(72px + var(--safe-b));left:50%;transform:translateX(-50%);width:min(300px,calc(100vw - 32px));max-height:46vh;overflow-y:auto;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--border);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:14px;z-index:30;animation:slide-up .2s ease-out}.table-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.table-card__header strong{font-size:16px;margin-right:8px}.table-card__state{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--text-dim)}.table-card__state--in_kitchen{color:#f59e0b}.table-card__state--served{color:#14b8a6}.table-card__state--paying{color:#eab308}.table-card__state--paid{color:var(--live)}.table-card__state--attention{color:var(--warn)}.table-card__close{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:13px}.table-card__occupancy{font-size:13px;color:var(--text-dim);margin-bottom:8px}.table-card__guests{font-size:18px;font-weight:800;color:var(--text)}.table-card__order{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-dim);margin-bottom:8px}.table-card__order code{color:var(--accent);font-weight:700}.table-card__source{font-size:9px;font-weight:700;letter-spacing:.08em;padding:1px 6px;border-radius:4px;background:color-mix(in srgb,var(--sim) 22%,transparent);color:var(--sim)}.table-card__source--live{background:color-mix(in srgb,var(--live) 22%,transparent);color:var(--live)}.table-card__total--remaining strong{color:#eab308}.table-card__waiter-btn{margin-left:auto;background:color-mix(in srgb,var(--accent) 20%,var(--surface-2));color:var(--text);border:1px solid var(--accent);border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600;cursor:pointer}.table-card__items{list-style:none;max-height:160px;overflow-y:auto;border-top:1px dashed var(--border);padding-top:8px;display:flex;flex-direction:column;gap:4px;font-size:13px}.table-card__qty{color:var(--text-dim);margin-left:6px;font-size:11px}.table-card__empty{font-size:12px;color:var(--text-dim);padding:8px 0;border-top:1px dashed var(--border)}.table-card__total{display:flex;justify-content:space-between;border-top:1px solid var(--border);margin-top:8px;padding-top:8px;font-size:13px}@keyframes slide-up{0%{transform:translate(-50%,12px);opacity:0}to{transform:translate(-50%);opacity:1}}.settings-toggle,.sim-toggle{background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap}.sim-toggle{display:flex;align-items:center;gap:8px}.settings-toggle:hover,.sim-toggle:hover{border-color:var(--accent)}.sim-toggle__badge{background:color-mix(in srgb,var(--live) 25%,transparent);color:var(--live);border-radius:999px;padding:1px 8px;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.settings-drawer,.sim-drawer{position:fixed;top:92px;bottom:calc(72px + var(--safe-b));width:min(360px,calc(100vw - 32px));display:flex;flex-direction:column;background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--border);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;z-index:31}.settings-drawer{left:min(172px,calc(100vw - 376px));left:max(calc(16px + var(--safe-l)),min(172px,calc(100vw - 376px)))}.sim-drawer{left:min(316px,calc(100vw - 376px));left:max(calc(16px + var(--safe-l)),min(316px,calc(100vw - 376px)))}.env-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:5px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 55%,transparent);font-size:13px}.env-row:last-child{border-bottom:none}.env-row>span{color:var(--text-dim);flex:none}.env-row>strong{text-align:right;overflow-wrap:anywhere;min-width:0;font-weight:600}.env-warn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:6px;border-radius:50%;background:#eab308;color:#0b0d12;font-size:11px;font-weight:800}.env-overridden{color:#eab308;font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.env-setup{font-size:12px;line-height:1.6;color:var(--text-dim)}.env-setup code{display:block;margin:2px 0;color:var(--text);font-family:ui-monospace,monospace;font-size:11px;overflow-wrap:anywhere}.settings-field{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.settings-field>span{font-size:11px;color:var(--text-dim)}.settings-persona__row{display:flex;gap:6px;margin-bottom:8px}.settings-test{background:var(--surface-2);color:var(--text-dim);border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:11px;cursor:pointer;flex:none}.settings-test:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.settings-test:disabled{opacity:.4;cursor:not-allowed}.settings-note{font-size:11px;color:var(--text-dim);line-height:1.5;margin-bottom:8px}.settings-status{font-size:12px;padding:8px 10px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border);word-break:break-word}.settings-actions,.sim-actions{display:flex;flex-direction:column;gap:6px}.sim-actions{flex-direction:row}.settings-primary{background:color-mix(in srgb,var(--accent) 30%,var(--surface-2));border:1px solid var(--accent);border-radius:8px}.settings-primary,.sim-stop{color:var(--text);padding:9px 12px;font-size:13px;font-weight:600;cursor:pointer;flex:1 1}.sim-stop{background:color-mix(in srgb,var(--warn) 25%,var(--surface-2))}.sim-error,.sim-stop{border:1px solid var(--warn);border-radius:8px}.sim-error{font-size:12px;color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent);padding:8px 10px;word-break:break-word}.sim-progress__bar{height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden;margin-bottom:6px}.sim-progress__fill{height:100%;background:var(--live);transition:width .3s ease-out}.sim-progress__label{font-size:11px;color:var(--text-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sim-field{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.sim-field__label{display:flex;justify-content:space-between;font-size:11px;color:var(--text-dim)}.sim-field__label strong{color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sim-field input[type=range]{width:100%;accent-color:var(--accent)}.zone-label{font-size:26px;font-weight:900;letter-spacing:.3em;color:#fbbf24;text-shadow:0 0 14px rgba(251,191,36,.55),0 2px 4px rgba(0,0,0,.7);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.hud-toolbar{position:fixed;left:calc(16px + var(--safe-l));right:calc(16px + var(--safe-r));bottom:calc(16px + var(--safe-b));display:flex;flex-wrap:wrap;gap:8px;z-index:32;pointer-events:none}.hud-toolbar>*{pointer-events:auto}.view-controls{display:flex;align-items:stretch;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.view-controls__btn{background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--text-dim);border:0;padding:10px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:color .12s ease,background .12s ease}.view-controls__btn:hover{color:var(--text);background:color-mix(in srgb,var(--accent) 18%,var(--surface))}.view-controls__btn--reset{color:var(--text);border-right:1px solid var(--border)}.config-toggle{background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.config-drawer{position:fixed;top:92px;bottom:calc(72px + var(--safe-b));left:calc(16px + var(--safe-l));width:min(320px,calc(100vw - 32px));display:flex;flex-direction:column;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--border);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;z-index:30}.config-drawer__header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);border-bottom:1px solid var(--border)}.config-drawer__close{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:14px}.config-drawer__body{flex:1 1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:16px}.config-section h4{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:8px}.config-station{margin-bottom:10px;padding-bottom:8px;border-bottom:1px dashed var(--border)}.config-row{display:flex;gap:6px;align-items:center;margin-bottom:6px}.config-row--sub{padding-left:4px}.config-input{flex:1 1;min-width:0;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:6px 8px;font-size:13px}.config-input--classes{font-size:11px;font-family:ui-monospace,monospace}.config-select{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:6px}.config-check,.config-select{color:var(--text);font-size:12px}.config-check{display:flex;align-items:center;gap:6px;white-space:nowrap;margin-bottom:4px}.config-add{background:none;border:1px dashed var(--border);border-radius:8px;color:var(--text-dim);padding:6px 10px;font-size:12px;cursor:pointer;width:100%}.config-add:hover,.config-toggle:hover{border-color:var(--accent);color:var(--text)}.config-remove{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:13px;flex:none}.config-remove:hover{color:var(--warn)}.config-reset{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text-dim);padding:9px;font-size:12px;cursor:pointer}.config-reset:hover{color:var(--warn);border-color:var(--warn)}@media (max-height:780px){.hud-stats{padding:6px 12px;gap:12px}.hud-stat__value{font-size:16px}.config-drawer,.floor-switcher,.settings-drawer,.sim-drawer{top:74px}.table-card{max-height:40vh}}@media (max-width:760px){.config-drawer,.settings-drawer,.sim-drawer{left:calc(16px + var(--safe-l));right:calc(16px + var(--safe-r));width:auto}.event-feed{width:min(280px,calc(100vw - 32px))}}.gate{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(1200px 600px at 70% -10%,#1b2740 0,transparent 60%),radial-gradient(900px 500px at 10% 110%,#221a2e 0,transparent 55%),#0b0d12}.gate__card{width:100%;max-width:420px;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--border);border-radius:16px;padding:32px 28px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 30px 80px -30px rgba(0,0,0,.7)}.gate__brand{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}.gate__title{font-size:26px;margin:0 0 8px}.gate__sub{font-size:14px;color:var(--text-dim);line-height:1.55;margin:0 0 22px}.gate__form{display:flex;flex-direction:column;gap:10px}.gate__form--token{margin-top:10px}.gate__label{font-size:12px;color:var(--text-dim);margin-top:4px}.gate__hint{color:var(--accent);margin-left:4px}.gate__textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:12px 14px;font-size:13px;line-height:1.5;font-family:inherit;resize:vertical;min-height:84px}.gate__textarea:focus{outline:none;border-color:var(--accent)}.gate__input{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:12px 14px;font-size:15px}.gate__input:focus{outline:none;border-color:var(--accent)}.gate__btn{display:inline-block;text-align:center;text-decoration:none;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:12px 14px;font-size:15px;font-weight:600;cursor:pointer}.gate__btn:disabled{opacity:.55;cursor:not-allowed}.gate__btn--ghost{background:var(--surface-2);border:1px solid var(--border);color:var(--text)}.gate__msg{margin-top:14px;font-size:13px;line-height:1.5;padding:10px 12px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim)}.gate__msg--ok{border-color:var(--live);color:var(--live)}.gate__msg--err{border-color:var(--warn);color:var(--warn)}.gate__link{display:block;margin:16px 0 0;background:none;border:none;color:var(--accent);font-size:13px;cursor:pointer;padding:0}.gate__foot{margin:20px 0 0;font-size:12px;color:var(--text-dim);line-height:1.6}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes slide-in{0%{transform:translateX(16px);opacity:0}to{transform:none;opacity:1}}@keyframes flash{0%{background:color-mix(in srgb,var(--live) 30%,var(--surface-2))}to{background:var(--surface-2)}}.panel__sleeping{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:24px;color:#24304a;background:radial-gradient(60% 50% at 50% 40%,#ffffff 0,transparent 100%),#e9eef7}.panel__sleeping-title{font-size:16px;font-weight:600}.panel__sleeping-hint{font-size:13px;color:#5b6780}[data-tier=lite] .config-drawer,[data-tier=lite] .config-toggle,[data-tier=lite] .event-feed,[data-tier=lite] .event-ticker,[data-tier=lite] .floor-switcher__btn,[data-tier=lite] .hud-stats,[data-tier=lite] .settings-drawer,[data-tier=lite] .sim-drawer,[data-tier=lite] .sim-toggle,[data-tier=lite] .table-card,[data-tier=lite] .view-controls{-webkit-backdrop-filter:none;backdrop-filter:none}.panel__face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(10px * var(--panel-density, 1));text-align:center;padding:calc(24px * var(--panel-density, 1));font-size:calc(14px * var(--panel-density, 1));line-height:1.5;color:#5b6780;background:#f7f9fc}.panel__face--error strong{color:#24304a;font-size:calc(16px * var(--panel-density, 1))}.panel__face-retry{margin-top:calc(6px * var(--panel-density, 1));padding:calc(8px * var(--panel-density, 1)) calc(18px * var(--panel-density, 1));font-size:calc(13px * var(--panel-density, 1));font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:calc(8px * var(--panel-density, 1));cursor:pointer}.panel__spinner{width:calc(28px * var(--panel-density, 1));height:calc(28px * var(--panel-density, 1));border-top-color:#d5dceb;border:calc(3px * var(--panel-density, 1)) solid #d5dceb;border-top:calc(3px * var(--panel-density, 1)) solid var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.sheet{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;background:#eef1f7;color:#1c2536;padding-top:env(safe-area-inset-top,0)}.sheet__bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 14px;background:#ffffff;border-bottom:1px solid #dde3ee;font-size:14px;font-weight:600;color:#24304a;flex:none}.sheet__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet__close{flex:none;min-height:44px;padding:0 14px;background:#e3e9f3;color:#24304a;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.sheet__body{flex:1 1;position:relative;min-height:0;padding-bottom:env(safe-area-inset-bottom,0);background:#f7f9fc}.sheet__body .panel__viewport{--panel-density:1}.tour-toggle--running{border-color:var(--warn);color:var(--warn)}.tour-toggle__error{background:color-mix(in srgb,var(--warn) 25%,transparent);color:var(--warn);border-radius:999px;padding:0 7px;font-size:11px}.tour-card{position:fixed;top:calc(16px + env(safe-area-inset-top, 0px));left:50%;transform:translateX(-50%);width:min(560px,calc(100vw - 32px));z-index:50;background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--border);border-radius:14px;padding:14px 16px;box-shadow:0 24px 60px -24px rgba(0,0,0,.8);animation:slide-down .25s ease-out}@media (max-width:900px){.tour-card{top:calc(84px + env(safe-area-inset-top, 0px))}}.tour-card--error{border-color:var(--warn)}.tour-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.tour-card__step{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tour-card__progress{display:flex;gap:5px}.tour-card__dot{width:8px;height:8px;border-radius:999px;background:var(--border)}.tour-card__dot.is-done{background:var(--accent);opacity:.55}.tour-card__dot.is-now{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent)}.tour-card__title{font-size:17px;font-weight:700;margin-bottom:4px}.tour-card__caption{font-size:14px;line-height:1.5;color:var(--text)}.tour-card__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.tour-card__btn{min-height:36px;padding:0 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:13px;font-weight:600;cursor:pointer}.tour-card__btn--primary{background:color-mix(in srgb,var(--accent) 30%,var(--surface-2));border-color:var(--accent)}@keyframes slide-down{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}