@font-face{font-family:Manrope;src:url('/fonts/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/fonts/ibm-plex-mono.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--bg:#141313;--surface:#1c1a1a;--text:#eee9e2;--muted:#aaa39e;--pink:#e1a2bb;--pink-hover:#edbbce;--rule:#3a3436;--font:Manrope,sans-serif;--mono:'IBM Plex Mono',monospace;--gutter:clamp(24px,5vw,80px);--ease:cubic-bezier(.16,1,.3,1);color-scheme:dark;font-family:var(--font);color:var(--text);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px;scrollbar-color:var(--rule) var(--bg)}body{margin:0}body.dialog-open{overflow:hidden}::selection{background:var(--pink);color:var(--bg)}a{color:inherit;text-decoration:none;text-underline-offset:5px}button,summary{font:inherit}button{color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button{border:0}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex='-1']:focus-visible{outline:2px solid var(--pink);outline-offset:6px}img{display:block;max-width:100%}svg{width:22px;height:22px;flex-shrink:0;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}p{line-height:1.8}h1,h2,p{margin:0}h1,h2{text-wrap:balance}h2{font-size:clamp(30px,3.4vw,46px);line-height:1.23;font-weight:450;letter-spacing:-.035em}.shell{width:100%;max-width:1600px;margin-inline:auto;padding-inline:var(--gutter)}.mono{font:400 11px/1.7 var(--mono);letter-spacing:.055em}.muted{color:var(--muted)}.skip-link{position:fixed;z-index:5;top:12px;left:12px;padding:14px;background:var(--pink);color:var(--bg);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);max-width:1600px;margin:auto}.identity{display:flex;align-items:center;gap:14px}.identity img{width:45px;height:45px;object-fit:contain}.identity span{font-size:13px;font-weight:650;letter-spacing:.1em;text-transform:uppercase}.site-header nav{display:flex;gap:36px;font-size:12px}.site-header nav a{padding:15px 0;transition:color .2s}.site-header nav a:hover{color:var(--pink)}
.hero{position:relative;max-width:1600px;margin:auto;height:min(760px,calc(100svh - 130px));min-height:570px;overflow:hidden;background:#191713}.hero-photo{position:absolute;inset:0}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 44%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,11,11,.4),transparent 58%),linear-gradient(0deg,rgba(13,11,11,.86),rgba(13,11,11,.12) 46%,transparent 70%)}.hero-copy{position:absolute;bottom:62px;left:var(--gutter);max-width:490px}.hero h1{font-size:clamp(58px,6.2vw,88px);line-height:1.03;font-weight:450;letter-spacing:-.04em}.hero h1 span{color:var(--pink)}.hero-copy p{font-size:16px;margin-top:23px;color:var(--text)}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:16px 21px;font-size:12px;font-weight:650;border-radius:2px;transition:background-color .2s}.primary{background:var(--pink);color:var(--bg)}.primary:hover{background:var(--pink-hover)}.hero .button{margin-top:28px}.hero-caption{position:absolute;right:var(--gutter);bottom:64px;display:flex;align-items:flex-start;gap:16px;color:var(--text)}.hero-caption .mono{font-size:10px}.hero-caption .muted{color:#c6b7ad}.caption-line{height:1px;width:32px;background:var(--pink);margin-top:8px}.image-colophon{min-height:63px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);border-bottom:1px solid var(--rule);font-size:10px}.image-colophon a{display:flex;gap:15px;align-items:center;min-height:48px}.image-colophon svg{width:17px}
.message-section{display:grid;grid-template-columns:1fr 2fr;gap:7%;padding-top:100px;padding-bottom:104px}.section-side{display:flex;flex-direction:column;gap:22px;padding-top:9px}.section-label{color:var(--pink);font-size:10px}.side-caption{font-size:12px;line-height:1.8;color:var(--muted)}.message-content{max-width:740px}.message-preview{margin-top:28px;font-size:clamp(17px,1.6vw,20px);line-height:1.85;color:#c5bfba;max-width:65ch}.text-button{display:inline-flex;align-items:center;gap:25px;min-height:44px;padding:8px 0;background:transparent;font-size:12px;color:var(--pink)}.text-button:hover{text-decoration:underline}.text-button svg{width:19px}.message-content details{margin-top:23px}.message-content summary{cursor:pointer;list-style:none}.message-content summary::-webkit-details-marker{display:none}.message-content details[open] summary svg{transform:rotate(-90deg)}.when-open,details[open] .when-closed{display:none}details[open] .when-open{display:inline}.letter{margin-top:26px;animation:letter-in .45s var(--ease)}.letter p{font-size:17px;line-height:1.9;color:#c5bfba;margin-bottom:22px;max-width:70ch}.letter p:last-of-type{color:var(--text)}.signature{display:flex;align-items:center;gap:13px;font-size:12px;margin-top:30px;margin-bottom:25px}.signature img{width:38px;height:38px}.message-content details:not([open])~*{display:none}
.fragments-section{padding-top:65px;padding-bottom:100px;border-top:1px solid var(--rule)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:45px}.section-heading h2{font-size:clamp(28px,3vw,40px)}.section-heading p{font-size:12px;color:var(--muted);padding-bottom:5px}.fragment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.fragment{display:flex;flex-direction:column;background:transparent;text-align:left;padding:0;min-width:0}.fragment-art{position:relative;width:100%;aspect-ratio:1.4;overflow:hidden;background:#060606}.fragment-art .mark-art,.fragment-art .room-art{width:100%;height:100%}.mark-art{background:#000}.mark-art img{height:100%;width:100%;object-fit:contain;padding:10%}.room-art{overflow:hidden;background:#242019}.room-art img{width:100%;height:100%;object-fit:cover;object-position:50% 47%;transition:transform .6s var(--ease)}.fragment-art .room-art img{object-position:34% 35%;transform:scale(1.25)}.fragment:hover .room-art img{transform:scale(1.3)}.inspect-indicator{position:absolute;right:14px;bottom:14px;width:32px;height:32px;display:grid;place-items:center;background:rgba(20,19,19,.8);color:var(--text)}.inspect-indicator svg{width:19px}.fragment-meta{display:flex;justify-content:space-between;align-items:center;width:100%;margin:19px 0 13px;color:var(--muted);font-size:9px}.fragment-meta>span:last-child{display:flex;align-items:center;gap:5px;color:var(--pink)}.fragment-meta svg{width:13px;height:13px}.fragment-title{font-size:21px;font-weight:500;letter-spacing:-.02em}.fragment-description{font-size:12px;color:var(--muted);line-height:1.8;margin-top:8px}.fragment:hover .fragment-title{color:var(--pink)}.fragment:hover .inspect-indicator{background:var(--pink);color:var(--bg)}.prompt-art{height:100%;padding:28px;background:#282124;display:flex;flex-direction:column;color:#e7d4dd}.prompt-art>.mono{font-size:8px;color:#c7a9b8}.prompt-art p{font-size:clamp(18px,1.8vw,27px);line-height:1.45;letter-spacing:-.025em;margin:auto 0}.note-line{height:1px;background:#715562;width:40px;margin-bottom:16px}.prompt-art .note-bottom{font-size:8px;letter-spacing:0}
.closing{display:grid;grid-template-columns:140px 1fr auto;gap:35px;align-items:center;padding-top:65px;padding-bottom:70px;border-block:1px solid var(--rule)}.closing-symbol{width:115px;height:115px;background:#000}.closing-symbol img{width:100%;height:100%;padding:12px}.closing h2{font-size:35px}.closing p{font-size:13px;color:var(--muted);margin-top:16px}.closing .text-button{margin-top:18px}.closing .about-note{font-size:11px;line-height:1.9;margin-top:0;align-self:center}.about-note span{display:inline-block;margin-top:14px;color:var(--pink)}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;min-height:95px;color:var(--muted)}.site-footer .mono{font-size:9px}.footer-separator{margin:0 13px;color:var(--pink)}.site-footer .text-button{font-size:10px;color:var(--muted)}
dialog{padding:0;border:1px solid var(--rule);background:var(--bg);color:var(--text);width:min(900px,calc(100% - 40px));max-height:calc(100svh - 48px);overflow:auto;overscroll-behavior:contain;box-shadow:0 18px 70px rgba(0,0,0,.35)}dialog::backdrop{background:rgba(8,7,7,.86)}.dialog-toolbar{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 28px;background:var(--bg);border-bottom:1px solid var(--rule)}.dialog-toolbar>.mono{color:var(--pink);font-size:10px}.close-button{display:flex;align-items:center;gap:12px;min-height:44px;min-width:44px;background:transparent;font-size:12px;padding:8px;color:var(--text)}.close-button:hover{color:var(--pink)}.close-button svg{width:20px}.dialog-art .mark-art{height:280px}.dialog-art .mark-art img{padding:25px}.dialog-art .room-art{height:auto;aspect-ratio:1672/941;position:relative}.dialog-art .room-art img{transition:none}.dialog-art .room-art.note-closeup img{max-width:none;position:absolute;width:500%;height:500%;object-fit:fill;left:-127%;top:-105%}.inspect-note{margin:6px 30px}.dialog-art .prompt-art{height:250px;padding:32px 50px}.dialog-art .prompt-art p{font-size:32px}.artifact-copy{padding:40px 50px 30px}.artifact-copy h2{font-size:32px;margin-bottom:26px}.artifact-copy>p{font-size:15px;color:#c5bfba;margin-bottom:19px;max-width:70ch}.artifact-copy .artifact-footnote{font-size:12px;color:var(--muted);border-top:1px solid var(--rule);padding-top:23px;margin-top:29px}.artifact-bottom{border-top:1px solid var(--rule);margin-top:25px;padding-top:15px;display:flex;justify-content:space-between;align-items:center;gap:20px}.artifact-bottom>.mono{font-size:10px;color:var(--muted)}
@keyframes letter-in{from{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero{border-inline:1px solid var(--rule)}}
@media(max-width:1000px){.hero h1{font-size:66px}.hero{min-height:610px}.hero-caption{bottom:43px}.hero-copy{bottom:43px}.message-section{grid-template-columns:1fr 2.4fr;gap:5%}.section-heading{display:block}.section-heading p{margin-top:18px}.fragment-grid{gap:19px}.prompt-art{padding:20px}.prompt-art>.mono{font-size:7px}.closing{grid-template-columns:95px 1fr;gap:28px}.closing-symbol{width:85px;height:85px}.closing .about-note{grid-column:2}.hero-photo img{object-position:50% 50%}}
@media(max-width:650px){:root{--gutter:24px}.site-header{height:76px}.identity{gap:9px}.identity img{width:37px;height:37px}.identity span{font-size:10px;letter-spacing:.07em}.site-header nav{gap:19px;font-size:11px}.site-header nav a{min-height:44px;display:flex;align-items:center}.site-header nav a:last-child{display:none}.hero{height:auto;min-height:0;overflow:visible;background:var(--bg)}.hero-photo{position:relative;height:390px}.hero-photo img{object-position:50% 27%;object-fit:cover}.hero-shade{top:270px;height:120px;bottom:auto;background:linear-gradient(0deg,var(--bg),transparent)}.hero-copy{position:relative;inset:auto;margin-top:-6px;padding:0 var(--gutter) 36px;max-width:none}.hero h1{font-size:clamp(48px,13vw,70px);line-height:1.06}.hero-copy p{margin-top:20px;font-size:14px}.hero .button{margin-top:25px;min-height:52px;gap:32px}.hero-caption{display:none}.image-colophon{min-height:58px;font-size:8px;gap:16px}.image-colophon>span{max-width:155px}.image-colophon a{font-size:8px;gap:8px}.image-colophon svg{width:15px}.message-section{display:block;padding-top:62px;padding-bottom:65px}.section-side{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:31px;gap:20px}.side-caption{font-size:10px;line-height:1.6;text-align:right}.message-content h2{font-size:33px}.message-preview{font-size:17px;line-height:1.85;margin-top:24px}.letter p{font-size:16px}.fragments-section{padding-top:53px;padding-bottom:61px}.section-heading h2{font-size:32px;max-width:290px}.section-heading p{font-size:12px;line-height:1.7;margin-top:16px}.section-heading{margin-bottom:31px}.fragment-grid{grid-template-columns:1fr;gap:40px}.fragment-art{aspect-ratio:1.4}.fragment-title{font-size:24px}.fragment-meta{font-size:10px;margin-top:17px}.fragment-description{font-size:13px}.prompt-art{padding:29px}.prompt-art p{font-size:27px}.prompt-art>.mono{font-size:9px}.closing{grid-template-columns:58px 1fr;gap:19px;padding-top:45px;padding-bottom:46px}.closing-symbol{width:58px;height:58px;align-self:start;margin-top:2px}.closing-symbol img{padding:7px}.closing h2{font-size:29px}.closing p{font-size:12px}.closing .about-note{font-size:11px}.closing .text-button{font-size:11px;gap:13px}.site-footer{display:block;padding-block:24px}.site-footer>.mono{font-size:8px;display:block}.site-footer .text-button{margin-top:12px}dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px)}.dialog-toolbar{padding:8px 14px}.dialog-toolbar>.mono{font-size:9px}.artifact-copy{padding:27px 23px 20px}.artifact-copy h2{font-size:29px}.artifact-copy>p{font-size:14px}.dialog-art .mark-art{height:220px}.dialog-art .prompt-art{padding:27px;height:230px}.dialog-art .prompt-art p{font-size:27px}.inspect-note{margin-inline:23px;font-size:11px}.artifact-bottom .text-button{font-size:11px}.artifact-bottom>.mono{font-size:9px}}
@media(max-width:360px){.site-header nav{gap:12px}.identity span{font-size:9px}.hero-photo{height:345px}.hero-shade{top:225px}.closing{grid-template-columns:1fr}.closing-symbol{display:none}.closing .about-note{grid-column:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* The entrance is a single signal. Original PNG pixels are screen-blended, never redrawn. */
:root { --entrance-ground: #070708; }
html, body { background: var(--entrance-ground); }
[hidden] { display: none !important; }
body.at-entrance { overflow: hidden; }
#entrance { position: relative; min-height: 100svh; height: 100svh; background: var(--entrance-ground); isolation: isolate; }
html[data-resume] #entrance { visibility: hidden; }
.entrance-button { --mark-box: 224px; position: absolute; left: 50%; top: calc(50% - var(--mark-box) / 2); transform: translateX(-50%); width: var(--mark-box); padding: 0 0 8px; mix-blend-mode: screen; background: transparent; border-radius: 3px; color: #c28da5; }
.entrance-mark { position: relative; display: block; width: var(--mark-box); height: var(--mark-box); isolation: isolate; mix-blend-mode: screen; animation: signal-breathe 6s ease-in-out infinite; }
.entrance-mark img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: screen; }
.mark-outline { filter: brightness(1.08); transition: filter 260ms ease; }
.mark-halo { filter: blur(5px) brightness(1.15); opacity: .2; }
.entry-label { display: block; margin-top: 0; padding-left: .42em; font: 400 11px/44px var(--font); letter-spacing: .42em; transition: color 260ms ease; }
.entrance-button:hover .mark-outline, .entrance-button:focus-visible .mark-outline { filter: brightness(1.3); }
.entrance-button:hover .entry-label, .entrance-button:focus-visible .entry-label { color: var(--pink); }
.entrance-button:focus-visible { outline: 1px solid #b4829a; outline-offset: 14px; }
.acknowledged .entrance-button { animation: acknowledge 360ms ease-out both; }
.acknowledged .entrance-mark { animation: none; }
#interior { background: var(--bg); min-height: 100svh; }
#interior.arriving { animation: interior-arrive 320ms ease-out both; }
.inbox { min-height: 100svh; display: grid; place-items: center; text-align: center; background: var(--entrance-ground); }
.inbox h1 { font: 400 12px/1.8 var(--mono); color: var(--muted); letter-spacing: .18em; }
.transmission-open { margin-top: 23px; font-size: 13px; gap: 20px; }
#interior:has(#inbox:not([hidden])) .resume-note { display: none; }
.interior-header { display: flex; justify-content: space-between; align-items: center; min-height: 90px; gap: 24px; }
.interior-header .mono { color: var(--muted); font-size: 10px; }
.transmission-portrait { margin: 0 auto; max-width: 1200px; }
.transmission-portrait > img { width: 100%; height: auto; }
.transmission-portrait figcaption { padding: 20px var(--gutter) 0; font: 400 11px/1.8 var(--mono); color: var(--muted); }
#transmission .message-section { padding-top: 60px; }
#transmission .message-content details { margin-top: 0; }
#transmission .letter h2 { margin-bottom: 27px; }
#archive .fragments-section { border-top: 0; }
.resume-note { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-block: 24px; border-top: 1px solid var(--rule); color: var(--muted); font-size: 11px; }
.resume-note .text-button { font-size: 11px; }
.no-script { position: absolute; bottom: 20px; width: 100%; text-align: center; font-size: 12px; color: var(--muted); }
@keyframes signal-breathe { 0%,100% { opacity: .83; } 50% { opacity: 1; } }
@keyframes acknowledge { 0% { opacity: 1; filter: brightness(1); } 25% { opacity: 1; filter: brightness(1.5); } 100% { opacity: 0; filter: brightness(1); } }
@keyframes interior-arrive { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 650px) {
  .entrance-button { --mark-box: 174px; }
  .entry-label { margin-top: 0; font-size: 10px; }
  .interior-header { min-height: 76px; gap: 15px; }
  .interior-header .mono { font-size: 8px; }
  .interior-header .text-button { font-size: 11px; }
  .transmission-portrait > img { height: 390px; object-fit: cover; object-position: 50% 27%; }
  .resume-note { flex-direction: column; align-items: flex-start; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .entrance-mark, .acknowledged .entrance-button, #interior.arriving { animation: none !important; }
}
