body.experiment{--bg:#040e0c;--panel:#091813;--line:#20362d;--muted:#95aa9c;--fg:#e7e4d1;background:var(--bg)}body.experiment header{height:78px;padding:0 38px;gap:22px;background:#040e0c}body.experiment .brand{font:20px Consolas,"Courier New",monospace;letter-spacing:.15em}body.experiment .brand span{font-size:9px;letter-spacing:.13em}body.experiment #wallNav{display:flex;order:1;margin-left:auto;gap:10px}body.experiment #wallNav button{font:11px Consolas,"Courier New",monospace;text-transform:uppercase;letter-spacing:.06em;color:#adbfaf}body.experiment #promiseSearch{order:2;margin-left:20px;max-width:205px}body.experiment #promiseSearch input{width:165px}body.experiment header #myOrders{font-size:12px;border:0;margin-left:0;white-space:nowrap}body.experiment #language{font-size:12px;max-width:110px}body.experiment #connectionStatus{height:24px;background:#081711;color:#809486;font:10px Consolas,"Courier New",monospace}body.experiment #wallIdentity{display:none}body.experiment main{height:calc(100dvh - 196px);min-height:480px}body.experiment #experimentHero{top:36px;left:38px;max-width:265px;padding:0 14px 20px 0;background:transparent}body.experiment #experimentHero h1{font:clamp(27px,2.6vw,40px)/1.25 Consolas,"Courier New",monospace;letter-spacing:.045em;text-transform:uppercase;margin:0 0 22px}body.experiment #experimentHero p{font:14px/1.55 Consolas,"Courier New",monospace;max-width:190px;color:#c5cfbd}body.experiment #heroMake{font:12px Consolas,"Courier New",monospace;letter-spacing:.03em;margin:22px 0;min-width:215px;background:#e6e1ca;border-color:#e6e1ca}.heroCount{font:12px Consolas,"Courier New",monospace;color:#b9c6b5;margin-top:16px}.heroProgress{height:3px;width:195px;background:#183028;margin-top:12px}.heroProgress i{display:block;height:3px;background:#dfcda0}body.experiment .sceneTop{display:none}body.experiment #wayfinder{display:flex!important;right:24px;bottom:26px;padding:10px;background:#05110dc9;border:1px solid #405c49}body.experiment #minimap{width:160px;height:95px}body.experiment .sceneHint{left:38px;color:#647d6d;bottom:24px}body.experiment .controls{height:58px;background:#05100c;padding:0 28px;border-color:#20362d}body.experiment .zoom{border:0}.experiment .zoom button{font:11px Consolas,"Courier New",monospace}body.experiment .controls #claim{font:11px Consolas,"Courier New",monospace;min-height:36px}body.experiment footer{height:36px;font-size:10px;background:#040e0c}body.experiment #detail{border-radius:0;width:365px;background:#071610;padding:34px 28px;box-shadow:-15px 0 45px #0004}body.experiment #detail blockquote{font:27px/1.4 Arial;letter-spacing:0}body.experiment .legalFooter{background:#040e0c}body.experiment .legalFooter nav{gap:15px}body.experiment .primary{border-radius:2px}body.experiment #detail h2{font:30px/1.2 Consolas,"Courier New",monospace}body.experiment #detail .serial{color:#d7c79e}
@media(max-width:1100px){body.experiment header{padding:0 20px;gap:12px}body.experiment #wallNav{gap:0}body.experiment #wallNav button{font-size:10px;padding:8px}body.experiment #promiseSearch{margin-left:0;max-width:170px}body.experiment #promiseSearch input{width:130px}body.experiment .brand{font-size:16px}}
@media(max-width:700px){body.experiment header{height:148px;padding:17px 18px;display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px;position:relative}body.experiment .brand{font-size:16px;flex:1}body.experiment .brand span{display:block;font-size:7px}body.experiment #language{position:static;order:0;min-height:34px;padding:5px;width:93px}body.experiment #wallNav{position:absolute;left:12px;bottom:4px;margin:0}body.experiment #wallNav button{min-height:36px}body.experiment #promiseSearch{left:18px;top:66px;bottom:auto;max-width:205px}body.experiment #promiseSearch input{width:150px}body.experiment header #myOrders{left:auto;right:12px;top:68px;bottom:auto;min-height:36px}body.experiment main{height:calc(100dvh - 284px);min-height:470px}body.experiment #experimentHero{left:20px;top:28px;max-width:215px}body.experiment #experimentHero h1{font-size:27px}body.experiment #experimentHero p{font-size:12px}body.experiment #heroMake{font-size:11px;min-width:185px}body.experiment #wayfinder{right:12px;bottom:42px;padding:5px}body.experiment #minimap{width:85px;height:55px}body.experiment .sceneHint{left:18px;font-size:8px;bottom:18px}body.experiment .controls{height:80px;padding:5px 10px}body.experiment #detail{width:100%;height:100%;position:absolute;inset:0;z-index:5;padding:28px 22px}body.experiment main{position:relative}body.experiment .controls #claim{font-size:10px}body.experiment .controls #enter{font-size:10px}body.experiment .zoom button{padding:6px 10px}body.experiment .discovery>span{display:none}body.experiment footer{padding:0 16px}body.experiment .legalFooter{padding:22px 18px}}

body.experiment #experimentHero{max-width:290px}body.experiment #experimentHero h1{font-family:Consolas,"Lucida Console",monospace;font-size:clamp(27px,2.45vw,38px);letter-spacing:.03em}body.experiment #detail .meta{font:13px/1.7 Arial}body.experiment #detail .small{font-family:Arial}body.experiment #detail .badge{letter-spacing:.06em}body.experiment #wallNav button:hover{color:#eee3bd}body.experiment #wayfinder span{letter-spacing:.06em}

body.experiment #zoomRail{position:absolute;right:24px;top:24px;display:flex;flex-direction:column;z-index:3;background:#06120ee6;border:1px solid #294235;border-radius:3px}body.experiment #zoomRail button{border:0;border-bottom:1px solid #294235;min-width:36px;padding:5px 10px;font:20px Arial;color:#d6d8c3}body.experiment #zoomRail button:last-child{border-bottom:0}body.experiment[data-scale="2"] #wayfinder{opacity:.35;transition:opacity .2s}body.experiment[data-scale="2"] #wayfinder:hover{opacity:1}body.experiment #detail .placeLink{margin-top:18px}body.experiment #detail .badge{font-family:Consolas,monospace}body.experiment #wallNav{gap:0}body.experiment #wallNav button{padding:10px 8px;font-size:10px}body.experiment #experimentHero{pointer-events:auto}body.experiment .heroCount{letter-spacing:.04em}
@media(max-width:1100px) and (min-width:701px){body.experiment header{gap:8px;padding:0 18px}body.experiment #wallNav button{font-size:9px;padding:8px 5px}body.experiment .brand{font-size:14px}body.experiment #promiseSearch{max-width:145px}body.experiment #promiseSearch input{width:108px}}
@media(max-width:700px){body.experiment #zoomRail{right:12px;top:18px}body.experiment #wallNav button{font-size:10px;padding:8px 9px}body.experiment #experimentHero{max-width:230px}body.experiment #experimentHero h1{font-size:28px}body.experiment #wayfinder{bottom:35px}body.experiment[data-scale="2"] #wayfinder{display:none!important}}

/* The overview has separate introduction and canvas regions: no lights under text. */
body.experiment[data-scale="0"]:not(.hasDetail) #space{display:grid;grid-template-columns:320px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
body.experiment[data-scale="0"]:not(.hasDetail) #wall{grid-column:2;grid-row:1;min-width:0;min-height:0}
body.experiment[data-scale="0"]:not(.hasDetail) #experimentHero{position:relative;inset:auto;grid-column:1;grid-row:1;align-self:start;max-width:none;padding:32px 24px 24px 32px}
body.experiment[data-scale="0"] #wayfinder{display:none!important}
body.experiment[data-scale="0"] .sceneHint{left:auto;right:24px}
.goToPromise{margin:14px 0;width:100%}
@media(max-width:700px){
 body.experiment[data-scale="0"]:not(.hasDetail) main{min-height:590px;height:calc(100dvh - 250px)}
 body.experiment[data-scale="0"]:not(.hasDetail) #space{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(280px,1fr)}
 body.experiment[data-scale="0"]:not(.hasDetail) #experimentHero{grid-column:1;grid-row:1;padding:18px 20px 16px;border-bottom:1px solid #20362d}
 body.experiment[data-scale="0"]:not(.hasDetail) #wall{grid-column:1;grid-row:2}
 body.experiment #experimentHero h1{font-size:22px;line-height:1.25;margin:0 0 8px}
 body.experiment #experimentHero p{max-width:none;margin:6px 0;font-size:12px}
 body.experiment #heroMake{margin:10px 0 0;min-height:40px}
 body.experiment .heroCount{display:inline-block;margin:0 0 0 14px;font-size:10px}
 body.experiment .heroProgress{width:100%;margin-top:12px}
 body.experiment[data-scale="0"] #zoomRail{display:none}
 body.experiment[data-scale="0"] .sceneHint{right:16px;bottom:10px}
}

/* Mobile wall is an application viewport, not a stack of desktop sections. */
#mobileWallMenu{display:none}
@media(max-width:700px){
 html:has(body.experiment){height:100%;overflow:hidden}
 body.experiment{height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:0;overscroll-behavior:none}
 body.experiment header{height:96px;min-height:96px;flex:none;padding:12px 14px;display:block}
 body.experiment header .brand{display:block;max-width:calc(100% - 155px);font-size:14px}
 body.experiment header .brand span{font-size:6px;line-height:1.6}
 body.experiment header #language{position:absolute;right:58px;top:10px;width:90px;min-width:0;min-height:40px}
 body.experiment header #myOrders{position:absolute;left:8px;right:auto;top:50px;bottom:auto;min-height:42px;font-size:13px}
 body.experiment #mobileWallMenu{display:block;position:absolute;right:10px;top:10px;width:42px;height:42px;padding:6px;font-size:22px}
 body.experiment #wallNav,body.experiment #promiseSearch{display:none}
 body.experiment #connectionStatus{height:18px;min-height:18px;flex:none;font-size:9px;overflow:hidden}
 body.experiment main,body.experiment.hasDetail main,body.experiment[data-scale="0"]:not(.hasDetail) main{flex:1;min-height:0;height:auto;overflow:hidden;display:block}
 body.experiment #space,body.experiment.hasDetail #space{height:100%;min-height:0}
 body.experiment[data-scale="0"]:not(.hasDetail) #space{grid-template-rows:auto minmax(0,1fr)}
 body.experiment[data-scale="0"]:not(.hasDetail) #experimentHero{padding:12px 16px 10px}
 body.experiment #experimentHero h1{font-size:18px;line-height:1.22;margin:0 0 4px}
 body.experiment #experimentHero h1 br{display:block}
 body.experiment #experimentHero p{font-size:11px;line-height:1.4;margin:0;display:inline}
 body.experiment #heroMake,body.experiment .heroProgress{display:none}
 body.experiment .heroCount{font-size:10px;margin:0 0 0 10px}
 body.experiment .sceneHint{display:none}
 body.experiment .controls,body.experiment.hasDetail .controls{height:calc(98px + env(safe-area-inset-bottom,0px));min-height:calc(98px + env(safe-area-inset-bottom,0px));flex:none;padding:5px 10px calc(5px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:1fr 1fr;grid-template-rows:44px 44px;gap:0 8px}
 body.experiment .controls #enter,body.experiment .controls #claim{height:44px;min-height:44px;font-size:12px}
 body.experiment .controls .zoom{grid-column:1/3;grid-row:2;display:flex;justify-content:space-around}
 body.experiment .controls .zoom button{min-height:44px;font-size:11px;padding:6px 10px}
 body.experiment.hasDetail .controls{height:calc(50px + env(safe-area-inset-bottom,0px));min-height:calc(50px + env(safe-area-inset-bottom,0px));grid-template-rows:44px}
 body.experiment.hasDetail .controls .zoom{grid-row:1}
 body.experiment footer,body.experiment .legalFooter{display:none}
 body.experiment #detail{height:100%;max-height:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px 20px 30px}
 body.experiment #detailClose{position:sticky;top:0;margin-left:auto;z-index:2;background:#071610;min-width:44px;min-height:44px}
 body.experiment input,body.experiment textarea,body.experiment select{font-size:16px}
 #mobileNavigation{padding:16px;max-height:85dvh;overscroll-behavior:contain}
 #mobileNavigation .mobileMenuGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 #mobileNavigation button,#mobileNavigation a{min-height:44px;font-size:14px}
 #mobileNavigation form{display:flex;margin:12px 0;gap:8px}
 #mobileNavigation input{width:100%;min-width:0;font-size:16px}
 #mobileNavigation nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
 #mobileNavigation nav a{display:flex;align-items:center}
}
/* Localized introduction stays readable without covering the wall. */
body.experiment[data-scale="0"]:not(.hasDetail) #experimentHero{max-height:100%;overflow-y:auto;overscroll-behavior:contain}
#promisePurpose{margin-top:20px;border-top:1px solid var(--line);padding-top:12px}
#promisePurpose summary{cursor:pointer;font-size:16px;font-weight:600;line-height:1.4;padding:8px 0}
body.experiment #promisePurpose .purposeText p{display:block;max-width:none;font:13px/1.65 Arial,sans-serif;margin:0 0 12px;color:#b9c9be}
#promisePurpose strong{color:var(--fg);font-weight:600}
@media(max-width:700px){
 #promisePurpose{margin-top:7px;padding-top:0}
 #promisePurpose summary{min-height:36px;padding:8px 0;font-size:13px}
 #promisePurpose .purposeText{max-height:24dvh;overflow-y:auto;overscroll-behavior:contain;padding:6px 8px 0 0}
 body.experiment #promisePurpose .purposeText p{font-size:14px;line-height:1.55}
}
#placeChoice{margin:12px 0 20px;padding:14px;border:1px solid var(--line);background:#0c2018}
#placeChoice label{display:block;margin-bottom:8px}
#placeChoice input{width:100%;font-size:18px;min-height:44px}
#placeChoice input[aria-invalid="true"]{border-color:#e49b86}
#placeChoice .small{margin:8px 0 0;line-height:1.5}

#storyMount .storyPreview{display:block;width:min(100%,380px);height:auto;max-height:none;margin:20px auto}.postPurchaseCard{display:block;width:100%;padding:8px;border:0;background:transparent}.postPurchaseCard .storyPreview{width:min(100%,240px);height:auto;max-height:none;margin:auto}
