@font-face{font-family:Geist;src:url('brand/geist.woff2') format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:'Geist Mono';src:url('brand/geist-mono.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--ink:#0b0f0c;--paper:#fafaf3;--lime:#c8ff4f;--orange:#ff5432;--blue:#7a87ff;--line:#ffffff26;--mono:'Geist Mono',monospace}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font:14px Geist,Arial,sans-serif;overflow:hidden}canvas{display:block;width:100vw;height:100vh;touch-action:none}button,a{font:inherit;color:inherit}button{cursor:pointer;border:1px solid #ffffff3b;border-radius:0;padding:12px 16px;background:#0b0f0ce8}button:hover{color:var(--lime);border-color:var(--lime)}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--orange);outline-offset:3px}header{position:absolute;top:0;left:0;right:0;height:36px;padding:0 16px;display:flex;align-items:center;gap:24px;background:#0b0f0cf0;border-bottom:1px solid var(--line)}.logo{display:inline-flex;text-decoration:none}.logo img{width:68px;height:auto;display:block}.live{margin-left:auto;font:600 10px var(--mono);letter-spacing:.04em;display:flex;gap:7px;align-items:center}.live b{font-weight:400;color:var(--orange)}.live i{height:5px;width:5px;border-radius:50%;background:var(--lime);box-shadow:0 0 7px var(--lime)}header button{font:600 10px var(--mono);height:36px;padding:0 16px;border:0;border-left:1px solid var(--line);text-transform:uppercase}#welcome{position:absolute;top:18%;left:2.5%;max-width:450px;padding:28px;background:linear-gradient(110deg,#0b0f0cf2,#0b0f0cc9);border-left:1px solid #ffffff40}.eyebrow{font:600 11px/1.6 var(--mono);letter-spacing:.045em;color:var(--lime)}h1{font-size:clamp(35px,4.3vw,62px);letter-spacing:-.065em;line-height:.98;font-weight:600;margin:27px 0}h1 em{font-style:normal;color:var(--lime)}p{line-height:1.6;color:#efefe8}.primary{background:var(--ink);color:var(--paper);border:1px solid var(--paper);font:600 12px var(--mono);letter-spacing:.02em;text-transform:uppercase}.primary span{display:inline-grid;place-items:center;background:var(--lime);color:var(--ink);width:27px;height:30px;margin:-6px -10px -6px 20px}small{display:block;font:10px/1.6 var(--mono);color:#aeb3aa;margin-top:18px}#loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:18px 24px;background:var(--ink);border:1px solid var(--line);font:12px var(--mono);max-width:90vw}#crosshair{position:absolute;left:50%;top:50%;opacity:.5;pointer-events:none}#team{position:absolute;right:20px;top:56px;width:178px;background:#0b0f0ce8;border:1px solid var(--line);padding:16px}#team .eyebrow{font-size:9px;color:#aeb3aa}#people button{display:flex;align-items:center;gap:10px;width:100%;border:0;border-top:1px solid var(--line);background:transparent;padding:14px 0;border-radius:0;text-align:left;font-size:13px}#people button:first-child{margin-top:14px}#people button i{width:6px;height:6px;border-radius:50%}#people button span{display:block;color:#aeb3aa;font:9px var(--mono);margin-top:5px;text-transform:uppercase}nav{position:absolute;bottom:55px;left:50%;transform:translateX(-50%);display:flex;border:1px solid #ffffff40;background:#0b0f0ce8;white-space:nowrap}nav button{border:0;border-right:1px solid var(--line);background:transparent;font:11px var(--mono);padding:15px 19px}nav button:last-child{border-right:0}nav button[aria-current=true]{color:var(--lime);box-shadow:inset 0 -2px var(--lime)}footer{position:absolute;bottom:0;height:36px;left:0;right:0;padding:0 20px;display:flex;align-items:center;justify-content:space-between;background:#0b0f0ce8;border-top:1px solid var(--line);font:9px var(--mono);letter-spacing:.03em}footer button{height:36px;padding:0 12px;font:9px var(--mono);border:0;border-left:1px solid var(--line);text-transform:uppercase}dialog{color:var(--paper);background:var(--ink);border:1px solid #aeb3aa;border-radius:0;padding:36px;max-width:470px;width:90vw;box-shadow:0 25px 150px #000a}dialog::backdrop{background:#0b0f0c9c;backdrop-filter:blur(5px)}dialog h2{font-size:38px;letter-spacing:-.055em;font-weight:550;margin:18px 0}#close{position:absolute;top:8px;right:8px;border:0;padding:5px 12px;font-size:23px}.choices{display:flex;gap:9px;margin-top:26px}.choices button{font:11px var(--mono)}#touch{display:none;position:absolute;bottom:140px;left:20px;text-align:center}#touch button{padding:14px 18px;touch-action:none}@media(pointer:coarse){#touch{display:block}}@media(max-width:700px){header{padding:0 12px;gap:10px}header button{font-size:8px;padding:0 10px}.live{font-size:8px}.live b{display:none}#team{top:48px;right:12px;width:135px;padding:12px}#welcome{top:auto;bottom:135px;left:12px;max-width:calc(100% - 24px);width:360px;padding:22px}h1{font-size:40px}#welcome p{font-size:12px}nav{bottom:49px;width:calc(100% - 24px);white-space:normal}nav button{flex:1;font-size:9px;padding:12px 7px}footer{padding:0 12px}footer>span:nth-child(2){display:none}#team .eyebrow{font-size:8px}#people button{font-size:12px;padding:10px 0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #ffffff3b;padding:12px 16px;font:11px var(--mono)}.button:hover{border-color:var(--lime);color:var(--lime)}
#learn{margin-top:10px;border-top:1px solid var(--line);padding-top:12px;font-size:11px}summary{cursor:pointer;color:var(--lime)}#topics button{display:block;width:100%;text-align:left;padding:10px 0;background:none;border:0;border-top:1px solid var(--line);font-size:11px;margin-top:8px}#team{max-height:65vh;overflow-y:auto}
@media(max-width:700px){#team{width:145px;max-height:36vh}.choices{flex-wrap:wrap}.choices>*{flex:1}dialog h2{font-size:30px}#welcome:not([hidden])~#team{display:none}}

.embedded header{display:none}.embedded #team{top:20px}

@media(max-width:700px){#touch{display:block}}

#team-toggle{display:none}@media(max-width:700px){#team-toggle{display:block;width:100%;border:0;padding:4px 0;text-align:left;font:10px var(--mono);color:var(--lime)}#team:not(.expanded)>:not(#team-toggle){display:none}#team.expanded{max-height:50vh}}

/* Keep the room visible; details expand on request. */
#crosshair{display:none}#team{width:180px;padding:12px}#team-toggle{display:block;width:100%;border:0;padding:4px 0;text-align:left;font:10px var(--mono);color:var(--lime)}#team:not(.expanded)>:not(#team-toggle){display:none}#welcome{max-width:350px;top:auto;bottom:130px;padding:24px}h1{font-size:44px}#world{cursor:crosshair}#touch{display:none!important}

@media(max-width:700px){footer>span:first-child{display:none}footer>#walk-status{display:block;font-size:8px;max-width:75%;line-height:1.4}nav button{font-size:8px;padding:12px 5px}#welcome{bottom:125px}}

/* Story cards keep the studio's square geometry with a quiet paper-and-ink treatment. */
dialog{max-height:calc(100dvh - 40px);overflow-y:auto;box-sizing:border-box}dialog.story-dialog{background:#e5dfd6;color:#2c2c2c;border:1px solid #806d61;max-width:620px;padding:34px}dialog.story-dialog p{color:#49423d}dialog.story-dialog .eyebrow{color:#806d61}dialog.story-dialog #close{color:#2c2c2c;background:transparent}dialog.story-dialog h2{font-size:34px;margin:14px 0}#story-detail h3{font:11px var(--mono);text-transform:uppercase;letter-spacing:.08em;margin:28px 0 14px}#story-detail ol{padding:0;list-style:none;counter-reset:step}#story-detail li{counter-increment:step;position:relative;padding:0 0 14px 36px}#story-detail li:before{content:'0' counter(step);position:absolute;left:0;top:3px;font:11px var(--mono);color:#806d61}#story-detail li p{margin:5px 0 0;font-size:14px}#story-detail details{border-top:1px solid #806d6155;padding:13px 0}#story-detail summary{color:#2c2c2c;cursor:pointer;font-size:14px;line-height:1.5}#story-detail details p{font-size:14px;margin:12px 0 0}.story-dialog .choices a{display:inline-block;padding:12px 16px;border:1px solid #806d61;color:#2c2c2c;text-decoration:none;font:11px var(--mono)}.story-dialog .choices a:hover{background:#d1c5b6}.story-dialog small{color:#665b53}.story-dialog #response:empty{display:none}@media(max-width:600px){dialog.story-dialog{padding:26px 22px;width:calc(100vw - 24px)}dialog.story-dialog h2{font-size:28px}}

/* Topic index and guided conversations. */
#team.expanded{width:min(340px,calc(100vw - 24px));max-height:calc(100dvh - 155px)}
#topics label{display:block;margin:18px 0 8px}#topic-search{width:100%;padding:12px;background:#fafaf3;color:#2c2c2c;border:1px solid #806d61;border-radius:0;font:14px Geist,sans-serif}#topics h3{margin:22px 0 6px;color:#c5baaa;font:11px var(--mono)}#topics .topic-count{font:11px var(--mono);color:#c5baaa}.tour-choices p{font-size:12px}#topics .tour-choices button{border:1px solid #806d61;padding:10px}
#story-detail button{background:transparent;color:#2c2c2c;border:1px solid #806d61;text-align:left;font-size:13px;line-height:1.5}#story-detail button:hover{background:#d1c5b6}#story-detail .related-topics,#story-detail .experiment{display:grid;gap:10px}.topic-example{border-left:2px solid #806d61;padding-left:16px;margin:20px 0}.topic-example h3{margin-top:0!important}.demo-label{font:11px var(--mono);border:1px solid #806d61;padding:10px}.topic-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.topic-actions .button{color:#2c2c2c;border-color:#806d61}.tour-next{border-top:1px solid #806d6155;margin-top:22px;padding-top:8px}.recap-list{list-style:none;padding:0;display:grid;gap:6px}.recap-list li{padding:0!important}.recap-list li:before{display:none}.recap-list button{width:100%}input:focus-visible,summary:focus-visible{outline:2px solid #ff5432;outline-offset:3px}#person:focus{outline:none}@media(max-width:600px){#team.expanded{max-height:calc(100dvh - 160px)}.topic-actions>*{width:100%}}
/* Small pins belong to objects; labels appear only on intent. */
#object-points{position:absolute;inset:0;pointer-events:none;z-index:2}.object-point{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;display:flex;align-items:center;padding:0;border:0;background:none;color:#f5f0e7}.object-point[hidden]{display:none}.point-icon{display:grid;place-items:center;width:28px;height:28px;border:1px solid #c5baaa;background:#19201def;font:16px var(--mono);box-shadow:0 2px 10px #0005}.object-point:after{content:'';position:absolute;top:28px;left:13px;height:9px;border-left:1px solid #c5baaa}.point-label{position:absolute;left:36px;white-space:nowrap;background:#19201def;border:1px solid #806d61;padding:8px 12px;font:11px var(--mono);opacity:0;pointer-events:none}.object-point:hover .point-label,.object-point:focus-visible .point-label{opacity:1}.object-point:hover .point-icon{color:#c8ff4f;border-color:#c8ff4f}dialog{z-index:10}#team,nav,header,footer{z-index:3}
#arcade-menu{border-top:1px solid #ffffff26;margin-top:14px;padding-top:14px;font-size:11px}#arcade-index button{display:block;width:100%;text-align:left;font-size:12px;margin-top:8px}#arcade-game{width:min(820px,calc(100vw - 24px));max-width:820px;padding:22px;background:#11171c;border-color:#806d61}#arcade-game h2{margin:8px 0 18px;font-size:30px}.game-heading{display:flex;align-items:center;justify-content:space-between}#game-close{border:0;padding:0 10px;font-size:28px;background:none}#game-canvas{width:100%;height:auto;aspect-ratio:8/5;touch-action:none;border:1px solid #495457}#game-status{font:12px/1.6 var(--mono);min-height:2em}.game-controls{display:flex;align-items:center;gap:12px}.game-controls span{margin-left:auto;font:10px var(--mono);color:#c5baaa}#game-play{background:#c8ff4f;color:#11171c;min-width:100px}
#arrival-signal{position:absolute;inset:0;z-index:8;background:#0b0f0c url(../arrival-poster.webp) center/cover;transition:opacity .65s;pointer-events:none}#arrival-pixels{width:100%;height:100%;image-rendering:pixelated}.signal-ready{opacity:0}.signal-scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#0002 3px 4px);opacity:.4}#loading{z-index:9;top:auto;bottom:max(5%,48px);left:50%;transform:translateX(-50%);background:#101a16ed;border-color:#806d61;padding:18px 24px;font-size:12px}#loading:before{content:'MIINTY / CONNECTING TO THE STUDIO';display:block;font:10px var(--mono);color:#c8ff4f;margin-bottom:12px}
@media(max-width:600px){.point-icon{width:34px;height:34px}.object-point:after{top:34px;left:16px}.game-controls{flex-wrap:wrap}.game-controls span{width:100%;margin:0}.point-label{display:none}#arcade-game{padding:16px}}@media(prefers-reduced-motion:reduce){#arrival-signal{transition:none}.signal-scan{display:none}}

/* Quiet discovery dots, with a larger invisible pointer target. */
.object-point{width:32px;height:32px;justify-content:center;transform:translate(-50%,-50%)}.point-icon{width:9px!important;height:9px!important;border-radius:50%;background:#f3eddf;border:1px solid #fff;box-shadow:0 0 0 4px #19201d70;font-size:0}.object-point:after{display:none}.object-point:hover .point-icon,.object-point:focus-visible .point-icon{background:#c8ff4f;box-shadow:0 0 0 6px #c8ff4f30}.point-label{left:30px;max-width:180px;white-space:normal}.object-point.label-left .point-label{left:auto;right:30px}

/* Embedded page supplies the utility row; retain status for assistive tech. */
.embedded footer{height:0;overflow:hidden;border:0;padding:0}
.embedded nav{bottom:8px}
/* Standalone view shares one 36px bottom row with room navigation. */
body:not(.embedded) nav{bottom:0;height:36px;z-index:4}
body:not(.embedded) nav button{padding:8px 14px}
body:not(.embedded) footer #walk-status{display:none}
@media(max-width:850px){body:not(.embedded) footer{display:none}body:not(.embedded) nav{width:100%;justify-content:center}}
