:root{--paper:#f5f1e9;--ink:#4d5350;--line:#aeb5b0;--faint:#d8dcd7;--sage:#cbdad3;--sand:#e8d9c5;--coral:#d98278;--violet:#aaa1bf;--white:#fffdf8}*{box-sizing:border-box}html,body{min-height:100%}html{-webkit-text-size-adjust:100%;line-height:1.5}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans), Arial, sans-serif;margin:0;overflow:hidden}button{color:inherit;font:inherit;background:0 0;border:0;margin:0;padding:0}.minimal-game{--math-font:"Cambria Math","STIX Two Math","Times New Roman",serif;--scene-background:#f4f1ea;background:var(--scene-background);height:100dvh;min-height:100svh;position:relative;overflow:hidden}.device-gate{place-items:center;display:grid}.device-gate>*{visibility:visible!important}.device-checking{color:#747a76;font:500 10px/1 var(--font-geist-mono),monospace;letter-spacing:.08em}.screen-block{border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:min(420px,100% - 40px);color:var(--ink);text-align:center;justify-items:center;gap:14px;padding:28px;display:grid}.screen-block-mark{width:40px;height:24px;color:var(--coral);font:400 22px/1 var(--math-font);place-items:center;display:grid}.screen-block-kicker{color:var(--coral);font:600 9px/1 var(--font-geist-mono),monospace;letter-spacing:.16em}.screen-block h1{font:500 clamp(21px,3vw,30px)/1.1 var(--font-geist-sans),sans-serif;letter-spacing:-.04em;margin:2px 0 0}.screen-block p{color:#747a76;margin:0;font-size:12px;line-height:1.5}.world-scene{isolation:isolate;background:var(--scene-background);zoom:1.04;animation:.72s cubic-bezier(.17,.72,.18,1) both scene-enter;position:absolute;inset:0;overflow:hidden}.world-scene:before{display:none}.prologue-scene{background:var(--scene-background)}.prologue-grid{opacity:.72;pointer-events:none;position:absolute;inset:0;overflow:hidden}.prologue-grid i{background:var(--faint);transform-origin:0;animation:1.1s cubic-bezier(.18,.8,.18,1) both briefing-line;display:block;position:absolute}.prologue-grid i:first-child{width:84%;height:1px;top:24%;left:8%;transform:rotate(-5deg)}.prologue-grid i:nth-child(2){width:72%;height:1px;animation-delay:.12s;top:62%;left:5%;transform:rotate(7deg)}.prologue-grid i:nth-child(3){width:1px;height:79%;animation-delay:.22s;top:8%;left:64%}.prologue-grid i:nth-child(4){border:1px solid var(--line);background:0 0;border-radius:50%;width:210px;height:210px;animation:1.7s cubic-bezier(.18,.8,.18,1) both briefing-orbit;top:15%;left:76%}.prologue-copy{z-index:4;width:min(430px,55vw);position:absolute;top:20%;left:13%}.prologue-kicker{color:var(--coral);font:600 10px/1 var(--font-geist-mono),monospace;letter-spacing:.13em;text-transform:uppercase}.prologue-copy h1{color:var(--ink);font:500 clamp(30px,4.6vw,64px)/.92 var(--font-geist-sans),sans-serif;letter-spacing:-.06em;margin:18px 0 28px}.prologue-copy p{color:#6f7571;max-width:390px;margin:0 0 11px;font-size:clamp(12px,1.35vw,16px);line-height:1.55}.prologue-copy em{color:var(--coral);font:italic 700 1.25em/1 Georgia,serif}.prologue-copy button{margin-top:24px}.briefing-route{color:#7c827e;font:500 8px/1 var(--font-geist-mono),monospace;letter-spacing:.05em;align-items:center;gap:10px;display:flex;position:absolute;bottom:15%;left:13%}.briefing-route i{background:var(--line);width:clamp(22px,4vw,58px);height:1px}.prologue-scene .minimal-agent{animation:1s cubic-bezier(.18,.8,.18,1.2) .26s both briefing-agent;bottom:16%;left:auto;right:16%;scale:1.72}.set-briefing{background:var(--scene-background)}.set-briefing-lines{opacity:.7;pointer-events:none;position:absolute;inset:0;overflow:hidden}.set-briefing-lines i{background:var(--faint);transform-origin:0;animation:1.1s cubic-bezier(.18,.8,.18,1) both briefing-line;display:block;position:absolute}.set-briefing-lines i:first-child{width:88%;top:22%;left:5%;transform:rotate(-4deg)}.set-briefing-lines i:nth-child(2){width:1px;height:100%;animation-delay:.14s;top:0;left:63%}.set-briefing-lines i:nth-child(3){width:64%;animation-delay:.26s;top:74%;left:12%;transform:rotate(5deg)}.set-briefing-copy{z-index:4;width:min(480px,48vw);position:absolute;top:17%;left:12%}.set-briefing-copy>span{color:var(--coral);font:600 10px/1 var(--font-geist-mono),monospace;letter-spacing:.13em;text-transform:uppercase}.set-briefing-copy h1{font:500 clamp(42px,6vw,82px)/.86 var(--font-geist-sans),sans-serif;letter-spacing:-.07em;margin:18px 0 26px}.set-briefing-copy p{color:#6f7571;max-width:440px;margin:0 0 10px;font-size:clamp(12px,1.3vw,16px);line-height:1.55}.set-briefing-copy em{color:var(--coral);font:italic 700 1.2em/1 Georgia,serif}.set-briefing-copy button{margin-top:22px}.set-briefing-panel{z-index:3;width:min(390px,38vw);height:330px;position:absolute;top:20%;right:11%}.set-card{border:1px solid var(--line);width:155px;height:118px;color:var(--ink);background:#fffdf861;align-content:center;justify-items:center;gap:16px;animation:.76s cubic-bezier(.18,.8,.18,1.1) both set-card-in;display:grid;position:absolute;top:0}.set-card small,.set-briefing-result small{color:#858b87;font:500 8px/1 var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase}.set-card .math-tex{font-size:17px}.set-card-a{left:0}.set-card-b{animation-delay:.16s;right:0}.set-briefing-operator{color:var(--ink);font-size:26px;animation:.52s .3s both set-operator-in;position:absolute;top:39px;left:50%;transform:translate(-50%)}.set-briefing-result{color:#747a76;justify-items:center;gap:12px;animation:.7s cubic-bezier(.18,.8,.18,1.1) .36s both set-result-in;display:grid;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.set-briefing-result .math-tex{color:var(--ink);white-space:nowrap;font-size:18px}.set-briefing .minimal-agent{animation:1s cubic-bezier(.18,.8,.18,1.2) .3s both briefing-agent;bottom:12%;left:auto;right:14%;scale:1.42}.demo-mark{z-index:60;zoom:1.04;color:var(--coral);font:600 9px/1 var(--font-geist-mono),monospace;letter-spacing:.16em;text-transform:uppercase;position:fixed;top:20px;right:22px}.sound-toggle{z-index:61;width:30px;height:30px;color:var(--ink);cursor:pointer;zoom:1.04;background:0 0;border:0;justify-content:center;align-items:center;gap:2px;display:flex;position:fixed;top:10px;right:62px}.sound-toggle i{background:currentColor;width:1px;transition:height .18s,opacity .18s}.sound-toggle i:first-child{height:6px}.sound-toggle i:nth-child(2){height:12px}.sound-toggle i:nth-child(3){height:8px}.sound-toggle[aria-pressed=false] i{opacity:.35;height:3px}.sound-toggle:focus-visible{outline:1px solid var(--line);outline-offset:2px}.scene-number{color:var(--line);font:500 12px/1 var(--font-geist-mono),monospace;letter-spacing:.16em;position:absolute;top:24px;left:28px}.scene-whisper{color:#777d79;text-align:center;max-width:410px;margin:0;font-size:14px;line-height:1.5;position:absolute;top:7%;left:50%;transform:translate(-50%)}.scene-message{z-index:10;color:#737975;white-space:nowrap;margin:0;font-size:12px;position:absolute;bottom:76px;left:50%;transform:translate(-50%)}:is(.scene-number,.scene-whisper,.scene-message,.door-need,.set-case small,.world-object>span:last-child,.set-notation,.world-symbol,.phone-screen,.document-status,.spy-status,.camera-status,.prologue-copy,.briefing-route,.tiny-note p,.tiny-note code,.ending-scene>p,.ending-scene>span){--near:0;text-shadow:0 0 calc(14px * var(--near)) rgb(255 255 255/calc(.92 * var(--near)));transition:text-shadow 90ms linear,opacity .18s}.sky-lines,.floor-path{display:none}.archive-tower{z-index:-2;border:1px solid var(--line);background:#fffdf861;border-bottom:0;width:19%;height:56%;position:absolute;bottom:14%;left:5%}.archive-tower:before{content:"";border:1px solid var(--faint);height:46%;position:absolute;top:14%;left:16%;right:16%}.archive-tower:after,.archive-tower i{display:none}.door-need{color:var(--line);align-items:center;gap:11px;display:flex;position:absolute;top:13%;right:11%}.door-need>span{font:600 13px/1 var(--font-geist-mono),monospace}.door-need>.object-mark{transform:scale(1.08)}.door-need .set-equation-start{color:var(--ink);margin-right:1px}.door-need .set-equation-end{color:var(--ink);margin-left:1px}.archive-plinth{justify-content:center;align-items:end;gap:clamp(16px,2.8vw,40px);width:min(48%,640px);padding:0 24px 25px;display:flex;position:absolute;top:27%;left:25%}.archive-plinth:before,.archive-plinth:after{display:none}.world-object{color:#757b77;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:12px;min-width:82px;padding:11px 8px;font-size:11px;transition:transform .38s cubic-bezier(.16,.84,.17,1.22),opacity .18s;display:flex}.world-object>.object-mark{transform:scale(1.12)}:is(.world-object:hover:not(:disabled),.world-object:focus-visible:not(:disabled)){outline:none;transform:translateY(-9px)}.world-object:focus-visible .object-mark{box-shadow:0 0 0 4px #cbdad3bf}.world-object.selected{opacity:.28;transform:translateY(13px)scale(.9)}.world-object:disabled{cursor:default}.object-mark{width:42px;height:42px;color:var(--ink);flex:none;display:block;position:relative}.mark-key,.mark-photo,.mark-map,.mark-seal,.mark-ticket,.mark-tracker{background-position:50%;background-repeat:no-repeat;background-size:contain}.mark-key{background-image:url(/objects/key.svg)}.mark-photo{background-image:url(/objects/id-card.svg)}.mark-map{background-image:url(/objects/map.svg)}.mark-seal{background-image:url(/objects/seal.svg)}.mark-ticket{background-image:url(/objects/ticket.svg)}.mark-tracker{background-image:url(/objects/tracker.svg)}.set-case{border:1px solid var(--ink);background:#f5f1e9e6;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:250px;min-height:126px;padding:25px 16px 14px;display:flex;position:absolute;bottom:12%;left:49%;transform:translate(-50%)}.case-loop{border:1px solid var(--ink);border-bottom:0;border-radius:40px 40px 0 0;width:72px;height:24px;position:absolute;top:-24px;left:50%;transform:translate(-50%)}.case-members{justify-content:center;align-items:center;gap:7px;min-height:39px;display:flex}.case-members .object-mark{width:38px;height:38px;animation:.52s cubic-bezier(.15,.8,.2,1.3) both object-drop;transform:scale(.9)}.set-case small{color:#737975;font:500 12px/1.3 var(--font-geist-mono),monospace}.set-case em{color:var(--violet);font-size:7px;font-style:normal;position:absolute;bottom:6px;right:7px}.archive-scene.solved .set-case{animation:.6s cubic-bezier(.18,.8,.2,1.2) both case-seal}.minimal-agent{z-index:5;width:64px;height:72px;color:var(--ink);transform-origin:0 100%;pointer-events:none;position:absolute;bottom:14%;left:7%;scale:1.08}.e-glyph{z-index:2;width:42px;height:41px;color:var(--coral);text-shadow:1px 1px #4d535024;font:italic 700 48px/.84 Georgia,Times New Roman,serif;position:absolute;top:17px;left:13px;transform:rotate(-5deg)}.e-eyes{gap:3px;display:flex;position:absolute;top:10px;right:6px;transform:rotate(5deg)}.e-eyes i{background:var(--ink);border-radius:50%;width:3px;height:4px;display:block}.e-hat{z-index:4;width:51px;height:21px;position:absolute;top:0;left:7px;transform:rotate(-6deg)}.e-hat:before{content:"";border:1px solid var(--ink);background:var(--sand);clip-path:polygon(14% 100%,0 0,38% 12%,50% 31%,62% 12%,100% 0,86% 100%);border-bottom:0;width:25px;height:15px;position:absolute;top:0;left:14px}.e-hat:after{content:"";border-bottom:2px solid var(--ink);background:var(--sand);clip-path:polygon(0 35%,34% 0,66% 0,100% 35%,82% 100%,18% 100%);width:51px;height:5px;position:absolute;bottom:2px;left:0}.e-arm{z-index:1;background:var(--ink);width:21px;height:1px;position:absolute;top:38px}.e-arm:after{content:"";border:1px solid var(--ink);background:0 0;border-radius:50%;width:5px;height:5px;position:absolute;top:-2px}.e-arm-left{transform-origin:100%;left:2px;transform:rotate(-62deg)}.e-arm-left:after{left:-3px}.e-arm-right{transform-origin:0;right:0;transform:rotate(55deg)}.e-arm-right:after{right:-3px}.e-leg{z-index:1;background:var(--ink);transform-origin:top;width:1px;height:17px;position:absolute;top:54px}.e-leg:after{content:"";background:var(--ink);width:7px;height:2px;position:absolute;bottom:0}.e-leg-left{left:27px;transform:rotate(9deg)}.e-leg-left:after{right:0}.e-leg-right{left:39px;transform:rotate(-9deg)}.e-leg-right:after{left:0}.e-coat{z-index:0;opacity:.82;clip-path:polygon(8% 0,82% 0,100% 100%,57% 72%,34% 100%,0 75%);background:#2327257a;width:52px;height:31px;position:absolute;top:37px;left:8px;transform:skew(-13deg)}.e-briefcase{z-index:3;transform-origin:22px -8px;background:#232725b8;border:1px solid #303432;width:24px;height:17px;position:absolute;top:50px;left:-17px}.e-briefcase:before{content:"";border:1px solid #303432;border-bottom:0;width:9px;height:5px;position:absolute;top:-6px;left:7px}.minimal-agent:after{display:none}.phone-items{justify-content:center;align-items:center;gap:clamp(12px,2vw,28px);width:47%;display:flex;position:absolute;top:27%;left:16%}.field-phone{z-index:4;border:1px solid var(--ink);background:#fffdf8c7;border-radius:28px;width:278px;height:336px;padding:42px 20px 22px;transition:box-shadow .5s,transform .5s cubic-bezier(.18,.8,.18,1.1);position:absolute;top:19%;right:11%;overflow:hidden}.phone-speaker{background:var(--line);width:46px;height:2px;position:absolute;top:18px;left:50%;transform:translate(-50%)}.phone-screen{border:1px solid var(--line);text-align:center;background:#cbdad32e;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:232px;padding:14px;display:flex}.phone-set{width:100%;min-width:0;min-height:44px;font:500 13px/1 var(--math-font);justify-content:center;align-items:center;gap:5px;display:flex}.phone-set .object-mark{width:34px;height:34px;transform:scale(.78)}.chosen-set{color:#799a8d;gap:2px}.chosen-set .object-mark{width:31px;height:31px;transform:scale(.72)}.phone-screen b{color:var(--coral);font:600 13px/1.2 var(--font-geist-mono),monospace}.phone-screen small{color:#737975;max-width:155px;font-size:10px;line-height:1.4}.read-message{border:0;border-bottom:1px solid var(--ink);cursor:pointer;background:0 0;padding:5px 9px;font-size:10px;animation:.42s both arrow-appear;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.phone-scene.unlocked .field-phone{transform:translateY(-5px);box-shadow:0 0 0 8px #ffffff85,0 18px 55px #4d535017}.phone-scene.unlocked .phone-screen{animation:.68s cubic-bezier(.18,.8,.18,1.1) both phone-message}.security-camera{z-index:4;width:210px;height:210px;color:var(--ink);pointer-events:none;position:absolute;top:10%;right:4%}.camera-bracket{z-index:2;border-top:1px solid var(--ink);border-right:1px solid var(--ink);width:62px;height:44px;position:absolute;top:0;right:14px}.camera-bracket:after{content:"";background:var(--ink);transform-origin:100%;width:58px;height:1px;position:absolute;top:43px;right:0;transform:rotate(-22deg)}.camera-aim{z-index:1;transform-origin:0 0;width:1px;height:1px;animation:2.7s ease-in-out infinite alternate camera-pan;position:absolute;top:79px;left:150px}.camera-head{z-index:2;border:1px solid var(--ink);background:#fffdf8e6;border-radius:2px;width:84px;height:46px;position:absolute;top:-23px;left:-84px}.camera-head i{border:1px solid var(--ink);background:var(--paper);border-radius:50%;width:20px;height:20px;position:absolute;top:12px;left:8px;box-shadow:inset 0 0 0 5px #aaa1bf38}.camera-head i:after{content:"";background:var(--coral);border-radius:50%;position:absolute;inset:6px}.camera-field{z-index:0;opacity:.2;clip-path:polygon(0 4%,0 100%,100% 2%);transform-origin:100% 0;background:linear-gradient(90deg,#aaa1bf0d,#aaa1bf47);width:min(66vw,760px);height:190px;position:absolute;top:-4px;right:66px}.camera-status{z-index:3;color:#747a76;font:500 10px/1 var(--font-geist-mono),monospace;white-space:nowrap;position:absolute;top:152px;right:70px}.security-camera.decoyed .camera-aim{animation:.72s cubic-bezier(.18,.8,.18,1.2) .36s both camera-take-bait}.security-camera.decoyed .camera-field{animation:.76s cubic-bezier(.18,.8,.18,1.1) .36s both camera-cone-decoy}.security-camera.caught .camera-aim{animation:.26s cubic-bezier(.2,.8,.2,1.2) both camera-lock}.security-camera.caught .camera-field{background:linear-gradient(90deg,#d9827814,#d9827880);animation:.72s steps(3,end) both camera-capture}.tracker-decoy{z-index:6;opacity:0;pointer-events:none;width:50px;height:62px;position:absolute;bottom:25%;left:46%;transform:translateY(-65px)scale(.7)}.tracker-decoy .object-mark{position:absolute;bottom:0;left:10px}.tracker-decoy>i{background:var(--ink);width:1px;height:18px;position:absolute;top:9px;left:25px}.tracker-decoy>i:before,.tracker-decoy>i:after{content:"";border:1px solid var(--coral);border-radius:50%;width:16px;height:16px;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.tracker-decoy>i:after{opacity:.5;width:28px;height:28px}.tracker-decoy.active{animation:.7s cubic-bezier(.18,.82,.18,1.18) .18s both tracker-drop}.operation-scene.caught:after{content:"caught";z-index:30;color:var(--ink);font:600 clamp(28px,5vw,68px)/1 var(--font-geist-mono),monospace;letter-spacing:.08em;pointer-events:none;animation:1.05s cubic-bezier(.15,.8,.2,1) .3s both caught-card;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)rotate(-4deg)}.minimal-agent.caught{animation:.78s cubic-bezier(.2,.7,.2,1) both e-caught}.operation-difference .minimal-agent.caught{animation-delay:.26s}.minimal-agent.caught .e-glyph{color:var(--coral);text-shadow:none}.minimal-agent.blocked{animation:.56s cubic-bezier(.2,.75,.2,1) both e-blocked}.document-case{z-index:4;border:1px solid var(--ink);perspective:400px;background:#f5f1e9d1;width:170px;height:108px;position:absolute;bottom:16%;right:7%}.document-handle{border:1px solid var(--ink);border-bottom:0;width:62px;height:22px;position:absolute;top:-22px;left:50%;transform:translate(-50%)}.document-lid{border:1px solid var(--ink);background:var(--sand);transform-origin:top;width:170px;height:42px;transition:transform .72s cubic-bezier(.18,.8,.18,1.12),background .3s;position:absolute;top:-1px;left:-1px}.packed-items{opacity:0;justify-content:center;align-items:center;gap:2px;height:51px;display:flex;position:absolute;top:34px;left:16px;right:16px}.packed-items .object-mark{transform:scale(.62)}.document-status{color:#747a76;font:500 12px/1 var(--math-font);white-space:nowrap;position:absolute;bottom:19px;left:50%;transform:translate(-50%)}.document-case.packed .document-lid{animation:1.12s cubic-bezier(.18,.8,.18,1.1) both case-pack}.document-case.packed .packed-items{animation:.9s .22s both case-items-arrive}.document-case.packed{animation:1.2s cubic-bezier(.18,.8,.18,1.1) .18s both case-extract}.spy-contact{z-index:4;width:116px;height:176px;color:var(--ink);position:absolute;bottom:14%;right:8%}.spy-head{border:1px solid var(--ink);background:var(--paper);border-radius:50%;width:34px;height:34px;position:absolute;top:30px;left:42px}.spy-head i{background:var(--ink);border-radius:50%;width:3px;height:3px;position:absolute;top:13px}.spy-head i:first-child{left:9px}.spy-head i:last-child{right:9px}.spy-hat{z-index:2;border-bottom:2px solid var(--ink);background:var(--violet);clip-path:polygon(16% 70%,30% 0,70% 0,84% 70%,100% 100%,0 100%);width:62px;height:18px;position:absolute;top:17px;left:28px}.spy-body{border:1px solid var(--ink);clip-path:polygon(18% 0,82% 0,100% 100%,0 100%);background:#aaa1bf26;border-top:0;width:60px;height:75px;position:absolute;top:67px;left:29px}.spy-hand{z-index:2;background:var(--ink);transform-origin:100%;width:42px;height:1px;position:absolute;top:87px;left:2px;transform:rotate(-7deg)scaleX(.82)}.spy-hand:before{content:"";border:1px solid var(--ink);background:var(--paper);border-radius:50%;width:6px;height:6px;position:absolute;top:-3px;left:-5px}.spy-hand:after{content:"";border:1px solid var(--ink);background:var(--violet);border-radius:50%;width:6px;height:6px;position:absolute;top:-3px;right:-3px}.exchange-item{opacity:0;position:absolute;top:67px;left:-190px}.exchange-item .object-mark{transform:scale(.72)}.spy-status{color:#747a76;font:500 12px/1 var(--math-font);white-space:nowrap;position:absolute;bottom:7px;left:50%;transform:translate(-50%)}.spy-contact.exchange-ready .exchange-item{animation:.9s cubic-bezier(.18,.8,.18,1.05) .17s both exchange-pass}.spy-contact.exchange-ready .spy-hand{animation:none}.spy-contact.exchange-ready{animation:1.05s cubic-bezier(.18,.8,.18,1.2) .62s both spy-acknowledge}.operation-architecture{display:none}.operation-sources{transform-origin:top;align-items:center;gap:clamp(16px,2.4vw,40px);display:flex;position:absolute;top:19%;left:50%;transform:translate(-50%)}.source-set{flex:none;justify-content:center;align-items:center;gap:5px;min-height:50px;padding:8px 4px;display:flex;position:relative}.set-notation{color:var(--ink);font:500 15px/1 var(--math-font);white-space:nowrap;flex:none}.source-set>div{flex-wrap:nowrap;flex:none;justify-content:center;gap:5px;display:flex}.source-set .object-mark{width:38px;height:38px;transform:scale(.9)}.source-a .set-notation{color:#799a8d}.source-b .set-notation{color:#8d83a7}.world-symbol{width:30px;height:32px;color:var(--ink);font:400 22px/1 var(--math-font);flex:none;place-items:center;display:grid}.math-operator{font-family:var(--math-font);font-style:normal;font-weight:400;line-height:1}.math-tex{color:inherit;line-height:1}.math-tex>mjx-container{color:inherit;line-height:1;margin:0!important}.math-tex>mjx-container[jax=CHTML]{display:inline-block}.world-symbol:is(.operator-union,.operator-intersection){font-size:23px;transform:translateY(1px)}.world-symbol.operator-intersection>mjx-container{transform:translateY(-2px)}.world-symbol.operator-difference{font-size:21px;transform:none}.result-notation{align-items:baseline;gap:.3em;display:inline-flex}.result-notation .math-operator{text-align:center;min-width:1em;font-size:1.08em;transform:translateY(.03em)}.result-notation :is(.operator-union,.operator-intersection){font-size:1.15em;transform:translateY(.08em)}.result-notation .operator-difference{font-size:1em;transform:none}.document-status,.spy-status{justify-content:center;align-items:baseline;gap:.38em;display:inline-flex}.document-status .math-operator,.spy-status .math-operator{font-size:1.15em;transform:translateY(.08em)}.copy-equation .math-operator{font-size:1.12em;display:inline-block;transform:translateY(.03em)}.copy-equation .copy-operator{font-size:1.12em;transform:translateY(.03em)}.take-tray{gap:15px;display:flex;position:absolute;bottom:16%;left:17%}.take-tray .world-object{min-width:78px}.result-bowl{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-width:220px;min-height:98px;padding:14px;display:flex;position:absolute;top:34%;left:50%;right:auto;transform:translate(-50%)}.result-equation{justify-content:center;align-items:center;gap:5px;min-height:46px;display:flex}.set-brace{width:.55em;color:var(--ink);font:500 16px/1 var(--math-font);flex:none;align-self:center;place-items:center;margin-inline:1px;display:grid;transform:translateY(-1px)}.result-members{align-items:center;gap:5px;min-height:42px;padding-inline:3px;display:flex}.result-members .mark-tracker{margin-inline:8px}.result-bowl .object-mark{width:38px;height:38px;animation:.52s cubic-bezier(.15,.8,.2,1.3) both object-drop;transform:scale(.9)}.result-bowl button{border:0;border-bottom:1px solid var(--ink);cursor:pointer;background:0 0;padding:5px 9px;font-size:10px;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.result-bowl button:disabled{opacity:.3;cursor:default}.operation-scene.solved .result-bowl{animation:.6s cubic-bezier(.2,.8,.2,1.2) both result-pulse}.ending-scene>p{color:#747a76;letter-spacing:.14em;margin:-80px 0 0;font-size:14px}.ending-scene>span{font:400 23px/1 var(--math-font);margin-top:-240px}.ending-scene .minimal-agent{bottom:20%;left:50%;transform:translate(-50%)scale(1.18)}.ending-rings{width:420px;height:280px;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%)}.ending-rings i{border:1px solid var(--line);border-radius:50%;position:absolute;inset:0}.ending-rings i:nth-child(2){border-color:var(--coral);animation:4s ease-in-out infinite alternate ending-orbit;inset:30%}.ending-rings i:nth-child(n+3),.ending-path{display:none}.quiet-controls{z-index:50;pointer-events:none;zoom:1.04;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:fixed;bottom:18px;left:22px;right:22px}.quiet-controls>button{border:1px solid var(--line);color:#7b817d;cursor:pointer;pointer-events:auto;background:#f5f1e9b8;border-radius:50%;width:32px;height:32px;font-size:11px}.quiet-controls>div{gap:9px;display:flex}.quiet-controls i{border:1px solid var(--line);border-radius:50%;width:5px;height:5px}.quiet-controls i.active{border-color:var(--coral);background:var(--coral)}.quiet-controls i.passed{border-color:var(--ink);background:var(--ink)}.note-shade{z-index:100;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#4d535021;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.tiny-note{border:1px solid var(--line);background:var(--white);grid-template-columns:90px 1fr;gap:15px 24px;width:min(490px,100%);padding:27px;animation:.38s cubic-bezier(.18,.8,.18,1.12) both note-enter;display:grid;box-shadow:9px 10px #69716c17}.tiny-note>strong{border:1px solid var(--faint);color:var(--coral);font:400 30px/1 var(--math-font);grid-row:1/span 2;align-self:stretch;place-items:center;display:grid}.tiny-note p{color:#676d69;margin:0;font-size:14px;line-height:1.55}.tiny-note code{color:#777d79;font:400 13px/1.4 var(--math-font);white-space:normal}.tiny-note button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;grid-column:2;justify-self:end;padding:5px 11px;font-size:8px}.cinematic-cut{z-index:110;pointer-events:none;visibility:hidden;position:fixed;inset:0;overflow:hidden}.transition-panel{background:var(--ink);-webkit-backface-visibility:hidden;backface-visibility:hidden;width:48%;position:absolute;top:-15%;bottom:-15%;transform:skew(-13deg)translate(-130vw)}.transition-panel:first-child{left:-15%}.transition-panel:nth-child(2){background:#6d746f;animation-delay:.1s;left:31%}.transition-panel:nth-child(3){background:#939a95;animation-delay:.2s;right:-15%}.transition-panel-middle{overflow:hidden}.transition-stage{transform-origin:50%;width:100vw;height:100%;position:absolute;top:0;left:-31vw;transform:skew(13deg)}.cinematic-cut.play{visibility:visible}.cinematic-cut.play>.transition-panel{will-change:transform;animation-name:comic-cut;animation-duration:3s;animation-timing-function:cubic-bezier(.62,.04,.24,1);animation-fill-mode:both}.transition-chase{z-index:5;opacity:0;width:128px;height:144px;position:absolute;top:55%;left:0}.transition-chase:before,.transition-chase:after{content:"";z-index:-1;background:#fffdf87a;height:1px;position:absolute;right:64px;transform:skew(-18deg)}.transition-chase:before{width:150px;top:48px}.transition-chase:after{opacity:.58;width:96px;top:103px}.transition-runner{position:absolute;inset:0}.transition-runner .minimal-agent{transform-origin:bottom;top:15px;bottom:auto;left:22px;scale:2.05}.transition-runner .e-eyes{left:auto;right:6px;transform:rotate(5deg)}.transition-runner .e-arm,.transition-runner .e-leg,.transition-runner .e-eyes i{background:#303432}.transition-runner .e-hat:before,.transition-runner .e-hat:after{border-color:#303432}.cinematic-cut.play .transition-chase{animation:1.9s cubic-bezier(.28,.02,.2,1) .25s both transition-chase-across}.cinematic-cut.play .transition-runner .minimal-agent{animation:.4s ease-in-out infinite alternate transition-run-bob}.cinematic-cut.play .transition-runner .e-briefcase{animation:.48s ease-in-out infinite alternate transition-case-swing}.cinematic-cut.play .transition-runner .e-leg-left{animation:.36s ease-in-out infinite alternate transition-leg-left}.cinematic-cut.play .transition-runner .e-leg-right{animation:.36s ease-in-out infinite alternate transition-leg-right}@keyframes scene-enter{0%{opacity:0;transform:scale(1.018)}}@keyframes briefing-line{0%{opacity:0;scale:0 1}}@keyframes briefing-orbit{0%{opacity:0;transform:translate(40px,-30px)rotate(-24deg)scale(.7)}}@keyframes briefing-agent{0%{opacity:0;transform:translate(50px)rotate(7deg)}}@keyframes set-card-in{0%{opacity:0;transform:translateY(18px)rotate(2deg)}}@keyframes set-operator-in{0%{opacity:0;transform:translate(-50%)scale(.5)}}@keyframes set-result-in{0%{opacity:0;transform:translate(-50%)translateY(14px)}}@keyframes union-enter{0%{opacity:0;clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes intersection-enter{0%{opacity:0;clip-path:polygon(50% 50%,50% 50%,50% 50%,50% 50%)}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}@keyframes difference-enter{0%{opacity:0;clip-path:polygon(0 0,0 0,0 100%,0 100%)}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}@keyframes object-drop{0%{opacity:0;transform:translateY(-20px)scale(.45)rotate(-15deg)}}@keyframes case-seal{45%{transform:translate(-50%)translateY(-7px)}75%{transform:translate(-50%)translateY(2px)}}@keyframes e-caught{22%{transform:translate(-8px)rotate(-9deg)}48%{transform:translate(14px)rotate(12deg)}75%{transform:translateY(8px)scaleY(.75)}}@keyframes e-blocked{0%,to{transform:translate(0)}35%{transform:translate(18px)rotate(3deg)}58%{transform:translate(7px)rotate(-5deg)}78%{transform:translate(11px)rotate(2deg)}}@keyframes arrow-appear{0%{opacity:0;transform:translate(-50%)scale(.5)}}@keyframes phone-message{0%{opacity:.15;transform:scale(.94)}55%{background:#cbdad385}to{opacity:1;transform:scale(1)}}@keyframes signal-pulse{0%{transform:scale(.9)}to{transform:scale(1.06)}}@keyframes camera-pan{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}@keyframes camera-take-bait{0%{transform:rotate(0)}to{transform:rotate(-24deg)}}@keyframes camera-cone-decoy{0%{opacity:.2;transform:scaleX(1)}55%,to{opacity:.38;transform:scaleX(.82)}}@keyframes camera-lock{to{transform:rotate(-9deg)}}@keyframes camera-capture{0%{opacity:.18}35%,to{opacity:.72}60%{opacity:.32}}@keyframes tracker-drop{0%{opacity:0;transform:translateY(-65px)scale(.7)rotate(-12deg)}62%{opacity:1;transform:translateY(5px)scale(1.08)rotate(4deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}@keyframes caught-card{0%{opacity:0;transform:translate(-50%,-50%)scale(1.8)rotate(-4deg)}20%,70%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(-4deg)}to{opacity:0;transform:translate(-50%,-50%)scale(.92)rotate(-4deg)}}@keyframes result-pulse{45%{border-color:var(--coral);scale:1.04}}@keyframes union-left{45%{transform:translate(12px)rotate(-2deg)}}@keyframes union-right{45%{transform:translate(-12px)rotate(2deg)}}@keyframes intersection-focus{40%{transform:scale(1.12)}70%{transform:scale(.98)}}@keyframes intersection-discard{to{opacity:.12;filter:blur(1px);transform:translateY(10px)scale(.76)}}@keyframes difference-cut{35%{opacity:1;transform:translate(5px)skew(-8deg)}62%{opacity:.28;transform:translate(18px)skew(-8deg)}}@keyframes union-member{0%{opacity:0;transform:translate(-24px)scale(.5)rotate(-12deg)}}@keyframes intersection-member{0%{opacity:0;filter:blur(6px);transform:scale(1.55)}}@keyframes difference-member{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-12px)scale(.9)}}@keyframes case-extract{42%{transform:translateY(-8px)rotate(-1deg)}72%{transform:translateY(2px)rotate(1deg)}}@keyframes case-pack{0%{background:var(--sand);transform:rotateX(0)}28%,56%{background:var(--sage);transform:rotateX(-150deg)}to{background:var(--sage);transform:rotateX(0)}}@keyframes case-items-arrive{0%,26%{opacity:0;transform:translateY(-28px)scale(1.25)}58%,to{opacity:1;transform:translateY(0)scale(1)}}@keyframes exchange-pass{0%{opacity:0;transform:translate(-45px)rotate(-10deg)}20%{opacity:1}78%{opacity:1;transform:translate(175px)rotate(3deg)}to{opacity:0;transform:translate(192px)scale(.7)}}@keyframes spy-acknowledge{45%{transform:rotate(-2deg)}68%{transform:rotate(1deg)}}@keyframes ending-orbit{to{transform:rotate(18deg)scale(1.08)}}@keyframes note-enter{0%{opacity:0;transform:translateY(16px)}}@keyframes comic-cut{0%{transform:skew(-13deg)translate(-130vw)}22%,80%{transform:skew(-13deg)translate(0,0)}to{transform:skew(-13deg)translate(130vw)}}@keyframes transition-chase-across{0%{opacity:0;transform:translate(-180px,-50%)rotate(-4deg)}11%{opacity:1}42%{opacity:1;transform:translate(43vw,calc(-50% - 7px))rotate(2deg)}55%{opacity:1;transform:translate(50vw,calc(-50% - 9px))rotate(-2deg)}88%{opacity:1}to{opacity:0;transform:translate(calc(100vw + 180px),calc(3px - 50%))rotate(3deg)}}@keyframes transition-run-bob{0%{transform:translateY(2px)rotate(-7deg)scaleY(.97)}to{transform:translateY(-2px)rotate(-5deg)scaleY(.99)}}@keyframes transition-case-swing{0%{transform:rotate(6deg)translateY(1px)}to{transform:rotate(-5deg)translateY(-1px)}}@keyframes transition-leg-left{0%{transform:rotate(34deg)}to{transform:rotate(-30deg)}}@keyframes transition-leg-right{0%{transform:rotate(-32deg)}to{transform:rotate(32deg)}}.operation-union{animation-name:union-enter}.operation-intersection{animation-name:intersection-enter}.operation-difference{animation-name:difference-enter}.operation-union.solved .source-a{animation:.76s cubic-bezier(.18,.82,.18,1.2) both union-left}.operation-union.solved .source-b{animation:.76s cubic-bezier(.18,.82,.18,1.2) both union-right}.operation-intersection.solved .source-set .object-mark:not(.mark-photo){animation:.62s both intersection-discard}.operation-intersection.solved .source-set .mark-photo{animation:.76s cubic-bezier(.18,.82,.18,1.2) both intersection-focus}.operation-difference.solved .source-b{animation:.72s cubic-bezier(.2,.72,.18,1) both difference-cut}.operation-union .result-members .object-mark{animation-name:union-member}.operation-intersection .result-members .object-mark{animation-name:intersection-member}.operation-difference .result-members .object-mark{animation-name:difference-member}@media (min-width:821px){.operation-intersection .operation-sources{top:16%;left:50%;transform:translate(-50%)}.operation-intersection .result-bowl{top:34%;left:50%;right:auto;transform:translate(-50%)}.operation-intersection .take-tray{gap:10px;left:32%}.operation-intersection .take-tray .world-object{min-width:70px}.operation-difference .operation-sources{top:21%;left:50%;right:auto;transform:translate(-50%)}.operation-difference .result-bowl{top:34%;left:50%;right:auto;transform:translate(-50%)}.operation-difference .take-tray{left:auto;right:18%}.operation-difference .tracker-decoy{left:35%}}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@media (max-width:820px){.scene-whisper{width:70%;top:5%}.archive-tower{width:22%;left:2%}.archive-plinth{flex-wrap:wrap;gap:7px 12px;width:52%;top:24%;left:22%}.world-object{min-width:58px}.set-case{width:190px;bottom:13%;left:50%}.phone-items{flex-wrap:wrap;width:53%;top:24%;left:7%}.field-phone{transform-origin:100% 0;top:18%;right:3%;transform:scale(.86)}.phone-scene.unlocked .field-phone{transform:translateY(-5px)scale(.86)}.document-case,.spy-contact{transform-origin:100% 100%;right:3%;transform:scale(.9)}.security-camera{transform-origin:100% 0;right:1%;transform:scale(.86)}.door-need{right:6%}.minimal-agent{left:5%}.operation-sources{transform-origin:top;top:17%;left:50%;transform:translate(-50%)scale(.82)}.result-bowl{top:39%;left:50%;right:auto;transform:translate(-50%)scale(.9)}.take-tray{bottom:18%;left:19%}.operation-scene .minimal-agent{left:7%}}@media (max-width:560px){.scene-whisper{font-size:10px;top:6%}.scene-number{top:15px;left:16px}.archive-tower{display:none}.archive-plinth{width:auto;top:18%;left:7%;right:7%}.set-case{width:170px;bottom:20%;left:48%;transform:translate(-50%)scale(.86)}.archive-scene.solved .set-case{animation:none}.phone-items{flex-wrap:nowrap;gap:2px;width:auto;top:16%;left:4%;right:4%}.phone-items .world-object{min-width:56px;transform:scale(.78)}.field-phone{transform-origin:top;top:42%;left:50%;right:auto;transform:translate(-50%)scale(.68)}.phone-scene.unlocked .field-phone{transform:translate(-50%)translateY(-5px)scale(.68)}.document-case{bottom:15%;right:-3%;transform:scale(.72)}.spy-contact{bottom:14%;right:-2%;transform:scale(.72)}.security-camera{top:9%;right:-6%;transform:scale(.68)}.tracker-decoy{bottom:24%;left:44%;transform:scale(.82)}.door-need{top:12%;right:4%;transform:scale(.8)}.minimal-agent{transform-origin:0 100%;bottom:16%;left:3%;transform:none}.operation-sources{transform-origin:top;top:15%;left:50%;transform:translate(-50%)scale(.65)}.take-tray{justify-content:center;gap:2px;bottom:18%;left:4%;right:4%}.result-bowl{top:43%;left:50%;right:auto;transform:translate(-50%)scale(.78)}.operation-scene .minimal-agent{bottom:13%}.scene-message{white-space:normal;text-align:center;max-width:70%;bottom:82px}.tiny-note{grid-template-columns:58px 1fr;padding:18px}.tiny-note p{font-size:11px}.ending-rings{transform:translate(-50%,-50%)scale(.7)}}@media (prefers-reduced-motion:reduce){.minimal-game *,.minimal-game :before,.minimal-game :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.cartesian-scene{background:var(--scene-background);animation-name:cartesian-enter}.copy-equation{color:var(--ink);font:500 15px/1 var(--math-font);white-space:nowrap;align-items:center;gap:8px;display:flex;position:absolute;top:16%;left:50%;transform:translate(-50%)}.copy-source{align-items:center;gap:3px;display:inline-flex}.copy-source .object-mark{width:33px;height:33px;transform:scale(.78)}.copy-matrix{z-index:3;border:1px solid var(--line);background:#fffdf8b8;grid-template-columns:112px repeat(2,minmax(130px,1fr));grid-auto-rows:72px;width:min(68vw,680px);animation:.68s cubic-bezier(.18,.8,.18,1.12) .16s both matrix-arrive;display:grid;position:absolute;top:25%;left:50%;transform:translate(-50%);box-shadow:12px 14px #69716c0f}.matrix-row{display:contents}.matrix-corner,.matrix-slot,.matrix-file{color:#747a76;border-right:1px solid var(--faint);border-bottom:1px solid var(--faint);font:500 11px/1 var(--font-geist-mono),monospace;justify-content:center;align-items:center;display:flex}.matrix-slot{color:#8d83a7;font:500 17px/1 var(--math-font)}.matrix-file{color:#799a8d;gap:3px}.matrix-file .object-mark{transform:scale(.64)}.matrix-slot{animation:.52s cubic-bezier(.18,.8,.18,1.18) .36s both matrix-label-drop}.matrix-row:first-of-type .matrix-file,.matrix-row:first-of-type .copy-pair{animation:.58s cubic-bezier(.18,.8,.18,1.08) .42s both matrix-row-in}.matrix-row:nth-of-type(2) .matrix-file,.matrix-row:nth-of-type(2) .copy-pair{animation:.58s cubic-bezier(.18,.8,.18,1.08) .54s both matrix-row-in}.copy-pair{border:0;border-right:1px solid var(--faint);border-bottom:1px solid var(--faint);color:#7b817d;font:500 12px/1 var(--math-font);cursor:pointer;background:#fffdf842;justify-content:center;align-items:center;gap:1px;transition:background .18s,color .18s,transform .18s;display:flex;position:relative}:is(.copy-pair:hover,.copy-pair:focus-visible){outline:1px solid var(--line);outline-offset:-3px;background:#ffffffbd}.copy-pair.selected{color:var(--ink);background:#77b8ac1f}.copy-pair.selected:after{content:"";border:1px solid var(--sage);animation:.38s cubic-bezier(.18,.8,.18,1.2) both pair-lock;position:absolute;inset:9px}.copy-pair.selected:before{content:"";background:var(--coral);border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite copy-signal;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.copy-pair .object-mark{width:34px;height:34px;transform:scale(.7)}.copy-status{z-index:4;color:#747a76;width:180px;height:58px;font:500 10px/1 var(--font-geist-mono),monospace;place-items:start center;animation:.7s cubic-bezier(.18,.8,.18,1.12) .48s both copy-status-rise;display:grid;position:absolute;top:61%;left:50%;transform:translate(-50%)}.copy-status>button{border:0;border-bottom:1px solid var(--ink);cursor:pointer;background:0 0;padding:5px 10px;font-size:10px;position:absolute;bottom:0}.copy-status>button:disabled{opacity:.3}.copy-status.complete{animation:.76s cubic-bezier(.18,.8,.18,1.15) both copy-status-complete}.cartesian-scene.solved .copy-pair{animation:.9s cubic-bezier(.18,.8,.18,1.1) both copies-launch}.cartesian-scene .minimal-agent{bottom:13%;left:7%}.cipher-scene{background:var(--scene-background);animation-name:cipher-enter}.cipher-thread{background:var(--faint);width:1px;position:absolute;top:20%;bottom:27%;left:8%}.cipher-thread i{border:1px solid var(--line);background:var(--paper);border-radius:50%;width:11px;height:11px;position:absolute;left:-5px}.cipher-thread i:first-child{top:0}.cipher-thread i:nth-child(2){top:25%}.cipher-thread i:nth-child(3){top:50%}.cipher-thread i:nth-child(4){top:75%}.cipher-thread i:nth-child(5){top:100%}.cipher-thread i.passed{border-color:var(--sage);background:var(--sage)}.cipher-thread i.active{border-color:var(--coral);box-shadow:0 0 0 5px #e78c821f}.cipher-thread i.resolving{animation:.68s cubic-bezier(.18,.8,.18,1.2) infinite alternate cipher-node-resolve}.cipher-instruction{color:#747a76;width:260px;position:absolute;top:20%;left:12%}.cipher-instruction small{color:var(--coral);font:500 10px/1 var(--font-geist-mono),monospace}.cipher-instruction p{margin:9px 0 0;font-size:13px;line-height:1.5}.cipher-instruction{animation:.52s cubic-bezier(.18,.8,.18,1.08) both cipher-copy-in}.cipher-equation{border-top:1px solid var(--faint);border-bottom:1px solid var(--faint);width:min(76vw,780px);min-height:110px;color:var(--ink);font:500 clamp(13px,1.5vw,18px)/1.3 var(--math-font);justify-content:center;align-items:center;gap:clamp(9px,2vw,26px);animation:.62s cubic-bezier(.18,.8,.18,1.08) both cipher-strip-in;display:flex;position:absolute;top:36%;left:50%;transform:translate(-50%)}.cipher-equation i{color:var(--line);font-style:normal}.cipher-equation code{color:#799a8d;min-width:124px;font:inherit;text-align:center;transition:opacity .22s,color .22s,letter-spacing .22s}.cipher-equation code.cipher-masked{color:var(--line);opacity:.28;letter-spacing:.28em}.cipher-gap{border:1px solid var(--coral);width:34px;height:34px;color:var(--coral);place-items:center;font-weight:400;display:grid}.cipher-scene.wrong .cipher-equation{animation:.52s cubic-bezier(.18,.8,.18,1.2) both decoder-reject}.cipher-scene.applying .cipher-equation{border-color:var(--sage)}.cipher-scene.applying .cipher-gap{animation:.66s cubic-bezier(.18,.8,.18,1.2) both cipher-tool-route}.cipher-tools{gap:clamp(5px,1.2vw,15px);display:flex;position:absolute;bottom:20%;left:50%;transform:translate(-50%)}.cipher-tools button{border:1px solid var(--faint);color:#747a76;cursor:pointer;background:#fffdf857;align-content:center;place-items:center;gap:6px;width:82px;height:68px;display:grid}:is(.cipher-tools button:hover,.cipher-tools button:focus-visible){border-color:var(--ink);background:#ffffffd1;outline:none;transform:translateY(-3px)}.cipher-tools button:disabled{opacity:.28;cursor:default;transform:none}.cipher-tools button.chosen{border-color:var(--sage);opacity:1;background:#77b8ac24;animation:.68s cubic-bezier(.18,.8,.18,1.15) both chosen-tool}.cipher-tools strong{width:32px;height:32px;color:var(--ink);font:400 22px/1 var(--math-font);place-items:center;display:grid}.cipher-tools span{letter-spacing:.06em;font-size:8px}.cipher-scene.solved .cipher-gap{color:var(--sage);border-color:var(--sage)}.final-code-line{justify-content:center;align-items:center;gap:clamp(16px,3vw,42px);animation:.82s cubic-bezier(.18,.8,.18,1.15) both final-code-arrive;display:flex}.final-code-line code{color:#799a8d;min-width:0}.final-code-line i{color:var(--line);font-style:normal;animation:.56s .22s both code-arrow}.final-code-line strong{color:var(--ink);font:500 clamp(16px,2vw,24px)/1 var(--math-font);letter-spacing:.08em;animation:.76s cubic-bezier(.18,.8,.18,1.2) .36s both code-reveal}:is(.copy-equation,.copy-status,.cipher-instruction,.cipher-equation){--near:0;text-shadow:0 0 calc(14px * var(--near)) rgb(255 255 255/calc(.92 * var(--near)));transition:text-shadow 90ms linear,opacity .18s}@keyframes cartesian-enter{0%{opacity:0;clip-path:inset(50%)}to{clip-path:inset(0)}}@keyframes cipher-enter{0%{opacity:0;clip-path:polygon(0 0,100% 0,100% 0,0 0)}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}@keyframes pair-lock{0%{opacity:0;transform:scale(.55)rotate(-4deg)}}@keyframes matrix-arrive{0%{opacity:0;transform:translate(-50%)translateY(24px)scale(.96)}}@keyframes matrix-label-drop{0%{opacity:0;transform:translateY(-14px)}}@keyframes matrix-row-in{0%{opacity:0;transform:translate(-18px)}}@keyframes copy-status-rise{0%{opacity:0;transform:translate(-50%)translateY(20px)}}@keyframes copy-status-complete{40%{color:var(--ink);transform:translate(-50%)translateY(-7px)}72%{transform:translate(-50%)translateY(1px)}}@keyframes copy-signal{0%,to{opacity:.2;transform:translate(-50%,-50%)scale(.55)}50%{opacity:.78;transform:translate(-50%,-50%)scale(1.25)}}@keyframes copies-launch{35%{background:#77b8ac38;transform:translateY(-5px)}70%{transform:translateY(2px)}}@keyframes cipher-copy-in{0%{opacity:0;transform:translate(-16px)}}@keyframes cipher-strip-in{0%{opacity:0;transform:translate(-50%)scaleX(.9)}}@keyframes cipher-node-resolve{to{background:var(--sage);border-color:var(--sage);box-shadow:0 0 0 9px #77b8ac1f}}@keyframes cipher-tool-route{0%{transform:scale(.7)rotate(-8deg)}55%{background:#77b8ac2e;transform:scale(1.22)rotate(3deg)}}@keyframes chosen-tool{45%{transform:translateY(-9px)scale(1.06)}to{transform:translateY(-3px)}}@keyframes decoder-reject{25%{transform:translate(calc(-50% - 12px))}48%{transform:translate(calc(10px - 50%))}72%{transform:translate(calc(-50% - 5px))}}@keyframes final-code-arrive{0%{opacity:0;transform:scale(.86)}}@keyframes code-arrow{0%{opacity:0;transform:translate(-18px)}}@keyframes code-reveal{0%{opacity:0;filter:blur(8px);letter-spacing:.8em;transform:scale(1.7)}}@media (max-width:820px){.copy-matrix{grid-template-columns:90px repeat(2,minmax(100px,1fr));width:82vw;top:24%;left:50%;transform:translate(-50%)}.copy-status{top:61%;left:50%;transform:translate(-50%)}.cipher-instruction{width:220px;left:12%}.cipher-tools button{width:68px}}@media (max-width:560px){.copy-equation{top:13%;transform:translate(-50%)scale(.74)}.copy-matrix{grid-template-columns:72px repeat(2,1fr);grid-auto-rows:62px;width:90%;top:23%;left:50%;right:auto;transform:translate(-50%)}.matrix-file,.copy-pair{font-size:8px}.copy-pair .object-mark{transform:scale(.52)}.copy-status{top:62%;left:50%;transform:translate(-50%)}.cartesian-scene .minimal-agent{bottom:12%}.cipher-thread{top:17%;bottom:32%;left:6%}.cipher-instruction{width:70%;top:15%;left:11%}.cipher-instruction p{font-size:10px}.cipher-equation{gap:5px;width:92%;min-height:90px;font-size:8px;top:32%}.cipher-gap{width:24px;height:24px}.cipher-tools{justify-content:center;gap:3px;width:94%;bottom:22%}.cipher-tools button{width:19%;height:58px}.cipher-tools strong{width:28px;height:28px;font-size:23px}.cipher-tools span{display:none}.cipher-scene .minimal-agent{bottom:11%}}@media (max-width:600px){.world-scene{height:100dvh;min-height:100svh}.scene-number{left:max(15px,env(safe-area-inset-left));top:max(15px,env(safe-area-inset-top));font-size:10px}.scene-whisper{top:max(5%,calc(env(safe-area-inset-top) + 28px));width:min(76%,310px);font-size:11px;line-height:1.4}.scene-message{bottom:calc(62px + env(safe-area-inset-bottom));white-space:normal;text-align:center;width:76%;max-width:310px;font-size:10px;line-height:1.4}.quiet-controls{left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom))}.quiet-controls>button{touch-action:manipulation;background:#f5f1e9e0;width:44px;height:44px}.quiet-controls>div{gap:8px}.quiet-controls i{width:6px;height:6px}.world-object{touch-action:manipulation;gap:6px;min-width:60px;min-height:68px;padding:7px 4px;font-size:9px}.world-object>.object-mark{transform:scale(.88)}:is(.world-object:hover:not(:disabled),.world-object:focus-visible:not(:disabled)){transform:translateY(-4px)}.world-object.selected{transform:translateY(7px)scale(.94)}.phone-items{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:auto;display:grid;top:14%;left:3%;right:3%}.phone-items .world-object{width:100%;min-width:0;transform:none}.field-phone{transform-origin:top;border-radius:22px;width:min(76vw,268px);height:min(42dvh,294px);min-height:252px;padding:34px 16px 17px;top:38%;left:50%;right:auto;transform:translate(-50%)}.phone-scene.unlocked .field-phone{transform:translate(-50%)translateY(-4px)}.phone-screen{gap:7px;height:calc(100% - 34px);min-height:178px;padding:10px}.phone-set{min-height:36px;font-size:10px}.phone-set .object-mark{width:31px;height:31px;transform:scale(.7)}.read-message{touch-action:manipulation;min-width:54px;min-height:34px;bottom:10px}.phone-scene .minimal-agent{bottom:11%;left:2%;scale:.62}.operation-sources{transform-origin:top;justify-content:center;gap:5px;width:142%;top:14%;left:50%;right:auto;transform:translate(-50%)scale(.62)}.source-set{gap:3px;padding-inline:2px}.world-symbol{font-size:22px}.result-bowl{min-width:210px;min-height:90px;padding:8px;top:40%;left:50%;right:auto;transform:translate(-50%)scale(.82)}.result-bowl button{white-space:nowrap;touch-action:manipulation;min-width:48px;min-height:34px;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.take-tray{left:2%;right:2%;bottom:calc(20% + env(safe-area-inset-bottom));justify-content:center;gap:0;width:auto}.take-tray .world-object{min-width:58px}.operation-scene .minimal-agent{bottom:16%;left:2%;scale:.62}.document-case{transform-origin:100% 100%;bottom:14%;right:-5%;transform:scale(.68)}.spy-contact{transform-origin:100% 100%;bottom:12%;right:-4%;transform:scale(.68)}.security-camera{transform-origin:100% 0;top:8%;right:-8%;transform:scale(.62)}.tracker-decoy{bottom:24%;left:43%;transform:scale(.76)}.copy-equation{max-width:92%;top:12%;transform:translate(-50%)scale(.72)}.copy-matrix{grid-template-columns:68px repeat(2,minmax(0,1fr));grid-auto-rows:clamp(56px,10dvh,66px);width:92%;top:21%;left:50%;transform:translate(-50%);box-shadow:7px 8px #69716c0d}.matrix-corner,.matrix-slot,.matrix-file{font-size:9px}.copy-pair{touch-action:manipulation;min-width:0;min-height:52px;font-size:9px}.copy-pair .object-mark{width:31px;height:31px;transform:scale(.52)}.copy-status{top:auto;left:50%;bottom:calc(17% + env(safe-area-inset-bottom));height:52px;transform:translate(-50%)}.copy-status>button{touch-action:manipulation;min-width:56px;min-height:38px}.cartesian-scene .minimal-agent{bottom:16%;left:2%;scale:.62}.cipher-thread{top:14%;bottom:34%;left:6%}.cipher-instruction{width:76%;top:13%;left:11%}.cipher-instruction p{margin-top:6px;font-size:10px;line-height:1.4}.cipher-equation{gap:5px;width:94%;min-height:clamp(82px,15dvh,104px);padding-inline:5px;font-size:clamp(8px,2.5vw,11px);top:28%}.cipher-equation code{min-width:78px}.cipher-gap{flex:none;width:28px;height:28px}.cipher-tools{bottom:calc(20% + env(safe-area-inset-bottom));justify-content:center;gap:5px;width:94%}.cipher-tools button{touch-action:manipulation;width:min(21vw,78px);height:64px;min-height:48px}.cipher-tools strong{width:28px;height:28px;font-size:20px}.cipher-tools span{font-size:7px;display:block}.final-code-line{gap:16px}.final-code-line code{min-width:0;font-size:13px}.final-code-line strong{font-size:17px}.cipher-scene .minimal-agent{bottom:16%;left:2%;scale:.62}.note-shade{padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.tiny-note{grid-template-columns:52px 1fr;gap:12px;max-height:calc(100dvh - 28px);padding:16px;overflow:auto}.tiny-note>strong{font-size:24px}.tiny-note p{font-size:11px}.tiny-note code{font-size:9px}.tiny-note button{touch-action:manipulation;min-width:64px;min-height:40px}.ending-rings{width:310px;height:210px}.ending-scene>span{font-size:17px}.ending-scene>button{width:48px;height:48px;bottom:calc(10% + env(safe-area-inset-bottom))}}@media (hover:none) and (pointer:coarse){.world-object:hover:not(:disabled),.cipher-tools button:hover{transform:none}.world-object:active:not(:disabled),.cipher-tools button:active,.copy-pair:active{transform:scale(.96)}}.rotate-prompt{display:none}@media (orientation:portrait) and (max-width:700px){.rotate-prompt{z-index:200;background:var(--paper);color:var(--ink);text-align:center;place-content:center;justify-items:center;gap:11px;padding:28px;display:grid;position:fixed;inset:0}.rotate-prompt p{letter-spacing:.025em;margin:9px 0 0;font-size:15px}.rotate-prompt small{color:#7b817d;font:500 9px/1.4 var(--font-geist-mono),monospace}.rotate-device{border:1px solid var(--ink);transform-origin:50%;border-radius:6px;width:32px;height:54px;animation:2.2s cubic-bezier(.55,.02,.2,1) infinite rotate-device;position:relative}.rotate-device:before{content:"";background:var(--line);width:9px;height:1px;position:absolute;top:5px;left:50%;transform:translate(-50%)}.rotate-device i{border:1px solid var(--coral);border-radius:50%;width:3px;height:3px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.minimal-game>:not(.rotate-prompt){visibility:hidden}}@keyframes rotate-device{0%,24%{transform:rotate(0)}54%,88%{transform:rotate(90deg)}to{transform:rotate(0)}}@media (max-height:600px) and (orientation:landscape) and (max-width:1000px){.prologue-copy{left:max(8%,env(safe-area-inset-left));width:52%;top:14%}.prologue-kicker{font-size:8px}.prologue-copy h1{margin:10px 0 15px;font-size:clamp(28px,6.5vw,46px)}.prologue-copy p{max-width:360px;margin-bottom:7px;font-size:10px;line-height:1.38}.prologue-copy button{touch-action:manipulation;min-height:38px;margin-top:9px}.set-briefing-copy{left:max(8%,env(safe-area-inset-left));width:52%;top:13%}.set-briefing-copy h1{margin:10px 0 15px;font-size:clamp(28px,6.5vw,46px)}.set-briefing-copy p{max-width:360px;margin-bottom:7px;font-size:10px;line-height:1.38}.set-briefing-copy button{touch-action:manipulation;min-height:38px;margin-top:9px}.set-briefing-panel{transform-origin:100% 0;width:38vw;height:250px;top:15%;right:7%;scale:.72}.set-briefing .minimal-agent{bottom:10%;right:11%;scale:1.2}.briefing-route{left:max(8%,env(safe-area-inset-left));bottom:max(8%,env(safe-area-inset-bottom))}.prologue-scene .minimal-agent{right:max(14%,env(safe-area-inset-right));bottom:15%;scale:1.18}.demo-mark{right:max(13px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top))}.sound-toggle{right:max(54px,calc(env(safe-area-inset-right) + 42px));top:max(2px,calc(env(safe-area-inset-top) - 2px));touch-action:manipulation;min-width:40px;min-height:40px}.world-scene{height:100dvh;min-height:100svh}.scene-number{left:max(15px,env(safe-area-inset-left));top:max(13px,env(safe-area-inset-top));font-size:10px}.scene-whisper{top:max(3%,env(safe-area-inset-top));width:44%;font-size:11px;line-height:1.35}.scene-message{bottom:calc(16% + env(safe-area-inset-bottom));white-space:normal;text-align:center;width:56%;font-size:10px}.quiet-controls{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(4px,env(safe-area-inset-bottom))}.quiet-controls>button{touch-action:manipulation;background:#f5f1e9e6;width:40px;height:40px}.quiet-controls>div{gap:8px}.world-object{touch-action:manipulation;gap:5px;min-width:66px;min-height:68px;padding:6px 4px}.world-object>.object-mark{transform:scale(.84)}.phone-items{left:max(3%,env(safe-area-inset-left));grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;width:50%;display:grid;top:18%;right:auto}.phone-items .world-object{width:100%;min-width:0}.field-phone{left:auto;right:max(4%,env(safe-area-inset-right));border-radius:22px;width:min(30vw,250px);height:84dvh;min-height:0;padding:31px 14px 12px;top:7%;transform:none}.phone-scene.unlocked .field-phone{transform:translateY(-3px)}.phone-speaker{top:14px}.phone-screen{gap:6px;height:calc(100% - 28px);min-height:0;padding:9px}.phone-set{min-height:34px}.phone-set .object-mark{width:31px;height:31px;transform:scale(.7)}.read-message{touch-action:manipulation;min-width:58px;min-height:36px;bottom:6px}.phone-scene .minimal-agent{left:max(8%,env(safe-area-inset-left));bottom:16%;scale:.58}.operation-sources{transform-origin:top;gap:8px;width:auto;top:14%;left:50%;right:auto;transform:translate(-50%)scale(.7)}.source-set{flex:none}.source-set>div{flex-wrap:nowrap;flex:none}.world-object.selected{transform:translateY(7px)scale(.94)}.world-symbol{font-size:22px}.world-symbol:is(.operator-union,.operator-intersection){font-size:23px;transform:translateY(1px)}.world-symbol.operator-difference{font-size:21px;transform:none}.operation-difference .result-bowl{left:50%;right:auto}.result-bowl{transform-origin:top;min-width:220px;top:29%;left:50%;right:auto;transform:translate(-50%)scale(.84)}.result-bowl button{white-space:nowrap;touch-action:manipulation;min-width:52px;min-height:34px;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.take-tray{left:max(24%,env(safe-area-inset-left));gap:7px;width:50%;bottom:18%;right:auto}.take-tray .world-object{min-width:68px}.operation-scene .minimal-agent{left:max(10%,env(safe-area-inset-left));bottom:16%;scale:.58}.operation-intersection .operation-sources{transform-origin:top;top:14%;left:50%;right:auto;transform:translate(-50%)scale(.7)}.operation-intersection .result-bowl{transform-origin:top;top:29%;left:50%;right:auto;transform:translate(-50%)scale(.84)}.operation-intersection .take-tray{left:max(20%,env(safe-area-inset-left));gap:3px;width:46%;bottom:18%;right:auto}.operation-intersection .take-tray .world-object{min-width:60px;padding-inline:2px}.operation-intersection .spy-contact{right:max(3%,env(safe-area-inset-right));transform-origin:100% 100%;bottom:7%;transform:scale(.66)}.operation-difference .operation-sources{transform-origin:top;top:14%;left:50%;right:auto;transform:translate(-50%)scale(.7)}.operation-difference .result-bowl{transform-origin:top;top:29%;left:50%;right:auto;transform:translate(-50%)scale(.84)}.operation-difference .take-tray{left:max(24%,env(safe-area-inset-left));gap:7px;width:50%;bottom:18%;right:auto}.operation-difference .tracker-decoy{bottom:24%;left:70%;transform:translateY(-65px)scale(.72)}.operation-scene .scene-message{text-align:center;width:56%;line-height:1.35;top:51%;bottom:auto;left:50%;transform:translate(-50%)}.document-case{right:max(4%,env(safe-area-inset-right));transform-origin:100% 100%;bottom:9%;transform:scale(.7)}.spy-contact{right:max(5%,env(safe-area-inset-right));transform-origin:100% 100%;bottom:7%;transform:scale(.72)}.security-camera{right:max(-1%,calc(env(safe-area-inset-right) - 18px));transform-origin:100% 0;top:5%;transform:scale(.72)}.tracker-decoy{bottom:22%;left:43%;transform:translateY(-65px)scale(.72)}.copy-equation{max-width:60%;top:9%;left:33%}.copy-matrix{grid-template-columns:82px repeat(2,minmax(0,1fr));grid-auto-rows:clamp(44px,12dvh,54px);width:60%;top:20%;left:34%;transform:translate(-50%)}.copy-pair{touch-action:manipulation;min-height:44px}.copy-status{height:54px;top:44%;bottom:auto;left:80%}.copy-status>button{touch-action:manipulation;min-width:58px;min-height:38px}.cartesian-scene .minimal-agent{left:max(8%,env(safe-area-inset-left));bottom:16%;scale:.58}.cipher-thread{display:none}.cipher-instruction{left:max(5%,env(safe-area-inset-left));width:30%;top:13%}.cipher-instruction p{font-size:10px;line-height:1.4}.cipher-equation{gap:7px;width:62%;min-height:76px;font-size:clamp(10px,1.7vw,14px);top:18%;left:65%}.cipher-equation code{min-width:86px}.cipher-tools{justify-content:center;width:60%;bottom:18%;left:65%}.cipher-tools button{touch-action:manipulation;width:74px;height:60px;min-height:48px}.cipher-tools strong{width:28px;height:28px;font-size:20px}.cipher-scene .minimal-agent{left:max(8%,env(safe-area-inset-left));bottom:16%;scale:.58}.cipher-scene .scene-message{text-align:center;width:56%;line-height:1.35;top:51%;bottom:auto;left:50%;transform:translate(-50%)}.note-shade{padding:max(10px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.tiny-note{max-height:calc(100dvh - 20px);padding:14px 18px}.tiny-note button{touch-action:manipulation;min-width:64px;min-height:40px}}.operation-union .take-tray,.operation-intersection .take-tray{justify-content:center;width:max-content;left:50%;right:auto;transform:translate(-50%)}.functions-game{--function-panel:#fffdf894;--function-shadow:#4d535014}.function-briefing{background:var(--scene-background)}.function-briefing-lines{opacity:.72;pointer-events:none;position:absolute;inset:0;overflow:hidden}.function-briefing-lines i{background:var(--faint);transform-origin:0;display:block;position:absolute}.function-briefing-lines i:first-child{width:87%;height:1px;top:21%;left:5%;transform:rotate(-4deg)}.function-briefing-lines i:nth-child(2){width:1px;height:100%;top:0;left:64%}.function-briefing-lines i:nth-child(3){width:70%;height:1px;top:69%;left:11%;transform:rotate(6deg)}.function-briefing-copy{z-index:4;width:min(480px,48vw);position:absolute;top:17%;left:12%}.function-briefing-copy>span{color:var(--coral);font:600 10px/1 var(--font-geist-mono), monospace;letter-spacing:.13em;text-transform:uppercase}.function-briefing-copy h1{font:500 clamp(42px, 6vw, 82px) / .86 var(--font-geist-sans), sans-serif;letter-spacing:-.07em;margin:18px 0 26px}.function-briefing-copy p{color:#6f7571;max-width:440px;margin:0 0 10px;font-size:clamp(12px,1.3vw,16px);line-height:1.55}.function-briefing-copy button{margin:22px 10px 0 0}.briefing-machine{border:1px solid var(--line);background:#fffdf847;width:250px;height:190px;position:absolute;top:18%;right:13%}.briefing-machine:before,.briefing-machine:after{content:"";background:var(--line);width:82px;height:1px;position:absolute;top:50%}.briefing-machine:before{right:100%}.briefing-machine:after{left:100%}.briefing-machine i{border:1px solid var(--ink);color:var(--coral);place-items:center;font:italic 700 68px/1 Georgia,serif;display:grid;position:absolute;inset:35px}.briefing-machine span,.briefing-machine b{color:#747a76;font:500 8px/1 var(--font-geist-mono), monospace;position:absolute;top:calc(50% - 4px)}.briefing-machine span{right:calc(100% + 88px)}.briefing-machine b{font-weight:500;left:calc(100% + 88px)}.function-briefing .minimal-agent{bottom:13%;left:auto;right:15%;scale:1.7}.function-scene{background:var(--scene-background)}.function-header{z-index:5;min-height:32px;font:500 clamp(18px, 2vw, 25px) / 1 var(--math-font);white-space:nowrap;position:absolute;top:15%;left:50%;transform:translate(-50%)}.function-legend{z-index:4;white-space:nowrap;justify-content:center;align-items:stretch;gap:clamp(18px,4vw,62px);display:flex;position:absolute;top:21%;left:50%;transform:translate(-50%)}.function-legend span{color:var(--ink);font:500 13px/1 var(--math-font);text-align:center;gap:7px;display:grid}.function-legend small,.domain-shutter small,.inverse-proof small,.composition-notation small{color:#858b87;font:500 8px/1 var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase}.function-check,.swap-machines{z-index:12;border-bottom:1px solid var(--ink);color:#676d69;font:600 9px/1 var(--font-geist-mono), monospace;cursor:pointer;padding:6px 10px;transition:background .18s,transform .18s;position:absolute}.function-check{bottom:18%;left:50%;transform:translate(-50%)}:is(.function-check:hover,.function-check:focus-visible,.swap-machines:hover,.swap-machines:focus-visible){background:#fff;outline:none}.function-scene .scene-message{text-align:center;white-space:normal;max-width:70vw;bottom:9%}.function-scene .minimal-agent{bottom:11%;left:7%;scale:1.24}.function-note{grid-template-columns:125px 1fr;width:min(620px,100%)}.function-note>strong{font-size:25px}.function-note code{overflow-x:auto}.ending-actions{justify-content:center;align-items:center;gap:10px;display:flex}.set-ending-actions{position:absolute;bottom:11%;left:50%;transform:translate(-50%)}.machine-console{gap:15px;width:min(760px,70vw);display:grid;position:absolute;top:31%;left:50%;transform:translate(-50%)}.machine-wire-row{grid-template-columns:34px 1fr 90px 1fr auto;align-items:center;gap:12px;min-height:58px;display:grid}.machine-wire-row>strong{border:1px solid var(--ink);width:32px;height:32px;font:500 13px/1 var(--math-font);border-radius:50%;place-items:center;display:grid}.machine-wire-row>i,.composition-pipeline>i,.extraction-pipeline>i{background:var(--line);height:1px}.function-machine{border:1px solid var(--ink);background:var(--function-panel);width:90px;height:54px;box-shadow:7px 7px 0 var(--function-shadow);place-items:center;display:grid}.function-machine b{font:500 17px/1 var(--math-font)}.machine-wire-row>div{gap:7px;display:flex}.machine-wire-row button{border:1px solid var(--faint);width:31px;height:31px;font:500 11px/1 var(--math-font);cursor:pointer;border-radius:50%;transition:border .18s,background .18s,transform .18s}:is(.machine-wire-row button:hover,.machine-wire-row button:focus-visible){border-color:var(--ink);outline:none;transform:translateY(-2px)}.machine-wire-row button.selected{background:var(--sage);border-color:#7e9e91}.graph-table{gap:7px;display:grid;position:absolute;top:36%;left:12%}.graph-table span{width:76px;font:500 12px/1 var(--math-font);grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.graph-table i{color:var(--line);font-style:normal}.graph-table strong{color:var(--coral)}.graph-frame{width:min(620px,58vw);position:absolute;top:31%;left:50%;transform:translate(-38%)}.function-graph{width:100%;height:auto;overflow:visible}.graph-grid line{stroke:var(--faint);stroke-width:.8px}.graph-axes line{stroke:var(--ink);stroke-width:1px}.graph-axes text,.graph-point text,.mapping-diagram text{fill:#737975;font:10px var(--font-geist-mono), monospace;text-anchor:middle}.graph-point circle{fill:var(--paper);stroke:var(--line);stroke-width:1.5px}.graph-point.active circle{fill:var(--coral);stroke:var(--ink)}.graph-point.interactive{cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none}.graph-point.interactive:focus-visible{outline:none}.graph-point.interactive:focus-visible circle{stroke-width:3px}.manifest-frame{width:min(720px,66vw);position:absolute;top:29%;left:50%;transform:translate(-50%)}.relation-legend{top:17%}.relation-manifest{width:100%;height:auto;overflow:visible}.manifest-title,.manifest-hint{fill:#858b87;font:500 8px var(--font-geist-mono), monospace;letter-spacing:.06em;text-anchor:middle;text-transform:uppercase}.manifest-node circle,.manifest-node rect{fill:var(--paper);stroke:var(--ink);stroke-width:1.2px}.manifest-node.safehouse-node rect{fill:#cbdad338}.manifest-node text{fill:var(--ink);font:500 11px var(--font-geist-mono), monospace;text-anchor:middle}.manifest-route{pointer-events:none}.manifest-route-line{fill:none;stroke:var(--line);stroke-width:1.6px;opacity:.18;stroke-dasharray:4 5;transition:stroke .18s,opacity .18s,stroke-width .18s}.manifest-route.active .manifest-route-line{stroke:#879c93;stroke-width:2px;opacity:.82;stroke-dasharray:none}:is(.manifest-route:has(.manifest-route-switch:hover) .manifest-route-line,.manifest-route:has(.manifest-route-switch:focus-visible) .manifest-route-line){stroke:var(--coral);stroke-width:3px;opacity:1}.manifest-route-switch{fill:var(--paper);stroke:var(--ink);stroke-width:1.2px;cursor:pointer;pointer-events:auto;transition:fill .18s,r .18s}.manifest-route.active .manifest-route-switch{fill:var(--sage)}:is(.manifest-route-switch:hover,.manifest-route-switch:focus-visible){fill:var(--coral);outline:none}.relation-manifest marker path{fill:#879c93}.composition-notation{font:500 18px/1 var(--math-font);justify-items:center;gap:8px;display:grid;position:absolute;top:25%;left:50%;transform:translate(-50%)}.composition-pipeline,.extraction-pipeline{grid-template-columns:42px 1fr 130px 1fr 130px 1fr 42px;align-items:center;gap:12px;width:min(760px,72vw);display:grid;position:absolute;top:40%;left:50%;transform:translate(-50%)}.composition-pipeline strong,.extraction-pipeline strong{border:1px solid var(--ink);width:42px;height:42px;font:500 15px/1 var(--math-font);border-radius:50%;place-items:center;display:grid}.composition-pipeline span,.extraction-pipeline span{border:1px solid var(--ink);background:var(--function-panel);height:76px;font:500 13px/1.3 var(--math-font);box-shadow:8px 8px 0 var(--function-shadow);place-items:center;display:grid}.composition-pipeline span b,.extraction-pipeline span b{color:var(--coral);font-size:20px}.swap-machines{top:57%;left:50%;transform:translate(-50%)}.search-lanes{z-index:-1;pointer-events:none;position:absolute;inset:0}.search-lanes i{background:var(--faint);width:32vw;height:1px;position:absolute;transform:rotate(-13deg)}.search-lanes i:first-child{top:32%;left:-4%}.search-lanes i:nth-child(2){top:58%;right:0}.search-lanes i:nth-child(3){top:74%;left:28%}.inverse-progress{gap:8px;display:flex;position:absolute;top:22%;left:50%;transform:translate(-50%)}.inverse-progress i{border:1px solid var(--line);border-radius:50%;width:5px;height:5px}.inverse-progress i.active{background:var(--coral);border-color:var(--coral)}.inverse-progress i.passed{background:var(--ink);border-color:var(--ink)}.inverse-prompt{color:#747a76;text-align:center;max-width:460px;margin:0;font-size:12px;position:absolute;top:25%;left:50%;transform:translate(-50%)}.mapping-frame{width:min(430px,42vw);position:absolute;top:31%;left:50%;transform:translate(-50%)}.mapping-sealed{border:1px dashed var(--line);color:#747a76;min-height:190px;font:500 10px/1 var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;place-items:center;gap:8px;display:grid}.mapping-sealed small{color:#9a9f9c;font:10px/1.4 var(--font-geist-sans), sans-serif;letter-spacing:0;text-transform:none}.mapping-diagram{width:100%;height:auto;overflow:visible}.mapping-arrow{fill:none;stroke:var(--line);stroke-width:1.5px}.mapping-diagram marker path{fill:var(--line)}.mapping-node circle{fill:var(--paper);stroke:var(--ink)}.mapping-node.reached circle{fill:#cbdad394}.mapping-title{letter-spacing:.08em;text-transform:uppercase;font-size:8px!important}.inverse-tools{gap:12px;display:flex;position:absolute;top:62%;left:50%;transform:translate(-50%)}.inverse-tools button{border:1px solid var(--line);cursor:pointer;background:#fffdf86b;place-items:center;gap:7px;width:150px;min-height:58px;padding:8px;display:grid}:is(.inverse-tools button:hover,.inverse-tools button:focus-visible){border-color:var(--ink);background:#fff;outline:none}.inverse-tools small{color:#858b87;font:500 8px/1 var(--font-geist-mono), monospace}.domain-shutter{white-space:nowrap;align-items:center;gap:10px;display:flex;position:absolute;top:24%;left:50%;transform:translate(-50%)}.domain-shutter small{text-transform:none}.domain-shutter button{border:1px solid var(--faint);font:500 12px/1 var(--math-font);cursor:pointer;padding:8px 11px}.domain-shutter button.selected{border-color:var(--ink);background:var(--sage)}.domain-shutter span{color:#747a76;font:500 11px/1 var(--math-font);margin-left:12px}.extraction-pipeline{top:39%}.extraction-scene .swap-machines{top:55%}.inverse-proof{font:500 16px/1 var(--math-font);justify-items:center;gap:8px;display:grid;position:absolute;top:62%;left:50%;transform:translate(-50%)}.function-ending-lines{pointer-events:none;position:absolute;inset:0}.function-ending-lines i{border:1px solid var(--line);border-radius:50%;position:absolute}.function-ending-lines i:first-child{width:460px;height:330px;top:18%;left:50%;transform:translate(-50%)}.function-ending-lines i:nth-child(2){border-color:var(--coral);width:250px;height:160px;top:29%;left:50%;transform:translate(-50%)}.function-ending>p{color:#747a76;letter-spacing:.12em;margin-top:-160px;font-size:14px}.function-ending>.math-tex{font:500 24px/1 var(--math-font);position:absolute;top:48%;left:50%;transform:translate(-50%)}.function-ending-actions{white-space:nowrap;position:absolute;bottom:8%;left:50%;transform:translate(-50%)}.function-ending-actions button{margin-top:0}.function-briefing-lines i{animation:1.2s cubic-bezier(.18,.8,.18,1) both function-line-in}.function-briefing-lines i:nth-child(2){animation-delay:.12s}.function-briefing-lines i:nth-child(3){animation-delay:.22s}.briefing-machine{animation:.9s cubic-bezier(.18,.8,.18,1.1) .18s both machine-arrive}.briefing-machine i{animation:2.8s ease-in-out 1.2s infinite machine-heartbeat}.function-briefing .minimal-agent{animation:1s cubic-bezier(.18,.8,.18,1.2) .3s both briefing-agent}.machine-wire-row{animation:.62s cubic-bezier(.18,.8,.18,1) both relay-row-in}.machine-wire-row:nth-child(2){animation-delay:90ms}.machine-wire-row:nth-child(3){animation-delay:.18s}.machine-wire-row button.selected{animation:.36s cubic-bezier(.18,.8,.18,1.25) both port-lock}.machine-scene.solved .machine-wire-row>i{animation:.65s ease-in-out 2 alternate wire-signal}.graph-point.active circle{transition:cy .42s cubic-bezier(.18,.8,.18,1.2),fill .18s}.manifest-route.active .manifest-route-line{animation:.58s cubic-bezier(.18,.8,.18,1) both manifest-route-draw}.relation-scene.solved .manifest-route-switch{animation:.36s cubic-bezier(.18,.8,.18,1.25) both port-lock}.composition-pipeline span,.extraction-pipeline span{transition:transform .42s cubic-bezier(.18,.8,.18,1.12)}.composition-pipeline span:first-of-type,.extraction-pipeline span:first-of-type{animation:.52s cubic-bezier(.18,.8,.18,1.12) both machine-slot-left}.composition-pipeline span:last-of-type,.extraction-pipeline span:last-of-type{animation:.52s cubic-bezier(.18,.8,.18,1.12) both machine-slot-right}.composition-scene.solved .composition-pipeline>i,.extraction-scene.solved .extraction-pipeline>i{animation:.62s ease-in-out 3 alternate wire-signal}.search-lanes i{animation:3.6s ease-in-out infinite alternate search-line}.search-lanes i:nth-child(2){animation-delay:-1.7s}.mapping-frame{animation:.52s cubic-bezier(.18,.8,.18,1) both mapping-arrive}.mapping-arrow{stroke-dasharray:300;animation:.7s both mapping-draw}.inverse-scene.wrong .mapping-frame{animation:.42s both inverse-denied}.inverse-progress i.active{animation:1s ease-in-out infinite alternate progress-search}.function-ending-lines i:nth-child(2){animation:4s ease-in-out infinite alternate ending-orbit}@keyframes function-line-in{0%{opacity:0;scale:0 1}}@keyframes machine-arrive{0%{opacity:0;transform:translate(34px)rotate(3deg)}}@keyframes machine-heartbeat{50%{color:var(--ink);transform:scale(.96)}}@keyframes relay-row-in{0%{opacity:0;transform:translate(-25px)}}@keyframes port-lock{45%{transform:scale(1.22)}}@keyframes wire-signal{0%{background:var(--line)}to{background:var(--coral);box-shadow:0 0 9px #fff}}@keyframes manifest-route-draw{0%{stroke-dasharray:400;stroke-dashoffset:400px}}@keyframes machine-slot-left{0%{opacity:0;transform:translate(35px)}}@keyframes machine-slot-right{0%{opacity:0;transform:translate(-35px)}}@keyframes search-line{0%{opacity:.25;transform:translate(-20px)rotate(-13deg)}to{opacity:.75;transform:translate(35px)rotate(-13deg)}}@keyframes mapping-arrive{0%{opacity:0;transform:translate(-50%)scale(.92)}}@keyframes mapping-draw{0%{stroke-dashoffset:300px}}@keyframes inverse-denied{25%{transform:translate(calc(-50% - 9px))}50%{transform:translate(calc(8px - 50%))}75%{transform:translate(calc(-50% - 4px))}}@keyframes progress-search{to{box-shadow:0 0 0 6px #d982781f}}.reduce-motion .function-briefing-lines i,.reduce-motion .briefing-machine,.reduce-motion .briefing-machine i,.reduce-motion .machine-wire-row,.reduce-motion .machine-wire-row button.selected,.reduce-motion .manifest-route-line,.reduce-motion .composition-pipeline span,.reduce-motion .extraction-pipeline span,.reduce-motion .search-lanes i,.reduce-motion .mapping-frame,.reduce-motion .mapping-arrow,.reduce-motion .inverse-progress i,.reduce-motion .function-ending-lines i{animation:none!important}@media (max-width:1050px){.function-briefing-copy{left:9%}.briefing-machine{transform-origin:100% 0;right:10%;transform:scale(.86)}.function-briefing .minimal-agent{right:13%}.machine-console{width:76vw}.graph-frame{width:60vw}.mapping-frame{width:46vw}.inverse-tools button{width:132px}}@media (max-height:720px){.function-header{top:13%}.function-legend{top:19%}.relation-legend{top:16%}.machine-console{gap:9px;top:29%}.machine-wire-row{min-height:50px}.graph-frame{width:min(560px,55vw);top:27%}.manifest-frame{width:min(650px,62vw);top:25%}.graph-table{top:31%}.composition-notation{top:22%}.composition-pipeline,.extraction-pipeline{top:35%}.swap-machines{top:54%}.inverse-prompt{top:23%}.mapping-frame{width:min(390px,40vw);top:28%}.inverse-tools{top:60%}.domain-shutter{top:21%}.extraction-scene .swap-machines{top:52%}.inverse-proof{top:59%}.function-check{bottom:16%}.function-scene .scene-message{bottom:8%}}@media (max-width:900px) and (orientation:landscape){.function-briefing-copy{width:50vw;top:13%}.function-briefing-copy h1{margin:12px 0 18px}.function-briefing-copy p{font-size:11px}.function-briefing-copy button{margin-top:13px}.briefing-machine{top:15%;right:7%;scale:.72}.function-briefing .minimal-agent{bottom:10%;right:11%;scale:1.35}.scene-whisper{font-size:11px;top:5%}.function-header{font-size:17px;top:13%}.function-legend{gap:18px;top:19%}.relation-legend{top:16%}.function-legend span{font-size:10px}.machine-console{gap:6px;width:78vw;top:28%}.machine-wire-row{grid-template-columns:28px 1fr 70px 1fr auto;min-height:45px}.machine-wire-row>strong,.machine-wire-row button{width:27px;height:27px}.function-machine{width:70px;height:42px}.graph-frame{width:55vw;top:26%}.graph-table{top:31%;left:9%}.manifest-frame{width:59vw;top:24%}.composition-pipeline,.extraction-pipeline{grid-template-columns:36px 1fr 105px 1fr 105px 1fr 36px;width:74vw}.composition-pipeline span,.extraction-pipeline span{height:58px}.mapping-frame{width:41vw}.inverse-tools{gap:8px}.inverse-tools button{width:118px;min-height:49px}.domain-shutter{top:20%}.domain-shutter button{padding:6px 8px;font-size:10px}.function-check{bottom:14%}.function-scene .scene-message{font-size:10px;bottom:7%}.function-scene .minimal-agent{bottom:10%;left:4%;scale:1.05}}@media (prefers-reduced-motion:reduce){.functions-game *{scroll-behavior:auto}}.logic-briefing,.logic-scene,.logic-ending{background:var(--scene-background)}.logic-briefing-lines{opacity:.7;pointer-events:none;position:absolute;inset:0;overflow:hidden}.logic-briefing-lines i{background:var(--faint);transform-origin:0;height:1px;animation:.9s cubic-bezier(.18,.8,.18,1) both logic-line-in;display:block;position:absolute}.logic-briefing-lines i:first-child{width:85%;top:21%;left:5%;transform:rotate(-4deg)}.logic-briefing-lines i:nth-child(2){width:1px;height:100%;animation-delay:.14s;top:0;left:67%}.logic-briefing-lines i:nth-child(3){width:72%;animation-delay:.26s;top:76%;left:9%;transform:rotate(5deg)}.logic-briefing-copy{z-index:4;width:min(480px,48vw);position:absolute;top:17%;left:12%}.logic-briefing-copy>span{color:var(--coral);font:600 10px/1 var(--font-geist-mono), monospace;letter-spacing:.13em;text-transform:uppercase}.logic-briefing-copy h1{font:500 clamp(42px, 6vw, 82px) / .86 var(--font-geist-sans), sans-serif;letter-spacing:-.07em;margin:18px 0 26px}.logic-briefing-copy p{color:#6f7571;max-width:440px;margin:0 0 10px;font-size:clamp(12px,1.3vw,16px);line-height:1.55}.logic-briefing-copy em{color:var(--coral);font:italic 700 1.2em/1 Georgia,serif}.logic-briefing-copy button{margin-top:22px}.logic-briefing-panel{width:min(340px,34vw);height:250px;color:var(--ink);grid-template-columns:1fr 42px 1fr;align-items:center;gap:10px;display:grid;position:absolute;top:22%;right:12%}.logic-briefing-panel>div{border:1px solid var(--line);background:#fffdf866;align-content:center;place-items:center;gap:14px;height:108px;animation:.7s cubic-bezier(.18,.8,.18,1.1) both logic-card-in;display:grid}.logic-briefing-panel>div:nth-of-type(2){animation-delay:.18s}.logic-briefing-panel small{color:#858b87;font:500 8px/1 var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase}.logic-briefing-panel .math-tex{white-space:nowrap;font-size:16px}.logic-briefing-panel>span{color:var(--coral);font:500 24px/1 var(--math-font);text-align:center}.logic-briefing .minimal-agent{animation:1s cubic-bezier(.18,.8,.18,1.2) .3s both briefing-agent;bottom:12%;left:auto;right:14%;scale:1.42}.logic-whisper{color:#777d79;text-align:center;width:min(570px,60vw);margin:0;font-size:14px;line-height:1.5;position:absolute;top:7%;left:50%;transform:translate(-50%)}.logic-dialogue{gap:12px;width:min(360px,34vw);display:grid;position:absolute;top:20%;left:11%}.logic-dialogue-line{border:1px solid var(--line);color:var(--ink);background:#fffdf88c;padding:14px 16px 13px;animation:.6s cubic-bezier(.18,.8,.18,1.08) both logic-dialogue-in;position:relative}.logic-dialogue-line.e-line{border-color:var(--sage);margin-left:0;animation-delay:.16s}.logic-dialogue-line small{color:var(--coral);font:600 8px/1 var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px;display:block}.logic-dialogue-line p{color:#636a66;margin:0;font-size:12px;line-height:1.45}.logic-terminal{border:1px solid var(--ink);background:#fffdf875;align-content:center;place-items:center;gap:17px;width:min(300px,28vw);min-height:120px;animation:.7s cubic-bezier(.18,.8,.18,1.1) both logic-terminal-in;display:grid;position:absolute;top:23%;left:50%;transform:translate(-50%);box-shadow:9px 10px #4d53500f}.logic-terminal small{color:#858b87;font:500 8px/1 var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase}.logic-terminal .math-tex{color:var(--ink);font-size:clamp(20px,2.5vw,30px)}.logic-choices{justify-content:center;gap:clamp(8px,1.5vw,18px);display:flex;position:absolute;bottom:18%;left:50%;transform:translate(-50%)}.logic-choices button{border:1px solid var(--faint);color:#747a76;cursor:pointer;background:#fffdf86b;align-content:center;place-items:center;gap:10px;width:clamp(142px,15vw,190px);min-height:82px;padding:12px 10px;transition:transform .18s,border-color .18s,background .18s;display:grid}:is(.logic-choices button:hover,.logic-choices button:focus-visible){border-color:var(--ink);background:#ffffffd1;outline:none;transform:translateY(-4px)}.logic-choices button:disabled{cursor:default;opacity:.4;transform:none}.logic-choices button.correct{border-color:var(--sage);opacity:1;background:#77b8ac24}.logic-choices .math-tex{color:var(--ink);font-size:19px}.logic-choices span{text-align:center;font-size:9px;line-height:1.3}.logic-door{border:1px solid var(--line);color:#858b87;background:#fffdf866;place-items:center;width:92px;height:158px;animation:.8s cubic-bezier(.18,.8,.18,1.05) both logic-door-in;display:grid;position:absolute;top:26%;right:12%}.logic-door i{border:1px solid var(--coral);border-radius:50%;width:32px;height:32px;transition:transform .48s cubic-bezier(.18,.8,.18,1.2),background .22s}.logic-door b{font:500 8px/1 var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:lowercase;font-weight:500;position:absolute;bottom:-24px}.logic-door.open i{background:var(--sage);border-color:var(--sage);transform:scale(1.22)}.logic-scene.wrong .logic-terminal{animation:.52s cubic-bezier(.2,.75,.2,1.1) both logic-reject}.logic-ending{text-align:center}.logic-ending-mark{color:var(--ink);font:500 clamp(20px, 3vw, 34px)/1 var(--math-font);position:absolute;top:28%;left:50%;transform:translate(-50%)}.logic-ending>p{color:#747a76;font:500 11px/1 var(--font-geist-mono), monospace;letter-spacing:.14em;text-transform:lowercase;margin:0;position:absolute;top:48%;left:50%;transform:translate(-50%)}.logic-ending>span{color:#747a76;width:80%;font-size:14px;position:absolute;top:54%;left:50%;transform:translate(-50%)}.logic-ending .minimal-agent{bottom:22%;left:50%;transform:translate(-50%)}.logic-ending .ending-actions{position:absolute;bottom:10%;left:50%;transform:translate(-50%)}@media (max-width:820px){.logic-dialogue{width:31vw;left:8%}.logic-dialogue-line.e-line{margin-left:20px}.logic-terminal{width:26vw;left:52%}.logic-door{right:8%}.logic-choices{bottom:17%}.logic-choices button{width:18vw;min-height:76px}}.logic-terminal,.logic-choices{display:none}.logic-whisper{width:min(650px,58vw);font-size:clamp(13px,1.2vw,16px);top:8%}.logic-dialogue{gap:10px;width:min(290px,25vw);top:22%;left:7%}.logic-dialogue-line{padding:11px 13px 10px}.logic-dialogue-line p{font-size:11px}.logic-world{color:#858b87;pointer-events:none;width:min(270px,25vw);height:210px;position:absolute;top:21%;right:8%}.logic-world-label{color:#858b87;font:500 8px/1 var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;position:absolute;top:4px;left:50%;transform:translate(-50%)}.logic-architecture{border:1px solid var(--line);background:#fffdf857;position:absolute;inset:30px 16px 34px;overflow:hidden}.logic-architecture-line{background:var(--line);transform-origin:0;width:135%;height:1px;display:block;position:absolute;transform:rotate(-17deg)}.logic-architecture-line:first-child{top:34%;left:-9%}.logic-architecture-line:nth-child(2){top:72%;left:12%;transform:rotate(14deg)}.logic-architecture-line:nth-child(3){width:1px;height:100%;top:0;left:46%;transform:none}.logic-world-node{border:1px solid var(--ink);background:var(--scene-background);border-radius:50%;width:10px;height:10px;position:absolute}.logic-world-node:first-of-type{top:24%;left:22%}.logic-world-node:nth-of-type(2){bottom:19%;right:17%}.logic-beam{transform-origin:0;border-top:53px solid #0000;border-bottom:53px solid #0000;border-left:130px solid #de8b803d;width:0;height:0;transition:opacity .36s,transform .6s cubic-bezier(.18,.8,.18,1.1);position:absolute;top:53px;left:37%}.logic-route{background:var(--ink);width:calc(100% - 44px);height:1px;transition:background .36s,transform .6s cubic-bezier(.18,.8,.18,1.1);position:absolute;bottom:17px;left:22px}.logic-world>small{color:#858b87;font:500 9px/1 var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:lowercase;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.logic-map{border:1px solid var(--line);background:#fffdf86b;position:absolute;inset:30px 42px 30px 0}.logic-map-title{color:#858b87;font:500 8px/1 var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;position:absolute;top:10px;left:12px}.logic-track{color:#858b87;height:22px;font:500 7px/1 var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;align-items:center;display:flex;position:absolute;left:37px;right:26px}.logic-track-top{top:47px}.logic-track-bottom{top:88px}.logic-track b{font-weight:500;position:absolute;left:-28px}.logic-track span{background:#fffdf8cc;padding-left:4px;position:absolute;right:-20px}.logic-track i{background:var(--line);width:100%;height:1px;transition:background .36s,transform .5s;display:block}.logic-track i:after{content:"";border:1px solid var(--ink);background:var(--scene-background);border-radius:50%;width:5px;height:5px;position:absolute;top:-3px;right:-1px}.logic-sensor{border:1px solid var(--ink);background:var(--scene-background);width:18px;height:18px;color:var(--coral);border-radius:50%;place-items:center;font-size:9px;line-height:1;display:grid;position:absolute;top:66px;left:20px}.logic-hatch{border:1px solid var(--ink);background:var(--scene-background);align-content:center;justify-items:center;gap:6px;width:24px;height:70px;transition:border-color .36s,background .36s;display:grid;position:absolute;top:43px;right:-29px}.logic-hatch i{border:1px solid var(--coral);border-radius:50%;width:8px;height:8px;transition:background .36s,transform .5s}.logic-hatch small{color:#858b87;font:500 7px/1 var(--font-geist-mono), monospace;text-transform:lowercase;position:absolute;top:calc(100% + 6px)}.logic-world.reacted .logic-track i{background:var(--sage);transform:scaleX(1.06)}.logic-world.reacted .logic-hatch{border-color:var(--sage);background:#77b8ac1a}.logic-world.reacted .logic-hatch i{border-color:var(--sage);background:var(--sage);transform:scale(1.18)}.logic-world.reacted .logic-sensor{color:var(--sage)}.logic-door-system{width:48px;height:88px;position:absolute;top:22px;left:50%;transform:translate(-50%)}.logic-door-system .logic-hatch{border:1px solid var(--ink);background:var(--scene-background);place-items:center;width:48px;height:88px;display:grid;position:relative;inset:auto}.logic-door-system .logic-hatch i{width:13px;height:13px}.logic-door-system .logic-hatch small{display:none}.logic-world.reacted .logic-door-system .logic-hatch{border-color:var(--sage);background:#77b8ac1a}.logic-world.reacted .logic-door-system .logic-hatch i{border-color:var(--sage);background:var(--sage);transform:scale(1.18)}.logic-architecture,.logic-beam,.logic-route{display:none}.logic-world.reacted .logic-beam{opacity:.12;transform:scaleX(.18)}.logic-world.reacted .logic-route{background:var(--sage);transform:scaleX(1.08)}.logic-sentence-board{border:1px solid var(--ink);background:#fffdf8c2;align-content:start;justify-items:center;gap:14px;width:min(380px,34vw);min-height:185px;padding:18px 21px 17px;animation:.7s cubic-bezier(.18,.8,.18,1.1) both logic-terminal-in;display:grid;position:absolute;top:23%;left:54%;transform:translate(-50%);box-shadow:9px 10px #4d53500f}.logic-board-label,.logic-symbol-rail>small{color:#858b87;font:500 8px/1 var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase}.logic-sentence{min-height:42px;color:var(--ink);text-align:center;justify-content:center;align-items:center;gap:10px;font-size:clamp(15px,1.6vw,22px);display:flex}.logic-claim{color:var(--ink);font-size:.72em;line-height:1.3}.logic-operator-slot{border:1px dashed var(--coral);min-width:34px;min-height:34px;color:var(--coral);font:500 20px/1 var(--math-font), serif;place-items:center;display:inline-grid}.logic-operator-slot.filled{background:#de8b8017;border-style:solid}.logic-operator-slot .math-tex{font-size:20px}.logic-reaction{color:#7b817d;text-align:center;max-width:335px;min-height:28px;margin:0;font-size:11px;line-height:1.4}.logic-reaction.visible{color:var(--ink)}.logic-commit{min-width:120px;color:var(--ink);padding:7px 12px;font-size:10px}.logic-symbol-rail{justify-items:center;gap:8px;display:grid;position:absolute;bottom:19%;left:50%;transform:translate(-50%)}.logic-symbol-rail>div{justify-content:center;gap:9px;display:flex}.logic-symbol-rail button{border:1px solid var(--faint);color:#747a76;cursor:pointer;background:#fffdf899;align-content:center;place-items:center;gap:4px;width:74px;min-height:58px;padding:7px 5px;transition:border-color .18s,background .18s,transform .18s;display:grid}:is(.logic-symbol-rail button:hover,.logic-symbol-rail button:focus-visible,.logic-symbol-rail button.selected){border-color:var(--ink);background:#ffffffe6;outline:none;transform:translateY(-3px)}.logic-symbol-rail button.selected{border-color:var(--coral);box-shadow:inset 0 -3px 0 var(--coral)}.logic-symbol-rail button:disabled{cursor:default;opacity:.45;transform:none}.logic-symbol-rail button .math-tex{color:var(--ink);font-size:18px}.logic-symbol-rail button span{text-transform:lowercase;font-size:8px;line-height:1}.logic-door{width:74px;height:122px;top:31%;right:7%}.logic-scene .minimal-agent{bottom:12%;left:7%}.logic-scene .scene-message{bottom:7%}@media (max-width:820px){.logic-whisper{width:66vw}.logic-dialogue{width:27vw;top:21%;left:5%}.logic-world{width:23vw;top:22%;right:4%}.logic-sentence-board{width:37vw;top:23%}.logic-symbol-rail{bottom:18%}.logic-symbol-rail button{width:68px}.logic-door{right:3%}}.logic-briefing .minimal-agent,.logic-scene .minimal-agent,.logic-ending .minimal-agent{animation-duration:.9s;animation-fill-mode:both}@keyframes logic-line-in{0%{opacity:0;scale:0 1}}@keyframes logic-card-in{0%{opacity:0;transform:translateY(18px)rotate(-2deg)}}@keyframes logic-dialogue-in{0%{opacity:0;transform:translate(-18px)}}@keyframes logic-terminal-in{0%{opacity:0;transform:translate(-50%)scale(.88)}}@keyframes logic-door-in{0%{opacity:0;transform:translate(20px)}}@keyframes logic-reject{25%{transform:translate(calc(-50% - 10px))}52%{transform:translate(calc(8px - 50%))}78%{transform:translate(calc(-50% - 3px))}}.logic-scene.solved .logic-door{animation:.8s cubic-bezier(.18,.8,.18,1.1) both logic-door-open}.logic-sentence-board,.logic-symbol-rail,.logic-world{animation:.72s cubic-bezier(.18,.8,.18,1.1) both logic-board-in}.logic-sentence-board{animation-name:logic-board-in-centered}.logic-symbol-rail{animation-name:logic-rail-in;animation-delay:.12s}.logic-world{animation-delay:.18s}@keyframes logic-board-in{0%{opacity:0;transform:translateY(14px)scale(.96)}}@keyframes logic-board-in-centered{0%{opacity:0;transform:translate(-50%)translateY(14px)scale(.96)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes logic-rail-in{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes logic-board-in-right{0%{opacity:0;transform:translate(18px)scale(.96)}to{opacity:1;transform:none}}@keyframes logic-world-in-right{0%{opacity:0;transform:translate(18px)scale(.96)}to{opacity:1;transform:none}}.logic-world.reacted .logic-architecture{animation:.9s cubic-bezier(.18,.8,.18,1.1) both logic-network-pulse}@keyframes logic-network-pulse{35%{border-color:var(--sage);transform:translate(5px)}70%{transform:translate(-2px)}}.logic-sentence-board.committed .logic-operator-slot{animation:.7s cubic-bezier(.18,.8,.18,1.1) both logic-symbol-lock}@keyframes logic-symbol-lock{40%{transform:scale(1.12)rotate(-3deg)}75%{transform:scale(.98)rotate(1deg)}}@keyframes logic-door-open{45%{transform:translate(4px)scale(1.03)}72%{transform:translate(-2px)scale(.99)}}.reduce-motion .logic-briefing-lines i,.reduce-motion .logic-briefing-panel>div,.reduce-motion .logic-dialogue-line,.reduce-motion .logic-terminal,.reduce-motion .logic-door,.reduce-motion .logic-scene.solved .logic-door,.reduce-motion .logic-sentence-board,.reduce-motion .logic-symbol-rail,.reduce-motion .logic-world,.reduce-motion .logic-world.reacted .logic-architecture,.reduce-motion .logic-sentence-board.committed .logic-operator-slot{animation:none}@media (hover:none) and (pointer:coarse){.logic-choices button:hover{transform:none}.logic-choices button:active{transform:scale(.97)}}@media (max-width:600px){.logic-whisper{top:max(5%, calc(env(safe-area-inset-top) + 26px));width:74%;font-size:11px;line-height:1.4}.logic-dialogue{gap:7px;width:42%;top:19%;left:6%}.logic-dialogue-line{padding:9px 10px}.logic-dialogue-line.e-line{margin-left:12px}.logic-dialogue-line p{font-size:9px;line-height:1.35}.logic-dialogue-line small{margin-bottom:5px;font-size:7px}.logic-terminal{gap:10px;width:36%;min-height:94px;top:20%;left:72%}.logic-terminal .math-tex{font-size:17px}.logic-terminal small{font-size:7px}.logic-door{width:62px;height:100px;top:42%;right:7%}.logic-door i{width:24px;height:24px}.logic-choices{gap:5px;width:88%;bottom:20%;left:54%}.logic-choices button{gap:6px;width:31%;min-height:60px;padding:7px 4px}.logic-choices .math-tex{font-size:14px}.logic-choices span{font-size:7px}.logic-scene .minimal-agent{bottom:14%;left:4%;scale:.68}.logic-ending-mark{width:90%;top:25%}.logic-ending>p{top:46%}.logic-ending>span{font-size:11px;top:53%}.logic-ending .minimal-agent{bottom:23%;scale:.76}.logic-briefing-copy{left:max(8%, env(safe-area-inset-left));width:53%;top:14%}.logic-briefing-copy h1{margin:10px 0 15px;font-size:clamp(28px,6.5vw,46px)}.logic-briefing-copy p{max-width:360px;margin-bottom:7px;font-size:10px;line-height:1.38}.logic-briefing-copy button{touch-action:manipulation;min-height:38px;margin-top:9px}.logic-briefing-panel{transform-origin:100% 0;width:38vw;height:250px;top:15%;right:7%;scale:.72}.logic-briefing .minimal-agent{bottom:10%;right:11%;scale:1.2}}@media (min-width:601px) and (max-width:1100px){.logic-whisper{width:62vw}.logic-dialogue{width:26vw;top:21%;left:4%}.logic-sentence-board{width:35vw;top:22%;left:56%}.logic-world{width:20vw;top:23%;right:3%}.logic-door{right:2%}.logic-symbol-rail{bottom:17%;left:56%}.logic-symbol-rail button{width:66px;min-height:54px}.logic-scene .minimal-agent{bottom:10%;left:4%;scale:.78}}@media (max-height:600px) and (orientation:landscape) and (max-width:1000px){.logic-whisper{top:max(3%, env(safe-area-inset-top));width:44%;font-size:11px;line-height:1.35}.logic-dialogue{left:max(6%, env(safe-area-inset-left));width:32%;top:16%}.logic-terminal{width:25%;min-height:84px;top:16%;left:54%}.logic-door{top:25%;right:8%}.logic-choices{width:58%;bottom:13%;left:54%}.logic-choices button{width:31%;min-height:58px}.logic-scene .minimal-agent{left:max(8%, env(safe-area-inset-left));bottom:14%;scale:.58}.logic-briefing-copy{left:max(8%, env(safe-area-inset-left));width:52%;top:13%}.logic-briefing-copy h1{margin:10px 0 15px;font-size:clamp(28px,6.5vw,46px)}.logic-briefing-copy p{max-width:360px;margin-bottom:7px;font-size:10px;line-height:1.38}.logic-briefing-copy button{min-height:38px;margin-top:9px}.logic-briefing-panel{transform-origin:100% 0;width:38vw;height:250px;top:15%;right:7%;scale:.72}.logic-briefing .minimal-agent{bottom:10%;right:11%;scale:1.2}}@media (min-width:601px){.logic-dialogue{width:min(300px,27vw);top:22%;left:7%}.logic-sentence-board{width:min(380px,34vw);animation-name:logic-board-in-right;top:22%;left:auto;right:12%;transform:none}.logic-world{width:160px;height:130px;animation-name:logic-world-in-right;inset:auto 8% 9% auto;transform:none}.logic-symbol-rail{bottom:16%;left:50%}.logic-scene .minimal-agent{bottom:10%;left:5%}}.logic-dialogue-line.e-line{margin-left:0}@media (max-width:600px){.logic-dialogue{width:34%;top:20%;left:4%}.logic-world{width:28%;height:160px;top:21%;right:3%}.logic-sentence-board{gap:9px;width:42%;min-height:154px;padding:12px 10px;top:20%;left:53%}.logic-sentence{gap:5px;font-size:14px}.logic-claim{font-size:8px}.logic-operator-slot{min-width:26px;min-height:26px;font-size:15px}.logic-operator-slot .math-tex{font-size:15px}.logic-reaction{min-height:27px;font-size:8px}.logic-commit{min-width:94px;padding:5px 7px;font-size:8px}.logic-symbol-rail{bottom:18%}.logic-symbol-rail>div{gap:4px}.logic-symbol-rail button{width:58px;min-height:47px;padding:4px 2px}.logic-symbol-rail button .math-tex{font-size:15px}.logic-symbol-rail button span{font-size:7px}.logic-door{width:52px;height:84px;top:36%;right:2%}.logic-door i{width:20px;height:20px}.logic-scene .minimal-agent{bottom:11%;left:3%;scale:.66}}@media (max-height:600px) and (orientation:landscape) and (max-width:1000px){.logic-dialogue{width:27%;top:20%;left:5%}.logic-world{width:24%;height:150px;top:20%;right:5%}.logic-sentence-board{gap:8px;width:32%;min-height:145px;padding:10px 14px;top:20%;left:51%}.logic-sentence{font-size:14px}.logic-claim{font-size:8px}.logic-reaction{min-height:22px;font-size:8px}.logic-symbol-rail{bottom:12%;left:51%}.logic-symbol-rail button{width:58px;min-height:43px}.logic-door{width:50px;height:80px;top:35%;right:2%}}button.game-action{border:0;border-bottom:1px solid var(--ink);color:#676d69;height:auto;font:600 10px/1 var(--font-geist-mono), monospace;letter-spacing:0;cursor:pointer;background:0 0;border-radius:0;padding:5px 9px;transition:color .18s,background .18s}:is(button.game-action:hover,button.game-action:focus-visible){color:var(--ink);background:#ffffffb8;outline:none}button.game-action:disabled{opacity:.3;cursor:default}@keyframes euler-exit-right{0%{transform:translate(0)translateY(0)rotate(-3deg)}15%{transform:translate(4vw)translateY(-7px)rotate(4deg)}36%{transform:translate(19vw)translateY(0)rotate(-3deg)}60%{transform:translate(43vw)translateY(-7px)rotate(4deg)}82%{opacity:1;transform:translate(70vw)translateY(0)rotate(-3deg)}to{opacity:0;transform:translate(94vw)translateY(-6px)rotate(3deg)}}@keyframes euler-exit-left{0%{transform:translate(0)translateY(0)rotate(3deg)}15%{transform:translate(-4vw)translateY(-7px)rotate(-4deg)}36%{transform:translate(-19vw)translateY(0)rotate(3deg)}60%{transform:translate(-43vw)translateY(-7px)rotate(-4deg)}82%{opacity:1;transform:translate(-70vw)translateY(0)rotate(3deg)}to{opacity:0;transform:translate(-94vw)translateY(-6px)rotate(-3deg)}}@keyframes euler-leg-left{0%{transform:rotate(34deg)}to{transform:rotate(-30deg)}}@keyframes euler-leg-right{0%{transform:rotate(-32deg)}to{transform:rotate(32deg)}}@keyframes euler-briefcase-swing{0%{transform:rotate(6deg)translateY(1px)}to{transform:rotate(-5deg)translateY(-1px)}}.minimal-agent.crossing{animation:1.1s cubic-bezier(.3,.02,.18,1) 1.2s both euler-exit-right}.minimal-agent.crossing.exit-left{animation-name:euler-exit-left}.minimal-agent.crossing .e-leg-left{animation:.36s ease-in-out infinite alternate euler-leg-left}.minimal-agent.crossing .e-leg-right{animation:.36s ease-in-out infinite alternate euler-leg-right}.minimal-agent.crossing .e-briefcase{animation:.43s ease-in-out infinite alternate euler-briefcase-swing}.reduce-motion .minimal-agent.crossing{animation:.36s both euler-exit-right-reduced!important}.reduce-motion .minimal-agent.crossing.exit-left{animation-name:euler-exit-left-reduced!important}@keyframes euler-exit-right-reduced{to{opacity:0;transform:translate(28vw)}}@keyframes euler-exit-left-reduced{to{opacity:0;transform:translate(-28vw)}}.chapter-ending{text-align:center}.chapter-ending-rings{pointer-events:none;width:auto;height:auto;position:absolute;inset:0;transform:none}.chapter-ending .ending-rings{width:auto;height:auto;inset:0;transform:none}.chapter-ending-rings i{border:1px solid var(--line);border-radius:50%;position:absolute}.chapter-ending-rings i:first-child{width:460px;height:330px;top:18%;left:50%;transform:translate(-50%)}.chapter-ending-rings i:nth-child(2){border-color:var(--coral);width:250px;height:160px;animation:4s ease-in-out infinite alternate ending-orbit;top:29%;left:50%;transform:translate(-50%)}.chapter-ending-description:empty{display:none}.chapter-ending-mark{color:var(--ink);font:500 clamp(20px, 3vw, 34px) / 1 var(--math-font);white-space:nowrap;position:absolute;top:28%;left:50%;transform:translate(-50%)}.chapter-ending-status{color:#747a76;font:500 11px / 1 var(--font-geist-mono), monospace;letter-spacing:.14em;text-transform:lowercase;margin:0;position:absolute;top:48%;left:50%;transform:translate(-50%)}.chapter-ending-description{color:#747a76;width:80%;font-size:14px;position:absolute;top:54%;left:50%;transform:translate(-50%)}.chapter-ending .minimal-agent{bottom:22%;left:50%;transform:translate(-50%)}.chapter-ending-actions{gap:8px;display:flex;position:absolute;bottom:10%;left:50%;transform:translate(-50%)}.ending-scene{place-items:center;display:grid}.ending-scene .chapter-ending .minimal-agent,.ending-scene .minimal-agent{bottom:20%;left:50%;transform:translate(-50%)scale(1.18)}.ending-scene .chapter-ending-actions{bottom:11%}.function-ending{place-items:center;display:grid}.function-ending .minimal-agent{bottom:18%;left:50%;transform:translate(-50%)scale(1.35)}.function-ending .chapter-ending-actions{bottom:8%}.chapter-ending .chapter-ending-mark{color:var(--ink);font:500 clamp(20px, 3vw, 34px) / 1 var(--math-font);margin:0;position:absolute;top:28%;left:50%;transform:translate(-50%)}.chapter-ending .chapter-ending-status{color:#747a76;font:500 11px / 1 var(--font-geist-mono), monospace;letter-spacing:.14em;text-transform:lowercase;margin:0;position:absolute;top:40%;left:50%;transform:translate(-50%)}.chapter-ending .chapter-ending-description{color:#747a76;width:80%;font:14px / 1.4 var(--font-geist-sans), sans-serif;margin:0;position:absolute;top:54%;left:50%;transform:translate(-50%)}@media (max-width:600px){.chapter-ending-mark{width:90%;top:25%}.chapter-ending-status{top:46%}.chapter-ending-description{width:80%;font-size:11px;top:53%}.chapter-ending .minimal-agent{bottom:23%;scale:.76}.chapter-ending-actions{bottom:10%}.chapter-ending .chapter-ending-mark{width:90%;top:25%}.chapter-ending .chapter-ending-status{top:40%}.chapter-ending .chapter-ending-description{width:80%;font-size:11px;top:53%}.function-ending .minimal-agent{scale:1}}.reduce-motion .chapter-ending-rings i{animation:none!important}
