﻿/* A small, spectacular machine. All artwork here is CSS; the live field is canvas. */
.engine-teaser{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:85px;padding-bottom:23px;overflow:hidden;border-block:1px solid #393232;background:radial-gradient(ellipse at 80% 45%,#49131532,transparent 59%),#101110}
.engine-teaser::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(120deg,transparent 55%,#ff373c03 55%,#ff373c03 56%,transparent 56%)}
.engine-teaser-copy{position:relative;z-index:2;padding-bottom:26px}.engine-teaser .section-kicker{font-size:8px;letter-spacing:1px;color:#9b9696}.engine-teaser .section-kicker>span{color:var(--accent)}
.engine-teaser h2{font:700 clamp(65px,7.6vw,118px)/.87 var(--display);letter-spacing:-1.5px;position:relative;width:max-content}.engine-teaser h2>span{color:var(--accent)}.engine-teaser h2>i{position:absolute;right:-52px;bottom:0;font:normal 55px/1 var(--body);color:#e3dfda}
.engine-teaser-manifesto{margin-top:27px;font:600 15px/1.35 var(--body);letter-spacing:2px;color:#dedbd7}.engine-teaser-description{margin-top:15px;max-width:380px;font:14px/1.75 var(--body);color:#939090}
.engine-launch{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px;margin-top:29px;padding:17px 21px;border:1px solid #fa494e;background:#ff373c;color:#110b0b;box-shadow:0 0 0 0 #ff373c00;transition:box-shadow .3s,background .3s,transform .3s;text-align:left;font:700 12px var(--mono);letter-spacing:.7px;max-width:100%}.engine-launch small{display:block;font:8px var(--mono);letter-spacing:.2px;opacity:.68;margin-top:7px}.engine-launch-arrow{font:32px var(--body);transition:transform .3s}.engine-launch:hover{background:#ff5559;box-shadow:0 0 45px #ff373c33;transform:translateY(-3px)}.engine-launch:hover .engine-launch-arrow{transform:translate(3px,-3px)}
.engine-teaser-art{position:relative;background:transparent;isolation:isolate;align-self:stretch;min-width:0;min-height:490px;margin-right:-4%;overflow:visible;cursor:pointer}.engine-art-grid{position:absolute;inset:9% -3% 8%;opacity:.24;background-image:linear-gradient(#7772 1px,transparent 1px),linear-gradient(90deg,#7772 1px,transparent 1px);background-size:39px 39px;mask-image:radial-gradient(ellipse,#000,transparent 73%)}
.engine-art-coordinate{position:absolute;left:6%;right:1%;font:7px/1.7 var(--mono);letter-spacing:1.4px;color:#989191;text-align:left;z-index:3}.engine-art-coordinate-top{top:0;display:flex;justify-content:space-between;gap:15px}.engine-art-coordinate-top>span{color:#776e6e;font-size:6px}.engine-art-coordinate-bottom{bottom:29px;display:flex;align-items:center;gap:9px;font-size:7px}.engine-art-coordinate-bottom>span:last-child{margin-left:auto;font:24px/1 var(--body);color:var(--accent)}
.engine-lens{position:absolute;inset:0;margin:auto;width:88%;aspect-ratio:1;max-height:470px;max-width:470px;transform-style:preserve-3d;transform:perspective(900px) rotateX(var(--engine-rx,0deg)) rotateY(var(--engine-ry,0deg));transition:transform .3s ease-out;pointer-events:none}.engine-lens-halo{position:absolute;inset:-7%;border-radius:50%;background:radial-gradient(circle,transparent 25%,#ff373c0a 32%,#ff373c22 33%,transparent 35%,#ff373c08 42%,transparent 62%);filter:blur(11px)}
.engine-lens-core{position:absolute;inset:26%;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 31% 24%,#8b4a4829,transparent 43%),radial-gradient(circle,#0a0b0c 45%,#1c1011 62%,#7b2023 68%,#ff4b50 69%,#fcd5d6 69.5%,#542628 70%,transparent 72%);box-shadow:inset 0 0 50px #000,0 0 40px #ff373c13;transform:translateZ(23px)}.engine-lens-core b{font:italic 700 clamp(55px,6.7vw,95px)/1 var(--display);letter-spacing:-.1em;padding-right:.13em;color:#ded5d4;transform:rotate(-10deg);text-shadow:3px 3px #ff373c52,0 0 20px #ff373c24}
.engine-lens-orbit{position:absolute;inset:15%;border-radius:50%;border:1px solid #ff666999;box-shadow:0 0 14px #ff373c20;transform:rotate(-35deg) scaleY(.52);z-index:2}.engine-lens-orbit::before{content:"";position:absolute;inset:-2px;border-radius:50%;border:3px solid transparent;border-right-color:#ff454b;border-top-color:#ff454b;filter:drop-shadow(0 0 5px #ff373ca6)}.engine-lens-orbit::after{content:"";position:absolute;right:13%;top:9%;width:10px;height:10px;border-radius:50%;background:#ffeae5;box-shadow:0 0 17px #ff373c,0 0 50px #ff373c}
.engine-lens-orbit.orbit-a{inset:2%;transform:rotate(-32deg) scaleY(.4);border-color:#ff373c55}.engine-lens-orbit.orbit-b{inset:6%;transform:rotate(55deg) scaleY(.6);border-color:#d6d1c666;box-shadow:none}.engine-lens-orbit.orbit-b::before{border-color:transparent;border-bottom-color:#d7cfc5;border-left-color:#c1b7ae66;border-width:1px;filter:none}.engine-lens-orbit.orbit-b::after{width:5px;height:5px;right:3%;top:27%;background:#fff1de;box-shadow:0 0 15px #f6bfb3}
.engine-lens-orbit.orbit-c{inset:10%;transform:rotate(-11deg) scaleY(.87);border-color:#ff373c22;box-shadow:none}.engine-lens-orbit.orbit-c::before{border-width:1px;border-top-color:#ff373c88;border-right-color:transparent;filter:none}.engine-lens-orbit.orbit-c::after{display:none}.engine-lens-ticks{position:absolute;inset:3%;border-radius:50%;opacity:.5;background:repeating-conic-gradient(from 0deg,#b7989755 0deg 1deg,transparent 1deg 5deg);mask-image:radial-gradient(circle,transparent 66%,#000 66% 67%,transparent 67%);animation:engine-turn 80s linear infinite paused}.engine-in-view .engine-lens-ticks{animation-play-state:running}
.engine-fragment{position:absolute;display:block;background:linear-gradient(140deg,#f0e2dc,#928c88 33%,#332e30 34%,#171619 65%,#51474a 66%,#a29898);clip-path:polygon(20% 0,80% 12%,100% 78%,37% 100%,0 49%);filter:drop-shadow(2px 10px 8px #0008);z-index:3;animation:engine-drift 7s ease-in-out infinite alternate paused}.engine-in-view .engine-fragment{animation-play-state:running}.fragment-a{width:55px;height:65px;left:9%;top:30%;--fragment-angle:-24deg}.fragment-b{width:31px;height:39px;right:13%;top:17%;--fragment-angle:32deg;animation-delay:-3s}.fragment-c{width:47px;height:53px;right:17%;bottom:14%;--fragment-angle:90deg;animation-delay:-5s}.fragment-d{width:18px;height:23px;left:24%;bottom:12%;--fragment-angle:15deg;animation-delay:-2s}.engine-lens-cross{position:absolute;color:#a78787;font:17px/1 var(--mono)}.engine-lens-cross.cross-a{top:6%;left:9%}.engine-lens-cross.cross-b{bottom:15%;right:4%}
.engine-teaser-foot{grid-column:1/-1;display:flex;justify-content:space-between;gap:16px;padding-top:19px;border-top:1px solid #453234;font:7px/1.6 var(--mono);letter-spacing:1px;color:#857d7e}.engine-teaser-foot>span:first-child{color:#d0b9b9}.engine-quick-launch{min-height:44px;background:none;display:flex;align-items:center;gap:8px;color:#b5aaa8;font:7px var(--mono);letter-spacing:.8px}.engine-quick-launch>span:first-child{font:17px var(--body);color:var(--accent)}.engine-quick-launch:hover{color:#fff}
.engine-signal{display:inline-block;width:5px;height:5px;flex:none;border-radius:50%;background:var(--accent);box-shadow:0 0 12px #ff373c88}

/* Fullscreen apparatus. All pointer events fall through the HUD to the field. */
#engine-dialog{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;padding:0;border:0;background:#060708;color:#ece7e3;overflow:hidden;box-shadow:none;isolation:isolate;overscroll-behavior:none}#engine-dialog::backdrop{background:#060708;backdrop-filter:none}#engine-dialog button{touch-action:manipulation}#engine-dialog button:focus-visible,#engine-canvas:focus-visible{outline:2px solid #ff999c;outline-offset:-3px}#engine-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;cursor:crosshair;outline:none!important}.engine-pulling #engine-canvas{cursor:grabbing}
.engine-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#030405b8,transparent 22%,transparent 61%,#030405e8),radial-gradient(ellipse,transparent 40%,#03040570);z-index:1}.engine-vignette::after{content:"";position:absolute;inset:0;border:1px solid #ee373b12;box-shadow:inset 0 0 100px #ff373c00}.engine-impact .engine-vignette::after{animation:engine-impact-flash .6s ease-out both}
.engine-hud-top{position:absolute;top:max(27px,env(safe-area-inset-top));left:34px;right:28px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:15px;pointer-events:none}.engine-identity{display:flex;align-items:center;gap:15px}.engine-identity-mark{font:italic 700 33px/.9 var(--display);color:var(--accent);letter-spacing:-3px;transform:rotate(-8deg);padding-right:4px}.engine-identity h2{font:700 23px/1 var(--display);letter-spacing:1.4px}.engine-identity p{font:6px/1.4 var(--mono);letter-spacing:1.6px;margin-top:7px;color:#857d7d}.engine-exit{pointer-events:auto;display:flex;align-items:center;gap:20px;min-height:44px;min-width:44px;background:#17171a80;border:1px solid #7d777c55;padding:0 13px;font:7px var(--mono);letter-spacing:1px;color:#c4bfc0;transition:background .2s,border-color .2s}.engine-exit b{font:27px/1 var(--body);font-weight:400}.engine-exit:hover{background:#ff373c1a;border-color:var(--accent);color:#fff}
.engine-field-label{position:absolute;top:111px;left:35px;z-index:2;display:flex;align-items:center;gap:8px;pointer-events:none;font:7px var(--mono);letter-spacing:1.7px;color:#93868a}.engine-readout{position:absolute;right:34px;top:112px;width:147px;display:flex;flex-direction:column;gap:12px;z-index:2;pointer-events:none;font:7px var(--mono);letter-spacing:1px;color:#93888b}.engine-readout>span:first-child{display:flex;justify-content:space-between;align-items:baseline}.engine-readout strong{font:600 16px var(--mono);letter-spacing:-.5px;color:#d5cdca}.engine-energy-label{display:flex;justify-content:space-between}.engine-energy-label b{font:inherit;color:#ef797c}.engine-energy-meter{height:2px;background:#ac656526}.engine-energy-meter i{display:block;height:100%;background:#ff454b;transform:scaleX(0);transform-origin:left;box-shadow:0 0 8px #ff373caa;transition:transform .25s linear}
.engine-hud-bottom{position:absolute;z-index:5;left:34px;right:34px;bottom:max(19px,env(safe-area-inset-bottom));pointer-events:none}.engine-instructions{display:flex;justify-content:space-between;gap:15px;font:7px/1.7 var(--mono);letter-spacing:1px;color:#a2999d;margin-bottom:17px}.engine-instructions i{font-style:normal;color:var(--accent);margin-inline:7px}.engine-key-hint{color:#706a70}.engine-touch-help{display:none}.engine-control-deck{display:flex;align-items:stretch;gap:12px;width:100%;pointer-events:auto}.engine-modes{display:flex;flex:1;min-width:0;border:1px solid #89818c50;background:#1010149e;backdrop-filter:blur(15px)}.engine-modes button{position:relative;min-height:65px;flex:1;min-width:0;padding:10px 12px;font:600 11px var(--mono);letter-spacing:.7px;background:transparent;color:#938992;transition:background .2s,color .2s;border-right:1px solid #89818c30;text-align:left}.engine-modes button:last-child{border-right:0}.engine-modes button small{display:block;font:6px var(--mono);color:#706773;margin-bottom:7px;letter-spacing:1px}.engine-modes button[aria-pressed=true]{color:#fff0eb;background:linear-gradient(#ff373c19,#ff373c05)}.engine-modes button[aria-pressed=true]::after{position:absolute;content:"";bottom:-1px;left:-1px;right:-1px;height:2px;background:var(--accent);box-shadow:0 0 14px #ff373c66}.engine-modes button[aria-pressed=true] small{color:#ff646a}.engine-modes button:hover{color:white;background:#ffffff0b}
.engine-chaos{flex:0 0 175px;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:65px;border:1px solid #ff6d70;background:#ff373c;color:#180c0e;padding:0 19px;font:700 11px var(--mono);letter-spacing:.5px;box-shadow:0 0 35px #ff373c18;transition:background .2s,box-shadow .2s}.engine-chaos>span{font:34px var(--body);transition:transform .4s}.engine-chaos:hover{background:#ff6064;box-shadow:0 0 35px #ff373c38}.engine-chaos:hover>span{transform:rotate(90deg)}.engine-chaos:active{background:#ffd4d0}
.engine-utilities{display:flex;border:1px solid #89818c40;background:#1010149e;backdrop-filter:blur(15px)}.engine-utilities button{min-width:71px;min-height:65px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;font:6px var(--mono);letter-spacing:.7px;color:#aaa0a8;padding:8px;background:transparent;border-right:1px solid #89818c30}.engine-utilities button:last-child{border-right:0}.engine-utilities button:hover{background:#ffffff0b;color:#fff}.engine-utilities button[aria-pressed=true]{color:#ff7478;background:#ff373c0e}.engine-control-icon{font:16px/1 var(--mono);height:17px}.engine-utilities svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4}.engine-footer-note{margin-top:16px;text-align:center;font:6px/1.5 var(--mono);letter-spacing:1.8px;color:#635a61}.engine-control-deck button:disabled{opacity:.3;cursor:default}.engine-control-deck button:disabled:hover{background:transparent}
.engine-pause-message,.engine-fallback{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);width:min(430px,calc(100% - 48px));z-index:4;text-align:center;padding:26px;background:linear-gradient(140deg,#111014ee,#0b0b10df);border:1px solid #b8959b3b;box-shadow:0 15px 90px #0008;backdrop-filter:blur(15px)}.engine-message-index{font:7px var(--mono);letter-spacing:2px;color:#e76b72}.engine-pause-message h3,.engine-fallback h3{font:700 35px/1 var(--display);letter-spacing:.5px;margin-top:16px}.engine-pause-message p,.engine-fallback p{font:13px/1.6 var(--body);color:#a898a2;margin:15px auto 0;max-width:290px}.engine-pause-message button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:48px;padding:0 20px;margin-top:20px;background:#ff373c;color:#160b0d;font:700 9px var(--mono);letter-spacing:1px}.engine-pause-message button:hover{background:#ff7377}.engine-pause-message button>span{font:22px var(--body)}
.engine-fallback{border:0;background:none;backdrop-filter:none;box-shadow:none;padding-top:80px}.engine-fallback-orb{position:absolute;top:-70px;left:50%;transform:translateX(-50%) rotate(-25deg);width:185px;height:185px;border-radius:50%;background:radial-gradient(circle,#08090b 43%,#41141b 44%,#ff595e 45%,#84232a 46%,transparent 47%);display:grid;place-items:center}.engine-fallback-orb::before,.engine-fallback-orb::after{content:"";position:absolute;inset:0;border:1px solid #ff6e7688;border-radius:50%;transform:scaleY(.4);box-shadow:0 0 35px #ff373c25}.engine-fallback-orb::after{transform:rotate(70deg) scaleY(.7);border-color:#dcd0cf66}.engine-fallback-orb b{font:italic 700 45px var(--display);letter-spacing:-4px;color:#dfcbce;transform:rotate(15deg)}
@keyframes engine-turn{to{transform:rotate(360deg)}}@keyframes engine-drift{from{transform:translateY(-8px) rotate(var(--fragment-angle,0deg))}to{transform:translateY(10px) rotate(calc(var(--fragment-angle,0deg) + 18deg))}}@keyframes engine-impact-flash{0%{box-shadow:inset 0 0 110px #ff373c3d}100%{box-shadow:inset 0 0 100px #ff373c00}}
@media(max-width:1100px){.engine-control-deck{gap:8px}.engine-modes button{font-size:9px;padding-inline:10px}.engine-chaos{flex-basis:147px;font-size:10px;padding-inline:14px}.engine-utilities button{min-width:61px;font-size:5px}.engine-key-hint{display:none}.engine-teaser-art{min-height:460px}.engine-teaser-manifesto{font-size:13px}}
@media(max-width:900px){.engine-quick-launch{display:none}.engine-hud-top{left:22px;right:22px}.engine-field-label{left:23px}.engine-readout{right:23px}.engine-hud-bottom{left:22px;right:22px}.engine-control-deck{flex-wrap:wrap}.engine-modes{flex-basis:calc(100% - 163px)}.engine-utilities{flex:1}.engine-utilities button{flex:1;min-height:44px;flex-direction:row;gap:9px;font-size:7px}.engine-footer-note{margin-top:12px}.engine-modes button{font-size:10px}.engine-chaos{flex-basis:155px}.engine-teaser{gap:16px}.engine-teaser h2{font-size:77px}.engine-teaser h2>i{font-size:40px;right:-38px}.engine-teaser .section-kicker{max-width:260px;line-height:1.8;font-size:7px}.engine-teaser-description{font-size:13px}.engine-launch{padding:15px 16px;font-size:10px;gap:15px}.engine-launch small{font-size:6px}.engine-art-coordinate-top>span{display:none}.engine-teaser-foot{font-size:6px;letter-spacing:.5px}}
@media(max-width:600px){.engine-teaser{grid-template-columns:1fr;padding-top:53px;gap:0}.engine-teaser-copy{padding-bottom:0}.engine-teaser .section-kicker{max-width:none;font-size:7px}.engine-teaser h2{font-size:clamp(68px,20vw,110px)}.engine-teaser h2>i{font-size:43px;right:-42px}.engine-teaser-manifesto{font-size:13px;margin-top:24px}.engine-teaser-description{max-width:340px;font-size:13px}.engine-launch{font-size:10px;min-height:73px;max-width:350px;width:100%;margin-top:24px}.engine-launch small{font-size:6px;letter-spacing:.2px}.engine-teaser-art{min-height:370px;margin:6px -8px 0}.engine-lens{width:90%;max-width:355px}.engine-lens-core b{font-size:75px}.engine-art-coordinate-top{top:19px;left:4%;right:4%;font-size:6px;letter-spacing:.8px}.engine-art-coordinate-top>span{display:block;font-size:5px}.engine-art-coordinate-bottom{bottom:16px;left:4%;right:4%;font-size:6px;letter-spacing:1px}.engine-teaser-foot{padding-top:15px;font-size:6px;line-height:1.8}.engine-teaser-foot>span:last-child{display:none}.engine-hud-top{top:max(15px,env(safe-area-inset-top));left:16px;right:13px;gap:10px}.engine-identity{gap:10px}.engine-identity-mark{font-size:27px}.engine-identity h2{font-size:19px;letter-spacing:.8px}.engine-identity p{font-size:5px;letter-spacing:.9px;margin-top:5px}.engine-exit{padding:0;justify-content:center;width:44px}.engine-exit>span{display:none}.engine-field-label{top:85px;left:17px;font-size:5px;letter-spacing:1px;gap:6px}.engine-readout{top:82px;right:17px;width:111px;gap:8px;font-size:5px;letter-spacing:.7px}.engine-readout strong{font-size:12px}.engine-hud-bottom{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.engine-instructions{font-size:6px;letter-spacing:.7px;justify-content:center;margin-bottom:12px}.engine-desktop-help{display:none}.engine-touch-help{display:inline}.engine-control-deck{gap:8px}.engine-modes{flex-basis:100%;order:0}.engine-modes button{font-size:9px;min-height:54px;padding:7px 10px;text-align:center;letter-spacing:.3px}.engine-modes button small{font-size:5px;margin-bottom:5px}.engine-chaos{order:1;flex:0 0 116px;min-height:48px;padding-inline:10px;font-size:8px;gap:8px;letter-spacing:.1px}.engine-chaos>span{font-size:22px}.engine-utilities{order:2;flex:1;min-width:0}.engine-utilities button{min-width:0;min-height:48px;gap:4px;flex-direction:column;font-size:5px;letter-spacing:0;padding:5px 3px}.engine-control-icon,.engine-utilities svg{font-size:14px;width:15px;height:15px}.engine-footer-note{font-size:5px;letter-spacing:.7px;margin-top:11px}.engine-pause-message{top:42%;padding:22px 16px;width:calc(100% - 36px);max-width:365px}.engine-pause-message h3,.engine-fallback h3{font-size:28px;letter-spacing:.2px}.engine-pause-message p,.engine-fallback p{font-size:12px;margin-top:11px}.engine-pause-message button{margin-top:15px;min-height:44px;font-size:8px}.engine-message-index{font-size:6px}.engine-fallback{top:43%;padding:65px 0 0}.engine-fallback-orb{width:145px;height:145px;top:-70px}.engine-fallback-orb b{font-size:38px}}
@media(max-height:550px) and (min-width:601px){.engine-hud-top{top:13px}.engine-identity h2{font-size:19px}.engine-identity p{display:none}.engine-field-label,.engine-readout{top:79px}.engine-hud-bottom{bottom:10px}.engine-control-deck{flex-wrap:nowrap}.engine-modes{flex-basis:auto}.engine-modes button{min-height:48px;font-size:8px;padding:7px}.engine-modes button small{margin-bottom:4px}.engine-chaos{flex-basis:120px;min-height:48px;font-size:8px;padding-inline:10px}.engine-chaos>span{font-size:25px}.engine-utilities{flex:0 0 162px}.engine-utilities button{min-width:0;flex-direction:column;gap:4px;font-size:5px;padding:5px}.engine-instructions{font-size:6px;margin-bottom:9px}.engine-footer-note{display:none}.engine-pause-message{top:45%;padding:15px 23px}.engine-pause-message h3{font-size:29px;margin-top:10px}.engine-pause-message p{font-size:12px;margin-top:9px}.engine-pause-message button{margin-top:12px;min-height:44px}}
@media(max-height:590px) and (max-width:600px){.engine-pause-message{top:40%;padding:17px 14px}.engine-pause-message h3{font-size:26px;margin-top:10px}.engine-pause-message p{font-size:11px;line-height:1.5}.engine-pause-message button{margin-top:12px}.engine-footer-note{margin-top:8px}.engine-instructions{margin-bottom:9px}.engine-fallback{top:40%;padding-top:35px}.engine-fallback-orb{top:-74px;width:115px;height:115px}.engine-fallback-orb b{font-size:29px}}
@media(min-width:601px) and (max-width:700px){.engine-teaser{grid-template-columns:1fr;gap:0;padding-top:55px}.engine-teaser-art{min-height:420px;margin-right:0}.engine-teaser-description{max-width:430px}.engine-lens{max-width:375px}.engine-art-coordinate-top{top:12px}.engine-art-coordinate-bottom{bottom:18px}.engine-teaser-foot{font-size:6px}}
body:has(#engine-dialog[open]) .engine-fragment,body:has(#engine-dialog[open]) .engine-lens-ticks{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.engine-fragment,.engine-lens-ticks{animation:none!important}.engine-lens{transform:none!important}.engine-impact .engine-vignette::after{animation:none!important}}
