:root{color-scheme:dark;--mint:#b0f2d9;--pink:#ef88c4;--muted:#849b9c}*{box-sizing:border-box}body{margin:0;background:#050b10;color:#e2e8e5;font:13px ui-monospace,SFMono-Regular,Consolas,monospace}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{color:inherit;border:1px solid #375050;background:#07151c;padding:9px 13px;cursor:pointer}button:hover,button:focus-visible{border-color:var(--mint);color:var(--mint)}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--pink);outline-offset:4px}[hidden]{display:none!important}.arcade{position:fixed;inset:50px 0 34px;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#142830 0,#091219 45%,#03080d 85%)}#lobby{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#0001 3px 4px)}#ve{width:100%;height:100%;display:block;touch-action:none}#experience{position:absolute;inset:0;background:#000;display:grid;grid-template-rows:minmax(0,1fr) auto auto}#feature{border:0;width:100%;height:100%;background:#000}#captions{min-height:48px;max-height:100px;overflow:auto;padding:10px 8%;text-align:center;font:18px/1.4 Georgia,serif;background:#050a10;color:white}#bezel{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 16px;background:#0b141b;border-top:1px solid #33484a;font-size:11px}#bezel a{color:var(--mint);text-decoration:none;margin-right:8px}#bezel button{padding:6px 10px}#feature-title{flex:1;color:#cbdcde;min-width:80px}.timeline{display:flex;align-items:center;gap:8px;flex:1 1 32%;color:var(--muted);white-space:nowrap}.timeline input{width:100%;accent-color:var(--mint)}#status{color:var(--pink);max-width:100%;overflow-wrap:anywhere}#orientation{position:absolute;top:16px;left:50%;transform:translateX(-50%);padding:14px 20px;width:min(620px,90%);border:1px solid #52766c;background:#071019e8;pointer-events:none;line-height:1.6}#orientation span{display:block;color:var(--mint)}#library{position:absolute;inset:0 0 100px;display:grid;place-items:center;background:#030a10ed;overflow:auto;padding:30px}#library>div{width:min(620px,100%)}#library h2{font:42px Georgia,serif}#library p{color:var(--muted)}#library label{display:block;margin:20px 0;color:var(--mint)}#library input,#library select{display:block;width:100%;margin-top:10px;background:#0b2029;color:#fff;border:1px solid #456265;padding:12px}#library select{max-width:100%}body.arcade-active .site-enclosure-nav,body.arcade-active .site-enclosure-footer{display:none!important}body.arcade-active .arcade{inset:0}body.arcade-active::before{display:none}@media(max-width:650px){.arcade{inset:48px 0 32px}#bezel{gap:6px;padding:8px;font-size:10px}#bezel button{padding:6px}#captions{font-size:16px;min-height:44px}.timeline{flex-basis:42%}#feature-title{flex-basis:35%}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

body.arcade-navigation .site-enclosure-nav,body.arcade-navigation .site-enclosure-footer{display:none!important}body.arcade-navigation .arcade{inset:0}body.arcade-navigation::before{display:none}#choices,#next-choices{position:absolute;inset:0;pointer-events:none;overflow:hidden}:is(#choices,#next-choices) button{position:absolute;left:0;top:0;width:960px;height:960px;transform-origin:0 0;clip-path:inset(0);pointer-events:auto;background:transparent;border:0;padding:0;display:grid;place-items:center;font-size:54px;color:var(--mint);backface-visibility:hidden}:is(#choices,#next-choices) button span{display:block;max-width:660px;text-align:center;line-height:1.4}:is(#choices,#next-choices) button[aria-current="true"]{color:#e2fff5}:is(#choices,#next-choices) button:hover,:is(#choices,#next-choices) button:focus-visible{background:#8bdbcb12;outline:0}:is(#choices,#next-choices) button:focus-visible span{text-decoration:underline}

#entry{position:absolute;inset:0;display:grid;place-items:center;background:#050b10}#enter-arcade{font-size:20px;padding:16px 24px}body.arcade-entry #lobby,body.arcade-entry #experience{display:none!important}body.arcade-entry .site-interference-field,body.arcade-navigation .site-interference-field,body.arcade-active .site-interference-field{display:none!important}

body.arcade-game #experience{display:block}body.arcade-game #feature{position:absolute;inset:0;width:100%;height:100%}body.arcade-game #bezel,body.arcade-game #captions,body.arcade-game #orientation{display:none!important}body.arcade-game #library{inset:0}

#next-choices{pointer-events:none}#next-choices button{pointer-events:none}

body.arcade-entry .arcade{display:none!important}

#skip-orientation{position:absolute;right:16px;top:16px;z-index:2;padding:6px 10px;font-size:11px}
#library{inset:0}
#content-titles{list-style:none;margin:0;padding:0;width:min(620px,100%);display:grid;gap:8px}
#content-titles button{display:block;width:100%;text-align:left}

.room-notice{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:70%;text-align:center;line-height:1.6;color:var(--mint)}

#facet-navigation{position:absolute;bottom:14px;left:20px;right:20px;display:flex;align-items:center;gap:18px;color:var(--muted);font-size:11px;pointer-events:none}#facet-navigation button{pointer-events:auto;padding:4px 8px}#facet-navigation span:last-child{margin-left:auto}#facet-navigation span:nth-child(2){color:var(--mint)}@media(max-width:650px){#facet-navigation{left:10px;right:10px;gap:8px}#facet-navigation span:last-child{max-width:140px;text-align:right}}

/* Arcade sharing stays over the paused player, including in fullscreen. */
#arcade-share{color:var(--ink,#e0eee9);background:#081319;border:1px solid #69968b;padding:24px;width:min(900px,96vw);max-width:96vw;max-height:96dvh;overflow:auto;text-align:center;margin:auto;font:14px/1.5 monospace}#arcade-share::backdrop{background:#000d}#arcade-share h2{font:25px Georgia,serif;margin:0 0 8px}#arcade-share p{margin:8px 0}#share-qr{margin:16px auto;width:min(64dvh,76vw,620px);background:white;line-height:0}#share-qr svg{width:100%;height:auto;display:block}#share-link{display:block;overflow-wrap:anywhere;color:#b3e8d5;font-size:12px}#share-reader{display:block;color:#b3e8d5;margin:12px}#arcade-share button{padding:9px 16px;margin:6px}#game-links{position:absolute;top:16px;left:16px;z-index:4;display:flex;gap:8px;align-items:center;background:#071019dd;padding:5px;font:12px monospace}#game-links a{color:#b3e8d5}#game-links button{padding:6px 10px}#read-content{white-space:nowrap}#game-links[hidden],#share-reader[hidden]{display:none!important}@media(max-width:650px){#arcade-share{padding:14px}#share-qr{width:min(56dvh,80vw)}#game-links{font-size:11px;max-width:65%;flex-wrap:wrap}}

/* Screen-facing titles follow facet centers; buttons retain native facet hit testing. */
:is(#choices,#next-choices) button span{opacity:0}
:is(#choices,#next-choices) .facet-title{position:absolute;left:0;top:0;width:max-content;white-space:nowrap;text-align:center;line-height:1.4;font-size:18px;color:var(--mint);pointer-events:auto;cursor:pointer;transform-origin:center;text-shadow:0 1px 4px #03080d}
:is(#choices,#next-choices) button[aria-current="true"] + .facet-title{color:#e2fff5}
:is(#choices,#next-choices) button:focus-visible + .facet-title{text-decoration:underline}

#lobby,#choices button,#next-choices button{touch-action:none;user-select:none;-webkit-user-select:none}
#ve{cursor:grab}#lobby:has(:active) #ve{cursor:grabbing}

/* Text is physically coplanar with each triangular destination. */
:is(#choices,#next-choices) button{clip-path:polygon(50% 0,100% 100%,0 100%);backface-visibility:visible}
:is(#choices,#next-choices) button span{opacity:1;position:absolute;top:58%;left:22%;width:56%;font-size:80px;line-height:1.2;text-shadow:0 2px 4px #000}
:is(#choices,#next-choices) .facet-title{display:none}

/* Square navigation uses the exact square plane and its full hit target. */
:is(#choices,#next-choices) button[data-shape="square"]{clip-path:inset(0)}
:is(#choices,#next-choices) button[data-shape="square"] span{top:40%;left:12%;width:76%}
