*{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:#050505}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}body{color:#fff;background-color:#050505;font-family:Courier New,Courier,monospace;overflow:hidden}#root{width:100%;height:100dvh}.canvas-container{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.canvas-container.hidden{display:none}.overlay{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#050505cc;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity 1s ease-in-out;display:flex;position:absolute;top:0;left:0}.overlay.hidden{opacity:0;pointer-events:none}.overlay.solid{-webkit-backdrop-filter:none;backdrop-filter:none;background:radial-gradient(circle at 50% 42%,#162b3a1f,#0505056b 46%,#050505e0 100%)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.landing-page{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#82d0f24d #ffffff08;background:0 0;display:block;overflow:hidden auto}.landing-header{z-index:12;justify-content:space-between;align-items:center;width:100%;padding:clamp(1.35rem,3vw,2.5rem) clamp(1.25rem,5vw,5rem);transition:opacity .35s;display:flex;position:absolute;top:0;left:0}.landing-brand{color:#ebf8ffe6;letter-spacing:.24rem;text-transform:uppercase;font-size:.72rem;font-weight:700;text-decoration:none}.landing-nav{align-items:center;gap:clamp(1.1rem,3vw,2.75rem);display:flex}.landing-nav a{color:#d1e9f49e;letter-spacing:.12rem;text-transform:uppercase;font-size:.62rem;text-decoration:none;transition:color .2s}.landing-nav a:hover,.landing-nav a:focus-visible{color:#fff}.landing-hero{justify-content:center;min-height:100dvh;padding:55vh 1.25rem 5rem;display:flex;position:relative}.landing-copy{text-align:center;flex-direction:column;align-self:center;align-items:center;width:min(100%,50rem);transition:opacity .28s,transform .5s;display:flex}.landing-eyebrow,.landing-kicker{color:#7ad4f6b8;letter-spacing:.2rem;text-transform:uppercase;font-size:.64rem;line-height:1.5}.landing-tagline{letter-spacing:-.025em;margin-top:.6rem;font-family:Arial,Helvetica,sans-serif;font-size:clamp(1.25rem,2.8vw,2.15rem);font-weight:400;line-height:1.12}.landing-description{color:#daebf3ad;max-width:43rem;margin-top:.85rem;font-family:Arial,Helvetica,sans-serif;font-size:clamp(.86rem,1.2vw,1rem);line-height:1.65}.landing-primary-cta{margin-top:1.5rem}.landing-proof{color:#c6dee96b;letter-spacing:.1rem;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:.55rem;margin-top:1.2rem;font-size:.58rem;line-height:1.6;display:flex}.landing-scroll-cue{color:#cee7f266;letter-spacing:.12rem;text-transform:uppercase;gap:.65rem;font-size:.56rem;text-decoration:none;display:flex;position:absolute;bottom:1.6rem;left:50%;transform:translate(-50%)}.landing-content{z-index:3;background:#05080d;transition:opacity .35s;position:relative}.landing-section{width:min(100%,78rem);margin:0 auto;padding:clamp(5rem,10vw,9rem) clamp(1.25rem,5vw,4rem)}.landing-section-heading{grid-template-columns:minmax(0,1fr) minmax(18rem,.8fr);align-items:end;column-gap:clamp(2rem,8vw,8rem);display:grid}.landing-section-heading .landing-kicker{grid-column:1/-1;margin-bottom:1rem}.landing-section-heading h2,.landing-world-copy h2,.landing-final-cta h2{letter-spacing:-.05em;font-family:Arial,Helvetica,sans-serif;font-size:clamp(2rem,5vw,4.6rem);font-weight:400;line-height:.98}.landing-section-heading>p:last-child,.landing-world-copy>p,.landing-final-cta>p:not(.landing-kicker){color:#cde2eb9e;font-family:Arial,Helvetica,sans-serif;font-size:clamp(.9rem,1.2vw,1.05rem);line-height:1.75}.landing-feature-grid{border-top:1px solid #9ed6ef29;border-bottom:1px solid #9ed6ef29;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(3.5rem,7vw,6rem);display:grid}.landing-feature-card{min-height:18rem;padding:2rem clamp(1.25rem,2.5vw,2.5rem) 2.5rem}.landing-feature-card+.landing-feature-card{border-left:1px solid #9ed6ef29}.landing-feature-number{color:#74cdf27a;letter-spacing:.14rem;font-size:.6rem}.landing-feature-card h3{margin-top:4.5rem;font-family:Arial,Helvetica,sans-serif;font-size:clamp(1.25rem,2vw,1.7rem);font-weight:400}.landing-feature-card p{color:#cadee88f;margin-top:1rem;font-family:Arial,Helvetica,sans-serif;font-size:.88rem;line-height:1.7}.landing-world-feature{isolation:isolate;min-height:min(78vh,52rem);position:relative;overflow:hidden}.landing-world-feature>img{z-index:-2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.landing-world-shade{z-index:-1;background:linear-gradient(90deg,#03070cf0 5%,#03070c9e 47%,#03070c2e 78%),linear-gradient(#0000 55%,#03070cb8);position:absolute;inset:0}.landing-world-copy{flex-direction:column;justify-content:center;align-items:flex-start;width:min(42rem,88%);min-height:min(78vh,52rem);margin-left:max(1.25rem,50vw - 35rem);padding:5rem 0;display:flex}.landing-world-copy h2{max-width:38rem;margin-top:1rem}.landing-world-copy>p:not(.landing-kicker){max-width:34rem;margin-top:1.5rem}.landing-inline-cta{color:#fff;font:inherit;letter-spacing:.14rem;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #a1dcf67a;margin-top:2rem;padding:.8rem 0;font-size:.68rem}.landing-final-cta{text-align:center;background:radial-gradient(circle at 50% 45%,#1c58742e,#0000 45%),#05080d;flex-direction:column;align-items:center;padding:clamp(6rem,12vw,11rem) 1.25rem;display:flex}.landing-final-cta h2{max-width:50rem;margin-top:1rem}.landing-final-cta>p:not(.landing-kicker){max-width:42rem;margin-top:1.5rem}.landing-final-cta .start-btn{margin-top:2.25rem}.landing-footer{color:#bddae75c;letter-spacing:.12rem;text-transform:uppercase;border-top:1px solid #9ed6ef1a;justify-content:space-between;gap:1rem;padding:1.5rem clamp(1.25rem,5vw,5rem);font-size:.56rem;display:flex}.landing-transitioning{pointer-events:none;animation:.9s ease-out forwards landing-transition-flash}.landing-transitioning .landing-copy{opacity:0;transform:translateY(1rem)scale(.96)}.landing-transitioning .landing-header,.landing-transitioning .landing-content,.landing-transitioning .landing-scroll-cue{opacity:0}@keyframes landing-transition-flash{0%{background-color:#05050500}42%{background-color:#12314314}to{background-color:#05050524}}.world-select-screen{z-index:10;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(#03070e52,#03070ead),radial-gradient(circle at 50% 0,#1f547526,#0000 55%);flex-direction:column;padding:clamp(1.5rem,4vw,4rem);animation:.45s ease-out both world-select-arrive;display:flex;position:absolute;inset:0}.world-select-transitioning .world-select-header{animation:.58s ease-out 60ms both world-select-content-arrive}.world-select-transitioning .world-grid-scroll{animation:.68s ease-out .14s both world-select-content-arrive}@keyframes world-select-content-arrive{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}@keyframes world-select-arrive{0%{opacity:0;transform:scale(1.018)}to{opacity:1;transform:scale(1)}}.world-select-header{border-bottom:1px solid #9adaff2e;grid-template-columns:minmax(7rem,1fr) auto minmax(7rem,1fr);align-items:end;gap:2rem;width:min(100%,92rem);margin:0 auto 2rem;padding-bottom:1.25rem;display:grid}.world-select-header>div{text-align:center}.world-select-header h1{letter-spacing:.24rem;text-transform:uppercase;margin-top:.35rem;font-size:clamp(1.45rem,3vw,2.5rem);font-weight:400}.world-select-back{color:#ddf4ffb8;font:inherit;letter-spacing:.13rem;text-transform:uppercase;cursor:pointer;background:0 0;border:0;justify-self:start;padding:.55rem 0;font-size:.72rem}.world-select-back:hover{color:#fff}.world-grid-scroll{scrollbar-width:thin;scrollbar-color:#82d0f252 #ffffff0a;flex:1;width:min(100%,92rem);min-height:0;margin:0 auto;padding:.25rem .5rem 2rem;overflow-y:auto}.world-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(17rem,31vh);gap:clamp(1rem,2vw,1.75rem);min-height:calc(62vh + 1.75rem);display:grid}.world-card{color:#fff;min-height:17rem;font:inherit;text-align:left;cursor:pointer;isolation:isolate;background:#080d13;border:1px solid #abddf43d;transition:transform .3s,border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.world-card:after{content:"";z-index:3;pointer-events:none;border:1px solid #c5e9fa1f;transition:border-color .3s;position:absolute;inset:.55rem}.world-card:hover{z-index:2;border-color:#99e1ffb8;transform:translateY(-5px);box-shadow:0 18px 50px #0000007a,0 0 26px #3fb2e029}.world-card:hover:after{border-color:#c5e9fa59}.world-card-image{z-index:0;object-fit:cover;width:100%;height:100%;transition:transform .7s,filter .4s;position:absolute;inset:0}.world-card:hover .world-card-image{filter:saturate(1.1)contrast(1.04);transform:scale(1.04)}.world-card-shade{z-index:1;background:linear-gradient(#0000 36%,#03070c2e 58%,#03070cc2 100%),linear-gradient(90deg,#03070c1f,#0000 62%);position:absolute;inset:0}.world-card-index{z-index:2;color:#ffffffb8;letter-spacing:.16rem;text-transform:uppercase;font-size:.62rem;position:absolute;top:1.35rem;left:1.35rem}.world-card-content{z-index:2;flex-direction:column;gap:.32rem;display:flex;position:absolute;bottom:1.45rem;left:1.35rem}.world-card-content strong{letter-spacing:.22rem;text-transform:uppercase;text-shadow:0 2px 18px #000000b3;font-size:clamp(1.5rem,2.4vw,2.3rem);font-weight:500}.world-card-content>span:last-child{color:#e2f0f6b8;letter-spacing:.11rem;text-transform:uppercase;font-size:.72rem}.world-card-enter{z-index:2;color:#d6f2ffc2;letter-spacing:.1rem;text-transform:uppercase;opacity:0;font-size:.62rem;transition:opacity .25s,transform .25s;position:absolute;bottom:1.45rem;right:1.35rem;transform:translate(-.5rem)}.world-card:hover .world-card-enter,.world-card:focus-visible .world-card-enter{opacity:1;transform:translate(0)}.game-loading-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:radial-gradient(circle at 50% 46%,#1437490a,#0505054d 58%,#050505ad 100%)}.game-preparing-overlay{z-index:12;pointer-events:none;background:linear-gradient(#0000 48%,#03070b2e 72%,#03070b80 100%);justify-content:center;align-items:flex-end;padding:3rem 1.5rem clamp(3.5rem,9vh,7rem);display:flex;position:absolute;inset:0}.game-preparing-copy{text-align:center;flex-direction:column;align-items:center;width:min(32rem,100%);display:flex}.game-preparing-copy>span:first-child{color:#89d3f299;letter-spacing:.18rem;text-transform:uppercase;font-size:.6rem}.game-preparing-copy strong{letter-spacing:-.02em;margin-top:.7rem;font-family:Arial,Helvetica,sans-serif;font-size:clamp(1.35rem,3vw,2rem);font-weight:400}.game-preparing-copy p{color:#cde4ee85;margin-top:.65rem;font-family:Arial,Helvetica,sans-serif;font-size:.78rem;line-height:1.55}.game-preparing-line{background:#9fdaf324;width:min(15rem,68vw);height:1px;margin-top:1.35rem;position:relative;overflow:hidden}.game-preparing-line:after{content:"";background:linear-gradient(90deg,#0000,#9be2ffe6,#0000);animation:1.8s ease-in-out infinite game-preparing-scan;position:absolute;inset:0;transform:translate(-100%)}@keyframes game-preparing-scan{to{transform:translate(100%)}}.game-entry-panel{flex-direction:column;align-items:center;gap:1.4rem;display:flex}.session-entry-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#05090db8;border:1px solid #b8e1f329;width:min(560px,100vw - 3rem);max-height:calc(100vh - 4rem);padding:2rem;overflow-y:auto}.session-entry-panel h1{letter-spacing:.16rem;text-transform:uppercase;font-size:clamp(1.25rem,2.5vw,1.8rem);font-weight:400}.new-session-btn{width:100%}.saved-session-list{border-top:1px solid #b8e1f324;flex-direction:column;gap:.65rem;width:100%;padding-top:1rem;display:flex}.saved-session-heading{color:#bde1f194;letter-spacing:.16rem;text-transform:uppercase;font-size:.62rem}.saved-session-card{color:#fff;width:100%;font:inherit;text-align:left;cursor:pointer;background:#ffffff09;border:1px solid #b8e1f324;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;transition:background .2s,border-color .2s;display:flex}.saved-session-card:hover{background:#71c1e514;border-color:#b8e1f36b}.saved-session-card>span:first-child{flex-direction:column;gap:.3rem;min-width:0;display:flex}.saved-session-card strong{letter-spacing:.08rem;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:400;overflow:hidden}.saved-session-card small,.saved-session-status{color:#d3eaf480;letter-spacing:.08rem;text-transform:uppercase;font-size:.58rem}.saved-session-status{flex:none}.game-entry-world{color:#b9e1f2a8;letter-spacing:.18rem;text-transform:uppercase;font-size:.68rem}@media (width<=900px){.world-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.world-select-screen{padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left))}.world-select-header{grid-template-columns:auto 1fr;align-items:center;gap:1rem;margin-bottom:1.25rem}.world-select-header>div{text-align:right}.world-select-header h1{letter-spacing:.13rem;font-size:1.05rem}.world-select-back{align-items:center;min-width:2.75rem;min-height:2.75rem;padding:.65rem 0;display:inline-flex}.world-grid-scroll{overscroll-behavior:contain;padding-left:0;padding-right:0}.world-grid{grid-template-columns:1fr;grid-auto-rows:minmax(16rem,55vh)}.world-card{min-height:18rem}.world-card-enter{opacity:1;right:1.1rem;transform:none}.world-card-index,.world-card-content{left:1.1rem}}.start-btn{color:#fff;letter-spacing:.2rem;cursor:pointer;text-transform:uppercase;background:0 0;border:1px solid #ffffff4d;padding:1rem 3rem;font-family:inherit;font-size:1.2rem;transition:all .3s;position:relative;overflow:hidden}.start-btn:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.start-btn:hover{border-color:#fffc;box-shadow:0 0 20px #fff3}.start-btn:hover:before{left:100%}.start-btn:active{transform:scale(.98)}.materialize-panel{z-index:11;pointer-events:auto;align-items:center;gap:.85rem;display:flex;position:absolute;top:2rem;left:2rem}.materialize-btn{color:#fff;letter-spacing:.12rem;text-transform:uppercase;cursor:pointer;background:#050505b8;border:1px solid #ffffff3d;padding:.7rem 1rem;font-family:inherit;font-size:.72rem;transition:border-color .2s,box-shadow .2s,opacity .2s}.materialize-btn:hover:not(:disabled){border-color:#ffffffb8;box-shadow:0 0 18px #ffffff29}.materialize-btn:disabled{cursor:default;opacity:.48}.materialize-count{color:#ffffff9e;letter-spacing:.08rem;text-transform:uppercase;font-size:.72rem}.ui-layer{z-index:5;pointer-events:none;position:absolute;inset:2rem 2rem auto}.control-panel-toggle-btn{z-index:1;color:#fff;letter-spacing:.12rem;text-transform:uppercase;cursor:pointer;pointer-events:auto;background:#050505b8;border:1px solid #ffffff38;padding:.55rem .8rem;font-family:inherit;font-size:.68rem;position:absolute;bottom:0;right:0}.control-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;background:#050505b8;border:1px solid #ffffff2e;width:min(420px,100vw - 4rem);max-height:calc(100vh - 4rem);padding:1rem;position:absolute;bottom:2.6rem;right:0;overflow-y:auto}.control-section+.control-section{margin-top:1rem}.control-section h2{letter-spacing:.18rem;text-transform:uppercase;margin-bottom:.65rem;font-size:.8rem;font-weight:400}.control-toggle,.control-slider{letter-spacing:.04rem;color:#ffffffd1;grid-template-columns:1fr auto;align-items:center;gap:.65rem;margin-bottom:.45rem;font-size:.72rem;display:grid}.control-toggle{grid-template-columns:auto 1fr}.control-toggle input,.control-slider input{accent-color:#fff}.control-slider input{width:140px}.control-slider output{text-align:right;color:#ffffff8c;min-width:2.6rem}.status-text{letter-spacing:.1rem;opacity:.8;text-transform:uppercase;font-size:1.2rem;animation:2s infinite pulse}.error-container{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.error-message{color:#ff6b6b;background-color:#ff6b6b1a;border:1px solid #ff6b6b;border-radius:4px;margin-bottom:1rem;padding:.5rem}.retry-btn{padding:.8rem 2rem;font-size:1rem}@keyframes pulse{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.adventure-ui{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;visibility:hidden;pointer-events:none;background:#050505c7;border:1px solid #ffffff26;flex-direction:column;width:400px;max-width:calc(100vw - 4rem);height:calc(100vh - 11.5rem);transition:opacity .25s,transform .25s,visibility .25s;display:flex;position:absolute;top:5.25rem;right:2rem;transform:translate(1rem)}.adventure-ui.visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0)}.history-toggle-btn{z-index:22;color:#ebf8ffdb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font:inherit;letter-spacing:.11rem;text-transform:uppercase;cursor:pointer;background:#050505a3;border:1px solid #cdecf938;padding:.65rem .9rem;font-size:.68rem;transition:color .2s,border-color .2s,background .2s;position:absolute;top:2rem;right:2rem}.history-toggle-btn:hover,.history-toggle-btn[aria-expanded=true]{color:#fff;background:#0a1218d1;border-color:#cdecf98c}.gm-push-btn{z-index:1;color:#ebf8ffe6;width:5.5rem;height:5.5rem;font:inherit;text-align:center;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;pointer-events:auto;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;transition:transform .16s,opacity .2s;display:grid;position:relative}.gm-push-btn:before,.gm-push-btn:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.gm-push-btn:before{border:1px solid #76ddffb8;border-color:#76ddffb8 #76ddff2e #aa85ff7a #0000;animation:7s linear infinite gm-orbit-spin;inset:.12rem}.gm-push-btn:after{border:1px solid #0000;border-color:#e1f4fc2e #0000 #0000 #76ddff80;animation:4.8s linear infinite gm-orbit-spin-reverse;inset:.55rem}.gm-push-core{z-index:1;color:#e7f7ffeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#050c11ad;border:1px solid #b3e2f638;border-radius:50%;place-content:center;width:3.65rem;height:3.65rem;transition:transform .18s,color .18s,background .18s,border-color .18s,box-shadow .18s;display:grid;position:relative;box-shadow:inset 0 0 1.1rem #50b6e00d}.gm-push-btn:hover .gm-push-core,.gm-push-btn:focus-visible .gm-push-core{color:#fff;background:#08141cd6;border-color:#9ce0fc80;box-shadow:inset 0 0 1.1rem #50b6e01a,0 0 1.2rem #50b6e01a}.gm-push-btn:focus-visible{outline-offset:.24rem;outline:1px solid #aee5fca3}.gm-push-btn.active{color:#fff;transform:scale(.94)}.gm-push-btn.active:before{border-top-color:#ff6f54f2;border-bottom-color:#ff4e74bd;border-right-color:#ffb16570;animation:.72s cubic-bezier(.55,.05,.35,.95) infinite gm-orbit-transmit}.gm-push-btn.active:after{border-top-color:#ffdbac66;border-left-color:#ff6f54e0;animation:.52s linear infinite gm-orbit-transmit-reverse}.gm-push-btn.active .gm-push-core{color:#fff4ef;background:#3a0f0cdb;border-color:#ff84669e;animation:.8s ease-in-out infinite alternate gm-core-transmit}.gm-push-btn:disabled{opacity:.42;cursor:not-allowed}.gm-push-core strong,.gm-push-core small{display:block}.gm-push-core strong{letter-spacing:.12rem;text-transform:uppercase;font-size:.74rem;font-weight:600}.gm-push-core small{color:#c3dde88f;letter-spacing:.1rem;text-transform:uppercase;margin-top:.18rem;font-size:.48rem}.gm-push-btn.active .gm-push-core small{color:#ffc6b2d1}@keyframes gm-orbit-spin{to{transform:rotate(360deg)}}@keyframes gm-orbit-spin-reverse{to{transform:rotate(-360deg)}}@keyframes gm-orbit-transmit{0%{transform:rotate(0)scale(.9)}50%{transform:rotate(180deg)scale(1.05)}to{transform:rotate(360deg)scale(.9)}}@keyframes gm-orbit-transmit-reverse{to{transform:rotate(-360deg)}}@keyframes gm-core-transmit{0%{transform:scale(.92);box-shadow:inset 0 0 1rem #ff5b4314,0 0 #ff5b4300}to{transform:scale(1);box-shadow:inset 0 0 1.4rem #ff5b432e,0 0 1.5rem #ff5b4333}}.adventure-log{flex-direction:column;flex:1;gap:.8rem;padding:1rem;font-size:.85rem;line-height:1.4;display:flex;overflow-y:auto}.adventure-log::-webkit-scrollbar{width:4px}.adventure-log::-webkit-scrollbar-track{background:#ffffff0d}.adventure-log::-webkit-scrollbar-thumb{background:#fff3}.log-entry{opacity:.9}.log-entry-role{color:#bee1f08c;letter-spacing:.12rem;text-transform:uppercase;margin-bottom:.25rem;font-size:.58rem;display:block}.log-entry.command{color:#8cf;font-weight:700}.log-entry.narration{color:#fff}.adventure-controls{border-top:1px solid #ffffff26;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.input-form{gap:.5rem;display:flex}.control-panel-toggle-btn,.control-panel{display:none}.game-bottom-hud{left:50%;bottom:max(1.5rem, env(safe-area-inset-bottom));z-index:18;pointer-events:none;flex-direction:column;align-items:flex-end;gap:1.5rem;width:min(900px,100vw - 4rem);display:flex;position:absolute;transform:translate(-50%)}.latest-message{color:#fffffff0;-webkit-backdrop-filter:blur(18px)saturate(.88);backdrop-filter:blur(18px)saturate(.88);isolation:isolate;pointer-events:auto;background:#04080b61;border:1px solid #c0e4f417;width:100%;min-height:4.2rem;max-height:min(16rem,32dvh);padding:.9rem 1.15rem 1rem;position:relative;overflow:hidden auto}.latest-message-speaker{color:#8cdaf9c7;letter-spacing:.16rem;text-transform:uppercase;margin-bottom:.4rem;font-size:.62rem;display:block}.latest-message p{font-size:clamp(.76rem,1vw,.9rem);line-height:1.55}.text-input{color:#fff;background:#ffffff0d;border:1px solid #fff3;flex:1;padding:.5rem;font-family:inherit;font-size:.8rem}.text-input:focus{border-color:#ffffff80;outline:none}.submit-btn{color:#fff;cursor:pointer;text-transform:uppercase;background:#ffffff1a;border:1px solid #fff3;padding:.5rem 1rem;font-family:inherit;font-size:.8rem}.submit-btn:hover{background:#fff3}.mic-btn{color:#fff;cursor:pointer;text-transform:uppercase;background:0 0;border:1px solid #fff3;padding:.5rem;font-family:inherit;font-size:.8rem;transition:all .3s}.mic-btn:hover{background:#ffffff1a}.mic-btn.listening{background:#ff646433;border-color:#ff646480;animation:1.5s infinite pulse}.mic-btn.speaking{background:#64ff6433;border-color:#64ff6480}.speech-unavailable{color:#fff9;text-align:center;font-size:.72rem;line-height:1.4}.subtitle{letter-spacing:.2rem;opacity:.7;text-transform:uppercase;margin-bottom:3rem;font-size:1.2rem}@media (width<=640px){.landing-header{padding:max(.75rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) .75rem max(1rem, env(safe-area-inset-left));align-items:center}.landing-brand{align-items:center;min-height:2.75rem;display:inline-flex}.landing-nav{flex-direction:row;align-items:center;gap:.1rem}.landing-nav a{letter-spacing:.08rem;align-items:center;min-height:2.75rem;padding:.55rem .4rem;font-size:.58rem;display:inline-flex}.landing-hero{min-height:max(50rem,100dvh);padding-top:max(26rem,55dvh);padding-right:max(1rem, env(safe-area-inset-right));padding-bottom:calc(5rem + env(safe-area-inset-bottom));padding-left:max(1rem, env(safe-area-inset-left))}.landing-copy{align-self:flex-start}.landing-description{max-width:31rem}.landing-scroll-cue{width:max-content;min-height:2.75rem;bottom:max(.35rem, env(safe-area-inset-bottom));justify-content:center;align-items:center;padding:.5rem}.landing-primary-cta{width:min(15rem,100%)}.landing-section{padding:4.5rem max(1rem, env(safe-area-inset-right)) 4.5rem max(1rem, env(safe-area-inset-left))}.landing-section-heading{grid-template-columns:1fr}.landing-section-heading>p:last-child{margin-top:1.5rem}.landing-feature-grid{grid-template-columns:1fr}.landing-feature-card{min-height:0;padding:1.5rem 1rem 2rem}.landing-feature-card+.landing-feature-card{border-top:1px solid #9ed6ef29;border-left:0}.landing-feature-card h3{margin-top:2.5rem}.landing-world-shade{background:linear-gradient(#03070c2e,#03070c7a 32%,#03070cf0 92%),linear-gradient(90deg,#03070cb3,#0000)}.landing-world-copy{justify-content:flex-end;width:calc(100% - 2.5rem);margin:0 1.25rem}.landing-final-cta{padding:5rem max(1rem, env(safe-area-inset-right)) calc(5rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left))}.landing-footer{text-align:center;padding-bottom:max(1.5rem, env(safe-area-inset-bottom));flex-direction:column;align-items:center}.start-btn{min-height:3rem;padding:.8rem 2rem;font-size:.9rem}.game-preparing-overlay{padding-right:max(1rem, env(safe-area-inset-right));padding-bottom:max(3rem, calc(env(safe-area-inset-bottom) + 2rem));padding-left:max(1rem, env(safe-area-inset-left))}.game-entry-panel{gap:1rem}.session-entry-panel{width:calc(100vw - 2rem - env(safe-area-inset-left) - env(safe-area-inset-right));max-height:calc(100dvh - 2rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1.15rem}.new-session-btn{min-height:3rem}.saved-session-list{gap:.55rem;padding-top:.8rem}.saved-session-card{min-height:3.75rem;padding:.75rem .85rem}.session-entry-panel>.world-select-back{flex:none;justify-content:center;min-height:2.75rem}.history-toggle-btn{top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));min-height:2.75rem;padding:.7rem .85rem}.adventure-ui{top:calc(max(.75rem, env(safe-area-inset-top)) + 3.75rem);right:max(.75rem, env(safe-area-inset-right));bottom:max(.75rem, env(safe-area-inset-bottom));left:max(.75rem, env(safe-area-inset-left));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:auto;max-width:none;height:auto}.adventure-controls{padding:.75rem}.text-input{min-width:0;min-height:2.75rem;padding:.65rem .7rem;font-size:1rem}.submit-btn{min-width:4.75rem;min-height:2.75rem;padding:.65rem .8rem}.game-bottom-hud{bottom:max(1rem, env(safe-area-inset-bottom));width:calc(100vw - 2rem - env(safe-area-inset-left) - env(safe-area-inset-right));align-items:center;gap:.75rem}.latest-message{order:1;max-height:22dvh;padding:.75rem .9rem .85rem}.gm-push-btn{order:2;width:4.9rem;height:4.9rem}.gm-push-core{width:3.3rem;height:3.3rem}}@media (hover:none){.world-card:hover{box-shadow:none;transform:none}.world-card:hover .world-card-image{filter:none;transform:none}.start-btn:hover{box-shadow:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
