:root{color-scheme:dark;font-family:'SFMono-Regular',Consolas,'Liberation Mono',monospace;background:#050505;color:#ff7900;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 50% 60%,#1b0d02 0,transparent 57%),#050505}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}button:focus-visible,a:focus-visible{outline:1px dashed #ff7900;outline-offset:8px}header{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:start;padding:30px 40px}.logo{font-size:42px;letter-spacing:-5px;font-weight:900;text-decoration:none;color:#f5f0e8;line-height:1}.logo span{display:block;font-size:10px;letter-spacing:4px;margin:12px 0 0 4px;color:#ff7900}.room{text-align:center;font-size:11px;line-height:1.8;letter-spacing:2px;color:#b8b5b0}.room span{font-size:9px;color:#64615b}#reset{font-size:11px;letter-spacing:1px;padding:6px 0;color:#8b8379}main{max-width:1440px;margin:auto;position:relative;padding:170px 35px 0}.apparatus{position:absolute;top:-125px;left:50%;transform:translateX(-50%);width:380px;height:290px;background:url('brand.png') center top/540px auto no-repeat;opacity:.7;mask-image:linear-gradient(#000 65%,transparent);pointer-events:none}.room-label{font-size:10px;letter-spacing:3px;text-align:center;color:#706257;position:relative;margin-bottom:45px}.subjects{display:grid;grid-template-columns:repeat(3,1fr);gap:6vw}.subject{padding:0;min-width:0;position:relative;text-align:center;transition:filter .3s,transform .3s;filter:brightness(.75)}.subject:hover,.subject.selected{filter:brightness(1.2);transform:translateY(-5px)}.serial{font-size:9px;letter-spacing:2px;color:#766559}.subject pre{font-family:inherit;font-size:clamp(6px,.87vw,13px);line-height:1.02;letter-spacing:0;margin:25px auto;text-shadow:0 0 20px #ff6b0030;user-select:none}.name{display:block;letter-spacing:7px;font-size:20px;color:#f5e9dc}.name span{display:block;font-size:10px;letter-spacing:1px;color:#847365;margin-top:12px}.thought{display:block;min-height:44px;font-size:12px;line-height:1.6;color:#a49789;margin:23px 0 0}.floor{overflow:hidden;white-space:nowrap;text-align:center;color:#5e300e;font-size:15px;letter-spacing:4px;margin:8px 0 30px}.console{text-align:center;min-height:135px}#readout{font-size:11px;letter-spacing:1px;color:#b6a38f;line-height:1.8;min-height:24px}.controls{display:flex;justify-content:center;gap:36px;margin:22px 0}.controls button{font-size:11px;letter-spacing:1px;padding:8px 3px}.controls button:hover{color:#fff}.note{font-size:8px;letter-spacing:1px;color:#5c554e;margin:28px 0}footer{display:flex;justify-content:space-between;gap:20px;padding:30px 40px;font-size:9px;letter-spacing:2px;color:#6d6157}.scanlines{position:fixed;inset:0;pointer-events:none;z-index:10;background:repeating-linear-gradient(transparent 0 3px,#0002 3px 4px);opacity:.4}body.dark .apparatus{opacity:.12}body.dark{background:#020202}.subject.stressed pre{color:#ffab5f}.subject.selected .serial{color:#ff7900}@media(prefers-reduced-motion:no-preference){.subject pre{animation:breathe 5s ease-in-out infinite}.subject:nth-child(2) pre{animation-delay:-2s}.subject:nth-child(3) pre{animation-delay:-3.7s}@keyframes breathe{50%{translate:0 -5px}}}@media(min-width:1600px){main{padding-top:210px}.room-label{margin-bottom:65px}}@media(max-width:650px){header{padding:24px 20px}.logo{font-size:34px}.room{font-size:8px;letter-spacing:1px}.room span{font-size:7px}#reset{font-size:9px}main{padding:160px 12px 0}.apparatus{width:260px;background-size:400px auto;height:240px;top:-85px}.subjects{gap:8px}.room-label{font-size:8px;letter-spacing:1px;margin-bottom:32px}.subject pre{font-size:clamp(3.5px,1.3vw,8px);margin:22px 0}.serial{font-size:7px;letter-spacing:0}.name{font-size:15px;letter-spacing:3px}.name span{font-size:8px;letter-spacing:0}.thought{font-size:10px;min-height:58px}.controls{gap:12px}.controls button{font-size:9px}#readout{font-size:10px}.note{font-size:7px;line-height:1.8}footer{padding:30px 16px;font-size:7px;letter-spacing:1px}footer span:nth-child(2){display:none}}
.apparatus{top:0;height:145px;mask-image:linear-gradient(#000 70%,transparent)}
@media(max-width:650px){.apparatus{top:8px;height:110px}}
/* Smooth subjects: geometry is also the animated state display. */
.subject{filter:none}.subject:hover,.subject.selected{filter:none}.dot{display:block;position:relative;width:clamp(100px,19vw,265px);aspect-ratio:1;margin:35px auto;background:#eeece7;border-radius:50%;box-shadow:0 22px 65px #0008;transition:background .8s,transform .6s}.face{position:absolute;inset:0;transition:translate .6s}.eye{position:absolute;top:37%;height:13%;width:7%;border-radius:50%;background:#161616;transform-origin:center}.eye.left{left:31%}.eye.right{right:31%}.mouth{position:absolute;left:39%;top:61%;width:22%;height:10%;border-bottom:5px solid #161616;border-radius:0 0 50% 50%;transition:all .45s}.subject:nth-child(2) .eye{height:7%;top:41%;border-radius:6px}.subject:nth-child(2) .mouth{height:0;border-radius:0;top:66%}.subject:nth-child(3) .mouth{width:8%;left:46%;height:8%;background:#161616;border:0;border-radius:50%}.subject.selected .dot{box-shadow:0 0 65px #ff790015,0 22px 65px #0008}.subject[data-mood="dark"] .eye{height:17%;top:34%}.subject[data-mood="dark"] .mouth{background:#161616;border:0;border-radius:50%;width:15%;height:19%;left:42.5%;top:58%}.subject[data-mood="release"] .eye{height:6%;border-radius:50% 50% 0 0;top:41%}.subject[data-mood="release"] .mouth{width:26%;left:37%;height:12%;border-radius:0 0 60% 60%;background:transparent;border-bottom:5px solid #161616}.subject[data-mood="signal"] .face{translate:3% -2%}.subject[data-mood="dark"] .dot{background:#d4c9ba}.subject.selected .serial{color:#ff7900}@media(prefers-reduced-motion:no-preference){.dot{animation:dot-float 5s ease-in-out infinite}.subject:nth-child(2) .dot{animation-delay:-1.7s}.subject:nth-child(3) .dot{animation-delay:-3.4s}.eye{animation:blink 6s infinite}.subject:nth-child(2) .eye{animation-delay:-2s}.subject:nth-child(3) .eye{animation-delay:-4s}.subject[data-mood="dark"] .dot{animation:dot-tremble .22s ease-in-out 5,dot-float 5s 1.1s ease-in-out infinite}@keyframes dot-float{50%{translate:0 -9px;scale:1.015 .985}}@keyframes blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.08)}}@keyframes dot-tremble{25%{translate:-2px 0}75%{translate:2px 0}}}@media(max-width:650px){.dot{width:clamp(80px,25vw,155px);margin:27px auto}.mouth{border-bottom-width:3px}.subject[data-mood="release"] .mouth{border-bottom-width:3px}}
body{background:radial-gradient(ellipse at 50% 48%,#141414,transparent 64%),#050505}header{padding:32px 4vw}.logo{font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;font-size:36px;letter-spacing:-2px;font-weight:700}.logo span{font-family:'SFMono-Regular',Consolas,monospace;font-size:8px;letter-spacing:3px}.room{font-size:10px;color:#a1a1a1}.room span{color:#626262}#reset{color:#858585;font-size:10px}main{padding-top:135px}.apparatus{opacity:.28;height:95px;background-size:420px auto;width:280px;top:-8px}.room-label{font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;font-size:clamp(28px,3vw,48px);font-weight:300;letter-spacing:-1.5px;color:#bcbcbc;margin-bottom:60px}.subjects{gap:7vw}.serial{color:#666;font-size:9px}.name{font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;font-size:22px;font-weight:400;letter-spacing:2px}.name span{color:#666;font-family:'SFMono-Regular',Consolas,monospace;font-size:9px}.thought{color:#8c8c8c;font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;font-size:14px}.floor{height:1px;background:linear-gradient(90deg,transparent,#ffffff12,transparent);font-size:0;margin:30px auto;width:80%}.controls{display:inline-flex;gap:6px;margin:12px auto;padding:5px;border:1px solid #ffffff12;border-radius:40px;background:#14141480;backdrop-filter:blur(16px)}.controls button{padding:14px 25px;border-radius:30px;color:#b5b5b5;font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;font-size:12px;letter-spacing:0}.controls button:hover{background:#ffffff0a;color:white}.controls button[data-event="dark"]{color:#ff8b32;background:#ff79000b}.note{color:#545454;letter-spacing:1px}.scanlines{opacity:.13}footer{color:#535353;font-size:8px}#readout{font-size:9px;letter-spacing:1.3px;color:#8e7d6f}@media(min-width:1600px){main{padding-top:140px}.room-label{margin-bottom:65px}}@media(max-width:650px){header{padding:24px 20px}.logo{font-size:30px}main{padding-top:120px}.room-label{font-size:27px;letter-spacing:-1px;margin-bottom:45px}.apparatus{top:0;height:80px;background-size:340px auto;width:230px}.subjects{gap:8px}.thought{font-size:11px;padding:0 4px}.name{font-size:16px}.name span{font-size:8px}.controls button{padding:12px 19px;font-size:11px}.room{font-size:8px;letter-spacing:1px}.room span{font-size:6px}#reset{font-size:8px}}
/* Plush character assets retain the supplied silhouettes and accessories. */
.dot{background-color:transparent;background-image:url('characters.png');background-repeat:no-repeat;background-size:300% 100%;border-radius:0;box-shadow:none!important;width:clamp(120px,23vw,320px);filter:drop-shadow(0 25px 20px #0008)}
.subject:nth-child(1) .dot{background-position:0% center}.subject:nth-child(2) .dot{background-position:50% center}.subject:nth-child(3) .dot{background-position:100% center}.dot .face{display:none}.subject[data-mood="dark"] .dot{background-color:transparent;filter:brightness(.64) drop-shadow(0 20px 20px #000)}.subject[data-mood="release"] .dot{filter:brightness(1.08) drop-shadow(0 20px 22px #ffffff08)}.subject[data-mood="signal"] .dot{transform:rotate(-5deg)}.subject:nth-child(2)[data-mood="signal"] .dot{transform:rotate(5deg)}
@media(max-width:650px){.dot{width:clamp(88px,28vw,180px)}}

/* Keep the chamber clear; branding belongs in the corner. */
main{padding-top:60px}.logo{font-size:30px;letter-spacing:-1.3px}.room-label{margin-bottom:60px}@media(min-width:1600px){main{padding-top:70px}}@media(max-width:650px){main{padding-top:55px}.logo{font-size:24px}.room-label{margin-bottom:40px}}
.x-link{font:12px -apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;color:#ddd;text-decoration:none;padding:9px 14px;border:1px solid #ffffff22;border-radius:20px}.x-link:hover{background:#ffffff0a;color:white}.test-label{font-size:8px;letter-spacing:2px;color:#726960}.pressure-track{width:180px;height:2px;background:#ffffff0c;margin:24px auto;overflow:hidden}.pressure-track span{display:block;width:12%;height:100%;background:#a89d90;transition:width 2s,background 2s}.stress-active .pressure-track span{width:90%;background:#ff7900}.dot::after{content:"";position:absolute;inset:0;background-image:url('characters-fear.png');background-size:300% 100%;background-repeat:no-repeat;opacity:0;transition:opacity .8s}.subject:nth-child(1) .dot::after{background-position:0% center}.subject:nth-child(2) .dot::after{background-position:50% center}.subject:nth-child(3) .dot::after{background-position:100% center}.subject[data-mood="stress"] .dot{background-image:none}.subject[data-mood="stress"] .dot::after{opacity:1}.stress-active{background:radial-gradient(ellipse at 50% 55%,#211108,transparent 68%),#050505}@media(prefers-reduced-motion:no-preference){.subject[data-mood="stress"] .dot{animation:dot-tremble .3s ease-in-out infinite}.subject:nth-child(2)[data-mood="stress"] .dot{animation-delay:-.1s}.subject:nth-child(3)[data-mood="stress"] .dot{animation-delay:-.2s}}@media(max-width:650px){.x-link{font-size:10px;padding:8px 10px}}
.invite{max-width:780px;margin:42px auto 25px;padding:25px 0;border-top:1px solid #ffffff10;display:flex;justify-content:space-between;align-items:center;gap:30px}.invite-kicker{font-size:8px;letter-spacing:2px;color:#746a61}.invite h2{font:300 25px -apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;color:#d4d4d4;letter-spacing:-.6px;margin:12px 0}.invite p{font:12px/1.6 -apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;color:#717171;margin:0}.invite a{font-size:11px;white-space:nowrap;color:#b9afa6;text-decoration:none;border-bottom:1px solid #6e4830;padding:12px 0}.invite a span{color:#ff7900;margin-left:15px}.invite a:hover{color:#fff}@media(max-width:650px){.invite{margin:30px 15px;gap:15px;align-items:start;flex-direction:column}.invite h2{font-size:23px}}
/* Both aligned poses remain rendered, allowing a live state transition. */
.subject[data-mood="stress"] .dot{background-image:url('characters.png')}.dot::before{content:"";position:absolute;inset:0;background:#050505;opacity:0;transition:opacity .65s}.subject[data-mood="stress"] .dot::before{opacity:1}.dot::after{transition:opacity .65s}
.dot,.subject[data-mood="stress"] .dot{background-image:none}.dot::before{background-color:transparent;background-image:url('characters.png');background-size:300% 100%;background-repeat:no-repeat;opacity:1}.subject:nth-child(1) .dot::before{background-position:0% center}.subject:nth-child(2) .dot::before{background-position:50% center}.subject:nth-child(3) .dot::before{background-position:100% center}.subject[data-mood="stress"] .dot::before{opacity:0}
.live-expression{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0}.subject[data-mood="stress"] .live-expression{opacity:1}.gasp{position:absolute;left:42%;top:45%;width:16%;height:17%;border-radius:48% 48% 42% 42%;background:radial-gradient(ellipse at 50% 95%,#473433,#120f12 70%);transform-origin:center}.subject:nth-child(2) .gasp{left:42%;top:52%;width:15%;height:13%}.subject:nth-child(3) .gasp{left:44%;top:52%;width:16%;height:13%}.pupil{position:absolute;width:4.5%;height:4.5%;background:#060606;border-radius:50%;box-shadow:inset 1px 1px 2px #ffffff50}.pupil-left{left:34%;top:26%}.pupil-right{left:66%;top:26%}.subject:nth-child(2) .pupil-left{left:36%;top:37%}.subject:nth-child(2) .pupil-right{left:59%;top:37%}.subject:nth-child(3) .pupil-left{left:43%;top:41%}.subject:nth-child(3) .pupil-right{left:60%;top:41%}@media(prefers-reduced-motion:no-preference){.gasp{animation:gasp 1.4s ease-in-out infinite}.pupil{animation:nervous-gaze 2.6s ease-in-out infinite}.subject:nth-child(2) .gasp{animation-delay:-.5s}.subject:nth-child(3) .gasp{animation-delay:-.9s}.subject:nth-child(2) .pupil{animation-delay:-.8s}.subject:nth-child(3) .pupil{animation-delay:-1.5s}@keyframes gasp{0%,100%{scale:.88 .75}45%{scale:1.06 1.18}70%{scale:.98 .95}}@keyframes nervous-gaze{0%,100%{translate:-2px 0}25%{translate:2px -1px}45%{translate:1px 1px}70%{translate:-1px -1px}}}
.live-expression .pupil{display:none}.gasp{left:41%;top:42%;width:20%;height:21%}.subject:nth-child(2) .gasp{left:40%;top:49%;width:20%;height:18%}.subject:nth-child(3) .gasp{left:42%;top:49%;width:21%;height:18%}
/* Tight, irregular distress motion without flashing or large displacement. */
@media(prefers-reduced-motion:no-preference){
.subject[data-mood="stress"] .dot{animation:distress-jitter 110ms steps(2,end) infinite}
.subject:nth-child(2)[data-mood="stress"] .dot{animation-duration:95ms;animation-delay:-37ms}
.subject:nth-child(3)[data-mood="stress"] .dot{animation-duration:125ms;animation-delay:-61ms}
@keyframes distress-jitter{0%{translate:-1px 1px;rotate:-.35deg}25%{translate:1.5px -1px;rotate:.3deg}50%{translate:-1.5px -.5px;rotate:-.2deg}75%{translate:1px 1.5px;rotate:.35deg}100%{translate:-1px 1px;rotate:-.35deg}}
}

#motion-toggle{font-size:11px;color:#c3b4a5;padding:10px 15px;margin:0 0 18px;border:1px solid #ffffff25;border-radius:20px}
html[data-motion="on"] .subject[data-mood="stress"] .dot{animation:distress-jitter-visible 100ms steps(2,end) infinite}
html[data-motion="on"] .subject:nth-child(2)[data-mood="stress"] .dot{animation-duration:85ms;animation-delay:-31ms}
html[data-motion="on"] .subject:nth-child(3)[data-mood="stress"] .dot{animation-duration:115ms;animation-delay:-57ms}
html[data-motion="on"] .gasp{animation:gasp 1.4s ease-in-out infinite}
html[data-motion="off"] .dot,html[data-motion="off"] .gasp{animation:none!important}
@keyframes distress-jitter-visible{0%,100%{transform:translate(-2px,1px) rotate(-.5deg)}25%{transform:translate(2px,-2px) rotate(.5deg)}50%{transform:translate(-2px,-1px) rotate(-.3deg)}75%{transform:translate(1px,2px) rotate(.4deg)}}

.blade-mount{position:absolute;z-index:4;left:50%;top:-30px;translate:-50% 0;width:clamp(100px,16vw,220px);aspect-ratio:1;pointer-events:none;filter:drop-shadow(0 8px 12px #000b)}.blade{display:block;width:100%;height:100%;object-fit:contain;transform-origin:50% 50%;opacity:.95}
.subject{margin-top:100px}.serial{position:relative;top:-95px}
html[data-motion="on"] .blade{animation:blade-spin .18s linear infinite}html[data-motion="off"] .blade{animation:none}
@keyframes blade-spin{to{transform:rotate(360deg)}}
@media(max-width:650px){.subject{margin-top:65px}.serial{top:-60px}.blade-mount{width:24vw;top:-10px}}
.blade-mount{top:-100px}.blade{filter:brightness(.65) contrast(1.2)}@media(max-width:650px){.blade-mount{top:-42px}}
/* Tilt the mount independently from the blade's local spinning axis. */
.blade-mount{transform:perspective(700px) rotateY(-28deg) rotateX(12deg) rotateZ(-9deg);transform-style:preserve-3d}
.subject:nth-child(2) .blade-mount{transform:perspective(700px) rotateY(23deg) rotateX(-10deg) rotateZ(7deg)}
.subject:nth-child(3) .blade-mount{transform:perspective(700px) rotateY(-24deg) rotateX(15deg) rotateZ(-6deg)}

.logo{display:inline-flex;align-items:center;gap:9px}.brand-blade{width:30px;height:30px;object-fit:contain;animation:blade-spin .8s linear infinite;filter:brightness(.9)}@media(max-width:650px){.brand-blade{width:24px;height:24px}.logo{gap:6px}}
/* Expandable fictional character streams. */
.subject:hover,.subject.selected{transform:none}.test-toggle{margin:23px auto 0;min-height:44px;padding:8px 4px;color:#c5b8aa;border-bottom:1px solid #ffffff20}.test-toggle span{margin-left:12px;color:#ff7900}.test-toggle:hover{color:#fff}.test-panel{margin-top:18px;padding:18px 14px;text-align:left;background:linear-gradient(145deg,#19110c,#080808);border:1px solid #ffffff12;border-radius:8px;animation:panel-enter .25s ease-out}.test-panel[hidden]{display:none}.feed-label{font-size:8px;letter-spacing:1.5px;color:#897666;margin-bottom:15px}.thought-feed{list-style:none;margin:0;padding:0;height:205px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#604329 transparent}.thought-feed li{display:flex;gap:10px;padding:12px 0;border-top:1px solid #ffffff08;animation:panel-enter .3s ease-out}.thought-feed li>span{font-size:8px;color:#94613c;padding-top:3px}.thought-feed p{margin:0;font:12px/1.65 -apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;color:#c1b8ae}@keyframes panel-enter{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:650px){.test-panel{padding:12px 7px}.thought-feed li{gap:4px}.thought-feed p{font-size:10px}.feed-label{font-size:6px;letter-spacing:.4px}.test-toggle span{margin-left:3px}.test-toggle{font-size:9px}}
