@font-face{font-family:"Source Sans 3";src:url("/assets/fonts/source-sans-3.woff2") format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
:root{--ink:#203d34;--paper:#f5f2e8;--line:#d6dbce;--gold:#edcd69;--ease:cubic-bezier(.22,.68,0,1)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;font-family:"Source Sans 3","Segoe UI",Tahoma,sans-serif;color:var(--ink);background:#a8c5b6}body{overflow:hidden;font-size:16px;-webkit-font-smoothing:antialiased}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button{border:0}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #8d640c;outline-offset:5px}button:disabled{cursor:default;opacity:.4}button:hover:not(:disabled){filter:brightness(.97)}[hidden]{display:none!important}button svg{width:20px;height:20px;display:block}kbd{font-family:inherit;font-size:12px;border:1px solid #7e938674;border-radius:4px;min-width:20px;min-height:20px;display:inline-flex;align-items:center;justify-content:center;padding:2px 5px;line-height:1.4}
#world,#lab-canvas{position:fixed;inset:0;width:100%;height:100%;display:block}#lab-canvas{touch-action:none;outline-offset:-5px;cursor:crosshair}.header{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:27px 34px;gap:16px;pointer-events:none}.header>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:24px;font-weight:650;letter-spacing:-1.2px}.brand-symbol{display:grid;place-items:center;width:41px;height:41px;background:var(--ink);color:#f1d279;border-radius:50%;font-size:25px;line-height:1;padding-bottom:4px}.brand-sub{display:block;font-size:12px;letter-spacing:1.65px;font-weight:500;margin-top:6px}.header-actions{display:flex;align-items:center;gap:9px}.fan-label{font-size:12px;display:flex;gap:7px;align-items:center;margin-right:17px}.fan-label i{width:5px;height:5px;background:#365b47;border-radius:50%}.explore-button,.icon-button{background:#f5f2e8e6;box-shadow:0 2px 9px #183d3310;height:40px;border:1px solid #fefaf47a}.explore-button{border-radius:22px;padding:0 20px;font-size:12px;display:flex;gap:27px;align-items:center}.icon-button{border-radius:50%;width:40px;display:grid;place-items:center}.help-button{font-size:16px}
.intro{position:fixed;left:36px;bottom:103px;z-index:5;max-width:315px;transition:opacity .6s,transform .6s;pointer-events:none}.intro button{pointer-events:auto}.eyebrow,.dialog-kicker{font-size:12px;letter-spacing:1.7px;font-weight:600}.intro h1{font-size:30px;font-weight:500;line-height:1.08;letter-spacing:-1.4px;margin:14px 0}.intro p{font-size:12px;line-height:1.7;margin:0 0 13px;color:#476656}.text-button{display:inline-flex;align-items:center;gap:18px;background:transparent;padding:9px 0;font-size:12px;text-decoration:none}.intro.dismissed{opacity:0;transform:translateY(10px);pointer-events:none}.intro.dismissed button{pointer-events:none}.quest{position:fixed;left:36px;top:108px;z-index:5;display:flex;gap:12px;align-items:center;font-size:12px;background:#f5f2e8d9;padding:12px 15px;border:1px solid #fff6;border-radius:12px;box-shadow:0 5px 30px #26483509;pointer-events:none}.quest-icon{font-size:26px;color:#7e7535}.quest small{display:block;font-size:12px;color:#667463;margin-top:5px}.quest-count{margin-left:17px;font-size:12px;font-variant-numeric:tabular-nums}.bottom-bar{position:fixed;bottom:28px;left:35px;right:35px;z-index:8;display:flex;justify-content:space-between;align-items:center;gap:20px;pointer-events:none}.bottom-bar>*{pointer-events:auto}.control-hint{display:flex;align-items:center;gap:14px;font-size:12px;color:#365749}.control-hint>span{display:flex;gap:4px;align-items:center}.control-hint b{font-weight:400;opacity:.45}.discoveries{display:flex;gap:12px;align-items:center;background:var(--paper);border-radius:25px;padding:14px 18px;font-size:12px;box-shadow:0 3px 15px #26483513}.discovery-dots{display:flex;gap:4px}.discovery-dots i{width:6px;height:6px;background:#c7d2c3;border-radius:50%}.discovery-dots i.found{background:#637f57}.camera-tools{position:fixed;right:35px;bottom:102px;z-index:8;display:grid;border-radius:22px;overflow:hidden;box-shadow:0 3px 15px #26483510}.camera-tools button{width:36px;height:36px;background:#f5f2e8de;font-size:17px}.camera-tools button+button{border-top:1px solid #203d3410}
#station-labels{position:fixed;inset:0;pointer-events:none;z-index:4;overflow:hidden}.station-label{position:absolute;left:0;top:0;display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #f6f2e488;background:#f5f2e8ec;border-radius:6px;box-shadow:0 3px 10px #133e2e15;pointer-events:auto;white-space:nowrap;font-size:12px;letter-spacing:.7px;font-weight:550;transform-origin:center;transition:background .2s,box-shadow .2s}.station-label::after{content:'';position:absolute;top:100%;left:50%;border:5px solid transparent;border-top-color:#f5f2e8ec;transform:translateX(-50%)}.station-label .label-dot{width:5px;height:5px;background:#6b8963;border-radius:50%}.station-label.nearby{background:#203d34;color:#fff8e2;box-shadow:0 3px 20px #203d3430}.station-label.nearby::after{border-top-color:#203d34}.station-label.nearby .label-dot{background:#eed073}.station-label.visited .label-dot{background:#ad902e}.interact{position:fixed;bottom:108px;left:50%;transform:translateX(-50%);z-index:9}.interact button{display:flex;gap:14px;align-items:center;background:#203d34;color:var(--paper);padding:12px 18px;border-radius:9px;box-shadow:0 6px 24px #12382c25;font-size:12px}.interact kbd{color:#203d34;background:#efcf70;border:none;font-size:12px;width:25px;height:25px}.toast{position:fixed;top:105px;left:50%;transform:translate(-50%,-8px);background:var(--ink);color:var(--paper);border-radius:24px;padding:12px 20px;z-index:30;opacity:0;transition:.3s;pointer-events:none;font-size:12px;text-align:center;max-width:400px}.toast.visible{opacity:1;transform:translate(-50%,0)}
.loading{position:fixed;inset:0;z-index:7;background:#a8c5b6;display:flex;align-items:center;justify-content:center;gap:17px;transition:opacity .4s}.loading.finished{opacity:0;pointer-events:none}.loading p{font-size:15px;letter-spacing:-.3px}.loading p span{display:block;font-size:12px;margin-top:8px;color:#54745c;letter-spacing:0}.loading-orbit{display:block;width:25px;height:25px;border:1px solid #425e4533;border-top:2px solid #426047;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.skip{position:fixed;left:20px;top:-80px;z-index:80;background:var(--paper);padding:14px;border-radius:8px}.skip:focus{top:20px}.direct-content{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.direct-content:target,.direct-content:focus-within,body.no-world .direct-content{position:fixed;bottom:24px;left:24px;right:24px;width:auto;height:auto;clip-path:none;white-space:normal;background:var(--paper);padding:24px;border-radius:16px;z-index:40;box-shadow:0 12px 50px #163f3520}.direct-content h2{margin:0 0 8px;font-size:25px;font-weight:500;letter-spacing:-1px}.direct-content p{font-size:13px;color:#647463}.direct-content nav{display:flex;flex-wrap:wrap;gap:10px 30px;font-size:13px}.direct-content a{padding:5px 0;text-underline-offset:4px}.fallback{position:fixed;inset:15% 10% 25%;display:flex;gap:5vw;align-items:center;justify-content:center}.fallback img{height:100%;max-width:40%;object-fit:contain}.fallback h1{font-size:clamp(28px,4vw,56px);font-weight:500;letter-spacing:-2px;line-height:1.05}.fallback p{max-width:360px;line-height:1.6}.no-world .quest,.no-world .intro,.no-world .bottom-bar,.no-world .camera-tools,.no-world #lab-canvas,.no-world .mobile-controls{display:none}.noscript-note{margin:100px 24px 20px}
/* Content opens as quiet editorial sheets over the little world. */
dialog{width:min(860px,calc(100vw - 40px));border:1px solid #ffffff70;border-radius:18px;padding:43px 44px 0;color:var(--ink);background:var(--paper);box-shadow:0 25px 100px #14372d40;max-height:calc(100dvh - 64px);overflow:auto;overscroll-behavior:contain}dialog::backdrop{background:#163e2e59;backdrop-filter:blur(6px)}dialog h2{font-size:43px;line-height:1.06;font-weight:500;letter-spacing:-1.8px;margin:17px 0 22px}dialog p{font-size:16px;line-height:1.75;color:#61705f}dialog h2 em{font-style:normal;color:#8e7d35}.close-dialog{position:absolute;right:17px;top:17px;width:32px;height:32px;background:#e8e8dc;border-radius:50%;font-size:22px;font-weight:300;line-height:1}.dialog-kicker{color:#77806c}.dialog-lead{max-width:570px;margin-bottom:27px}.dialog-note{font-size:12px!important;color:#78806e!important;line-height:1.7!important;margin:24px 0 30px}.dialog-footer{border-top:1px solid var(--line);margin-top:30px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0}.dialog-footer>span{font-size:12px;letter-spacing:1px;color:#77806c}.lore-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:24px}.lore-layout h2{font-size:37px}.lore-layout p{font-size:16px}.lore-mascot{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e8e7d6;border-radius:130px 130px 12px 12px;margin-top:14px;padding:30px 8px 24px}.lore-mascot img{width:100%;height:auto;filter:drop-shadow(0 15px 10px #a67e3820)}.lore-mascot span{font-size:12px;line-height:1.5;letter-spacing:1.3px;text-align:center;margin-top:15px}.creator-link{font-size:12px;text-underline-offset:4px}.source-note{display:block;font-size:12px;color:#7d806f;margin-top:10px}.wide-dialog{width:min(1060px,calc(100vw - 40px))}.meme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:27px}.meme-card{border-radius:10px;overflow:hidden;padding:21px 20px 18px;display:flex;flex-direction:column;min-height:385px}.mint{background:#dce6cb}.peach{background:#eac1af}.butter{background:#edde9a}.lilac{background:#dbd0e8}.card-meta{font-size:12px;letter-spacing:1px}.meme-card p{font-size:18px;line-height:1.3;font-weight:500;letter-spacing:-.4px;color:#344a39;margin:23px 0 0;min-height:96px}.meme-card img{width:88%;height:190px;object-fit:contain;align-self:center;margin-top:6px;filter:drop-shadow(0 8px 6px #a37a3720)}.meme-card:nth-child(2) img{transform:rotate(-9deg)}.card-foot{font-size:12px;line-height:1.5;margin-top:auto;padding-top:12px}.community-links{border-top:1px solid var(--line)}.community-links>div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:22px 0;border-bottom:1px solid var(--line);font-size:15px}.pending{font-size:12px;padding:6px 10px;border:1px solid #c8d0bf;border-radius:20px;color:#7b8471;white-space:nowrap}.community-links a{font-size:12px;text-underline-offset:4px}.directory{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0}.directory button{display:flex;align-items:center;gap:14px;padding:20px 15px;border:1px solid var(--line);border-radius:10px;text-align:left;background:transparent}.location-number{width:39px;height:49px;border-radius:6px;display:grid;place-items:center;flex-shrink:0;font-size:12px}.directory strong{font-size:13px;font-weight:500;display:block}.directory small{font-size:12px;display:block;margin-top:7px;line-height:1.4;color:#7b806f}.directory button>span:last-child{margin-left:auto}.directory button.discovered{border-color:#adb995}.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;text-decoration:none;background:var(--ink);color:var(--paper);padding:15px 20px;border-radius:8px;font-size:12px}.reaction-progress{padding:25px;display:grid;grid-template-columns:50px 1fr;gap:15px;align-items:center;background:#e6dfeb;border-radius:12px;margin:27px 0}.reaction-symbol{font-size:42px;color:#8d719f}.reaction-progress strong{font-size:15px;font-weight:500}.reaction-progress p{font-size:12px;margin:6px 0 0}.progress-track{height:5px;background:#cfc3d6;border-radius:10px;grid-column:1/-1;overflow:hidden;margin-top:5px}.progress-track span{display:block;height:100%;width:0;background:#887291;transition:width .4s}.replay-button{margin-left:15px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 30px;margin:27px 0}.help-grid>div{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.help-grid span{font-size:12px;width:100%;margin-top:2px;color:#647461}.motion-setting{font-size:12px;display:flex;align-items:center;gap:9px}.motion-setting input{accent-color:var(--ink);width:17px;height:17px}.attribution{border-top:1px solid var(--line);padding:22px 0 30px}.attribution strong{font-size:13px;font-weight:500}.attribution p{font-size:12px;line-height:1.7;max-width:640px}.attribution a{font-size:12px;text-underline-offset:3px}.attribution>span{display:inline-block;font-size:12px;margin-left:18px;color:#7b806f}.mobile-controls{display:none}
@media(min-width:1600px){.header{padding:35px 45px}.quest{top:120px;left:46px}.intro{left:46px;bottom:115px}.intro h1{font-size:35px}.bottom-bar{bottom:35px;left:45px;right:45px}}
@media(max-width:1050px){.fan-label{display:none}.intro{max-width:255px}.intro h1{font-size:26px}.control-hint{gap:9px}.click-hint{display:none!important}.control-hint>b:last-of-type{display:none}.directory strong{font-size:12px}.dialog-footer>span{max-width:45%;line-height:1.6}}
@media(pointer:coarse){.mobile-controls{display:flex;position:fixed;bottom:87px;left:25px;right:25px;z-index:9;justify-content:space-between;align-items:center;pointer-events:none}.mobile-controls>*{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none}#joystick{position:relative;width:98px;height:98px;border:1px solid #f5f2e8cc;border-radius:50%;background:#f5f2e824;box-shadow:inset 0 0 0 14px #f5f2e816;display:grid;place-items:center}#joystick-knob{width:39px;height:39px;border-radius:50%;background:#f5f2e8db;box-shadow:0 3px 10px #203d3417}.joystick-caption{position:absolute;bottom:7px;font-size:12px;letter-spacing:1px;pointer-events:none}#hop-button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:66px;height:66px;border-radius:50%;background:#f5f2e8dc;font-size:27px;gap:1px}#hop-button span{font-size:12px;letter-spacing:1px}.control-hint{display:none}.bottom-bar{justify-content:flex-end}.intro{bottom:225px}.camera-tools{bottom:185px;right:39px}.camera-tools button{width:32px;height:32px}.interact{bottom:100px}.interact button{font-size:12px;gap:9px;padding:10px 12px}.interact kbd{display:none}}
@media(max-width:650px){.header{padding:20px 18px;gap:8px}.brand{font-size:21px;gap:8px}.brand-symbol{width:35px;height:35px;font-size:22px}.brand-sub{font-size:12px;letter-spacing:1.05px;margin-top:5px}.header-actions{gap:6px}.icon-button,.explore-button{height:35px}.icon-button{width:35px}.explore-button{padding:0 13px;gap:10px;font-size:12px}.help-button{display:none}.quest{top:86px;left:18px;padding:9px 11px;gap:9px;border-radius:10px;font-size:12px}.quest-icon{font-size:21px}.quest small{font-size:12px}.quest-count{font-size:12px;margin-left:13px}.intro{left:20px;bottom:222px;max-width:216px}.intro .eyebrow{font-size:12px;letter-spacing:1.3px}.intro h1{font-size:24px;letter-spacing:-1.1px;margin:10px 0}.intro p{display:none}.intro .text-button{font-size:12px}.bottom-bar{bottom:22px;left:18px;right:18px}.discoveries{font-size:12px;padding:12px 14px;gap:10px}.camera-tools{right:19px;bottom:191px}.station-label{font-size:12px;letter-spacing:.3px;padding:8px;gap:5px}.station-label .label-dot{width:4px;height:4px}.toast{top:147px;font-size:12px;width:max-content;max-width:calc(100vw - 40px);padding:10px 15px}.interact{bottom:115px;max-width:calc(100vw - 220px)}.interact button{font-size:12px;text-align:left}.interact button>span:last-child{display:none}dialog{padding:33px 24px 0;width:calc(100vw - 24px);max-height:calc(100dvh - 28px);border-radius:14px}dialog h2{font-size:34px;margin:15px 0 20px;letter-spacing:-1.4px}.dialog-kicker{font-size:12px;max-width:calc(100% - 28px);line-height:1.6}.dialog-lead{font-size:16px}.directory{grid-template-columns:1fr;gap:9px}.directory button{padding:13px}.directory strong{font-size:13px}.directory small{font-size:12px}.lore-layout{display:block}.lore-layout h2{font-size:32px}.lore-mascot{margin-top:28px;border-radius:100px 100px 12px 12px;padding:20px;max-width:230px;margin-inline:auto}.lore-mascot img{max-height:270px;object-fit:contain}.meme-grid{grid-template-columns:1fr}.meme-card{min-height:350px;padding:23px}.meme-card p{min-height:60px;font-size:21px;max-width:300px}.meme-card img{height:215px}.meme-card .card-foot{margin-top:0}.dialog-footer{margin-top:24px}.dialog-footer>span{font-size:12px}.dialog-footer .text-button{font-size:12px}.community-links>div{font-size:12px}.pending{font-size:12px}.help-grid{gap:17px 14px}.help-grid span{font-size:12px}.help-grid kbd{font-size:12px}.reaction-progress{padding:18px;grid-template-columns:32px 1fr;gap:14px}.reaction-symbol{font-size:32px}.reaction-progress strong{font-size:13px}.reaction-progress p{font-size:12px}.replay-button{margin:10px 0 0}.fallback{inset:15% 8% 34%;gap:4vw}.fallback img{max-width:43%}.fallback h1{font-size:27px;letter-spacing:-1px}.fallback .eyebrow{font-size:12px}.fallback p{font-size:12px}.fallback .primary{display:none}.direct-content:target,.direct-content:focus-within,body.no-world .direct-content{padding:19px;left:15px;right:15px;bottom:15px}.direct-content h2{font-size:23px}.direct-content p{font-size:12px}.direct-content nav{font-size:12px;gap:6px 18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}body.reduce-motion *{animation:none!important;transition:none!important}
@media(max-height:560px) and (orientation:landscape){.header{padding:14px 22px}.quest{top:75px;left:22px}.intro{left:22px;bottom:81px}.intro h1{font-size:23px}.intro p{display:none}.intro .eyebrow{font-size:12px}.mobile-controls{bottom:60px}.bottom-bar{bottom:15px}.interact{bottom:66px}.camera-tools{right:22px;bottom:140px}dialog{max-height:calc(100dvh - 20px)}}

/* Touch targets and reading text stay generous over the miniature scene. */
.explore-button,.text-button,.primary,.directory strong,.community-links a{font-size:14px}.quest{font-size:14px}.quest small{font-size:12px}.quest-count{font-size:14px}.toast{font-size:14px}.station-label{font-size:12px;letter-spacing:.35px}.dialog-note{font-size:13px!important}.help-grid span{font-size:14px}.brand-sub{font-size:12px;letter-spacing:1px}.intro p{font-size:14px}.dialog-footer>span{font-size:12px;letter-spacing:.4px}.card-meta,.card-foot{font-size:12px}.creator-link{font-size:14px}.source-note{font-size:12px;line-height:1.5}.attribution p,.attribution a,.attribution>span{font-size:12px}.dialog-kicker,.eyebrow{font-size:12px;letter-spacing:1.1px}.pending{font-size:12px}.reaction-progress p{font-size:14px}.loading p{font-size:16px}.loading p span{font-size:13px}.close-dialog{width:40px;height:40px}.motion-setting{font-size:14px}.community-links>div{font-size:16px}.control-hint{font-size:12px}.discoveries{font-size:12px}.help-grid kbd{font-size:12px}.replay-button{font-size:14px}
@media(max-width:850px){.brand-sub{display:none}.dialog-footer>span{font-size:12px}.directory{grid-template-columns:1fr}.intro .eyebrow{max-width:200px;display:block;line-height:1.5}}
@media(max-width:650px){.quest{font-size:12px;max-width:calc(100vw - 36px)}.quest small,.quest-count{font-size:12px}.quest small{max-width:230px;line-height:1.4}.station-label{font-size:12px}.intro .eyebrow{font-size:12px;letter-spacing:.8px}.intro .text-button{font-size:14px}.dialog-footer>span{max-width:42%;font-size:12px}.dialog-footer .text-button{font-size:14px}.community-links>div{font-size:14px}.pending{font-size:12px;padding:6px 8px}.help-grid span{font-size:14px}.direct-content nav{font-size:14px}.direct-content p{font-size:14px}.toast{font-size:13px}.interact{max-width:calc(100vw - 205px)}.interact button{font-size:12px}.explore-button{font-size:12px}.reaction-progress strong{font-size:16px}.dialog-kicker{font-size:12px;padding-right:15px}.dialog-note{font-size:13px!important}}

/* The arcade sits inside the same editorial sheets as the rest of the lab. */
.arcade-directory-heading{border-top:1px solid var(--line);padding-top:25px;margin-top:25px}.arcade-directory-heading h3{font-size:26px;font-weight:500;letter-spacing:-.8px;margin:12px 0 20px}.arcade-directory{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.arcade-directory button{background:transparent;border:1px solid #c8d3c2;border-radius:12px;padding:18px;text-align:left;display:flex;flex-direction:column;gap:12px}.arcade-directory button:hover{background:#eaeadd}.arcade-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;font-size:14px}.arcade-directory strong{font-size:16px;font-weight:500}.arcade-directory button>span:not(.arcade-mark){font-size:14px;line-height:1.5;color:#62705f}.arcade-directory small{font-size:12px;line-height:1.5;color:#71806b;margin-top:auto;padding-top:8px}.station-label.game-label{border-color:#b8994b;background:#ffedb9}.station-label.game-label.nearby{background:#203d34;color:#fff5d3}.station-label.game-label::after{border-top-color:#ffedb9}.station-label.game-label.nearby::after{border-top-color:#203d34}
.arcade-dialog{width:min(940px,calc(100vw - 28px));padding-top:29px}.arcade-dialog h2{font-size:35px;margin:12px 0}.arcade-dialog #arcade-description{font-size:14px;line-height:1.55;max-width:760px;margin:0 0 20px}.arcade-stats{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:15px;padding:15px 0;border-top:1px solid var(--line)}.arcade-stats>div{display:flex;flex-direction:column;gap:6px}.arcade-stats span{font-size:12px;color:#687862}.arcade-stats strong{font-size:19px;font-weight:500;font-variant-numeric:tabular-nums}.arcade-best-stat{text-align:right}.arcade-best-stat strong{font-size:15px}.arcade-stage{position:relative;isolation:isolate;border-radius:12px;overflow:hidden;background:#143f3a;aspect-ratio:10/7;max-height:48dvh;margin-inline:auto;max-width:100%;width:calc(48dvh * 10 / 7)}#arcade-canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair;outline-offset:-5px}.arcade-cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;color:#fbf5e3;background:#103c32e8;z-index:2}.arcade-cover .eyebrow{color:var(--game-accent);line-height:1.6}.arcade-cover h3{font-size:clamp(25px,4vw,42px);letter-spacing:-1px;font-weight:500;margin:14px 0 8px}.arcade-cover p{font-size:15px;line-height:1.6;color:#b7cabe;max-width:380px;margin:0 0 22px}.arcade-cover .primary{background:var(--game-accent);color:#203d34}.arcade-status{font-size:14px!important;line-height:1.5!important;min-height:22px;color:#355e47!important;margin:13px 0!important;text-align:center}.arcade-action-row{display:flex;align-items:center;gap:20px;padding:3px 0 0}.arcade-action-row>span{font-size:12px;color:#65715d;line-height:1.6}.arcade-action-row>button{display:flex;align-items:center;gap:12px;background:#e3e6d9;padding:11px 15px;border-radius:8px;white-space:nowrap;font-size:14px}.arcade-dialog .dialog-footer{margin-top:20px}.arcade-dialog .dialog-footer>span{font-size:12px}.memory-board{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:25px;width:100%;height:100%;background:#143f3a}.memory-board button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:3px solid transparent;border-radius:14px;opacity:.7;transition:filter .1s,box-shadow .1s;color:#193e33}.memory-board button b{font-size:clamp(30px,5vw,58px);font-weight:500}.memory-board button span{font-size:12px;letter-spacing:1.6px}.memory-board button:disabled{cursor:default;opacity:.65}.memory-board button:not(:disabled){opacity:1}.memory-board button.lit{opacity:1!important;border-color:#fff;box-shadow:inset 0 0 0 3px #fff,0 0 26px #ffffc766;filter:brightness(1.23)}.memory-board button:active:not(:disabled){filter:brightness(1.2)}.pad-gold{background:#edc45b}.pad-mint{background:#98d4b4}.pad-coral{background:#e99a83}.pad-lilac{background:#b9a1dd}
@media(max-width:650px){.arcade-directory{grid-template-columns:1fr}.arcade-directory button{display:grid;grid-template-columns:40px 1fr;gap:8px 13px;padding:15px}.arcade-mark{grid-row:1/4}.arcade-directory small{padding:0;grid-column:2}.arcade-dialog{padding:29px 17px 0}.arcade-dialog h2{font-size:29px;padding-right:15px}.arcade-stats{gap:8px}.arcade-stats span{font-size:12px;line-height:1.4}.arcade-stats strong{font-size:17px}.arcade-best-stat strong{font-size:12px;line-height:1.5}.arcade-stage{width:100%;max-height:none}.arcade-cover{padding:15px}.arcade-cover h3{font-size:27px;margin:10px 0}.arcade-cover p{font-size:13px;margin:0 0 15px}.arcade-cover .eyebrow{font-size:12px}.arcade-cover .primary{padding:13px 18px}.arcade-action-row{gap:12px;align-items:flex-start}.arcade-action-row>span{font-size:12px}.arcade-action-row kbd{display:none}.memory-board{padding:15px;gap:11px}.memory-board button{gap:4px;border-radius:10px}.memory-board button span{font-size:12px}.arcade-dialog .dialog-footer .text-button{max-width:52%;text-align:right;line-height:1.5}.arcade-dialog .dialog-footer>span{font-size:12px;line-height:1.5}.arcade-dialog #arcade-description{font-size:14px}}

.arcade-cover{overflow:auto;justify-content:safe center}

/* Shared-room controls float beside the lab, keeping its floor clear. */
.social-tools{position:fixed;top:100px;right:4vw;z-index:12;display:flex;gap:8px}.social-tools button,.room-panel button,.wallet-options button,#wallet-logout{background:#f7f4e8;color:#203d34;border:1px solid #c6d0c0;border-radius:9px;padding:11px 13px;font-size:14px}.social-tools button{box-shadow:0 3px 16px #294e3c12;display:flex;align-items:center;gap:12px}.social-tools .connected{background:#203d34;color:#f8f1d6;border-color:#203d34}.chat-dot{height:8px;width:8px;border-radius:50%;background:#efc959}.room-panel{position:fixed;right:4vw;top:154px;bottom:80px;width:min(370px,calc(100vw - 28px));z-index:15;border:1px solid #b8c5b5;border-radius:18px;background:#f7f4e8f5;box-shadow:0 16px 65px #153c3433;backdrop-filter:blur(16px);padding:20px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.room-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.room-heading h2{font-size:25px;font-weight:500;letter-spacing:-.8px;margin:6px 0 0}.room-heading .eyebrow{font-size:12px}.room-heading .icon-button{flex-shrink:0;font-size:24px;padding:0}.room-picker,.round-controls{display:flex;align-items:center;gap:8px}.room-picker label{font-size:14px}.room-panel select,.customize-dialog input:not([type=radio]),.customize-dialog select{min-width:0;background:#fffdf4;border:1px solid #c1cbbb;border-radius:8px;padding:10px;color:#203d34;font:inherit;font-size:14px}.room-picker select{flex:1}.room-panel button{padding:9px 10px;font-size:13px}.player-roster{font-size:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}.player-roster summary{cursor:pointer}.player-roster #room-players{max-height:145px;overflow:auto}.player-roster #room-players>div{display:flex;align-items:center;gap:8px;margin:9px 0}.player-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.player-roster small{font-size:12px;max-width:75px;color:#55705b}.player-roster button{margin-left:auto;font-size:12px;padding:5px}.room-round{background:#e5e9dc;border-radius:10px;padding:12px;font-size:14px}.round-caption{font-size:12px;letter-spacing:.6px;color:#52664e;margin-bottom:7px}.room-round strong{font-weight:500}.room-round p{font-size:13px;line-height:1.5;margin:7px 0 10px}.round-controls{flex-wrap:wrap}.round-controls select{flex:1;font-size:13px;width:140px}.round-controls button{background:#203d34;color:#fff5da}.round-controls button:disabled{opacity:.5}#round-results{padding:0;margin:10px 0 0;list-style:none;max-height:115px;overflow:auto}#round-results:empty{display:none}#round-results li{display:flex;justify-content:space-between;gap:8px;margin:6px 0;font-size:13px}.chat-messages{list-style:none;margin:0;padding:0;flex:1;min-height:100px;overflow-y:auto;overscroll-behavior:contain}.chat-messages li{margin:0 0 12px;overflow-wrap:anywhere}.chat-messages strong{font-size:12px;font-weight:600;color:#55705b}.chat-messages p{font-size:14px;line-height:1.5;margin:3px 0 0}.chat-messages .own-message strong{color:#967114}.chat-empty{color:#617360;font-size:14px;padding:16px 0}.chat-form{display:flex;gap:7px}.chat-form input{width:0;flex:1;border:1px solid #b9c8b7;border-radius:8px;font:inherit;font-size:16px;padding:10px;background:#fffdf4;color:#203d34}.chat-form button{background:#203d34;color:#fff5da}.chat-status{font-size:13px;line-height:1.5;margin:0;color:#815435}.chat-status:empty{display:none}.room-note{margin:0;font-size:12px;line-height:1.5;color:#617360}.customize-dialog{max-width:600px}.customize-dialog h2{margin-bottom:14px}.profile-identity{font-size:14px!important;color:#55705b!important}.wallet-options,.profile-actions{display:flex;gap:10px;flex-wrap:wrap}.wallet-options button{background:#203d34;color:#fff5da;padding:14px}.wallet-status{font-size:14px!important;min-height:22px;line-height:1.5!important}.customize-dialog fieldset{border:0;padding:0;margin:25px 0}.customize-dialog fieldset>label{display:block;font-size:14px;margin:20px 0 10px}.customize-dialog fieldset>input,.customize-dialog fieldset>select{width:100%;font-size:16px!important}.customize-dialog fieldset:disabled{opacity:.45}.color-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.color-options label{position:relative;cursor:pointer}.color-options input{position:absolute;opacity:0}.color-options span{display:flex;align-items:center;gap:8px;border:1px solid #c0cab8;border-radius:8px;padding:12px 8px;font-size:13px}.color-options i{width:18px;height:18px;border-radius:50%;background:var(--swatch);border:1px solid #203d3422}.color-options input:checked+span{background:#e1e6d7;box-shadow:inset 0 0 0 1px #203d34}.color-options input:focus-visible+span{outline:3px solid #a47a22;outline-offset:2px}.profile-actions{align-items:center}.profile-actions .primary{border:0}.profile-actions button:disabled{opacity:.4;cursor:default}#player-labels{position:fixed;inset:0;pointer-events:none;z-index:5}.player-label{position:absolute;left:0;top:0;max-width:180px;background:#203d34ed;color:#fff8dc;border:1px solid #faf3d640;border-radius:20px;padding:5px 9px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;will-change:transform}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.arcade-action-row{flex-wrap:wrap}#arcade-room{background:#203d34;color:#fff5da}
@media(max-width:850px){.social-tools{top:86px;right:20px}.room-panel{right:20px;top:137px}.quest{top:146px}.fan-label{display:none}}
@media(max-width:650px){.social-tools{top:78px;right:14px;left:14px;justify-content:flex-end}.social-tools button{padding:10px;font-size:12px}.room-panel{top:129px;right:14px;bottom:14px;padding:16px}.quest{top:130px;left:18px;max-width:calc(100vw - 36px)}.room-heading h2{font-size:23px}.room-panel .chat-messages{min-height:120px}.customize-dialog{padding-inline:22px}.color-options{grid-template-columns:repeat(2,1fr)}.wallet-options button{flex:1;font-size:14px}}
@media(max-height:600px){.room-panel{bottom:12px;top:128px}.room-round{flex-shrink:0}.social-tools{top:72px}.quest{top:126px}}

/* Rankings use the lab's record-book typography and a compact score table. */
.bottom-actions{display:flex;align-items:center;gap:10px}.rankings-toggle{background:#203d34;color:#fff5da;border-radius:24px;padding:14px 18px;font-size:14px;display:flex;align-items:center;gap:14px;box-shadow:0 3px 15px #26483513}.directory-rankings{display:flex;width:100%;align-items:center;justify-content:space-between;padding:17px 20px;background:#e7c75f;border-radius:10px;margin-bottom:15px;text-align:left}.directory-rankings strong{font-size:16px;font-weight:500}.directory-rankings small{display:block;font-size:13px;margin-top:6px}.arcade-ranking{font-size:13px!important;line-height:1.5!important;text-align:center;color:#566a4e!important;margin:5px 0 14px!important}.leaderboards-dialog{width:min(870px,calc(100vw - 28px))}.rankings-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:0 0 28px}.rankings-heading h2{font-size:clamp(32px,4.8vw,48px);letter-spacing:-1.6px;font-weight:500;margin:18px 0 12px;line-height:1.04}.rankings-heading p{font-size:16px;line-height:1.5;margin:0;color:#5c6f54}.rankings-scope{font-size:12px;letter-spacing:.9px;border-left:2px solid #b59532;padding-left:12px;line-height:1.6;max-width:115px;flex-shrink:0}.rankings-filters{display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px}.ranking-tabs{display:flex;gap:3px;background:#e0e6d8;border-radius:10px;padding:5px}.ranking-tabs button{font-size:14px;padding:12px 16px;border-radius:7px;background:transparent;white-space:nowrap}.ranking-tabs button[aria-selected=true]{background:#203d34;color:#fff5da;box-shadow:0 2px 6px #203d3422}.ranking-game-label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#596d52}.ranking-game-label select{font:inherit;font-size:14px;color:#203d34;padding:12px 10px;border:1px solid #bec9b5;background:#fffdf4;border-radius:8px;max-width:240px}.ranking-meta{display:flex;align-items:center;gap:10px;padding:17px 0;font-size:12px;color:#586e51;flex-wrap:wrap}.ranking-meta>span:first-child{margin-right:auto}.ranking-meta button{font-size:13px;background:transparent;padding:5px;color:#203d34}.ranking-personal{display:flex;gap:25px;align-items:center;background:#203d34;color:#fff5da;padding:22px 24px;border-radius:12px}.ranking-personal>div{flex-shrink:0}.ranking-personal span{display:block;font-size:12px;color:#bed1b9}.ranking-personal strong{font-size:34px;font-weight:500;letter-spacing:-1px;display:block;margin-top:8px}.ranking-personal p{color:#e4eddb;font-size:14px;line-height:1.5;flex:1;margin:0}.ranking-personal .primary{flex-shrink:0;background:#e6c660;color:#203d34;font-size:14px;padding:13px 17px}.ranking-rules{font-size:14px!important;line-height:1.5!important;color:#617457!important;margin:21px 0 14px!important}.ranking-table-wrap{max-height:360px;overflow:auto;overscroll-behavior:contain}.ranking-table{width:100%;border-collapse:collapse;text-align:left;font-size:16px}.ranking-table th{position:sticky;top:0;background:#f5f2e8;z-index:1;font-size:12px;color:#5b6e52;font-weight:500;letter-spacing:.6px;padding:12px;border-bottom:1px solid #bdc8b1}.ranking-table td{padding:17px 12px;border-bottom:1px solid #d1d8c8;vertical-align:middle}.ranking-table th:last-child,.ranking-table td:last-child{text-align:right}.ranking-table strong{font-weight:500;display:block;font-size:16px;overflow-wrap:anywhere}.ranking-table small{font-size:12px;color:#5e7254;display:block;margin-top:5px}.ranking-number{font-size:18px;width:75px;font-variant-numeric:tabular-nums}.ranking-number.top-rank{color:#8c690a;font-weight:600}.ranking-you{background:#e3ead8}.ranking-avatar{height:32px;width:32px;background:var(--player-color);box-shadow:inset -5px -5px 10px #203d3425;border:2px solid #fff5da;border-radius:50%;float:left;margin:3px 11px 3px 0}.ranking-message{font-size:14px!important;line-height:1.6!important;color:#5e7355!important;margin:18px 0!important}.ranking-footnote{border-top:1px solid var(--line);margin-top:22px;padding-top:13px}.ranking-footnote p{font-size:12px;line-height:1.6;color:#64755b;margin:6px 0}.ranking-personal p:empty{display:none}#ranking-panel:focus-visible{outline:2px solid #b59532;outline-offset:4px}.ranking-game-label select:focus-visible{outline:3px solid #8d640c;outline-offset:3px}
@media(max-width:850px){.control-hint .click-hint{display:none}.bottom-bar{gap:10px}.control-hint{gap:7px}.ranking-personal{flex-wrap:wrap;gap:16px}.ranking-personal .primary{margin-left:auto}}
@media(max-width:650px){.bottom-actions{gap:7px}.rankings-toggle{font-size:12px;padding:11px 13px;gap:7px}.bottom-actions .discoveries{padding:11px 13px}.bottom-actions .discovery-dots{display:none}.rankings-heading{gap:12px;padding-bottom:23px}.rankings-heading h2{font-size:35px;letter-spacing:-1.2px}.rankings-scope{font-size:12px;max-width:90px}.rankings-heading p{font-size:14px}.rankings-filters{flex-direction:column;align-items:stretch;gap:15px}.ranking-tabs{width:100%}.ranking-tabs button{flex:1;padding:12px 9px}.ranking-game-label{flex-direction:row;align-items:center;justify-content:space-between}.ranking-game-label select{max-width:none;flex:1;margin-left:12px;font-size:16px}.ranking-personal{padding:18px;gap:15px}.ranking-personal p{flex-basis:50%;font-size:14px}.ranking-personal .primary{width:100%;justify-content:center}.ranking-table td{padding:14px 6px}.ranking-table th{padding:12px 6px}.ranking-number{font-size:16px;width:46px}.ranking-table strong{font-size:14px}.ranking-table td:last-child{min-width:96px}.ranking-avatar{display:none}.ranking-meta{font-size:12px}.ranking-meta>span:nth-child(2){flex-basis:100%;order:2}.ranking-footnote p{font-size:12px}.leaderboards-dialog{padding-inline:19px}}
@media(max-width:420px){.bottom-bar .control-hint{display:none}.bottom-actions{width:100%;justify-content:space-between}.rankings-scope{display:none}}
