/* Reviewer mode (html.is-plain) and print: a clean, centred, one-column CV. Every game layer is already
   gone ([data-game] and .game-only are hidden outside html.is-game); this file lays out what is left. */

html.is-plain #world { opacity: 0.25; filter: grayscale(0.6); transition: opacity 0.4s, filter 0.4s; }
html.is-plain #world::after { background: rgba(7, 10, 18, 0.55); }
html.is-plain .bar__play, html.is-plain .bar__zone { display: none; }
html.is-plain .bar__plain { border-color: var(--accent); background: rgba(242, 184, 75, 0.1); }
html.is-plain .bar__progress i { background: var(--ink-3); box-shadow: none; }

html.is-plain .scene,
html.is-plain .scene[data-side='right'] {
  display: block; min-height: 0; padding: 18px var(--gutter);
}
html.is-plain .scene--hero { padding-top: calc(var(--bar-h) + 56px); padding-bottom: 12px; }
html.is-plain .hero, html.is-plain .card { width: auto; max-width: 760px; margin: 0 auto; }
html.is-plain .card {
  padding: 30px 34px 32px; border-radius: 12px; background: #0e1117; border-color: var(--line);
  backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
  opacity: 1; transform: none; transition: none; animation: none;
}
html.is-plain .hero { text-shadow: none; }
html.is-plain .hero__name { font-size: clamp(52px, 8vw, 96px); margin-bottom: 14px; }
html.is-plain .hero__hint, html.is-plain .hero__boot, html.is-plain .scroll-cue { display: none; }
html.is-plain .scene--last { min-height: 0; padding-bottom: 40px; }
html.is-plain .foot { max-width: calc(760px + 2 * var(--gutter)); margin: 0 auto; background: none; }
html.is-plain [data-focus]:hover, html.is-plain [data-focus]:focus-visible, html.is-plain [data-focus].is-current { background: rgba(255, 255, 255, 0.03); box-shadow: inset 2px 0 0 var(--line-2); }
html.is-plain .tag__n { background: var(--ink-3); }
html.is-plain details.more > summary { color: var(--ink-3); }
html.is-plain .equip__back { border-left-color: var(--line); }

@media (max-width: 860px) {
  html.is-plain .card { padding: 22px 20px 24px; }
}

/* ---------------- print: the same clean CV on paper, even when the print button bypassed JS */
@media print {
  @page { margin: 16mm 14mm; }
  html, body { background: #fff !important; }
  .phud, .phud__keys, .credits, .trail, .skip, .bubble, .fly-ghost { display: none !important; }
  .scene, .scene--hero { padding: 8px 0 !important; min-height: 0 !important; }
  .card { max-width: none !important; break-inside: avoid-page; margin: 0 0 10px !important; }
  .card-head { margin-bottom: 4px; }
  .tag__n { background: none !important; border: 1px solid #000; }
  details.more { display: block; }
  details.more > summary { font-weight: 600; }
  details.more > summary::before { display: none; }
  details.more pre { white-space: pre-wrap; background: none !important; border: 1px solid #999 !important; }
  .sheet { grid-template-columns: 1fr 180px; }
  .equip__back { border-left-color: #999; }
  .row, .pub { break-inside: avoid; }
  .foot { background: none; padding: 12px 0; }
  a[href^='http']::after { content: ' (' attr(href) ')'; font-size: 10px; word-break: break-all; }
  .hero__links a::after, .portal::after, .row__title a::after { content: none; }
}
@media print {
  /* show closed details on paper too (Chrome 131+; older browsers print the summaries) */
  details.more::details-content { content-visibility: visible; block-size: auto; }
}
