*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:#061014 url(chamber.png) 65% center/cover fixed no-repeat;color:#f6efdc;font:16px/1.55 system-ui}body:before{content:"";position:fixed;inset:0;background:linear-gradient(90deg,#020b10e8 0%,#020b1099 43%,transparent 72%);z-index:-1}main{width:min(680px,48%);margin:0 0 0 4%;padding:32px 0}header{padding:12px 0 24px}.eyebrow,.location{letter-spacing:.2em;font-size:12px}.eyebrow{color:#eac37d}h1{font:clamp(30px,4.3vw,68px)/1.1 Georgia,serif;margin:22px 0 8px;white-space:nowrap}.tagline{font:italic clamp(18px,2vw,26px) Georgia,serif}.location{font-size:10px;border-top:1px solid #b8863b;padding-top:14px}.panel{background:#061016df;border:1px solid #997239;border-radius:14px;padding:22px;margin-bottom:20px;box-shadow:0 12px 32px #0005;backdrop-filter:blur(8px)}h2{font:26px Georgia,serif;margin:0 0 16px;border-left:3px solid #53d6e9;padding-left:12px}label{display:block;margin:12px 0 5px}input,textarea{width:100%;padding:12px;font:inherit;color:inherit;background:#0c2028;border:1px solid #48717d;border-radius:7px}textarea{resize:vertical}button{background:#eab15b;color:#130d03;border:1px solid transparent;border-radius:7px;padding:10px 14px;font:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:default}button:not(#send){background:#112832;color:#f6efdc;border-color:#48717d}.controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.toggle{display:flex;gap:10px;align-items:center}.toggle input{width:auto}.muted,footer{font-size:12px;color:#b2c1c7}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}#log{max-height:320px;overflow:auto;overflow-wrap:anywhere}#log p{white-space:pre-wrap;border-left:2px solid #b8863b;padding-left:12px}a{color:#8de4ef}li{margin:14px 0}li small{display:block;color:#b2c1c7}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #73edff;outline-offset:3px}@media(max-width:850px){body{background-position:70% top;background-size:auto 100vh}main{width:auto;margin:0;padding:320px 16px 24px}header,.panel,footer{background:#061016eb}header{padding:20px;border-radius:14px;margin-bottom:18px}h1{font-size:clamp(29px,7vw,48px)}footer{padding:10px}.row h2{font-size:22px}}
.return-home{display:inline-block;margin-bottom:14px;padding:8px 12px;border:1px solid #997239;border-radius:6px;background:#061016;color:#f6d89c;text-decoration:none}
.chamber-current{position:fixed;inset:0 0 0 48%;pointer-events:none;overflow:hidden}
.chamber-current::before,.chamber-current::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 55% 45%,#52e5fa25,transparent 55%);animation:fluid-current 10s ease-in-out infinite alternate}
.chamber-current::after{background:radial-gradient(ellipse at 53% 48%,#78edff45,transparent 48%);opacity:0;animation:none;transition:opacity .4s}
.telepathy-active .chamber-current::after{opacity:1}
main{position:relative}
@keyframes fluid-current{from{transform:translateY(2%);opacity:.25}to{transform:translateY(-3%);opacity:.65}}
@media(max-width:850px){.chamber-current{left:0;bottom:auto;height:320px}}
@media(prefers-reduced-motion:reduce){.chamber-current::before{animation:none}.chamber-current::after{transition:none}}

.fluid-particles {
 position:absolute; inset:4% 8% 6% 10%; opacity:.75;
 background-image:radial-gradient(circle at 14% 29%,#baf8ff 0 1px,transparent 3px),radial-gradient(circle at 68% 65%,#baf8ff 0 1.5px,transparent 4px),radial-gradient(circle at 37% 88%,#d1fcff 0 1px,transparent 3px);
 background-size:130px 190px,170px 240px,230px 290px;
 mask-image:radial-gradient(ellipse,#000 15%,transparent 76%);
}
@media(prefers-reduced-motion:no-preference){
 .fluid-particles{animation:fluid-rise 9s linear infinite}
 @keyframes fluid-rise{to{background-position:0 -190px,0 -240px,0 -290px}}
}

.chamber-motion {
 display:none; position:fixed; inset:0; width:100%; height:100%;
 object-fit:cover; object-position:65% center; pointer-events:none;
}
.chamber-motion.is-playing { display:block; }
@media(max-width:850px){.chamber-motion{object-position:70% top}}
@media(prefers-reduced-motion:reduce){.chamber-motion.is-playing{display:none}}
