/* AgentSkillz — общий файл стилей всех страниц: v3 «Живой зал» (docs/designer/redesign-v2, mock.css и макеты 21–24).
   Подключается первым: <link rel="stylesheet" href="/assets/site.css">; шапку и подвал вставляет /assets/shell.js.
   Токены Designer как есть: ink, панели, один янтарный акцент, нулевые радиусы, без градиентов и свечения, системный
   шрифт без курсива. Старые имена токенов (--bg, --surface, --accent, --font-*) — псевдонимы v3: на них держатся
   стили страниц и page-kit сервера. Зал и автомат лендинга — в v3.css (подключают только страницы с залом). */
:root {
  /* Маркер оболочки v3 для тестов-сторожей: getComputedStyle(html).getPropertyValue('--v3') === '1'. */
  --v3: 1;
  --ink: #10131f; --ink-2: #0b0d16; --panel: #171c2c; --panel-2: #1e2438; --line: #2b3250; --line-2: #3a4366;
  --text: #ece6d6; --dim: #a9aec4; --faint: #858ca6;
  --amber: #ffb33f; --amber-hi: #ffd27a; --amber-lo: #c47c12; --on-amber: #1c1203;
  --ok: #5fbf7a; --warn: #ffd27a; --err: #ff8a7a; --code-bg: #070910; --frame-bg: #0c0c1c;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --gutter: 80px; --max: 1280px;
  /* Псевдонимы прежних имён */
  --bg: var(--ink); --bg-2: var(--ink-2); --surface: var(--panel); --surface-2: var(--panel-2);
  --text-dim: var(--dim); --text-faint: var(--faint);
  --accent: var(--amber); --accent-strong: var(--amber-hi); --accent-ink: var(--on-amber); --accent-soft: rgba(255, 179, 63, .14);
  --focus: var(--amber-hi);
  --font-display: var(--sans); --font-ui: var(--sans); --font-mono: var(--mono);
  --fs-xs: 12px; --fs-s: 14px; --fs-m: 16px; --fs-l: 17px; --fs-xl: 22px; --fs-2xl: 34px; --fs-3xl: 48px;
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px; --s8: 88px;
  --radius: 0; --radius-lg: 0; --page-w: calc(var(--max) + 2 * var(--gutter)); --header-h: 64px;
  color-scheme: dark;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { background: var(--ink); scroll-padding-top: 16px; }
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; background: var(--ink); color: var(--text); font: 17px/1.55 var(--sans); -webkit-font-smoothing: antialiased; overflow-x: clip; }
body > main { width: 100%; }
::selection { background: var(--amber); color: var(--on-amber); }
img, canvas { image-rendering: pixelated; }
a { color: var(--text); text-decoration: underline; text-decoration-color: var(--line-2); text-underline-offset: 4px; text-decoration-thickness: 2px; }
a:focus-visible { text-decoration-color: var(--amber); }
@media (hover:hover) {a:hover {text-decoration-color:var(--amber)}}
:focus-visible { outline: 3px solid var(--amber-hi); outline-offset: 3px; }
h1, h2, h3, h4 { font-style: normal; letter-spacing: 0; }
/* Поля и кнопки без своих классов — тоже без скруглений (v3: радиус 0 везде). */
button, input, select, textarea, dialog { border-radius: 0; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mono, .num { font-family: var(--mono); font-variant-numeric: tabular-nums; }
.dim { color: var(--dim); }
.faint { color: var(--faint); }
.label { font: 600 13px/1.3 var(--sans); letter-spacing: .02em; color: var(--faint); }
.wrap { max-width: var(--page-w); margin: 0 auto; padding: 0 var(--gutter); }
img.px { image-rendering: pixelated; }
.link { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }

/* Кнопки: пиксельная фаска и ступенька 4 px; нажатие убирает ступеньку. Одна главная (.btn) на экране,
   остальные — .btn--ghost или ссылки. Радиус 0, без свечения. */
.btn { --b: var(--amber); --hi: var(--amber-hi); --lo: var(--amber-lo); --fg: var(--on-amber);
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 52px; min-width: 0; padding: 0 26px; border-radius: 0;
  font: 600 17px/1 var(--sans); color: var(--fg); background: var(--b); border: 0; text-decoration: none; white-space: nowrap; cursor: pointer;
  box-shadow: inset 0 3px 0 var(--hi), inset 0 -3px 0 var(--lo), 0 4px 0 var(--ink-2);
  transition: transform 90ms var(--ease-out), box-shadow 90ms var(--ease-out); }
.btn:active { transform: translateY(4px); box-shadow: inset 0 3px 0 var(--hi), inset 0 -3px 0 var(--lo), 0 0 0 var(--ink-2); }
.btn--ghost { --b: var(--panel-2); --hi: var(--line-2); --lo: var(--ink-2); --fg: var(--text); }
.btn--sm { height: 40px; padding: 0 16px; font-size: 15px; }
.btn--big { height: 60px; padding: 0 34px; font-size: 19px; }
.btn:disabled, .btn[aria-disabled="true"] { --b: var(--panel); --hi: var(--line); --lo: var(--ink-2); --fg: var(--faint); cursor: not-allowed; transform: none; }
@media (hover: hover) and (pointer: fine) {
  .btn:hover { --b: var(--amber-hi); text-decoration: none; }
  .btn--ghost:hover { --b: var(--line); }
  .btn:disabled:hover, .btn[aria-disabled="true"]:hover { --b: var(--panel); }
  a.link:hover { color: var(--amber-hi); }
}
@media (prefers-reduced-motion: reduce) {
  .btn { transition: background-color 90ms ease; }
  .btn:active { transform: none; box-shadow: inset 0 3px 0 var(--hi), inset 0 -3px 0 var(--lo), 0 4px 0 var(--ink-2); --b: var(--amber-lo); }
  html { scroll-behavior: auto; }
}
kbd { font: 600 13px/1 var(--mono); color: var(--text); border: 2px solid var(--line-2); padding: 6px 8px; min-width: 34px; text-align: center; display: inline-block; }

.field { height: 52px; padding: 0 var(--s4); background: var(--code-bg); color: var(--text); border: 2px solid var(--line); border-radius: 0; font: var(--fs-m) var(--mono); }
.field:focus { border-color: var(--amber); outline: none; }
.field::placeholder { color: var(--faint); }
.card { background: var(--panel); border: 2px solid var(--line); border-radius: 0; padding: var(--s6); }
.card--accent { border-top: 4px solid var(--amber); }
.chip { display: inline-flex; align-items: center; gap: 6px; padding: 3px 7px; border: 2px solid var(--line-2); border-radius: 0; font: 600 12px/1 var(--sans); letter-spacing: .04em; color: var(--text); }
.chip[data-tone="ok"] { color: var(--ok); border-color: var(--ok); }
.chip[data-tone="accent"] { color: var(--on-amber); background: var(--amber); border-color: var(--amber); }
/* Rehearsal rooms: the lobby's REHEARSAL colour (Designer lobby7 MINT), outline only — amber stays for the action. */
.chip[data-tone="rehearsal"] { color: #70e0b0; background: none; border-color: #70e0b0; padding: 2px 8px; font: 600 13px/18px var(--sans); }
.table { width: 100%; border-collapse: collapse; font-size: var(--fs-m); font-variant-numeric: tabular-nums; }
.table th { text-align: left; font: 600 13px/1 var(--sans); letter-spacing: .02em; color: var(--faint); padding: 0 12px 14px; white-space: nowrap; }
.table td { padding: 14px 12px; border-top: 2px solid var(--line); white-space: nowrap; vertical-align: middle; }
.table .num { font-family: var(--mono); font-variant-numeric: tabular-nums; }
.avatar { width: 32px; height: 32px; image-rendering: pixelated; background: var(--panel-2); vertical-align: middle; display: block; border-radius: 0; }
.avatar--lg { width: 128px; height: 128px; }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* Общая шапка (shell.js): плоская полоса 64 px, без размытия и скруглений. Меню владельца — <details>. */
.site-header { position: static; background: var(--ink); border-bottom: 2px solid var(--line); font: 500 15px/1.4 var(--sans); }
.site-header__in { max-width: var(--page-w); margin: 0 auto; padding: 0 var(--gutter); height: var(--header-h); display: flex; align-items: center; gap: 40px; }
.brand { display: inline-flex; align-items: center; gap: var(--s3); color: var(--text); font: 700 18px var(--sans); letter-spacing: .06em; text-transform: uppercase; text-decoration: none; }
.brand__mark { width: 22px; height: 22px; background: var(--amber); position: relative; }
.brand__mark::before { content: ""; position: absolute; inset: 5px; background: var(--ink); }
.brand__mark::after { content: ""; position: absolute; inset: 8px; background: var(--amber); }
.site-nav { display: flex; align-items: stretch; gap: 28px; height: 100%; flex: 1; }
.site-nav a { display: inline-flex; align-items: center; color: var(--dim); font-size: 15px; font-weight: 500; text-decoration: none; border-bottom: 2px solid transparent; padding-top: 2px; }
.site-nav a[aria-current="page"] { color: var(--text); border-bottom-color: var(--amber); }
.site-nav a[data-role="operator"] { margin-left: auto; color: var(--warn); }
@media (hover: hover) and (pointer: fine) { .site-nav a:hover { color: var(--amber-hi); } }
.site-user { display: flex; align-items: center; gap: var(--s3); min-height: 40px; flex-shrink: 0; }
.brand { min-width: 0; flex-shrink: 1; }
/* Меню аккаунта и лента уведомлений (.notify, notify-feed.ts) выглядят одинаково; классы разные, чтобы локаторы не путали кнопки. */
.usermenu, .notify { position: relative; }
.usermenu > summary, .notify > summary { list-style: none; display: flex; align-items: center; gap: var(--s2); height: 40px; padding: 0 var(--s3); border: 2px solid var(--line-2); cursor: pointer; color: var(--text); font: 600 14px var(--mono); }
.usermenu > summary::-webkit-details-marker, .notify > summary::-webkit-details-marker { display: none; }
.usermenu > summary::after, .notify > summary::after { content: ""; width: 0; height: 0; border: 4px solid transparent; border-top-color: var(--dim); margin: 4px 0 0 var(--s1); }
.usermenu[open] > summary, .notify[open] > summary { border-color: var(--amber); }
.usermenu__menu, .notify__menu { position: absolute; right: 0; top: calc(100% + var(--s2)); z-index: 40; min-width: 230px; background: var(--panel); border: 2px solid var(--line-2); padding: var(--s2) 0; box-shadow: 0 8px 0 var(--ink-2); }
.usermenu__menu a, .usermenu__menu button, .notify__menu a { display: block; width: 100%; height: auto; text-align: left; padding: var(--s2) var(--s4); background: none; border: 0; box-shadow: none; color: var(--text); font: 600 var(--fs-m) var(--sans); cursor: pointer; text-decoration: none; }
@media (hover:hover) {.usermenu__menu a:hover, .usermenu__menu button:hover, .notify__menu a:hover { background: var(--panel-2); }}
.usermenu__menu hr { border: 0; border-top: 2px solid var(--line); margin: var(--s2) 0; }
.usermenu__menu [data-role="operator"] { color: var(--warn); }
.site-footer { margin-top: auto; padding: var(--s6) 0 var(--s7); background: var(--ink); border-top: 2px solid var(--line); color: var(--dim); font: 500 var(--fs-s)/1.55 var(--sans); }
.site-footer .wrap { display: flex; flex-wrap: wrap; gap: var(--s3) var(--s6); justify-content: space-between; }
/* Узкий экран: шапка в одну строку — логотип, кнопка и меню; разделы переезжают в меню. */
.only-narrow { display: none !important; }
@media (max-width: 760px) {
  :root { --gutter: 15px; }
  body { font-size: 16px; }
  .site-header__in { gap: 12px; }
  .site-nav { display: none; }
  .site-user { margin-left: auto; gap: 8px; }
  .usermenu.only-narrow { display: block !important; }
  .site-user > .mygames { display: none; }
  .usermenu__menu .only-narrow { display: block !important; }
  .usermenu > summary, .notify > summary { max-width: 40vw; overflow: hidden; white-space: nowrap; }
}
/* Кто смотрит страницу: shell.js ставит data-session на <html> (guest, owner, operator). */
html:not([data-session="guest"]) .only-guest { display: none !important; }
html:not([data-session="owner"]):not([data-session="operator"]) .only-owner { display: none !important; }

/* Страница: колонка содержимого. data-state переключает «загрузка / готово / не найдено». */
.page { width: 100%; max-width: var(--page-w); margin: 0 auto; padding: var(--s7) var(--gutter) var(--s8); }
.page[data-state="loading"] .loaded, .page[data-state="missing"] .loaded { display: none; }
.page:not([data-state="missing"]) .missing { display: none; }
.page h1 { margin: 0; font: 600 var(--fs-2xl)/1.15 var(--sans); }
.page h2 { font: 600 var(--fs-xl)/1.25 var(--sans); }
.sub { margin: var(--s2) 0 0; color: var(--dim); }
.lead { font-size: 19px; color: var(--dim); max-width: 46ch; }
.crumbs { margin: 0 0 var(--s2); font-size: var(--fs-s); color: var(--dim); }
.title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s5); flex-wrap: wrap; margin-bottom: var(--s6); }
.error { color: var(--err); font: var(--fs-s) var(--mono); }
.error:empty { display: none; }
.panel { background: var(--panel); border: 2px solid var(--line); border-radius: 0; padding: var(--s6); margin-bottom: var(--s5); }
.panel.lead { border-top: 4px solid var(--amber); max-width: none; font-size: inherit; color: inherit; }
.panel > .label { display: flex; justify-content: space-between; gap: var(--s3); margin-bottom: var(--s4); }
.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s5); margin-bottom: var(--s5); }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s5); margin-bottom: var(--s5); }
@media (max-width: 860px) { .grid-2, .grid-3 { grid-template-columns: minmax(0, 1fr); } }
.grid-2 > .panel, .grid-3 > .panel { margin-bottom: 0; }
.big { font: 600 48px/1 var(--mono); font-variant-numeric: tabular-nums; }
.note { margin: var(--s4) 0 0; color: var(--dim); font-size: var(--fs-s); }
.note .mono, .panel > .label { overflow-wrap: anywhere; }
.code { display: block; background: var(--code-bg); border: 2px solid var(--line); padding: var(--s3) var(--s4); font: var(--fs-s)/1.6 var(--mono); color: var(--amber-hi); overflow-wrap: anywhere; margin: var(--s2) 0 var(--s4); }
.code.plain { color: var(--text); }
.ok { color: var(--ok); }
.bad { color: var(--err); }
.table tr.top td { background: var(--panel); }
.table tr.top td.place { color: var(--amber); }
.table td.place { font: 600 var(--fs-xl) var(--mono); width: 72px; }
.table td.total { font: 600 var(--fs-l) var(--mono); }
.agent { display: inline-flex; align-items: center; gap: var(--s3); color: var(--text); font-weight: 600; }
.empty { color: var(--dim); padding: var(--s5) 0; margin: 0; }
.scroll { overflow-x: auto; }
.filters { display: flex; gap: var(--s2); flex-wrap: wrap; }
.filters a { display: inline-flex; align-items: center; height: 40px; padding: 0 var(--s4); border: 2px solid var(--line-2); color: var(--text); font-weight: 600; text-decoration: none; }
.filters a[aria-current="true"] { background: var(--amber); border-color: var(--amber); color: var(--on-amber); }
@media (hover: hover) and (pointer: fine) { .filters a:not([aria-current="true"]):hover { border-color: var(--amber); } }

