@import url('/type.css');
:root{color-scheme:dark;--paper:#c8c5b6;--muted:#8b999b;--ember:#c5a278;--line:#39474b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#080f16;color:var(--paper);font:16px/1.7 Georgia,serif}#field,.grain{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}.grain{opacity:.075;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}header,main,section,footer{position:relative}a{color:inherit;text-decoration:none}a:hover{color:#f0d3a9}button,input,select,textarea{font:inherit}button,select,.import{border:1px solid var(--line);background:#0e1920;color:var(--paper);padding:.5rem .8rem;cursor:pointer}button:hover,.import:hover{border-color:var(--ember)}:focus-visible{outline:2px solid #d2b28b;outline-offset:6px}header{display:flex;justify-content:space-between;padding:1.5rem 4vw;font:12px monospace;letter-spacing:.2em}header button{border:0;background:none;color:var(--muted)}#threshold{min-height:90svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:3rem 1rem}.coordinate,.fine,.signature,.protocol,.controls,#status,footer,.compose{font:11px/1.8 monospace;letter-spacing:.05em}.coordinate{color:var(--muted);letter-spacing:.25em;text-transform:uppercase}h1{font-weight:normal;font-size:clamp(2.6rem,7vw,6.5rem);line-height:1.13;letter-spacing:-.045em;margin:2rem 0}p.whisper{font-style:italic;color:#91a1a6}.aperture{display:grid;place-items:center;width:90px;height:90px;margin:1.5rem;border-radius:50%;font-size:35px;color:#d9b581;background:radial-gradient(ellipse,#c89c4420,transparent 65%);animation:breath 8s ease-in-out infinite}.fine{color:var(--muted)}#chamber{scroll-margin-top:2rem;padding:5rem max(5vw,calc((100vw - 1150px)/2));background:linear-gradient(180deg,transparent,#081017e8 16%)}.room-head{margin-bottom:4rem}.room-head h2{font-size:clamp(3rem,9vw,7rem);font-weight:normal;letter-spacing:-.07em;line-height:1;margin:.7rem 0}.room-head>p:last-child{color:var(--muted)}.room-grid{display:grid;grid-template-columns:1fr 1.8fr;gap:6vw}.light{height:100px;width:1px;background:linear-gradient(transparent,#d8b88e,transparent);margin:2rem}.letter{font-size:1.5rem;font-style:italic;max-width:23ch}.signature{color:var(--muted)}details{margin:3rem 0;color:var(--muted);font:12px/1.8 monospace}summary{cursor:pointer;color:var(--paper)}.controls{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.import input{max-width:170px;font:10px monospace;display:block}#status{min-height:3em;color:var(--muted);margin:1.5rem 0}#messages{list-style:none;padding:0;max-height:65vh;overflow:auto}#messages li{padding:1.4rem 0;border-top:1px solid #354047}#messages p{white-space:pre-wrap;overflow-wrap:anywhere;margin:.5rem 0;font-size:1.1rem}#messages small{color:var(--muted);font:10px monospace}#messages button{font:10px monospace;margin-left:1rem}form>label{display:block;font-style:italic}textarea{display:block;width:100%;background:#0b151d;color:var(--paper);border:1px solid var(--line);padding:1rem;margin:1rem 0;resize:vertical}.compose{display:flex;justify-content:space-between;gap:1rem;align-items:center}footer{padding:3rem 5vw;display:flex;justify-content:space-between;color:var(--muted);gap:1rem}[hidden]{display:none!important}@keyframes breath{50%{opacity:.4;transform:scale(.92)}}@media(max-width:760px){.room-grid{grid-template-columns:1fr;gap:3rem}#chamber{padding:3rem 6vw}aside{max-width:100%}footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.aperture{animation:none}}body.still .aperture{animation:none}

.protocol-page{padding:8vw;max-width:900px}.quiet-threshold h1,.quiet-threshold .coordinate,.quiet-threshold .whisper,.quiet-threshold .fine{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.quiet-threshold .aperture{opacity:.55;transition:opacity 2s}.quiet-threshold .aperture:hover,.quiet-threshold .aperture:focus-visible{opacity:1}
