/* Ambient reflected room light: paper texture and dark ink stay intact. */
:root { --reading-light: #ffc878; --reading-strength: .22; --reading-surround: rgba(18,10,3,.90); --reading-edge: #9e6626; }
:root[data-effective-theme="pure-red"] { --reading-light: #ff4848; --reading-strength: .58; --reading-surround: rgba(61,0,0,.94); --reading-edge: #f43030; }
:root[data-effective-theme="local-red-strong"] { --reading-light: #ff6e58; --reading-strength: .29; --reading-surround: rgba(27,3,1,.92); --reading-edge: #b74228; }
:root[data-effective-theme="late-night-green"] { --reading-light: #7fff89; --reading-strength: .36; --reading-surround: rgba(1,25,8,.94); --reading-edge: #459e53; }
:root[data-effective-theme="cold-morning"] { --reading-light: #a5dcff; --reading-strength: .35; --reading-surround: rgba(9,24,39,.91); --reading-edge: #8eb7c5; }
:root[data-effective-theme="blackout"] { --reading-light: #b9bed1; --reading-strength: .28; --reading-surround: rgba(0,0,0,.98); --reading-edge: #414651; }
:root[data-effective-theme="christmas"] { --reading-light: #ffd5a0; --reading-strength: .27; --reading-surround: rgba(28,9,10,.94); --reading-edge: #ae6038; }
:root[data-effective-theme="halloween"] { --reading-light: #ff9948; --reading-strength: .39; --reading-surround: rgba(37,11,2,.94); --reading-edge: #c7711f; }
:root[data-effective-theme="psychedelic"] { --reading-light: #edb5ff; --reading-strength: .23; --reading-surround: rgba(30,3,43,.94); --reading-edge: #bb6bc7; }
:root[data-effective-theme="winter"] { --reading-light: #b7e0ff; --reading-strength: .33; --reading-surround: rgba(5,23,38,.94); --reading-edge: #84bedc; }
:root[data-effective-theme="spring"] { --reading-light: #b6eab9; --reading-strength: .30; --reading-surround: rgba(7,28,21,.94); --reading-edge: #7cb59b; }
:root[data-effective-theme="summer"] { --reading-light: #ffe4a0; --reading-strength: .28; --reading-surround: rgba(28,23,8,.93); --reading-edge: #d3aa54; }
:root[data-effective-theme="summer-night"] { --reading-light: #8ba9d2; --reading-strength: .43; --reading-surround: rgba(5,9,19,.96); --reading-edge: #657d9c; }
:root[data-effective-theme="spring-night"] { --reading-light: #8ab8bf; --reading-strength: .43; --reading-surround: rgba(5,17,19,.96); --reading-edge: #638e96; }
/* Physical surfaces opt into one ambient layer; global controls are not members. */
:where(.filing-artboard, .turntable-song-book__paper, .paper-surface, .pdv-note-detail__paper, .contact-art-form, .note-article[data-reading-paper], .reading-image, .photo-mount--accessory) { isolation: isolate; }
:where(.paper-surface) { position: relative; }
:where(.filing-artboard, .turntable-song-book__paper, .paper-surface, .pdv-note-detail__paper, .contact-art-form, .note-article[data-reading-paper], .reading-image, .photo-mount--accessory)::after {
  content: ''; position: absolute; z-index: 30; inset: 0; pointer-events: none; background: var(--reading-light); opacity: var(--reading-strength); mix-blend-mode: multiply; border-radius: inherit;
  mask-image: var(--reading-object-mask, none); mask-size: 100% 100%; mask-position: center; mask-repeat: no-repeat;
}
:root[data-effective-theme] .filing-experience, :root[data-effective-theme] .contact-privacy-dialog { background-color: var(--reading-surround); }
:root[data-effective-theme] .turntable-song-book::backdrop { background: var(--reading-surround); }
.turntable-song-book { box-shadow: 0 0 55px color-mix(in srgb, var(--reading-edge) 45%, transparent); }
.board-world::after { content: ''; position: absolute; inset: 0; background: var(--reading-light); opacity: var(--reading-strength); mix-blend-mode: multiply; pointer-events: none; }
.note-article { position: relative; }
.note-open { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: transparent; box-shadow: none; color: transparent; z-index: 35; padding: 0; }
.note-open:hover { background: transparent; transform: none; }
.note-open:focus-visible { outline: 2px solid #ffc17d; outline-offset: 4px; }
/* The viewport is the dimmed room; only the original paper has physical depth. */
.pdv-note-detail {
  position: fixed; inset: 0; width: 100%; height: 100dvh;
  max-width: none; max-height: none; margin: 0; padding: 56px 16px 24px;
  border: 0; background: transparent; box-shadow: none; overflow: auto;
  color: #21180f;
}
.pdv-note-detail[open] { display: grid; place-items: center; }
.pdv-note-detail::backdrop { background: color-mix(in srgb, var(--reading-surround) 64%, transparent); }
.pdv-note-detail > .site-back-link { position: fixed; }
.pdv-note-detail__paper {
  --detail-ratio: 1.4;
  position: relative; flex: none;
  width: min(100%, calc(50dvh * var(--detail-ratio)));
  aspect-ratio: var(--detail-ratio);
  color: #21180f; background: transparent; white-space: normal; line-height: 1.5;
  filter: drop-shadow(0.5rem 0.9rem 0.65rem rgba(12, 5, 2, .62));
}
.pdv-note-detail__paper[data-content-class="long"] { width: min(100%, calc(72dvh * var(--detail-ratio))); }
.pdv-note-detail__paper > .note-paper { width: 100%; height: 100%; object-fit: contain; }
.pdv-note-detail__paper .note-copy {
  position: absolute; inset: var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);
  color: #21180f; transform: none; overflow: auto; overscroll-behavior: contain;
  scrollbar-width: thin; scrollbar-color: #61463c transparent;
  font-size: clamp(17px, 2.2vw, 24px); line-height: 1.5; justify-content: safe center;
}
/* The calendar scrap has a black crossed-out date. A feathered paper wash
   beneath its new ink preserves the original object without losing the words. */
.pdv-note-detail__paper[data-paper-key="37"] .note-copy {
  background: rgba(237, 221, 188, .92);
  box-shadow: 0 0 12px 8px rgba(237, 221, 188, .92);
  padding: .4em;
}
.pdv-note-detail__paper .note-copy h2 { flex: none; font-size: 1.15em; line-height: 1.25; }
.pdv-note-detail__paper .note-copy time { flex: none; font-size: .72em; line-height: 1.3; transform: none; margin-left: 0; opacity: .85; }
.pdv-note-detail__paper .note-copy p { flex: none; color: inherit; }
.pdv-note-detail__paper .note-copy:focus { outline: none; }
.pdv-note-detail__paper .note-copy:focus-visible { outline: 1px dotted #61463c; outline-offset: 3px; }
.pdv-note-detail__paper:not([data-reading-paper]) { padding: 24px; background: #eee1c1; aspect-ratio: auto; }
.pdv-note-detail__paper:not([data-reading-paper]) > img { display: block; max-width: 100%; max-height: 55dvh; margin: auto; object-fit: contain; }
.pdv-note-detail__paper:not([data-reading-paper]) .note-copy { position: relative; inset: auto; max-height: 22dvh; margin-top: 16px; }
@media (forced-colors: active) {
  .pdv-note-detail__paper .note-copy { color: CanvasText; background: Canvas; }
}

:root .site-back-link, :root .site-nav-trigger { font-size: 14px; min-width: 60px; min-height: 44px; }

.filing-artboard--folder { --reading-object-mask: url('/assets/basement-v2/filing-cabinet/folder-cover-720w.webp'); }
.filing-artboard--paper { --reading-object-mask: var(--reading-paper-mask); }
.contact-art-form { --reading-object-mask: url('/assets/basement-v2/images/fridge-contact-form-v001.webp'); }
.reading-image > img { display: block; width: 100%; height: 100%; object-fit: inherit; }
/* The accessory card's own light is behind separately lit photo and tape layers. */
.photo-mount--accessory::after { z-index: 0; }
.photo-media { filter: none; }
.photo-media > img { filter: sepia(0.28) contrast(1.08) saturate(0.78); }
.turntable-song-book__paper.is-typed-page::after { mask-image: var(--song-page-paper); mask-size: cover; mask-position: center; mask-repeat: no-repeat; transform: scale(1.045); transform-origin: center; }

:root[data-theme-ready="false"] :is(.board-world, .board-notes, .paper-surface, .contact-art-form, .pdv-note-detail, .turntable-song-book, .filing-experience) { visibility: hidden; }

/* Cold responsive masks must be decoded before a physical object is revealed. */
[data-reading-mask-ready="false"] { visibility: hidden; }
[data-reading-mask-ready="false"]::after { mask-image: none; }