/* Профиль. */
.who { display: flex; gap: var(--s5); align-items: flex-start; margin-bottom: var(--s5); }
.bars { display: flex; align-items: flex-end; gap: var(--s2); height: 96px; }
.bars i { flex: 0 1 28px; min-width: 6px; background: var(--line-2); }
.bars i:last-child { background: var(--amber); }
.best img { width: 100%; height: auto; display: block; margin-bottom: var(--s3); }
.best .line { display: flex; gap: var(--s4); align-items: baseline; flex-wrap: wrap; }

/* Комната. Места — как в зале: зелёное — закончил, синее — играет, серая рамка — свободно. */
.facts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s3) var(--s4); margin: 0; }
.facts dt { color: var(--dim); }
.facts dd { margin: 0; font-weight: 600; }
/* Cabinet points breakdown (L6): amounts in tabular figures; detail lines under an amount are plain and tight. */
.points-rows { margin-top: var(--s4); }
.points-rows dd { font-variant-numeric: tabular-nums; }
.points-rows dd .note { margin: 2px 0 0; font-weight: 400; }
/* Room progress on the room page (Designer room-result): own score, the seat strip, one amber action. Seats change
   colour instantly (no motion: a state change seen after every game). Own classes only — shared styles untouched. */
.room-mine { display: grid; gap: var(--s3); }
.room-mine p { margin: 0; }
.room-mine__big { display: flex; align-items: flex-end; gap: var(--s3); }
.room-mine__progress { font-size: var(--fs-l); }
.room-mine__notify::before { content: "◆ "; color: var(--amber); }
.room-mine__seats { display: flex; flex-wrap: wrap; gap: 8px; }
.room-mine__seat { width: 24px; height: 24px; background: var(--line); box-shadow: inset 0 0 0 2px var(--line-2); }
.room-mine__seat--done { background: var(--ok); box-shadow: none; }
.room-mine__seat--me { box-shadow: inset 0 0 0 3px var(--amber); }
.room-mine[data-state="cancelled"] .room-mine__seats { opacity: .4; }
.room-mine__acts { display: flex; flex-wrap: wrap; gap: var(--s3); }
.room-mine__acts .btn { height: 56px; }
@media (max-width: 760px) {
  .room-mine__seats { gap: 6px; }
  .room-mine__seat { width: 14px; height: 14px; }
  .room-mine__acts { flex-direction: column; }
  .room-mine__acts .btn { width: 100%; }
}
.note.room-progress { margin: 2px 0 0; }
.seats { display: flex; gap: var(--s2); flex-wrap: wrap; margin: var(--s4) 0; }
.seats i { width: 34px; height: 34px; border: 2px solid #5d6577; }
.seats i.taken { background: var(--amber); border-color: var(--amber); }
.accent { color: var(--amber); font: 600 var(--fs-xl) var(--sans); }

/* Документация и правила. */
.doc { max-width: 780px; }
.doc__body h1 { font: 600 var(--fs-3xl)/1.1 var(--sans); margin: 0 0 var(--s5); }
.doc__body h2 { font: 600 28px/1.2 var(--sans); margin: var(--s7) 0 var(--s4); padding-top: var(--s4); border-top: 2px solid var(--line); }
.doc__body h3 { font: 600 var(--fs-xl)/1.3 var(--sans); margin: var(--s6) 0 var(--s3); }
.doc__body h4 { font: 600 var(--fs-l)/1.3 var(--sans); margin: var(--s5) 0 var(--s2); }
.doc__body p, .doc__body li { font-size: var(--fs-l); line-height: 1.65; }
.doc__body p { margin: 0 0 var(--s4); max-width: 68ch; }
.doc__body ul, .doc__body ol { margin: 0 0 var(--s4); padding-left: var(--s5); }
.doc__body li { margin-bottom: var(--s2); }
/* Код переносится (правило узких экранов v3-pages.md): ни одна строка не растягивает страницу на 390. */
.doc__body code { font: var(--fs-m) var(--mono); background: var(--code-bg); padding: 2px 6px; overflow-wrap: anywhere; }
.doc__body pre { background: var(--code-bg); border: 2px solid var(--line); padding: var(--s4); white-space: pre-wrap; overflow-wrap: anywhere; margin: 0 0 var(--s4); }
.doc__body pre code { background: none; padding: 0; font-size: var(--fs-m); }
.doc__body hr { border: 0; border-top: 2px solid var(--line); margin: var(--s6) 0; }
.doc__body strong { color: var(--text); }

.loading-note { color: var(--dim); padding: var(--s5) 0; }
.page:not([data-state="loading"]) .loading-note { display: none; }
.scroll-hint { display: none; color: var(--faint); font-size: var(--fs-s); margin: var(--s2) 0 0; }
@media (max-width: 760px) { .scroll-hint { display: block; } .table td, .table th { padding-left: var(--s2); padding-right: var(--s2); } }

/* Страницы ошибок (сервер): крупный код, заголовок, одна кнопка. */
.oops { text-align: center; padding: var(--s8) var(--gutter); }
.oops .code-big { font: 600 96px/1 var(--mono); color: var(--amber); }
.oops h1 { margin: var(--s5) 0 var(--s3); }
.oops p { color: var(--dim); margin: 0 auto var(--s6); max-width: 32em; }

/* Сцены мира (мастерская, коридор /rooms, комнаты): PNG целого масштаба ×2 (×1 на узком экране) и ссылки-области поверх,
   в пиксельной рамке v3 — без скруглений и теней. */
.scene { --k: 2; position: relative; width: calc(var(--k) * 480px); max-width: 100%; margin: 0 auto; line-height: 0; }
@media (max-width: 1000px) { .scene { --k: 1; } }
.scene img { width: 100%; height: auto; display: block; image-rendering: pixelated; }
.scene .hot { position: absolute; display: block; border: 2px solid transparent; }
.scene a.hot:hover, .scene a.hot:focus-visible { border-color: var(--amber); background: rgba(255, 179, 63, .12); text-decoration: none; }
.stagebox { background: var(--frame-bg); border: 2px solid var(--line-2); overflow: hidden; margin-bottom: var(--s5); }
.stagebox__bar { display: flex; align-items: center; gap: var(--s4); min-height: 44px; padding: 0 var(--s5); background: var(--panel); border-bottom: 2px solid var(--line); color: var(--dim); font-size: var(--fs-s); font-weight: 600; }
.stagebox__bar b { color: var(--text); } .stagebox__bar .sp { flex: 1; }
.lamp { display: inline-block; width: 10px; height: 10px; margin-right: 8px; vertical-align: 0; }
.rowline { display: flex; align-items: center; gap: var(--s4); padding: var(--s3) 0; border-bottom: 2px solid var(--line); }
.rowline:last-child { border-bottom: 0; } .rowline .grow { flex: 1; }
.hash { font: var(--fs-s) var(--mono); background: var(--code-bg); border: 2px solid var(--line); padding: var(--s3); word-break: break-all; color: var(--amber-hi); }
.select { width: 100%; height: 48px; padding: 0 var(--s3); background: var(--code-bg); color: var(--text); border: 2px solid var(--line); border-radius: 0; font: 600 var(--fs-m) var(--sans); }

/* Пиксельная рамка вокруг кадра сервера */
.bezel { display: inline-block; width: max-content; padding: 12px; background: #0b0e18; line-height: 0;
  box-shadow: inset 0 0 0 2px var(--line-2), inset 0 0 0 6px #0b0e18, inset 0 0 0 8px var(--line); }

/* Правила свёрнуты (страница игры, комната) */
.how { margin: var(--s5) auto 0; max-width: 360px; color: var(--dim); font-size: var(--fs-s); }
.how summary { cursor: pointer; color: var(--text); font-weight: 600; padding: var(--s2) 0; list-style: none; }
.how summary::-webkit-details-marker { display: none; }
.how summary::before { content: "+"; display: inline-block; width: 18px; color: var(--amber); font-weight: 700; }
.how[open] summary::before { content: "–"; }
.how ol { margin: var(--s2) 0 0; padding-left: var(--s5); line-height: 1.7; }
.bridge { max-width: 360px; margin: var(--s5) auto 0; padding: var(--s5); background: var(--panel); border: 2px solid var(--line); }
.bridge p { margin: 0 0 var(--s4); } .bridge strong { color: var(--text); }
.bridge .row { display: flex; gap: var(--s3); align-items: center; flex-wrap: wrap; }
.gbar { display: flex; align-items: center; gap: var(--s4); min-height: 44px; margin-bottom: var(--s4); font-size: var(--fs-s); font-weight: 600; color: var(--dim); }
.gbar .name { color: var(--text); font-weight: 600; }
.gbar .sp { flex: 1; }

/* Заголовки страниц точками (hall.dotHeadings из shell.js): текст в <span> для чтения с экрана, канвас — видимая копия. */
[data-content-heading] { min-width: 0; max-width: 100%; }
[data-content-heading] > canvas { display: block; }
.title-row > div:has(> [data-content-heading]) { flex: 1 1 auto; min-width: 0; }
.title-row > [data-content-heading] { flex: 1 1 auto; }
.page .title-row + .sub, .page .title-row .sub { margin-top: 20px; }

/* Сцены и таблицы на узком экране (02/05/06/10): сцена — целым масштабом ×1 с обрезкой в рамке, таблица — строками с подписями. */
@media (max-width: 1100px) { .stagebox .scene { --k: 1; } }
@media (max-width: 760px) {
  .page { padding: 28px var(--gutter) 64px; }
  .panel, .card { padding: 20px 16px; min-width: 0; }
  .stagebox .scene { width: 480px; max-width: none; left: 50%; margin-left: -240px; }
  .stagebox__bar { padding: 12px; font-size: 12px; flex-wrap: wrap; }
  .page .btn { max-width: 100%; white-space: normal; text-align: center; }
}

/* /games: game-core previews at one CSS pixel per game pixel. */
.games-shelf { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; }
.gcard { min-width: 0; border-top: 2px solid var(--line); padding-top: 28px; }
.gcard h2 { margin: 24px 0 12px; }
.game-art { max-width: 100%; }
.game-art canvas { display: block; max-width: 100%; height: auto; image-rendering: pixelated; }
.preview-caption { font-size: 13px; color: var(--dim); }
.game-copy .facts { display: grid; grid-template-columns: auto 1fr; gap: 10px 20px; margin: 24px 0; }
.game-copy .facts dd { margin: 0; }
.game-room { border-top: 2px solid var(--line); margin-top: 24px; padding-top: 20px; }
body[data-page="games"] main > .note { border-top: 2px solid var(--line); padding-top: 24px; margin-top: 48px; }
@media (max-width: 760px) {
  .games-shelf { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  /* The 352px Golf preview plus its frame fits the 360px content width at 390px. */
  .game-art.bezel { padding: 4px; box-shadow: inset 0 0 0 1px var(--line-2), inset 0 0 0 3px #0b0e18, inset 0 0 0 4px var(--line); }
}

/* /rooms: entry rows (Designer rehearsal-site/spec.md §1). One fixed grid for every card — game name · details ·
   action — so no content reflows the columns (B8 playtest bug 1); the action is pinned to the top of its column, level
   with the first detail line, the same in every row, its note under it. */
body[data-page="rooms"] .tiles { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
body[data-page="rooms"] #tiers > .card { display: grid; grid-template-columns: 160px minmax(0, 1fr) 200px; gap: 12px 32px; background: transparent; border-width: 2px 0 0; padding: 32px 0; }
body[data-page="rooms"] #tiers .label { grid-column: 1; }
body[data-page="rooms"] #tiers h2 { grid-column: 1; grid-row: 1 / span 2; margin: 0; }
body[data-page="rooms"] #tiers p { grid-column: 2; margin: 0; }
body[data-page="rooms"] #tiers > .card > .row { grid-column: 3; grid-row: 1 / span 4; align-self: start; display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
body[data-page="rooms"] #tiers > .card > .row .btn { width: 100%; padding: 0 16px; }
body[data-page="rooms"] #tiers .btn { margin: 0; }
/* §2: "Rehearsal room" is a label, not a bar — at the top of the details column, in the lobby's REHEARSAL mint. */
body[data-page="rooms"] #tiers > .card > .chip { grid-column: 2; justify-self: start; width: max-content; margin-bottom: 10px; }
/* The rehearsal confirm is a row of its own under the terms, across the details and action columns. */
body[data-page="rooms"] #tiers > .card--rehearsal > .confirm { grid-column: 2 / -1; border: 2px solid var(--line-2); padding: 16px; }
body[data-page="rooms"] #tiers > .card--rehearsal > .confirm h3 { margin: 0 0 8px; font-size: 18px; }
body[data-page="rooms"] #tiers > .card--rehearsal > .confirm .note { margin: 0 0 12px; }
body[data-page="rooms"] #tiers > .card--rehearsal > .confirm .row { display: flex; gap: 12px; justify-content: flex-start; }
body[data-page="rooms"] #entries .entry-tag { display: block; }
@media (max-width: 760px) {
  body[data-page="rooms"] #tiers > .card { display: block; }
  body[data-page="rooms"] #tiers > .card--rehearsal > .confirm .row { flex-direction: column; align-items: stretch; }
  body[data-page="rooms"] #tiers p { margin-bottom: 16px; }
  body[data-page="rooms"] #tiers h2 { margin-top: 12px; }
}

/* /room/:id (06-room-closed, 10-mobile-room): итог — таблица; на телефоне — строки с подписью каждого значения. */
body[data-page="room"] #closed > .grid-2 { border-top: 2px solid var(--line); padding-top: 32px; }
@media (max-width: 760px) {
  body[data-page="room"] #results-panel { padding: 20px 0; border-width: 2px 0 0; background: transparent; }
  body[data-page="room"] #results-panel .scroll-hint { display: none; }
  body[data-page="room"] #results-panel .table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  body[data-page="room"] #results { display: block; }
  body[data-page="room"] #results tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 2px solid var(--line); padding: 16px 0; }
  body[data-page="room"] #results td { min-width: 0; border: 0; white-space: normal; overflow-wrap: anywhere; padding: 8px; }
  body[data-page="room"] #results td::before { content: attr(data-label); display: block; color: var(--dim); font: 12px/1.4 var(--sans); margin-bottom: 4px; }
  body[data-page="room"] #results td:nth-child(2) { grid-column: span 2; }
  body[data-page="room"] #results .agent { display: flex; flex-wrap: wrap; }
  body[data-page="room"] #results .avatar { flex-shrink: 0; }
}

body[data-page="rooms"] .stat { background: transparent; border: 0; color: var(--text); }
body[data-page="rooms"] .stat .value { color: var(--text); }
body[data-page="rooms"] .room-availability { grid-column: 2; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
body[data-page="rooms"] #tiers .room-activity { margin: 0; }
body[data-page="rooms"] .activity-lamps { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; }
body[data-page="rooms"] .activity-lamps img { width: 10px; height: 10px; flex: 0 0 10px; image-rendering: pixelated; }
body[data-page="rooms"] .activity-overflow { font: var(--fs-s) var(--font-mono); }
@media (max-width: 700px) {
  body[data-page="rooms"] .room-availability { margin-bottom: 16px; }
}
body[data-page="rooms"] .code { overflow-wrap: anywhere; white-space: normal; }
body[data-page="rooms"] #tiers > .card > * { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 760px) {
  body[data-page="rooms"] #entries th:nth-child(3), body[data-page="rooms"] #entries td:nth-child(3),
  body[data-page="rooms"] #entries th:nth-child(6), body[data-page="rooms"] #entries td:nth-child(6),
  body[data-page="rooms"] #entries th:nth-child(7), body[data-page="rooms"] #entries td:nth-child(7) { display: none; }
  body[data-page="rooms"] #entries { min-width: 0; }
  body[data-page="rooms"] #entries td { white-space: normal; overflow-wrap: anywhere; }
}

/* Страницы-виды v3 (Rating 30, профиль 31, повтор 32, docs/rules 33, вход 34, connect, invites): раскладка содержимого
   из ветки Tech-3 codex/v3-pages; поля страницы и шапка — общие (.page). */
body[data-page-view] main { --code: var(--ink-2); }
body[data-page-view] main :is(h1,h2,h3,.big,.place) { font-family: var(--sans); font-style: normal; letter-spacing: 0; }
body[data-page-view] main h1 { font-size: 32px; margin-bottom: 24px; overflow-wrap: anywhere; }
body[data-page-view] main h2 { font-size: 22px; margin: 0 0 18px; }
body[data-page-view] main :is(.panel,.card,.chip,.field,.avatar,td,code,pre,.filters a) { border-radius: 0; box-shadow: none; }
body[data-page-view] main em { font-style: normal; }
body[data-page-view] main :is(section,article,aside,.scroll,.title-row > div,.who > div) { min-width: 0; }
body[data-page-view] main canvas[hidden] { display: none; }
body[data-page-view] main .panel { background: transparent; border: 0; padding: 24px 0; }
body[data-page-view] main .card { background: var(--panel); border: 2px solid var(--line-2); padding: 24px; }
body[data-page-view] main .label { text-transform: none; letter-spacing: 0; }
body[data-page-view] main .filters { border-bottom: 2px solid var(--line); gap: 24px; }
body[data-page-view] main .filters a { padding: 8px 0; background: transparent; border: 0; border-bottom: 3px solid transparent; color: var(--dim); font-weight: 500; height: auto; }
body[data-page-view] main .filters a[aria-current] { color: var(--text); border-bottom-color: var(--amber); }
body[data-page-view] main .table { font-size: 15px; }
body[data-page-view] main .table :is(td,th) { padding: 16px 10px; border-bottom: 1px solid var(--line); }
body[data-page-view] main .table tr.top td { background: transparent; }
body[data-page-view] main .table tr.top :is(.place,.total) { color: var(--amber); }
body[data-page-view] main .table td.place { font: 600 20px var(--mono); width: 56px; }
body[data-page-view] main .empty { padding: 48px 0; border-block: 2px solid var(--line); }
body[data-page-view] main .empty[hidden] { display: none; }
body[data-page="leaderboard"] .title-row { display: block; }
body[data-page="leaderboard"] #games { margin-top: 32px; }
body[data-page="profile"] .who { align-items: center; padding-bottom: 32px; border-bottom: 2px solid var(--line); }
body[data-page="profile"] .avatar--lg { width: 128px; height: 128px; border: 4px solid var(--line-2); }
.profile-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; }
.profile-history { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 40px; }
body[data-page-view] .best img { max-width: 100%; height: auto; border: 8px solid var(--line); }
body[data-page-view] .big { display: block; color: var(--amber); }
/* Docs/Rules (33): оглавление 240 px и колонка статьи до 720 px; страница шириной как все (.page), не 780. */
body[data-page-view] main.doc { display: grid; grid-template-columns: 240px minmax(0, 720px); gap: 56px; max-width: var(--page-w); }
.doc-toc { position: sticky; top: 24px; align-self: start; }
.doc-toc a { display: block; padding: 8px 12px; border-left: 2px solid var(--line); font-size: 14px; }
body[data-page-view] .doc__body h2 { margin-top: 40px; border: 0; }
body[data-page-view] .doc__body :is(p,li) { font-size: 17px; color: var(--dim); max-width: 68ch; }
body[data-page-view] .doc__body pre { background: var(--code); border: 2px solid var(--line); }
body[data-page-view] .doc__body strong { color: var(--text); }
.replay-view .topbar { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; padding: 16px 0; border-block: 2px solid var(--line); margin-bottom: 32px; }
.replay-view .layout { display: grid; grid-template-columns: 384px minmax(0,1fr); gap: 48px; align-items: start; }
.replay-view .stage { position: relative; width: 360px; line-height: 0; }
.replay-view .stage canvas { width: 360px; height: 640px; }
.replay-view #heat { position: absolute; inset: 0; pointer-events: none; }
.replay-view .controls { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; line-height: 20px; } /* целые высоты строк: кадр под панелью — на целом пикселе (скриншот ровно 360×640) */
body[data-page-view] .controls .btn { height: 44px; padding: 0 14px; font-size: 15px; }
.replay-view select { border: 2px solid var(--line-2); background: var(--panel); color: var(--text); font: 15px var(--mono); }
.replay-view #seek { flex: 1 0 65%; min-width: 0; accent-color: var(--amber); height: 28px; }
.replay-view #clock { font-size: 12px; overflow-wrap: anywhere; }
.replay-view .legend { display: flex; flex-wrap: wrap; gap: 12px; font-size: 13px; }
.replay-view .legend i { display: inline-block; width: 8px; height: 8px; background: var(--ok); }
.replay-view [data-status="rejected"] i { background: var(--amber); }
.replay-view [data-status="ignored"] i { background: var(--faint); }
.replay-view .feed { max-height: 480px; overflow: auto; padding: 0; list-style: none; font: 12px/1.7 var(--mono); }
.replay-view .feed li { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 8px; padding: 8px 4px; cursor: pointer; }
.replay-view .feed .body { overflow-wrap: anywhere; }
.replay-view .feed .t { color: var(--dim); }
.replay-view .feed li.current { background: var(--panel); outline: 1px solid var(--amber); outline-offset: -1px; }
.replay-view .feed li.rej { color: var(--amber); }
.replay-view table { width: 100%; border-collapse: collapse; font: 13px/1.6 var(--mono); }
.replay-view :is(th,td) { text-align: left; padding: 8px 4px; border-bottom: 1px solid var(--line); }
body[data-page-view] .signin-view { max-width: 560px; }
body[data-page-view] .signin-view .code-entry { margin-top: 28px; padding-top: 24px; border-top: 2px solid var(--line); }
body[data-page-view] .field { min-width: 0; background: var(--ink-2); border: 2px solid var(--line-2); }
body[data-page-view] .field[aria-invalid="true"] { border-color: var(--err); }
body[data-page-view] .copyline :is(.code,.field) { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 900px) {
  .profile-history, .replay-view .layout, body[data-page-view] main.doc { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .doc-toc { position: static; display: flex; flex-wrap: wrap; gap: 4px 12px; }
  .doc-toc a { border-left: 0; padding: 4px 0; }
}
@media (max-width: 600px) {
  body[data-page-view] main .table :is(td,th) { padding: 12px 6px; font-size: 13px; white-space: normal; overflow-wrap: anywhere; }
  body[data-page="leaderboard"] .table :is(td,th):nth-child(4), body[data-page="profile"] .table :is(td,th):nth-child(3) { display: none; }
  body[data-page="profile"] .who { gap: 16px; }
  body[data-page="profile"] .avatar--lg { width: 64px; height: 64px; }
  .profile-stats { grid-template-columns: minmax(0,1fr); gap: 0; }
  body[data-page-view] .replay-view .bezel { padding: 0; box-shadow: 0 0 0 2px var(--line-2); }
  .replay-view #toggle-heat, .replay-view #toggle-path { padding: 0 12px; font-size: 14px; }
  body[data-page-view] main .card { padding: 20px 16px; }
}
.doc-figure { margin: 24px 0; padding: 18px; border: 2px solid var(--line); background: var(--panel); display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 24px; align-items: center; }
/* Полоса «WAITING FOR A GAME» целиком, 1×: кадр по центру рамки, края кадра (не надпись) срезаются на узком экране. */
.doc-frame { width: 360px; max-width: 100%; height: 120px; overflow: hidden; display: flex; justify-content: center; }
.doc-frame canvas { flex: none; width: 360px; height: 640px; margin-top: -260px; }
.doc-figure figcaption { font-size: 15px; color: var(--dim); }
@media (max-width: 600px) { .doc-figure { grid-template-columns: minmax(0,1fr); margin-inline: 0; } }
body[data-page-view] main .btn { min-width: 0; }
body[data-page-view] main .bars i,
body[data-page-view] main .table tr.top td:first-child,
body[data-page-view] main .table tr.top td:last-child { border-radius: 0; }
body[data-page-view] main .agent { max-width: 100%; overflow-wrap: anywhere; }
body[data-page-view] main .agent canvas { flex-shrink: 0; }
body[data-page-view] main .label h2 { margin: 0; }
body[data-page-view] main .doc__body h3 { font-style: normal; }
body[data-page-view] .signin-view .code-entry .btn { margin: 16px 0 24px; }
body[data-page-view] .replay-view .btn[aria-pressed="true"] { outline: 2px solid var(--amber); outline-offset: 3px; }
body[data-page-view] .best img { border-radius: 0; }
.rating-grid { display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 48px; align-items: start; }
.rating-help { padding-top: 24px; }
.rating-help .note { margin-bottom: 16px; font-size: 15px; }
@media (max-width: 900px) { .rating-grid { grid-template-columns: minmax(0,1fr); gap: 16px; } }
body[data-page="profile"] .avatar--lg { border: 0; outline: 4px solid var(--line-2); }

/* Кабинет v3 (11 My games, 12 Watch live, 13 Play links, 14–16 телефон): раскладка содержимого из ветки Tech-3
   codex/v3-cabinet; поля страницы и шапка — общие (.page). Селекторы с body — сильнее встроенных стилей cabinet.html. */
body .cabinet3 { font: 16px/1.55 var(--sans); }
.cabinet3, .cabinet3 * { min-width: 0; }
body .cabinet3 h1 { font: 600 32px/1.2 var(--sans); letter-spacing: 0; }
body .cabinet3 h2 { font: 600 22px/1.3 var(--sans); margin: 0 0 18px; }
.cabinet3 h1 canvas { max-width: 100%; object-fit: contain; object-position: left; }
.cabinet3 .title-row { margin-bottom: 24px; }
.cabinet3 .sub { margin: 18px 0 0; color: var(--dim); }
.cabinet3 .cabinet-nav { display: flex; gap: 28px; border-bottom: 2px solid var(--line); margin-bottom: 32px; }
.cabinet3 .cabinet-nav a { padding: 12px 0; color: var(--dim); }
.cabinet3 .cabinet-nav a[aria-current] { color: var(--text); box-shadow: 0 2px var(--amber); }
.cabinet3 .cabinet-intro { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.cabinet3 .cabinet-intro p { color: var(--dim); margin: 0; }
body .cabinet3 .panel { background: var(--panel); border: 2px solid var(--line); border-radius: 0; padding: 24px; box-shadow: none; margin-bottom: 32px; }
body .cabinet3 #finished-panel, body .cabinet3 #links-panel { background: transparent; border: 0; padding: 0; }
.cabinet3 .panel > .label { font: 600 18px/1.4 var(--sans); color: var(--text); text-transform: none; letter-spacing: 0; }
.cabinet3 .note, .cabinet3 .empty { color: var(--dim); font: 15px/1.55 var(--sans); }
.cabinet3 .empty-state { display: flex; align-items: center; gap: 28px; padding: 12px 0; }
.cabinet3 .empty-state img { flex-shrink: 0; }
.cabinet3 .empty-state p { margin: 0 0 10px; }
.cabinet3 .live { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.cabinet3 .live li { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: 18px 0; border-top: 2px solid var(--line); overflow-wrap: anywhere; }
.cabinet3 .live .game { font-weight: 650; }
.cabinet3 .live .game::before { content: ''; display: inline-block; width: 8px; height: 8px; background: var(--ok); margin-right: 10px; }
.cabinet3 .live .btn { margin-left: auto; }
.cabinet3 .btn { min-width: 0; letter-spacing: 0; }
.cabinet3 .btn:hover { filter: none; }
.cabinet3 .table { table-layout: fixed; }
.cabinet3 table th, .cabinet3 table td { white-space: normal; overflow-wrap: anywhere; padding: 14px 10px; border-bottom: 2px solid var(--line); }
.cabinet3 table th { font: 500 13px/1.4 var(--sans); color: var(--dim); }
.cabinet3 table td { font-size: 14px; }
.cabinet3 td.actions { text-align: right; }
.cabinet3 td.actions > * { margin: 4px 0 4px 8px; }
.cabinet3 #links-table th:first-child { width: 30%; }
.cabinet3 #links-table th:last-child { width: 34%; }
.cabinet3 .agent { display: inline-flex; align-items: center; gap: 12px; font-family: var(--mono); }
.cabinet3 .avatar { width: 32px; height: 32px; flex-shrink: 0; border-radius: 0; }
.cabinet3 .link-mask { display: block; margin-top: 8px; color: var(--faint); font: 13px var(--mono); }
.cabinet3 .add { display: flex; gap: 16px; flex-wrap: wrap; align-items: end; margin: 28px 0; }
.cabinet3 .link-label { display: grid; gap: 8px; flex: 1; max-width: 440px; color: var(--dim); font-size: 14px; }
.cabinet3 .field { width: 100%; max-width: 440px; border: 2px solid var(--line-2); border-radius: 0; background: var(--ink-2); font: 16px var(--sans); }
.cabinet3 .issued { padding: 24px; margin-top: 24px; border: 2px solid var(--amber); background: var(--panel); }
.cabinet3 .issued .row { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 16px; }
.cabinet3 .issued code { flex: 1 1 240px; overflow-wrap: anywhere; user-select: all; }
.cabinet3 .links-help { border-top: 2px solid var(--line); padding-top: 24px; color: var(--dim); }
.cabinet3 dialog { width: min(560px, calc(100% - 32px)); padding: 28px; background: var(--panel); color: var(--text); border: 2px solid var(--line-2); border-radius: 0; }
.cabinet3 dialog::backdrop { background: rgb(11 13 22 / .8); }
.cabinet3 .confirm-actions { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 24px; }
/* Spending, one framed block per play link (Designer rehearsal-site §3). The switch is a real toggle on its own 44 px
   line, mint when on (the rehearsal colour; amber stays for the one action); the limits in three columns. */
.cabinet3 .spend-link { display: grid; gap: 16px; padding: 20px; margin: 0 0 16px; border: 2px solid var(--line-2); }
.cabinet3 .spend-switch { display: flex; align-items: center; gap: 12px; min-height: 44px; cursor: pointer; }
.cabinet3 .spend-switch input { appearance: none; -webkit-appearance: none; position: relative; flex: 0 0 auto; width: 44px; height: 24px; margin: 0; border: 2px solid var(--line-2); border-radius: 0; background: var(--ink-2); cursor: pointer; }
.cabinet3 .spend-switch input::before { content: ''; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; background: var(--dim); transition: transform 120ms var(--ease-out); }
.cabinet3 .spend-switch input:checked { border-color: #70e0b0; }
.cabinet3 .spend-switch input:checked::before { transform: translateX(20px); background: #70e0b0; }
.cabinet3 .spend-switch input:focus-visible { outline: 2px solid var(--amber); outline-offset: 2px; }
.cabinet3 .spend-limits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.cabinet3 .spend-limits label { display: grid; gap: 8px; align-content: end; color: var(--dim); font-size: 14px; }
.cabinet3 .spend-limits .field { max-width: none; }
.cabinet3 .spend-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.cabinet3 .spend-actions .note { margin: 0; }
.cabinet3 .spend-owner-usage { margin-bottom: 16px; }
.cabinet3 .spend-audit-pair { white-space: nowrap; }
@media (max-width: 760px) {
  .cabinet3 .spend-link-save { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .cabinet3 .spend-switch input::before { transition: none; }
}
body .watch3 { padding-top: 32px; }
.watch3 .topbar { border-bottom: 2px solid var(--line); gap: 20px; }
.watch3 .topbar h1 { flex: 1 1 260px; }
.watch3 .topbar .back { flex-basis: 100%; font-size: 15px; }
.watch3 .chip { border-radius: 0; font: 13px var(--mono); }
.watch3 .watch-status { margin-bottom: 28px; padding-left: 16px; border-left: 4px solid var(--line-2); }
.watch3 .watch-status p { margin: 0 0 8px; font-size: 14px; }
.watch3[data-state="playing"] .watch-status { border-left-color: var(--ok); }
.watch3[data-connection="lost"] .watch-status { border-left-color: var(--amber); }
.watch3[data-connection="lost"] #frame { filter: grayscale(.6); }
.watch3 .layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; }
.watch3 .layout > section:first-child { justify-self: center; max-width: 100%; }
.watch3 .stage { outline: 0; }
.watch3 .stage canvas { max-width: 100%; }
.watch3 .feed { max-height: 320px; }
.watch3 .feed li { grid-template-columns: 94px minmax(0, 1fr) 42px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.watch3 .feed li .body { white-space: normal; overflow-wrap: anywhere; }
.watch3 .stat b { font: 600 20px var(--mono); }
.watch3 .live-only { display: none; }
.watch3[data-state="playing"] .live-only { display: block; }
.watch3[data-state="playing"] .chart { display: none; }
.watch3 .sessions-scroll { max-width: 100%; overflow: auto; }
.watch3 #sessions { min-width: 760px; }
.watch3 #compare { overflow: auto; }
.watch3 #compare table { min-width: 420px; }
@media (max-width: 860px) {
  body .cabinet3 { padding-top: 32px; padding-bottom: 56px; }
  .watch3 .layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .watch3 .layout > section:first-child { width: 100%; display: flex; justify-content: center; }
  .cabinet3 .cabinet-intro { align-items: start; flex-direction: column; }
  .cabinet3 .table, .cabinet3 .table tbody { display: block; }
  .cabinet3 .table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .cabinet3 .table tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px 16px; padding: 20px 0; border-top: 2px solid var(--line); }
  .cabinet3 .table td { padding: 0; border: 0; text-align: left; }
  .cabinet3 .table td::before { content: attr(data-label); display: block; color: var(--faint); font: 12px/1.5 var(--sans); margin-bottom: 4px; }
  .cabinet3 #links-table td:first-child, .cabinet3 td.actions { grid-column: 1 / -1; }
  .cabinet3 td.actions > * { margin: 6px 12px 0 0; }
  .cabinet3 .empty-state { align-items: start; gap: 16px; }
  .cabinet3 .empty-state img { width: 48px; height: auto; }
  body .cabinet3 .panel { padding: 18px; }
  .cabinet3 .live li { align-items: start; flex-direction: column; }
  .cabinet3 .live .btn { margin-left: 0; }
  .cabinet3 .add, .cabinet3 .issued .row { flex-direction: column; align-items: stretch; }
  .cabinet3 .link-label, .cabinet3 .issued code { flex: auto; }
  .cabinet3 .spend-limits { grid-template-columns: minmax(0, 1fr); }
  .watch3 .topbar .sep { display: none; }
}
.cabinet3 .title-row > div { flex: 1; }
.cabinet3 .chip { border-radius: 0; }
.cabinet3 .chip[data-tone="accent"] { color: var(--amber-hi); background: var(--panel-2); border-color: var(--line-2); }
.watch3 .bezel { max-width: 100%; }
.watch3 .stage { width: auto; }
.watch3 #frame:not([style]) { width: min(360px, calc(100vw - 56px)); height: auto; }
.watch3[data-phase="summary"] .stage canvas { opacity: 1; }
.watch3 .topbar .back { flex-basis: auto; }
.cabinet3 h2 canvas { max-width: 100%; object-fit: contain; object-position: left; }
.watch3[data-phase="summary"] .stat b, .watch3[data-phase="summary"] .chart .bar { opacity: 1; }
.missing-state { padding: 24px 0; }
.missing-state p { margin: 16px 0 0; }
/* Пустое значение рейтинга («no rating») — приглушённым: янтарь только у действия, рекорда и мест 1–3. */
body[data-page-view] .big.dim { color: var(--dim); }
/* Даты в таблицах не переносятся на две строки (на телефоне таблицы кабинета — карточки, там перенос разрешён). */
.table td.date { white-space: nowrap; }
@media (min-width: 861px) { .cabinet3 table td.mono { white-space: nowrap; } }
/* Links table: Created and Last used share ~18 % each — a full date ("09/10/2026, 18:20:00") wraps at its comma
   instead of running over the next column (Tech playtest 09.10). Only this table; other mono cells stay on one line. */
@media (min-width: 861px) { .cabinet3 #links-table td.mono { white-space: normal; } }
/* 403 приглашения: статус «вход закрыт» — крупной строкой сверху карточки, нейтрально (не янтарь и не ошибка). */
.signin-view .signin-status { margin: 0 0 20px; padding-left: 14px; border-left: 4px solid var(--line-2); font: 600 19px/1.4 var(--sans); color: var(--text); }

/* Separate the owner's closed room history from current entries. */
body[data-page="rooms"] .closed-list { margin-top: 40px; }
body[data-page="rooms"] #closed-rooms { list-style: none; padding: 0; margin: 16px 0 0; }
body[data-page="rooms"] #closed-rooms li { padding: 12px 0; border-bottom: 2px solid var(--line); }

.dispute-panel { min-width: 0; overflow-wrap: anywhere; }
.dispute-panel form { display: grid; gap: 16px; }
.dispute-panel .dispute-field { display: grid; gap: 8px; min-width: 0; }
.dispute-panel :is(select, textarea) { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
.dispute-panel textarea.field { height: auto; min-height: 144px; padding: 12px; resize: vertical; }
.dispute-panel .dispute-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.dispute-panel .btn { max-width: 100%; height: auto; min-height: 52px; white-space: normal; }
/* Пояснение над «Open a dispute» и ошибка поля строкой под ним (Designer, правило v3). */
.dispute-panel .dispute-intro { color: var(--dim); font-size: 15px; margin: 0 0 16px; }
.dispute-panel .dispute-error { color: #f09a9a; font-size: 14px; margin: 0; }
.dispute-panel .dispute-error:empty { display: none; }
.dispute-panel [aria-invalid="true"] { border-color: #e07070; }

/* Онбординг агента (O2-3, Codex e1d708a): общий блок ступени 1 и пронумерованные шаги личной ссылки на /connect. */
.agent-onboarding { margin-block: var(--s5); min-width: 0; }
body[data-page="connect"] .code { overflow-wrap: anywhere; }
.agent-works { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s4); }
.agent-works ul { padding-left: var(--s4); }
.onboarding-active { border-color: var(--accent); }
.step-n { color: var(--accent); font-family: var(--mono); }
body[data-page="connect"] .copyline .code, body[data-page="connect"] .copyline .field { min-width: 0; width: 100%; flex-basis: 240px; }
body[data-page="connect"] .card > .label + a { float: none; display: block; }
@media (max-width: 600px) {
  .agent-works { grid-template-columns: minmax(0, 1fr); }
  body[data-page="connect"] .copyline { flex-direction: column; }
  body[data-page="connect"] .copyline .code, body[data-page="connect"] .copyline .field { flex-basis: auto; }
}

/* Узкая шапка владельца v3: знак, аватар, Menu. Широкая шапка прежняя. */
.owner-account__avatar, .owner-navigation { display: none; }
@media (max-width: 767px) {
  html:is([data-session="owner"], [data-session="operator"]) .site-header__in { gap: 8px; }
  html:is([data-session="owner"], [data-session="operator"]) .site-nav,
  .site-user > .mygames, .owner-account__login { display: none; }
  .site-user { margin-left: auto; gap: 8px; }
  .owner-navigation { display: block; }
  .owner-navigation .only-narrow { display: block !important; }
  .owner-account > summary { width: 40px; padding: 0; justify-content: center; }
  .owner-account > summary::after { display: none; }
  .owner-account__avatar { display: grid; place-items: center; width: 28px; height: 28px; background: var(--panel-2); color: var(--amber); }
  /* Разделы — в Menu; в меню аватара из узких пунктов остаётся только «My games» (кнопка в строке на узком скрыта). */
  .owner-account .only-narrow:not(.account-games) { display: none !important; }
  .owner-account .account-games { display: block !important; }
  .owner-account .notify > summary { max-width: none; border: 0; padding: var(--s2) var(--s4); }
  .owner-account .notify__menu { position: static; min-width: 0; box-shadow: none; border-inline: 0; }
}
.agent-address { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s3); }
.agent-address button { justify-self: start; }
.agent-onboarding .agent-address-code { overflow-x: auto; white-space: nowrap; overflow-wrap: normal; margin: var(--s2) 0 0; }
.agent-onboarding .agent-address-code code { font: inherit; padding: 0; background: none; white-space: nowrap; overflow-wrap: normal; }
body[data-page="connect"] .password-warning { border-left: 3px solid var(--amber); padding-left: var(--s3); font-size: 15px; color: var(--text); }
body[data-page="connect"] .guest-steps { color: var(--dim); padding-left: var(--s5); }
body[data-page="connect"] .guest-steps h3 { color: var(--dim); }
body[data-page="connect"] .guest-rules { margin-top: 16px; }
body[data-page="connect"] #reissue { background: transparent; border: 0; padding: 0; box-shadow: none; color: var(--text); font: inherit; cursor: pointer; text-decoration: underline; text-decoration-color: var(--line-2); }
body[data-page="connect"] #reissue:hover, body[data-page="connect"] #reissue:focus-visible { color: var(--amber); }
/* Ступень 1: под Copy адреса — 12 px до подсказки «No sign-in needed…» (P3 Designer). */
.agent-onboarding .agent-address { margin-bottom: 12px; }

/* Human readiness card, D-7. No game state is rendered here. */
.ready-card { max-width: 760px; min-width: 0; border: 2px solid var(--line); box-shadow: inset 4px 0 0 var(--ok); padding: 24px; margin: 24px 0; overflow-wrap: anywhere; }
.ready-card h2 { margin: 0 0 8px; }
.ready-card ol { padding-left: 22px; display: grid; gap: 10px; }
.ready-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
@media (max-width: 480px) { .ready-card { padding: 18px; } }

/* Home v4. Every selector is scoped to home; shared header/footer keep their typography. */
@font-face { font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/IBMPlexSans-Regular-Latin1.woff2') format('woff2') }
@font-face { font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/IBMPlexSans-Medium-Latin1.woff2') format('woff2') }
@font-face { font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/IBMPlexSans-SemiBold-Latin1.woff2') format('woff2') }
@font-face { font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/IBMPlexMono-Medium-Latin1.woff2') format('woff2') }
@font-face { font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/IBMPlexMono-SemiBold-Latin1.woff2') format('woff2') }
.home4 { --sans:'IBM Plex Sans',system-ui,sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace;font:400 16px/1.5 var(--sans) }
.home4 * { box-sizing:border-box }
.home4 .home-wrap { max-width:1440px;padding:0 48px;margin:auto;width:100%;min-width:0 }
.home4 h1,.home4 h2,.home4 h3 { margin:0;font:inherit }
.home4 canvas,.home4 img { image-rendering:pixelated;display:block }
.home4 .btn,.home4 .game-play4 { background:#ffb33f;color:#141018;font:600 18px/1 var(--sans);height:56px;padding:0 28px;box-shadow:inset 0 -4px 0 #b9741c;border:0;border-radius:0;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:transform 160ms cubic-bezier(.23,1,.32,1) }
.home4 .btn:active,.home4 .game4:active .game-play4 { transform:scale(.97) }
.home4 .hero4 { height:calc(100dvh - 66px);min-height:720px;max-height:900px;background:linear-gradient(#1a1f33 0 34%,#0b0e1a 34% calc(34% + 6px),#12162a calc(34% + 6px));padding:0;overflow:hidden }
.home4 .hero-grid { height:100%;display:grid;grid-template-columns:minmax(0,5fr) 396px minmax(0,4.5fr);gap:40px;align-items:center }
.home4 .hero-copy { min-width:0 }
.home4 .mobile-hero-line,.home4 .mobile-bubble {display:none}
.home4 #title-dots2 { margin-top:22px }
.home4 .lead { font-size:21px;line-height:1.5;color:var(--dim);max-width:30ch;margin:24px 0 30px }
.home4 .tip { font-size:14px;color:var(--dim);margin:12px 0 0 }
.home4 .cab4 { padding:8px 16px;background:#0d1020;border:2px solid #080b17;box-shadow:0 14px 0 -6px #080b17;width:396px }
.home4 .marquee4 { height:58px;display:flex;align-items:center;justify-content:center;background:#292416;margin:6px 0 10px }
.home4 .cab-screen { display:block;height:560px;overflow:hidden;border:2px solid var(--line-2) }
.home4 #attract { width:360px;height:640px;max-width:none }
.home4 .deck4 { height:44px;display:flex;align-items:center;justify-content:center }
.home4 .office4 { position:relative;height:100%;align-self:end;display:grid;grid-template-columns:repeat(2,156px);grid-template-rows:repeat(3,140px);gap:30px 44px;padding-top:260px;align-content:start }
.home4 .office4 img,.home4 .room4 img { position:absolute;max-width:none;height:auto;margin:0 }
.home4 .office-window { width:200px;right:70px;top:30px }
.home4 .office-clock { width:56px;left:24px;top:70px }
.home4 .office-plant { width:42px;right:0;bottom:88px }
.home4 .office-desk { position:relative;width:156px;height:140px }
.home4 .table { width:156px;bottom:0;left:0 }
.home4 .monitor { width:54px;bottom:72px;left:90px }
.home4 .office-bot { position:absolute;width:60px;height:54px;left:18px;bottom:68px }
.home4 .office-bot img { width:60px;inset:0 }
.home4 .office-bot .pose { animation:office-pose4 .6s steps(1) infinite;animation-delay:var(--delay) }
.home4 .office-bot .idle { animation:office-idle4 .6s steps(1) infinite;animation-delay:var(--delay) }
@keyframes office-pose4 { 0% {opacity:1} 50%,100% {opacity:0} }
@keyframes office-idle4 { 0% {opacity:0} 50%,100% {opacity:1} }
.home4 .bubble { position:absolute;top:-14px;left:8px;background:#f4f1e8;color:#141018;padding:6px 8px;font:600 13px/1.4 var(--mono);white-space:nowrap;width:164px;box-shadow:0 3px 0 #0b0e1a }
.home4 .bubble:after {content:'';position:absolute;bottom:-8px;left:16px;border:8px solid transparent;border-bottom:0;border-top-color:#f4f1e8}
.home4 .bubble span:first-child {animation:bubble-a4 8s steps(1) infinite}
.home4 .bubble span:last-child {position:absolute;left:8px;top:6px;animation:bubble-b4 8s steps(1) infinite}
@keyframes bubble-a4 {0% {opacity:1} 50%,100% {opacity:0}}
@keyframes bubble-b4 {0% {opacity:0} 50%,100% {opacity:1}}
.home4 .section4 { padding:104px 0;border-top:1px solid var(--line) }
.home4 .section-lead { font-size:21px;color:var(--dim);max-width:52ch;margin:16px 0 32px }
.home4 .theses4 { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:0 0 40px }
.home4 .theses4 > div { border-left:4px solid var(--line-2);padding-left:16px }
.home4 dt { font-size:18px;font-weight:600 }
.home4 dd { margin:0;color:var(--dim) }
.home4 .room4 { --mini:54px;position:relative;height:520px;width:100%;background:linear-gradient(#1a1f33 0 92px,#0b0e1a 92px 98px,#12162a 98px);border:2px solid var(--line);overflow:hidden }
.home4 .example4 {position:absolute;top:12px;left:12px;border:2px solid var(--line-2);padding:2px 6px;z-index:4;color:var(--dim)}
.home4 .room-board4 {position:absolute;right:18px;top:12px;border:2px solid var(--line-2);background:#0d1020;padding:8px 12px;font:600 13px/1.6 var(--mono);z-index:3;animation:board4 24s steps(1) infinite;min-width:240px;height:82px}
.home4 .board-same {animation:same4 24s steps(1) infinite}
.home4 .board-progress {position:absolute;left:12px;top:29px;opacity:0;animation-duration:24s;animation-timing-function:steps(1);animation-iteration-count:infinite}
.home4 .room-stamp4 {width:604px;position:absolute;top:20px;left:50%;transform:translateX(-50%);padding:12px 20px;border:3px solid #48c048;background:#0d1020;z-index:5;opacity:0;animation:close4 24s steps(1) infinite}
.home4 .room-stamp4 canvas+canvas {margin-top:6px}
.home4 .room-desks4 {position:absolute;inset:110px 0 26px;max-width:1300px;margin:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,150px);row-gap:46px;justify-items:center;padding:0}
.home4 .room-desk4 {position:relative;width:156px;height:150px;font:500 13px/1.6 var(--mono)}
.home4 .room4 .table {height:72px;width:156px}
.home4 .mini-board4 {position:absolute;bottom:58px;left:84px;width:var(--mini);height:var(--mini);border:3px solid #2a3050;box-sizing:content-box;background-size:calc(4 * var(--mini)) calc(10 * var(--mini));background-position:0 calc(-1 * var(--row) * var(--mini));image-rendering:pixelated;animation-duration:24s;animation-timing-function:steps(1);animation-iteration-count:infinite}
.home4 .room-lamp4 {position:absolute;left:72px;top:0;width:15px;height:15px;background:#3a3f5c;box-shadow:0 0 0 3px #0b0e1a;animation-duration:24s;animation-timing-function:steps(1);animation-iteration-count:infinite}
.home4 .room-bot4 {position:absolute;bottom:52px;left:22px;width:60px;height:54px;animation-duration:24s;animation-timing-function:steps(1);animation-iteration-count:infinite}
.home4 .room-bot4 img {width:60px;height:54px;inset:0;animation-duration:24s;animation-timing-function:steps(1);animation-iteration-count:infinite}
.home4 .bot-close {opacity:0}
.home4 .room-caption4 {position:absolute;top:156px;width:100%;text-align:center;color:var(--dim)}
.home4 .room-caption4 > span {position:absolute;left:0;width:100%;animation-duration:24s;animation-timing-function:steps(1);animation-iteration-count:infinite}
.home4 .caption-same {animation-name:same4}
.home4 .caption-hidden {opacity:0;animation-name:hidden4}
.home4 .caption-result {opacity:0;animation-name:close4}
.home4 .top3 {color:#ffb33f}
@keyframes same4 {0% {opacity:1} 25%,100% {opacity:0}}
@keyframes hidden4 {0% {opacity:0} 25% {opacity:1} 83.3333%,100% {opacity:0}}
@keyframes close4 {0% {opacity:0} 83.3333% {opacity:1} 95.8333%,100% {opacity:0}}
@keyframes board4 {0% {opacity:1} 83.3333%,100% {opacity:0}}
.home4 .room4[data-paused] * {animation-play-state:paused !important}
.home4 .room-cta4 {text-align:center;margin-top:32px}
.home4 .btn-xl4 {height:64px;font-size:21px;padding:0 44px;box-shadow:inset 0 -5px 0 #b9741c}
.home4 .room-cta4 p {margin:12px auto 0;font-size:15px;color:var(--dim)}
/* Home §4a: room cabinets and an extensible, left-aligned practice shelf. */
.home4 .games-tier4 + .games-tier4 {margin-top:40px}
.home4 .tier-label4 {display:flex;align-items:center;gap:18px;margin:0 0 20px;color:#a9aec4}
.home4 .tier-label4:after {content:'';height:2px;background:var(--line);flex:1}
.home4 .games4 {display:grid;gap:24px}
.home4 .games-rooms4 {grid-template-columns:repeat(auto-fit,minmax(520px,1fr))}
.home4 .games-practice4 {grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.home4 .game4 {--game-color:#4878e8;display:flex;flex-direction:column;min-width:0;text-decoration:none;color:var(--text);border:2px solid var(--line);border-top:6px solid var(--game-color);background:#161b2c;transition:transform 160ms cubic-bezier(.23,1,.32,1),border-color 160ms ease}
.home4 .game4.golf {--game-color:#e8d038}
.home4 .game4.match3 {--game-color:#ece6d6}
.home4 .game4.tilematch {--game-color:#ffb0b0}
.home4 .game4.g2048 {--game-color:#d8f8a0}
.home4 .games-rooms4 .game4 {flex-direction:row;min-height:360px}
.home4 .game-copy4 {display:flex;flex-direction:column;min-width:0;flex:1;padding:24px 20px 20px}
.home4 .game4 h3 {margin:0 0 16px}
.home4 .preview4 {height:260px;overflow:hidden;display:flex;justify-content:center;align-items:center;background:#0c0c1c;flex-shrink:0}
.home4 .preview4 canvas {width:300px;height:auto;max-width:none;margin:0;image-rendering:pixelated;pointer-events:none}
.home4 .games-practice4 .preview4 {height:200px}
.home4 .games-practice4 .preview4 canvas {width:220px}
.home4 .games-rooms4 .preview4 {width:260px;height:auto}
.home4 .games-rooms4 .preview4 canvas {width:256px}
/* «Гольф»: окно привязано к верху кадра (поле и места); низ срезает высота окна. */
.home4 .preview4.preview4--top {align-items:flex-start}
.home4 .game4 p {margin:0 0 18px;color:var(--dim);font-size:16px}
.home4 .game4 .rooms-line4 {font-size:14px}
.home4 .game-play4 {height:52px;min-height:52px;margin-top:auto;display:flex;gap:10px}
.home4 .game-play4:before {content:'';border-left:12px solid currentColor;border-top:8px solid transparent;border-bottom:8px solid transparent}
@media (hover:hover) { .home4 .game4:hover {transform:translateY(-4px);border-color:var(--line-2);border-top-color:var(--game-color)} }
@media (min-width:761px) and (max-width:1359px) {
.home4 .games-rooms4 .preview4 {width:220px}
.home4 .games-rooms4 .preview4 canvas {width:220px}
}
.home4 .agent4 {display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:center}
.home4 .station4 {position:relative;height:420px;background:linear-gradient(#1a1f33 0 120px,#0b0e1a 120px 126px,#12162a 126px);border:2px solid var(--line);overflow:hidden}
.home4 .station-screen4 {position:absolute;left:50%;top:40px;transform:translateX(-50%);width:200px;height:280px;background:#0c0c1c;border:8px solid #2a3050;overflow:hidden}
.home4 #preview-agent {width:184px;height:327px;max-width:none;margin-top:-24px}
.home4 .station-table {position:absolute;width:312px;height:144px;left:calc(50% - 156px);bottom:-72px}
.home4 .station-bot {position:absolute;width:120px;height:108px;left:calc(50% - 60px);bottom:46px}
.home4 .cursor4 {position:absolute;z-index:2;width:0;height:0;border-left:10px solid white;border-bottom:16px solid transparent;filter:drop-shadow(1px 1px black);animation:cursor4 6s steps(24) infinite}
@keyframes cursor4 {0% {left:52%;top:150px} 30%,34% {left:56%;top:200px} 60%,64% {left:47%;top:170px} 100% {left:52%;top:150px}}
.home4 .agent-copy4 {min-width:0}
.home4 .agent-copy4 .section-lead {margin-bottom:6px}
.home4 .copyrow4 {display:flex;margin:28px 0 0;border:2px solid var(--line-2);background:#0b0e1a;height:64px;max-width:720px}
.home4 .copyrow4 code {flex:1;min-width:0;display:flex;align-items:center;gap:8px;justify-content:flex-start;padding:0 16px;font:500 16px/1.6 var(--mono);white-space:nowrap}
.home4 .copyrow4 code > .dim {font-size:13px}
.home4 .copyrow4 button {width:120px;flex-shrink:0;height:60px;border-left:2px solid var(--line-2);padding:0}
.home4 .copy-feedback4 {min-height:21px;margin:8px 0 14px;font:500 13px/1.6 var(--mono);color:var(--dim)}
.home4 .link {font-size:15px}
@media (max-width:1359px) and (min-width:761px) {
.home4 .home-wrap {padding:0 32px}
.home4 .section4 {padding:88px 0}
.home4 .hero-grid {grid-template-columns:minmax(0,1fr) 380px 324px;gap:24px}
.home4 .cab4 {width:380px;padding:8px}
.home4 .office4 {grid-template-columns:repeat(2,156px);column-gap:12px;height:100%;padding-top:210px;margin-left:-8px}
.home4 .office-desk:nth-of-type(n+5),.home4 .office-plant {display:none}
.home4 .office-window {right:0;top:30px}
.home4 .office-clock {left:0;top:70px}
.home4 .room4 {height:500px}
.home4 .preview4 {height:260px}
.home4 .agent4 {gap:32px}
}
@media (max-width:1100px) and (min-width:761px) { .home4 .office4 {display:none}.home4 .hero-grid {grid-template-columns:minmax(0,1fr) 380px}.home4 .agent4 {grid-template-columns:minmax(0,1fr)} }
body[data-page="home"] {min-height:100dvh}
@media (max-width:760px) {
body[data-page="home"] .site-header a, body[data-page="home"] .site-header summary {min-height:44px;min-width:44px}
.home4 .home-wrap {padding:0 16px}
.home4 .hero4 {height:calc(100dvh - 66px);min-height:0;max-height:none;padding:0;background:var(--ink)}
.home4 .hero-grid {display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0}
.home4 .hero-copy {order:1;padding:20px 16px 0}
.home4 #title-dots2 {margin-top:12px}
.home4 .hero-copy .lead {display:none}
.home4 .mobile-hero-line {display:block;color:var(--dim);font-size:16px;line-height:24px;white-space:nowrap;margin:12px 0 18px}
.home4 .hero-copy .tip {margin-top:10px}
.home4 .hero4 .cab4 {display:none}
.home4 .office4 {order:0;display:grid;flex:0 0 236px;width:100%;height:236px;align-self:stretch;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:152px;gap:0;padding:84px 8px 0;margin:0;overflow:hidden;background:linear-gradient(#1a1f33 0 46%,#0b0e1a 46% calc(46% + 4px),#12162a calc(46% + 4px))}
.home4 .office-desk {width:130px;height:152px}
.home4 .office-desk:nth-of-type(n+4),.home4 .office-plant,.home4 .office4 .bubble {display:none}
.home4 .office-window {width:120px;right:32px;top:14px}
.home4 .office-clock {width:42px;left:calc(50% - 5px);top:30px}
.home4 .office4 .table {width:130px;left:0;bottom:16px}
.home4 .office4 .monitor {width:36px;left:72px;bottom:76px}
.home4 .office-bot {width:50px;height:45px;left:14px;bottom:73px}
.home4 .office-bot img {width:50px}
.home4 .mobile-bubble {display:block;position:absolute;top:0;left:0;background:#f4f1e8;color:#141018;font:600 12px/18px var(--mono);padding:4px 8px;white-space:nowrap;box-shadow:0 3px 0 #0b0e1a}
.home4 .mobile-bubble:after {content:'';position:absolute;left:12px;bottom:-6px;border:6px solid transparent;border-top-color:#f4f1e8;border-bottom:0}
.home4 .lead,.home4 .section-lead {font-size:17px}
.home4 .btn {width:100%;min-height:52px}
.home4 #play-now {height:52px}
.home4 .tip {text-align:center}
.home4 .cab4 {width:100%;padding:8px}
.home4 .cab-screen {height:300px}
.home4 #attract {width:360px;height:640px;margin-top:-118px;position:relative;left:50%;transform:translateX(-50%)}
.home4 .marquee4 {height:48px}
.home4 .deck4 {height:40px}
.home4 .section4 {padding:64px 0}
.home4 #rooms > .home-wrap {display:flex;flex-direction:column}
.home4 #rooms h2 {order:0}
.home4 #rooms .section-lead {order:1;margin-bottom:20px}
.home4 #rooms .room-figure3 {order:2;margin-bottom:24px}
.home4 #rooms .theses4 {order:3;margin-bottom:0}
.home4 #rooms .room-cta4 {order:4}
.home4 .theses4,.home4 .games4,.home4 .agent4 {grid-template-columns:minmax(0,1fr)}
.home4 .theses4 {gap:14px}
.home4 .room4 {--mini:44px;height:334px;background:linear-gradient(#1a1f33 0 92px,#0b0e1a 92px 95px,#12162a 95px)}
.home4 .room-board4 {display:none}
.home4 .example4 {top:8px;left:8px}
.home4 .room-stamp4 {width:190px;top:34px;padding:6px 8px;border-width:2px}
.home4 .room-desks4 {inset:104px 0 14px;padding:0 6px;max-width:none;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,100px);row-gap:14px}
.home4 .room-desk4 {width:100%;height:100px;font-size:11px}
.home4 .room4 .table {display:none}
.home4 .mini-board4 {left:50%;transform:translateX(-50%);top:12px;bottom:auto;border-width:2px}
.home4 .room-lamp4 {left:calc(50% - 4px);top:0;width:8px;height:8px;box-shadow:0 0 0 2px #0b0e1a}
.home4 .room-bot4 {left:calc(50% - 10px);top:64px;bottom:auto;width:20px;height:18px}
.home4 .room-bot4 img {width:20px;height:18px}
.home4 .room-caption4 {top:86px;white-space:nowrap}
.home4 .caption-same,.home4 .caption-hidden {font-size:9px}
.home4 .btn-xl4 {height:56px;font-size:19px}
.home4 .games4 {gap:20px}
.home4 .preview4 {height:220px}
.home4 .preview4 canvas {width:240px;height:auto;margin:0}
.home4 .games-rooms4 .game4 {flex-direction:column;min-height:0}
.home4 .games-rooms4 .preview4 {width:100%;height:220px}
.home4 .games-rooms4 .preview4 canvas {width:240px}
.home4 .game-copy4 {padding:16px}
.home4 .games-practice4 .game4 {flex-direction:row;border-top:2px solid var(--line);border-left:6px solid var(--game-color);height:152px}
.home4 .games-practice4 .preview4 {width:104px;height:148px}
.home4 .games-practice4 .preview4 canvas {width:132px}
.home4 .games-practice4 .game-copy4 {padding:10px 12px;overflow:hidden}
.home4 .games-practice4 h3 {margin:0 0 8px}
.home4 .games-practice4 p {white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;margin:0 0 8px}
.home4 .game4 p {min-height:0}
.home4 .station4 {height:250px}
.home4 .agent4 {gap:24px}
.home4 .station-screen4 {width:128px;height:176px;top:22px;border-width:5px}
.home4 #preview-agent {width:118px;height:210px}
.home4 .station-bot {width:80px;height:72px;left:calc(50% - 40px);bottom:34px}
.home4 .station-table {width:208px;height:96px;left:calc(50% - 104px);bottom:-48px}
.home4 .copyrow4 {height:auto;flex-direction:column}
.home4 .copyrow4 code {flex-direction:column;align-items:flex-start;justify-content:center;gap:0;min-height:72px;padding:12px 10px;font-size:15px}
.home4 .agent-command4 {white-space:nowrap}
.home4 .copyrow4 button {width:100%;height:52px;border-left:0;border-top:2px solid var(--line-2)}
.home4 .link {display:inline-flex;align-items:center;min-height:44px;padding-block:12px}
}
@media (max-width:340px) {.home4 .copyrow4 code {font-size:13px}}
@media (prefers-reduced-motion:reduce) {
.home4 .office4 *, .home4 .cursor4 {animation:none!important}
.home4 .office-bot .idle,.home4 .bubble span:last-child {opacity:0}
.home4 .room4 * {animation:none!important}
.home4 .mini-board4 {background-position-x:calc(-3 * var(--mini))!important}
.home4 .room-lamp4 {background:#48c048!important}
.home4 .room-bot4 {opacity:1;transform:none}
.home4 .bot-idle,.home4 .bot-play,.home4 .caption-same,.home4 .caption-hidden,.home4 .room-board4 {opacity:0!important}
.home4 .bot-close,.home4 .caption-result,.home4 .room-stamp4 {opacity:1!important}
.home4 .game4,.home4 .btn {transition:none}
}
/* Override legacy v3 image crop and mobile figure suppression only on home. */
body[data-page="home"] .home4 .room4 img { margin:0;max-width:none }
body[data-page="home"] .home4 .room4 .table { width:156px;height:72px }
body[data-page="home"] .home4 .room4 .room-bot4 img { width:60px;height:54px }
.home4 .room-figure3 {display:block}
.home4 .link {font-weight:500}
@media (max-width:760px) {
body[data-page="home"] .home4 .room4 .table {width:104px;height:48px}
body[data-page="home"] .home4 .room4 .room-bot4 img {width:20px;height:18px}
}
/* Fade the example desks for the final second, then restore the fixed opening deal. */
.home4 .room-desks4 {animation:reset-room4 24s steps(6) infinite}
@keyframes reset-room4 {0%,95.8333% {opacity:1} 99.999% {opacity:0} 100% {opacity:1}}
/* HOME V4 GENERATED SPRITE AND TIMELINE */
.home4 .mini-board4 { background-image:url(data:image/png;base64,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); }
.home4 .seat0 .mini-board4 { animation-name:mini0; }
@keyframes mini0 { 0% {background-position-x:0} 29.1667% {background-position-x:calc(-1 * var(--mini))} 41.6667% {background-position-x:calc(-2 * var(--mini))} 54.1667%,95.8333% {background-position-x:calc(-3 * var(--mini))} 100% {background-position-x:0} }
.home4 .seat0 .room-lamp4 {animation-name:lamp0}
@keyframes lamp0 {0% {background:#3a3f5c} 25% {background:#6ea8ff} 62.5000%,95.8333% {background:#48c048} 100% {background:#3a3f5c}}
.home4 .seat0 .room-bot4 {animation-name:sit0}
@keyframes sit0 {0% {transform:translateX(-90px);opacity:0} 0.0000% {transform:translateX(-90px);opacity:1;animation-timing-function:steps(6)} 2.0833%,95.8333% {transform:translateX(0);opacity:1} 100% {opacity:0}}
.home4 .seat0 .bot-idle {animation-name:idle0} .home4 .seat0 .bot-play {animation-name:play0,office-pose4;animation-duration:24s,.6s;animation-delay:0s,var(--seat-delay)} .home4 .seat0 .bot-close {animation-name:close4}
@keyframes idle0 {0% {opacity:1} 25% {opacity:0} 62.5000% {opacity:1} 83.3333%,100% {opacity:0}} @keyframes play0 {0% {visibility:hidden} 25% {visibility:visible} 62.5000%,100% {visibility:hidden}}
.home4 .seat1 .mini-board4 { animation-name:mini1; }
@keyframes mini1 { 0% {background-position-x:0} 27.0833% {background-position-x:calc(-1 * var(--mini))} 37.5000% {background-position-x:calc(-2 * var(--mini))} 52.0833%,95.8333% {background-position-x:calc(-3 * var(--mini))} 100% {background-position-x:0} }
.home4 .seat1 .room-lamp4 {animation-name:lamp1}
@keyframes lamp1 {0% {background:#3a3f5c} 25% {background:#6ea8ff} 76.6667%,95.8333% {background:#48c048} 100% {background:#3a3f5c}}
.home4 .seat1 .room-bot4 {animation-name:sit1}
@keyframes sit1 {0% {transform:translateX(-90px);opacity:0} 2.5000% {transform:translateX(-90px);opacity:1;animation-timing-function:steps(6)} 4.5833%,95.8333% {transform:translateX(0);opacity:1} 100% {opacity:0}}
.home4 .seat1 .bot-idle {animation-name:idle1} .home4 .seat1 .bot-play {animation-name:play1,office-pose4;animation-duration:24s,.6s;animation-delay:0s,var(--seat-delay)} .home4 .seat1 .bot-close {animation-name:close4}
@keyframes idle1 {0% {opacity:1} 25% {opacity:0} 76.6667% {opacity:1} 83.3333%,100% {opacity:0}} @keyframes play1 {0% {visibility:hidden} 25% {visibility:visible} 76.6667%,100% {visibility:hidden}}
.home4 .seat2 .mini-board4 { animation-name:mini2; }
@keyframes mini2 { 0% {background-position-x:0} 28.3333% {background-position-x:calc(-1 * var(--mini))} 35.4167% {background-position-x:calc(-2 * var(--mini))} 45.8333%,95.8333% {background-position-x:calc(-3 * var(--mini))} 100% {background-position-x:0} }
.home4 .seat2 .room-lamp4 {animation-name:lamp2}
@keyframes lamp2 {0% {background:#3a3f5c} 25% {background:#6ea8ff} 50.0000%,95.8333% {background:#48c048} 100% {background:#3a3f5c}}
.home4 .seat2 .room-bot4 {animation-name:sit2}
@keyframes sit2 {0% {transform:translateX(-90px);opacity:0} 5.0000% {transform:translateX(-90px);opacity:1;animation-timing-function:steps(6)} 7.0833%,95.8333% {transform:translateX(0);opacity:1} 100% {opacity:0}}
.home4 .seat2 .bot-idle {animation-name:idle2} .home4 .seat2 .bot-play {animation-name:play2,office-pose4;animation-duration:24s,.6s;animation-delay:0s,var(--seat-delay)} .home4 .seat2 .bot-close {animation-name:close4}
@keyframes idle2 {0% {opacity:1} 25% {opacity:0} 50.0000% {opacity:1} 83.3333%,100% {opacity:0}} @keyframes play2 {0% {visibility:hidden} 25% {visibility:visible} 50.0000%,100% {visibility:hidden}}
.home4 .seat3 .mini-board4 { animation-name:mini3; }
@keyframes mini3 { 0% {background-position-x:0} 31.2500% {background-position-x:calc(-1 * var(--mini))} 45.8333% {background-position-x:calc(-2 * var(--mini))} 58.3333%,95.8333% {background-position-x:calc(-3 * var(--mini))} 100% {background-position-x:0} }
.home4 .seat3 .room-lamp4 {animation-name:lamp3}
@keyframes lamp3 {0% {background:#3a3f5c} 25% {background:#6ea8ff} 80.8333%,95.8333% {background:#48c048} 100% {background:#3a3f5c}}
.home4 .seat3 .room-bot4 {animation-name:sit3}
@keyframes sit3 {0% {transform:translateX(-90px);opacity:0} 7.5000% {transform:translateX(-90px);opacity:1;animation-timing-function:steps(6)} 9.5833%,95.8333% {transform:translateX(0);opacity:1} 100% {opacity:0}}
.home4 .seat3 .bot-idle {animation-name:idle3} .home4 .seat3 .bot-play {animation-name:play3,office-pose4;animation-duration:24s,.6s;animation-delay:0s,var(--seat-delay)} .home4 .seat3 .bot-close {animation-name:close4}
@keyframes idle3 {0% {opacity:1} 25% {opacity:0} 80.8333% {opacity:1} 83.3333%,100% {opacity:0}} @keyframes play3 {0% {visibility:hidden} 25% {visibility:visible} 80.8333%,100% {visibility:hidden}}
.home4 .seat4 .mini-board4 { animation-name:mini4; }
@keyframes mini4 { 0% {background-position-x:0} 33.3333% {background-position-x:calc(-1 * var(--mini))} 43.7500% {background-position-x:calc(-2 * var(--mini))} 56.2500%,95.8333% {background-position-x:calc(-3 * var(--mini))} 100% {background-position-x:0} }
.home4 .seat4 .room-lamp4 {animation-name:lamp4}
@keyframes lamp4 {0% {background:#3a3f5c} 25% {background:#6ea8ff} 70.0000%,95.8333% {background:#48c048} 100% {background:#3a3f5c}}
.home4 .seat4 .room-bot4 {animation-name:sit4}
@keyframes sit4 {0% {transform:translateX(-90px);opacity:0} 10.0000% {transform:translateX(-90px);opacity:1;animation-timing-function:steps(6)} 12.0833%,95.8333% {transform:translateX(0);opacity:1} 100% {opacity:0}}
.home4 .seat4 .bot-idle {animation-name:idle4} .home4 .seat4 .bot-play {animation-name:play4,office-pose4;animation-duration:24s,.6s;animation-delay:0s,var(--seat-delay)} .home4 .seat4 .bot-close {animation-name:close4}
@keyframes idle4 {0% {opacity:1} 25% {opacity:0} 70.0000% {opacity:1} 83.3333%,100% {opacity:0}} @keyframes play4 {0% {visibility:hidden} 25% {visibility:visible} 70.0000%,100% {visibility:hidden}}
.home4 .seat5 .mini-board4 { animation-name:mini5; }
@keyframes mini5 { 0% {background-position-x:0} 27.5000% {background-position-x:calc(-1 * var(--mini))} 39.1667% {background-position-x:calc(-2 * var(--mini))} 51.6667%,95.8333% {background-position-x:calc(-3 * var(--mini))} 100% {background-position-x:0} }
.home4 .seat5 .room-lamp4 {animation-name:lamp5}
@keyframes lamp5 {0% {background:#3a3f5c} 25% {background:#6ea8ff} 56.6667%,95.8333% {background:#48c048} 100% {background:#3a3f5c}}
.home4 .seat5 .room-bot4 {animation-name:sit5}
@keyframes sit5 {0% {transform:translateX(-90px);opacity:0} 12.5000% {transform:translateX(-90px);opacity:1;animation-timing-function:steps(6)} 14.5833%,95.8333% {transform:translateX(0);opacity:1} 100% {opacity:0}}
.home4 .seat5 .bot-idle {animation-name:idle5} .home4 .seat5 .bot-play {animation-name:play5,office-pose4;animation-duration:24s,.6s;animation-delay:0s,var(--seat-delay)} .home4 .seat5 .bot-close {animation-name:close4}
@keyframes idle5 {0% {opacity:1} 25% {opacity:0} 56.6667% {opacity:1} 83.3333%,100% {opacity:0}} @keyframes play5 {0% {visibility:hidden} 25% {visibility:visible} 56.6667%,100% {visibility:hidden}}
.home4 .seat6 .mini-board4 { animation-name:mini6; }
@keyframes mini6 { 0% {background-position-x:0} 30.0000% {background-position-x:calc(-1 * var(--mini))} 46.6667% {background-position-x:calc(-2 * var(--mini))} 63.3333%,95.8333% {background-position-x:calc(-3 * var(--mini))} 100% {background-position-x:0} }
.home4 .seat6 .room-lamp4 {animation-name:lamp6}
@keyframes lamp6 {0% {background:#3a3f5c} 25% {background:#6ea8ff} 79.1667%,95.8333% {background:#48c048} 100% {background:#3a3f5c}}
.home4 .seat6 .room-bot4 {animation-name:sit6}
@keyframes sit6 {0% {transform:translateX(-90px);opacity:0} 15.0000% {transform:translateX(-90px);opacity:1;animation-timing-function:steps(6)} 17.0833%,95.8333% {transform:translateX(0);opacity:1} 100% {opacity:0}}
.home4 .seat6 .bot-idle {animation-name:idle6} .home4 .seat6 .bot-play {animation-name:play6,office-pose4;animation-duration:24s,.6s;animation-delay:0s,var(--seat-delay)} .home4 .seat6 .bot-close {animation-name:close4}
@keyframes idle6 {0% {opacity:1} 25% {opacity:0} 79.1667% {opacity:1} 83.3333%,100% {opacity:0}} @keyframes play6 {0% {visibility:hidden} 25% {visibility:visible} 79.1667%,100% {visibility:hidden}}
.home4 .seat7 .mini-board4 { animation-name:mini7; }
@keyframes mini7 { 0% {background-position-x:0} 32.5000% {background-position-x:calc(-1 * var(--mini))} 45.0000% {background-position-x:calc(-2 * var(--mini))} 61.6667%,95.8333% {background-position-x:calc(-3 * var(--mini))} 100% {background-position-x:0} }
.home4 .seat7 .room-lamp4 {animation-name:lamp7}
@keyframes lamp7 {0% {background:#3a3f5c} 25% {background:#6ea8ff} 73.3333%,95.8333% {background:#48c048} 100% {background:#3a3f5c}}
.home4 .seat7 .room-bot4 {animation-name:sit7}
@keyframes sit7 {0% {transform:translateX(-90px);opacity:0} 17.5000% {transform:translateX(-90px);opacity:1;animation-timing-function:steps(6)} 19.5833%,95.8333% {transform:translateX(0);opacity:1} 100% {opacity:0}}
.home4 .seat7 .bot-idle {animation-name:idle7} .home4 .seat7 .bot-play {animation-name:play7,office-pose4;animation-duration:24s,.6s;animation-delay:0s,var(--seat-delay)} .home4 .seat7 .bot-close {animation-name:close4}
@keyframes idle7 {0% {opacity:1} 25% {opacity:0} 73.3333% {opacity:1} 83.3333%,100% {opacity:0}} @keyframes play7 {0% {visibility:hidden} 25% {visibility:visible} 73.3333%,100% {visibility:hidden}}
.home4 .seat8 .mini-board4 { animation-name:mini8; }
@keyframes mini8 { 0% {background-position-x:0} 34.1667% {background-position-x:calc(-1 * var(--mini))} 47.5000% {background-position-x:calc(-2 * var(--mini))} 60.0000%,95.8333% {background-position-x:calc(-3 * var(--mini))} 100% {background-position-x:0} }
.home4 .seat8 .room-lamp4 {animation-name:lamp8}
@keyframes lamp8 {0% {background:#3a3f5c} 25% {background:#6ea8ff} 66.6667%,95.8333% {background:#48c048} 100% {background:#3a3f5c}}
.home4 .seat8 .room-bot4 {animation-name:sit8}
@keyframes sit8 {0% {transform:translateX(-90px);opacity:0} 20.0000% {transform:translateX(-90px);opacity:1;animation-timing-function:steps(6)} 22.0833%,95.8333% {transform:translateX(0);opacity:1} 100% {opacity:0}}
.home4 .seat8 .bot-idle {animation-name:idle8} .home4 .seat8 .bot-play {animation-name:play8,office-pose4;animation-duration:24s,.6s;animation-delay:0s,var(--seat-delay)} .home4 .seat8 .bot-close {animation-name:close4}
@keyframes idle8 {0% {opacity:1} 25% {opacity:0} 66.6667% {opacity:1} 83.3333%,100% {opacity:0}} @keyframes play8 {0% {visibility:hidden} 25% {visibility:visible} 66.6667%,100% {visibility:hidden}}
.home4 .seat9 .mini-board4 { animation-name:mini9; }
@keyframes mini9 { 0% {background-position-x:0} 28.7500% {background-position-x:calc(-1 * var(--mini))} 41.2500% {background-position-x:calc(-2 * var(--mini))} 53.7500%,95.8333% {background-position-x:calc(-3 * var(--mini))} 100% {background-position-x:0} }
.home4 .seat9 .room-lamp4 {animation-name:lamp9}
@keyframes lamp9 {0% {background:#3a3f5c} 25% {background:#6ea8ff} 59.1667%,95.8333% {background:#48c048} 100% {background:#3a3f5c}}
.home4 .seat9 .room-bot4 {animation-name:sit9}
@keyframes sit9 {0% {transform:translateX(-90px);opacity:0} 22.5000% {transform:translateX(-90px);opacity:1;animation-timing-function:steps(6)} 24.5833%,95.8333% {transform:translateX(0);opacity:1} 100% {opacity:0}}
.home4 .seat9 .bot-idle {animation-name:idle9} .home4 .seat9 .bot-play {animation-name:play9,office-pose4;animation-duration:24s,.6s;animation-delay:0s,var(--seat-delay)} .home4 .seat9 .bot-close {animation-name:close4}
@keyframes idle9 {0% {opacity:1} 25% {opacity:0} 59.1667% {opacity:1} 83.3333%,100% {opacity:0}} @keyframes play9 {0% {visibility:hidden} 25% {visibility:visible} 59.1667%,100% {visibility:hidden}}
.home4 .progress0 {animation-name:progress0} @keyframes progress0 {0% {opacity:0} 25.0000% {opacity:1} 50.0000%,100% {opacity:0}}
.home4 .progress1 {animation-name:progress1} @keyframes progress1 {0% {opacity:0} 50.0000% {opacity:1} 56.6667%,100% {opacity:0}}
.home4 .progress2 {animation-name:progress2} @keyframes progress2 {0% {opacity:0} 56.6667% {opacity:1} 59.1667%,100% {opacity:0}}
.home4 .progress3 {animation-name:progress3} @keyframes progress3 {0% {opacity:0} 59.1667% {opacity:1} 62.5000%,100% {opacity:0}}
.home4 .progress4 {animation-name:progress4} @keyframes progress4 {0% {opacity:0} 62.5000% {opacity:1} 66.6667%,100% {opacity:0}}
.home4 .progress5 {animation-name:progress5} @keyframes progress5 {0% {opacity:0} 66.6667% {opacity:1} 70.0000%,100% {opacity:0}}
.home4 .progress6 {animation-name:progress6} @keyframes progress6 {0% {opacity:0} 70.0000% {opacity:1} 73.3333%,100% {opacity:0}}
.home4 .progress7 {animation-name:progress7} @keyframes progress7 {0% {opacity:0} 73.3333% {opacity:1} 76.6667%,100% {opacity:0}}
.home4 .progress8 {animation-name:progress8} @keyframes progress8 {0% {opacity:0} 76.6667% {opacity:1} 79.1667%,100% {opacity:0}}
.home4 .progress9 {animation-name:progress9} @keyframes progress9 {0% {opacity:0} 79.1667% {opacity:1} 80.8333%,100% {opacity:0}}
.home4 .progress10 {animation-name:progress10} @keyframes progress10 {0% {opacity:0} 80.8333% {opacity:1} 83.3333%,100% {opacity:0}}
