/* The camera owns the viewport in both investigation and verdict review. */
html[data-wall='open'] {
  --wall-gutter: clamp(18px, 3.1vmin, 36px);
  --wall-left: max(var(--wall-gutter), env(safe-area-inset-left));
  --wall-right: max(var(--wall-gutter), env(safe-area-inset-right));
  --wall-top: max(var(--wall-gutter), env(safe-area-inset-top));
  --wall-bottom: max(var(--wall-gutter), env(safe-area-inset-bottom));
  --wall-type: 'Courier New', ArchiveArabic, monospace;
  --wall-shadow: 0 1px 3px #050403, 0 1px 9px #050403, 0 0 18px #050403;
  overflow: hidden;
}
[data-wall='open'] body {
  min-height: 0;
  height: 100dvh;
  overflow: hidden;
}
[data-wall='open'] .topbar,
[data-wall='open'] .phase-head .room-code,
[data-wall='open'] .phase-head .phase-actions button {
  display: none;
}
[data-wall='open'] .phase-shell {
  position: fixed;
  inset: 0;
  width: auto;
  height: 100dvh;
  min-height: 0;
  max-width: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #080807;
  isolation: isolate;
}
[data-wall='open'] :is(#evidence-board, #verdict-reader:not([hidden]), .ag-board, .ag-viewport) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
}
[data-wall='open'] .phase-head {
  position: absolute;
  top: var(--wall-top);
  left: var(--wall-left);
  right: var(--wall-right);
  z-index: 8;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  pointer-events: none;
  text-shadow: var(--wall-shadow);
}
[data-wall='open'] .phase-head :is(h1, .timer),
.ag-field-notes > summary,
[data-wall='open'] .board-return {
  font: 700 clamp(.78rem, 1.35vmin, .92rem)/1.45 var(--wall-type);
  letter-spacing: .055em;
  text-transform: uppercase;
}
[data-wall='open'] :lang(ar) :is(.phase-head h1, .ag-field-notes > summary, .board-return) {
  letter-spacing: normal;
}
[data-wall='open'] .phase-head h1 {
  margin: 0;
  color: #e2d9c7;
}
[data-wall='open'] .phase-head .timer {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #e2d9c7;
  font-variant-numeric: tabular-nums;
}
[data-wall='open'] .phase-head .timer[data-urgent='true'] {
  color: #ffc29d;
}
[data-wall='open'] .phase-head .timer svg {
  display: none;
}
.ag-field-notes {
  position: absolute;
  z-index: 7;
  left: var(--wall-left);
  bottom: var(--wall-bottom);
  max-width: calc(100% - var(--wall-left) - var(--wall-right));
  color: #f5ecda;
  padding: 0;
  margin: 0;
  border: 0;
}
.ag-field-notes > summary,
.ag-board .ag-tool,
.ag-queue button.ag-action,
[data-wall='open'] .board-return {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 44px;
  width: fit-content;
  padding: 0;
  border: 0;
  border-radius: 0;
  margin: 0;
  box-shadow: none;
  background: transparent;
  color: inherit;
  cursor: pointer;
  text-align: start;
  text-decoration: none;
  text-shadow: var(--wall-shadow);
}
.ag-field-notes > summary {
  list-style: none;
  position: relative;
  z-index: 1;
  padding-inline-end: .5rem;
}
.ag-board .ag-tool { min-width: 44px; }
.ag-board .ag-tool[hidden], .ag-first-gesture[hidden] { display:none; }
.ag-board .ag-finish-investigation {
  position:absolute;
  z-index:6;
  right:var(--wall-right);
  bottom:var(--wall-bottom);
  color:#f0d6ac;
  font:700 .9rem/1.4 var(--wall-type);
}
.ag-first-gesture {
  position:absolute;
  z-index:5;
  left:50%;
  bottom:calc(var(--wall-bottom) + 54px);
  width:max-content;
  max-width:calc(100% - var(--wall-left) - var(--wall-right));
  transform:translateX(-50%);
  color:#f2e5cf;
  text-align:center;
  font:600 clamp(.88rem,1.4vmin,1rem)/1.5 Manrope,ArchiveArabic,sans-serif;
  text-shadow:var(--wall-shadow);
  pointer-events:none;
}
.ag-first-gesture small { display:block; color:#d2c8b8; font-size:.83em; }
.ag-field-notes[open] ~ .ag-first-gesture { visibility:hidden; }
.ag-wall-arrival {
  position:absolute; inset:0; z-index:5; pointer-events:none; background:#080807;
  animation:ag-torch-on 530ms cubic-bezier(.15,.65,.3,1) both;
}
@keyframes ag-torch-on { from { opacity:.92; } to { opacity:0; } }
html[data-effects='off'] .ag-wall-arrival { display:none; }
@media (prefers-reduced-motion:reduce) { .ag-wall-arrival { display:none; } }
.ag-field-notes > summary::-webkit-details-marker {
  display: none;
}
.ag-board-tools {
  position: absolute;
  bottom: calc(100% + .25rem);
  left: 0;
  display: grid;
  gap: .25rem;
  width: min(22rem, calc(100vw - var(--wall-left) - var(--wall-right)));
  max-height: calc(100dvh - var(--wall-top) - var(--wall-bottom) - 6.5rem);
  padding: .45rem 1rem .45rem 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
.ag-field-notes[open]::before {
  content: '';
  position: absolute;
  pointer-events: none;
  z-index: -1;
  left: calc(-1 * var(--wall-left));
  bottom: calc(-1 * var(--wall-bottom));
  width: min(34rem, 130vw);
  height: min(42rem, 100dvh);
  background: radial-gradient(ellipse at 0 100%, #090808 10%, #090808fa 43%, #090808cf 60%, transparent 79%);
}
.ag-board-status,
.ag-help {
  color: #dfd4c1;
  font: 500 .8rem/1.45 Manrope, ArchiveArabic, sans-serif;
  text-shadow: var(--wall-shadow);
}
.ag-board-status {
  font-weight: 800;
}
.ag-note-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 0 .8rem;
  margin-block-start: .35rem;
}
.ag-connections {
  margin: 0;
  padding: 0;
  border: 0;
  text-shadow: var(--wall-shadow);
}
.ag-connections > summary {
  list-style: none;
  font: 700 .86rem/1.45 var(--wall-type);
}
.ag-connections > summary::-webkit-details-marker { display: none; }
.ag-connections[open] > summary { color: #e9c18a; }
.ag-link-source {
  margin: 0 0 .3rem;
  color: #f2dfc6;
  font: 700 .83rem/1.45 var(--wall-type);
}
.ag-link-rows {
  display: grid;
  gap: .6rem;
  padding-inline-start: .8rem;
  margin: 0 0 .6rem;
  border-inline-start: 1px solid #915955;
  list-style: none;
  color: #efe6d6;
  font: 500 .84rem/1.5 var(--wall-type);
}
.ag-link-rows .ag-tool {
  color: #f5d7a8;
  font-weight: 700;
}
.ag-link-rows p {
  margin: 0;
  font: 500 .91rem/1.52 Manrope, ArchiveArabic, sans-serif;
  text-wrap: pretty;
}
.ag-field-notes:lang(ar) { --wall-type: ArchiveArabic, Manrope, sans-serif; }
@media (max-width: 600px) {
  .ag-field-notes[open]:has(.ag-connections[open])::before {
    width: 100vw;
    height: 100dvh;
    background: linear-gradient(to top, #090808 6%, #090808f5 44%, #090808d1 62%, transparent 87%);
  }
}
.ag-note-actions .ag-tool,
.ag-queue button.ag-action {
  font: 700 .86rem/1.45 var(--wall-type);
}
.ag-tool[aria-pressed='true'] {
  color: #e9c18a;
}
.ag-board .ag-tool:disabled {
  color: #b1a99a;
}
.ag-board-tools .finding {
  margin: 0;
  padding: 0;
  width: auto;
  color: #f1e7d4;
  text-shadow: var(--wall-shadow);
  background: transparent;
  border: 0;
  border-radius: 0;
}
.ag-board-tools .finding summary { min-height: 44px; align-content: center; }
.ag-board-tools .finding :is(dt, summary span) { color: #dfc9a8; }
.ag-board-tools .finding dd { color: inherit; }
.ag-board-tools .finding p { color: inherit; font-size: .9rem; }
.ag-queue {
  position: absolute;
  z-index: 6;
  right: var(--wall-right);
  bottom: var(--wall-bottom);
  display: grid;
  justify-items: end;
  gap: 0;
  max-width: min(29rem, 52%);
  padding: .15rem;
  border: 0;
  background: transparent;
  text-shadow: var(--wall-shadow);
  text-align: end;
}
.ag-queue span {
  font-size: .8rem;
  line-height: 1.4;
}
[data-wall='open'] .board-return {
  position: absolute;
  right: var(--wall-right);
  bottom: var(--wall-bottom);
  z-index: 7;
  color: #f5ecda;
}
[data-phase='verdict'][data-wall='open'] .ag-queue {
  bottom: calc(var(--wall-bottom) + 48px);
}
.ag-actors { z-index: 4; }
.ag-presence details { padding: 0; border: 0; }
.ag-actors:has(details[open], summary:focus-visible) { z-index: 6; }
