*{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}.header-sign-in,.account-menu summary{color:#e5f5fcd6;font:inherit;letter-spacing:.08rem;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #b1e0f433;border-radius:999px;min-height:2.25rem;padding:.65rem .9rem;font-size:.62rem}.header-sign-in:disabled{cursor:wait;opacity:.5}.local-play-badge{color:#e5f5fcc2;letter-spacing:.08rem;text-transform:uppercase;background:#08131a85;border:1px solid #b1e0f433;border-radius:999px;align-items:center;gap:.5rem;min-height:2.25rem;padding:.65rem .9rem;font-size:.62rem;display:inline-flex}.local-play-badge>span{background:#73e5bd;border-radius:50%;flex:none;width:.42rem;height:.42rem;box-shadow:0 0 .5rem #73e5bd7a}.account-menu{z-index:20;position:relative}.account-menu summary{text-align:left;background:#08131a85;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;min-width:9.5rem;max-width:14rem;padding:.38rem .65rem .38rem .42rem;list-style:none;transition:border-color .2s,background .2s,transform .2s;display:grid;box-shadow:inset 0 1px #ffffff0a}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:hover,.account-menu summary:focus-visible,.account-menu[open] summary{color:#f6fcff;background:#0e1f29d1;border-color:#8cddff6b}.account-avatar{color:#e9faff;letter-spacing:0;text-transform:uppercase;background:linear-gradient(145deg,#4bc3ef6b,#35638857);border:1px solid #9ae2ff59;border-radius:50%;flex:none;place-items:center;width:1.75rem;height:1.75rem;font-size:.68rem;font-weight:600;display:inline-grid;position:relative;box-shadow:inset 0 0 1rem #68d5ff1f}.account-presence{background:#73e5bd;border:2px solid #071117;border-radius:50%;width:.48rem;height:.48rem;position:absolute;bottom:-.02rem;right:-.08rem;box-shadow:0 0 .5rem #73e5bd7a}.account-chip-copy,.account-menu-user-copy{flex-direction:column;min-width:0;display:flex}.account-chip-label{color:#85dbf99e;letter-spacing:.1rem;font-size:.48rem;line-height:1.1}.account-chip-name{color:#eff9fde6;letter-spacing:.04rem;text-overflow:ellipsis;white-space:nowrap;margin-top:.16rem;font-size:.62rem;line-height:1.1;overflow:hidden}.account-menu-chevron{fill:none;stroke:#c3e2ef94;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:.65rem;transition:transform .2s}.account-menu[open] .account-menu-chevron{transform:rotate(180deg)}.account-menu-panel{color:#e5f5fcd6;transform-origin:100% 0;background:linear-gradient(155deg,#0a1820fb,#03090efc);border:1px solid #9fdcf633;border-radius:.9rem;width:min(18rem,100vw - 2rem);padding:.65rem;animation:.18s ease-out account-menu-in;position:absolute;top:calc(100% + .65rem);right:0;box-shadow:0 1.5rem 4rem #00000085,inset 0 1px #ffffff0a}.account-menu-panel:before{content:"";pointer-events:none;border-radius:inherit;background:radial-gradient(circle at 82% 0,#4ec2ec1f,#0000 48%);position:absolute;inset:0}.account-menu-identity{align-items:center;gap:.75rem;padding:.6rem;display:flex;position:relative}.account-avatar-large{width:2.35rem;height:2.35rem;font-size:.78rem}.account-menu-user-copy strong,.account-menu-user-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-menu-user-copy strong{color:#f3fbff;letter-spacing:.02rem;text-transform:none;font-size:.75rem;font-weight:500}.account-menu-user-copy span{color:#bedbe785;letter-spacing:.01rem;text-transform:none;margin-top:.25rem;font-size:.63rem}.account-menu-divider{background:#a7daf01f;height:1px;margin:.35rem .2rem}.account-menu-signout{color:#daecf4b8;width:100%;font:inherit;letter-spacing:.08rem;text-align:left;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:.55rem;align-items:center;gap:.65rem;padding:.72rem .65rem;font-size:.64rem;transition:color .18s,background .18s;display:flex;position:relative}.account-menu-signout:hover,.account-menu-signout:focus-visible{color:#f7fbfd;background:#b9e0f014}.account-menu-signout svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4px;width:1rem}@keyframes account-menu-in{0%{opacity:0;transform:translateY(-.3rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#010508c2;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.auth-dialog{color:#f4fbff;text-align:center;background:#050d12fa;border:1px solid #a3ddf62e;border-radius:.9rem;flex-direction:column;align-items:center;width:min(26rem,100%);padding:2.5rem 1.75rem 1.75rem;font-family:Arial,Helvetica,sans-serif;animation:.28s ease-out auth-dialog-in;display:flex;position:relative;box-shadow:0 1.5rem 5rem #0000008c}.auth-dialog-close{z-index:1;color:#e0f2fa8f;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;font-size:1.35rem;transition:color .18s,background .18s,border-color .18s;display:grid;position:absolute;top:.75rem;right:.85rem}.auth-dialog-close:hover,.auth-dialog-close:focus-visible{color:#f5fbfe;background:#d2eefa0f;border-color:#b1e0f424}.auth-dialog h2{letter-spacing:-.025em;margin:0;font-size:clamp(1.35rem,5vw,1.75rem);font-weight:400}.auth-dialog-action{width:100%;min-height:2.75rem;margin-top:1.35rem}.google-sign-in-button{justify-content:center;align-items:center;width:100%;min-height:44px;display:flex}.auth-dialog-status{color:#cfe9f4b8;margin-top:.9rem;font-size:.72rem}.auth-dialog .error-message{margin-top:1rem}@keyframes auth-dialog-in{0%{opacity:0;transform:translateY(.5rem)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.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-select-error{color:#ffd8d8;letter-spacing:.04rem;background:#56121780;border:1px solid #ff808952;width:min(100%,92rem);margin:0 auto 1rem;padding:.75rem 1rem;font-size:.78rem}.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:.12rem;text-shadow:0 2px 18px #000000b3;max-width:min(19rem,100% - 2rem);font-size:clamp(1.35rem,2.1vw,2.1rem);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}.multiplayer-entry,.room-join-form{gap:10px;display:flex}.multiplayer-entry{align-items:stretch;width:min(100%,620px);margin:14px auto 0}.multiplayer-entry>*,.room-join-form{flex:1}.room-join-form input{color:#eefcff;letter-spacing:.12em;text-transform:uppercase;background:#060f14d1;border:1px solid #66d2ee59;flex:1;min-width:0;padding:12px 14px}.room-join-form button,.room-code-block button,.room-leave-btn,.multiplayer-member button{color:#dffaff;cursor:pointer;background:#0b1c24eb;border:1px solid #66d2ee73;padding:10px 13px}.room-lobby{width:min(100%,700px);margin:18px auto}.room-code-block{background:#040d12b8;border:1px solid #66d2ee59;grid-template-columns:1fr auto;align-items:center;gap:6px 16px;padding:16px;display:grid}.room-code-block span{color:#87aab5;letter-spacing:.14em;text-transform:uppercase}.room-code-block strong{letter-spacing:.2em;color:#f3fdff;grid-row:2;font-size:clamp(28px,5vw,46px)}.room-code-block button{grid-area:1/2/span 2}.room-seat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.room-seat{color:#eafcff;cursor:pointer;background:#081218c7;border:1px solid #77969f52;flex-direction:column;justify-content:center;align-items:flex-start;min-height:78px;padding:13px 15px;display:flex}.room-seat.selected{border-color:#55c9e8;box-shadow:inset 3px 0 #55c9e8}.room-seat span,.room-waiting-copy{color:#9eb4bb}.room-leave-btn{margin-top:8px}.multiplayer-room-toggle{z-index:22;color:#e9fbff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;background:#040c11d1;border:1px solid #66d2ee57;align-items:center;gap:.7rem;min-height:2.55rem;padding:.65rem .85rem;display:inline-flex;position:absolute;top:2rem;right:2rem}.multiplayer-room-toggle small{color:#8cabb4;white-space:nowrap;font-size:.66rem}.multiplayer-room-toggle span{color:#8cabb4;letter-spacing:.12em;font-size:.68rem}.multiplayer-room-toggle strong{letter-spacing:.12em}.multiplayer-room-status{z-index:19;color:#e9fbff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#040c11db;border:1px solid #66d2ee57;width:min(320px,100vw - 40px);max-height:calc(100vh - 7.25rem);padding:13px;position:absolute;top:5.25rem;right:2rem;overflow-y:auto}.multiplayer-room-heading{color:#8cabb4;letter-spacing:.12em;grid-template-columns:1fr auto auto;align-items:center;gap:10px;display:grid}.multiplayer-room-heading button{color:#dffaff;cursor:pointer;background:0 0;border:0;font-size:1.35rem}.multiplayer-member-list{gap:6px;margin:10px 0;display:grid}.multiplayer-member{background:#ffffff06;border-left:2px solid #829ca459;grid-template-columns:1fr auto;gap:2px 8px;padding:7px 9px;display:grid}.multiplayer-member.submitted{border-left-color:#55c9e8}.multiplayer-member small{color:#91a8af;grid-column:1}.multiplayer-member button{grid-area:1/2/span 2;padding:4px 7px;font-size:11px}.multiplayer-room-status p{color:#9db5bc;margin:8px 0 0;font-size:12px}@media (width<=680px){.multiplayer-entry,.room-join-form{flex-direction:column}.room-seat-grid{grid-template-columns:1fr}.multiplayer-room-status{inset:auto max(.75rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));z-index:24;width:auto;max-height:min(55vh,30rem);position:fixed}.multiplayer-room-toggle{top:calc(max(1rem, env(safe-area-inset-top)) + 3.6rem);right:max(1rem, env(safe-area-inset-right))}}.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%}.party-controller-picker{background:#050d1194;border:1px solid #8dd3df47;margin:0;padding:16px}.party-controller-picker legend{color:#e1f3f5f0;letter-spacing:.08em;text-transform:uppercase;padding:0 8px;font-size:.78rem}.party-controller-picker p{color:#bed2d6b3;margin:0 0 12px;font-size:.78rem;line-height:1.45}.party-controller-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.party-controller-options label{color:#eef8f9e6;cursor:pointer;border:1px solid #8dd3df2e;align-items:center;gap:8px;min-width:0;padding:9px 10px;display:flex}.party-controller-options input{accent-color:#a94235}@media (width<=640px){.party-controller-options{grid-template-columns:1fr}}.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-incompatible,.saved-session-card-incompatible:hover{color:#ffffff7a;cursor:not-allowed;background:#ffffff05;border-color:#b8e1f314}.saved-session-card-incompatible .saved-session-status{color:#ffbea8b8;text-align:right;text-transform:none;max-width:12rem;line-height:1.45}.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}.history-toggle-btn.with-room-status{right:12rem}.player-stats-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;align-items:center;gap:.5rem;padding:.65rem .9rem;font-size:.68rem;transition:color .2s,border-color .2s,background .2s;display:inline-flex;position:absolute;top:2rem;left:2rem}.player-stats-toggle-btn>span{color:#6bdcffd6;font-size:.9rem;line-height:1}.player-stats-toggle-btn:hover,.player-stats-toggle-btn[aria-expanded=true]{color:#fff;background:#0a1218db;border-color:#6bdcff94}.player-stats-drawer{z-index:20;color:#eef8fceb;-webkit-backdrop-filter:blur(16px)saturate(.9);backdrop-filter:blur(16px)saturate(.9);opacity:0;visibility:hidden;pointer-events:none;scrollbar-width:thin;scrollbar-color:#7dd3f259 transparent;background:linear-gradient(145deg,#0c171ef0,#05070ae0),#050505d1;border:1px solid #94daf42e;width:min(820px,100vw - 4rem);height:calc(100dvh - 11.5rem);transition:opacity .25s,transform .25s,visibility .25s;position:absolute;top:5.25rem;left:2rem;overflow:hidden auto;transform:translate(-1rem);box-shadow:0 1.2rem 4rem #00000052}.player-stats-drawer.visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0)}.world-state-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 #ddc67e3d;align-items:center;gap:.5rem;padding:.65rem .9rem;font-size:.68rem;display:inline-flex;position:absolute;top:2rem;left:14.5rem}.world-state-toggle-btn>span{color:#f0cd6ce6;font-size:.9rem}.world-state-toggle-btn:hover,.world-state-toggle-btn[aria-expanded=true]{color:#fff;background:#16120adb;border-color:#f0cd6c9e}.world-state-drawer{z-index:20;color:#f7f2e0f0;-webkit-backdrop-filter:blur(16px)saturate(.85);backdrop-filter:blur(16px)saturate(.85);opacity:0;visibility:hidden;pointer-events:none;scrollbar-width:thin;scrollbar-color:#e0bf6752 transparent;background:radial-gradient(circle at 14% 0,#b4852d1f,#0000 42%),linear-gradient(145deg,#1a1711f5,#070809e8);border:1px solid #e0bf6738;width:min(680px,100vw - 4rem);max-height:calc(100dvh - 11.5rem);transition:opacity .25s,transform .25s,visibility .25s;position:absolute;top:5.25rem;left:2rem;overflow:auto;transform:translate(-1rem);box-shadow:0 1.2rem 4rem #00000061}.world-state-drawer.visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0)}.world-state-panel{padding:1.25rem}.world-state-header{letter-spacing:.18rem;text-transform:uppercase;border-bottom:1px solid #e0bf672b;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.85rem;display:flex}.world-state-header>span{color:#f9dc89f2;font-size:.84rem}.world-state-header small{color:#e8dcba80;font-size:.55rem}.world-state-section{margin-top:1.15rem}.world-state-section h3{color:#ecd69ba8;letter-spacing:.14rem;text-transform:uppercase;margin:0 0 .65rem;font-size:.58rem;font-weight:500}.world-state-current strong{font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:400}.world-state-current p,.world-state-card p{color:#f4efdeb8;margin:.45rem 0 0;font-size:.78rem;line-height:1.65}.world-state-cards{gap:.65rem;display:grid}.world-state-card{background:#f6e0a109;border:1px solid #e1c1691f;padding:.8rem .9rem}.world-state-card>div{justify-content:space-between;gap:1rem;display:flex}.world-state-card span{color:#f9dc89a6;letter-spacing:.08rem;text-transform:uppercase;font-size:.58rem}.world-state-card ul,.world-state-timeline,.world-state-compact-list{color:#f4efdec7;margin:.55rem 0 0;padding-left:1.1rem;font-size:.72rem;line-height:1.55}.world-state-timeline li+li,.world-state-compact-list li+li{margin-top:.45rem}.world-state-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.world-state-compact-list li{padding-left:.15rem}.world-state-compact-list strong,.world-state-compact-list span{display:block}.world-state-compact-list span{color:#f4efde7a;font-size:.62rem}.world-state-location-chips{flex-wrap:wrap;gap:.45rem;display:flex}.world-state-location-chips span{color:#f0e8d2ad;border:1px solid #e0bf6724;padding:.38rem .55rem;font-size:.65rem}.world-state-location-chips span[data-current=true]{color:#ffe59ef2;border-color:#e0bf676b}.world-state-empty,.world-state-muted{color:#f0e8d28a;font-size:.74rem;line-height:1.6}.world-map-stage{--map-paper:#d8c89f;--map-paper-light:#eadfbe;--map-ink:#28281f;--map-ink-soft:#2a2b2157;--map-cinnabar:#8f2f24;--map-gold:#a5792c;z-index:4;color:var(--map-ink);background:radial-gradient(circle at 38% 31%, #fff9dc99, transparent 28%), radial-gradient(circle at 72% 68%, #69542d1a, transparent 32%), linear-gradient(104deg, var(--map-paper-light), var(--map-paper) 44%, #c7b789);isolation:isolate;position:absolute;inset:0;overflow:hidden}.world-map-stage:before{z-index:0;content:"";mix-blend-mode:multiply;pointer-events:none;background:repeating-linear-gradient(7deg,#483d2206 0 1px,#0000 1px 9px),repeating-linear-gradient(96deg,#ffffec06 0 2px,#0000 2px 13px);position:absolute;inset:0}.world-map-theme-forgotten-realms{--map-paper:#11161a;--map-paper-light:#20221f;--map-ink:#d7c89e;--map-ink-soft:#b29e706b;--map-cinnabar:#b84c3e;--map-gold:#c69a4b;color:var(--map-ink);background:radial-gradient(circle at 50% 42%, #4e412a38, transparent 32%), radial-gradient(circle at 78% 18%, #5f232424, transparent 26%), linear-gradient(118deg, #080b0d, var(--map-paper) 46%, #181713)}.world-map-theme-forgotten-realms:before{mix-blend-mode:screen;background-color:#0000;background-image:linear-gradient(30deg,#0000 48%,#c69a4b09 49% 51%,#0000 52%),linear-gradient(-30deg,#0000 48%,#c69a4b06 49% 51%,#0000 52%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:44px 76px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.world-map-theme-shinobi-scroll{--map-paper:#b5a27b;--map-paper-light:#d5c7a5;--map-ink:#1c2524;--map-ink-soft:#17272659;--map-cinnabar:#a8342f;--map-gold:#8b682b;color:var(--map-ink);background:radial-gradient(circle at 22% 22%, #32574b21, transparent 28%), radial-gradient(circle at 76% 72%, #5a2e221a, transparent 30%), linear-gradient(104deg, var(--map-paper-light), var(--map-paper) 48%, #998762)}.world-map-theme-shinobi-scroll:before{background:repeating-linear-gradient(0deg,#1e2a2706 0 1px,#0000 1px 8px),repeating-linear-gradient(90deg,#fff9e108 0 2px,#0000 2px 15px),radial-gradient(circle,#0000 0 19px,#1c322d0a 20px 21px,#0000 22px) 0 0/72px 72px}.world-map-theme-red-cliffs-war-table{--map-paper:#17110d;--map-paper-light:#2a1d14;--map-ink:#d3b477;--map-ink-soft:#b27e4361;--map-cinnabar:#b8392f;--map-gold:#c79b4e;color:var(--map-ink);background:radial-gradient(circle at 30% 72%, #94261938, transparent 30%), radial-gradient(circle at 78% 24%, #c17e2b1f, transparent 27%), linear-gradient(116deg, #090706, var(--map-paper) 48%, #24140e)}.world-map-theme-red-cliffs-war-table:before{mix-blend-mode:screen;background:repeating-linear-gradient(0deg,#d8a65606 0 1px,#0000 1px 18px),repeating-linear-gradient(90deg,#d8a65606 0 1px,#0000 1px 18px),radial-gradient(circle,#0000 0 38px,#a72d1f0a 39px 40px,#0000 41px) 0 0/120px 120px}.world-map-theme-red-cliffs-war-table .world-map-paper-wash{fill:#21120c52}.world-map-theme-red-cliffs-war-table .world-map-mountain-far,.world-map-theme-red-cliffs-war-table .world-map-mountain-near,.world-map-theme-red-cliffs-war-table .world-map-cloud{stroke:#ca9e524d}.world-map-theme-red-cliffs-war-table .world-map-water-line,.world-map-theme-red-cliffs-war-table .world-map-route-water .world-map-route-ink,.world-map-theme-red-cliffs-war-table .world-map-route-river .world-map-route-ink{stroke:#68999a80}.world-map-theme-red-cliffs-war-table .world-map-route-role-main .world-map-route-ink{stroke:#cf9e4cad}.world-map-theme-red-cliffs-war-table .world-map-route-role-branch .world-map-route-ink{stroke:#a35b3594;stroke-dasharray:9 6}.world-map-theme-red-cliffs-war-table .world-map-location-glyph{fill:#ab3b2714;stroke:#e0b465d6}.world-map-theme-red-cliffs-war-table .world-map-node-label{fill:#ecd097f2;stroke:#130906f5;font-family:Noto Serif SC,Songti SC,serif}.world-map-theme-forgotten-realms .world-map-paper-wash{fill:#0d111347}.world-map-theme-forgotten-realms .world-map-mountain-far,.world-map-theme-forgotten-realms .world-map-mountain-near,.world-map-theme-forgotten-realms .world-map-cloud{stroke:#b9a57661}.world-map-theme-forgotten-realms .world-map-water-line,.world-map-theme-forgotten-realms .world-map-route-river .world-map-route-ink,.world-map-theme-forgotten-realms .world-map-route-water .world-map-route-ink{stroke:#468d968c}.world-map-theme-shinobi-scroll .world-map-mountain-far,.world-map-theme-shinobi-scroll .world-map-mountain-near{stroke:#19352d80}.world-map-theme-shinobi-scroll .world-map-cloud{stroke:#82302852;stroke-dasharray:16 8}.world-map-theme-shinobi-scroll .world-map-route-role-main .world-map-route-ink{stroke:#18322ca6}.world-map-theme-shinobi-scroll .world-map-route-role-branch .world-map-route-ink{stroke-dasharray:10 7}.world-map-theme-forgotten-realms .world-map-route-wash{stroke:#151817c7}.world-map-theme-forgotten-realms .world-map-route-role-main .world-map-route-ink{stroke:#c5a86b9e}.world-map-theme-forgotten-realms .world-map-route-role-branch .world-map-route-ink{stroke:#9e875c6b;stroke-dasharray:7 6}.world-map-theme-forgotten-realms .world-map-location-glyph{fill:#d6be8409;stroke:#dac491d1}.world-map-theme-forgotten-realms .world-map-node-label{fill:#e7d7b1f0;stroke:#080b0df0;font-family:Cinzel,Noto Serif SC,Georgia,serif}.world-map-theme-forgotten-realms .world-map-node-wash{fill:#c69a4b0f}.world-map-theme-forgotten-realms .world-map-node:hover .world-map-node-wash,.world-map-theme-forgotten-realms .world-map-node:focus .world-map-node-wash,.world-map-theme-forgotten-realms .world-map-node.is-selected .world-map-node-wash{fill:#c69a4b2e}.world-map-theme-shinobi-scroll .world-map-location-glyph{fill:#1f3b3308;stroke:#1a362fd1}.world-map-theme-shinobi-scroll .world-map-node-label{fill:#182b26f0;stroke:#d7c9a4f0;font-family:Noto Serif SC,Songti SC,serif}.world-map-theme-shinobi-scroll .world-map-current-seal{stroke-width:2.4px;stroke-dasharray:3 2}.world-map-svg{z-index:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:relative}.world-map-svg:active{cursor:grabbing}.world-map-paper-wash{fill:#eadfbe33}.world-map-mountain,.world-map-cloud,.world-map-water-line{fill:none;stroke:var(--map-ink);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.world-map-mountain-far{opacity:.1;stroke-width:10px;filter:url(#world-map-ink-soften)}.world-map-mountain-near{opacity:.15;stroke-width:5px}.world-map-cloud{opacity:.16;stroke-width:3px}.world-map-water-line{opacity:.14;stroke-width:4px}.world-map-route-wash,.world-map-route-ink{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.world-map-route-wash{stroke:#f8eeccb8;stroke-width:9px}.world-map-route-ink{stroke:var(--map-ink-soft);stroke-width:3px}.world-map-route-role-main .world-map-route-ink{stroke:#26271d94;stroke-width:4.4px}.world-map-route-role-branch .world-map-route-ink{stroke:#31302361;stroke-width:3.1px}.world-map-route-role-secondary .world-map-route-ink{stroke:#37342533;stroke-width:2px}.world-map-route-river .world-map-route-ink,.world-map-route-water .world-map-route-ink{stroke:#2c4e5275;stroke-width:3.3px}.world-map-route.is-revealing{animation:.7s ease-out both world-map-route-reveal}.world-map-node{cursor:pointer;outline:none}.world-map-node-wash{fill:#2e2e2214;stroke:#0000;transition:fill .18s,transform .18s}.world-map-location-glyph{fill:#3634250a;stroke:#26271dc2;stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.world-map-node-role-branch .world-map-location-glyph{opacity:.76}.world-map-node-label{fill:#26251be6;letter-spacing:.08em;text-anchor:middle;paint-order:stroke;stroke:#e7dbb6e6;stroke-width:5px;stroke-linejoin:round;font-family:STKaiti,KaiTi,Noto Serif SC,Songti SC,Georgia,serif;font-size:14px;font-weight:600}.world-map-node:hover .world-map-node-wash,.world-map-node:focus .world-map-node-wash,.world-map-node.is-selected .world-map-node-wash{fill:#74481f2e;transform:scale(1.08)}.world-map-node:focus-visible .world-map-node-wash{stroke:var(--map-cinnabar);stroke-width:2px}.world-map-current-seal{fill:#8f2f240a;stroke:var(--map-cinnabar);stroke-width:1.7px;opacity:.84;filter:url(#world-map-current-glow);vector-effect:non-scaling-stroke;animation:2.8s ease-in-out infinite world-map-current}.world-map-current-seal text{fill:var(--map-cinnabar);stroke:none;text-anchor:middle;font-family:STKaiti,KaiTi,Noto Serif SC,serif;font-size:15px}.world-map-quest-marker{fill:none;stroke:var(--map-gold);stroke-width:2.2px;stroke-linecap:round;vector-effect:non-scaling-stroke}.world-map-change-marker{fill:var(--map-cinnabar);opacity:.72}.world-map-node.is-revealing{transform-box:fill-box;transform-origin:50%;animation:.7s cubic-bezier(.16,1,.3,1) both world-map-reveal}.world-map-objective{top:max(1.9rem, env(safe-area-inset-top));z-index:6;width:min(40rem,100vw - 34rem);color:var(--map-ink);pointer-events:none;background:linear-gradient(90deg,#0000,#eee2bee6 8% 92%,#0000);border-top:1px solid #513e1f24;border-bottom:1px solid #513e1f24;padding:.72rem 1.15rem;position:absolute;left:50%;transform:translate(-50%)}.world-map-theme-forgotten-realms .world-map-objective{color:#e5d5aef0;background:linear-gradient(90deg,#0000,#0d1112f0 8% 92%,#0000);border-color:#c69a4b3d}.world-map-theme-forgotten-realms .world-map-objective span,.world-map-theme-forgotten-realms .world-map-detail header>span{color:#c69a4bcc}.world-map-theme-forgotten-realms .world-map-objective strong{color:#e7d7b1f0;font-family:Cinzel,Noto Serif SC,Georgia,serif}.world-map-objective span,.world-map-detail header>span{color:#7e4023bf;letter-spacing:.16rem;text-transform:uppercase;font-size:.54rem;display:block}.world-map-objective strong{color:#2b281be6;text-overflow:ellipsis;white-space:nowrap;margin-top:.25rem;font-family:STKaiti,KaiTi,Noto Serif SC,serif;font-size:.72rem;font-weight:500;line-height:1.45;display:block;overflow:hidden}.world-map-controls{z-index:7;gap:.35rem;display:grid;position:absolute;top:7rem;left:2rem}.world-map-controls button{color:#322b1bcc;cursor:pointer;background:#e4d6afdb;border:1px solid #533e1d33;border-radius:50%;width:2.45rem;height:2.45rem;font-family:STKaiti,KaiTi,Noto Serif SC,serif;box-shadow:0 .3rem 1rem #4636181f}.world-map-theme-forgotten-realms .world-map-controls button{color:#decb9ee0;background:#0f1415e6;border-color:#c69a4b4d}.world-map-theme-shinobi-scroll .world-map-controls button{color:#16332cd9;background:#cfc19be6;border-color:#23483e3d;border-radius:.2rem}.world-map-controls button:hover,.world-map-controls button:focus-visible{color:var(--map-cinnabar);border-color:#872f2294;outline:none}.world-map-controls button:disabled{opacity:.35;cursor:default}.world-map-detail{z-index:8;color:#2b271ae6;scrollbar-width:thin;scrollbar-color:#7952244d transparent;background:radial-gradient(circle at 84% 0,#81471e1a,#0000 34%),linear-gradient(145deg,#efe5c6f7,#d1c095f5);border:1px solid #63441b3d;border-left:4px solid #8f2f2494;width:min(20rem,27vw);max-height:min(31rem,100dvh - 25rem);padding:1.25rem;position:absolute;top:7.25rem;right:2rem;overflow:auto;box-shadow:0 1.5rem 3.8rem #362a143d}.world-map-theme-forgotten-realms .world-map-detail{color:#e3d4afeb;background:radial-gradient(circle at 84% 0,#8b312b1f,#0000 36%),linear-gradient(145deg,#121718fa,#090d0ff7);border-color:#c69a4b47 #c69a4b47 #c69a4b47 #b84c3eb8;box-shadow:0 1.5rem 3.8rem #00000080}.world-map-theme-forgotten-realms .world-map-detail h2{font-family:Cinzel,Noto Serif SC,Georgia,serif}.world-map-theme-forgotten-realms .world-map-detail header p,.world-map-theme-forgotten-realms .world-map-detail-empty,.world-map-theme-forgotten-realms .world-map-detail-section li span{color:#d9caa79e}.world-map-theme-forgotten-realms .world-map-detail-section h3{color:#c69a4bcc}.world-map-theme-forgotten-realms .world-map-detail-section li{background:#c69a4b0d;border-left-color:#c69a4b57}.world-map-theme-shinobi-scroll .world-map-detail{background:radial-gradient(circle at 86% 3%,#a6342f14,#0000 34%),linear-gradient(145deg,#daceacfa,#b5a379f7);border-color:#20423947 #20423947 #20423947 #a8342f9e}.world-map-detail-close{color:#4f3619a8;cursor:pointer;background:0 0;border:1px solid #0000;width:2rem;height:2rem;font-size:1.3rem;position:absolute;top:.7rem;right:.7rem}.world-map-detail-close:hover,.world-map-detail-close:focus-visible{color:var(--map-cinnabar);border-color:#8f2f243d;outline:none}.world-map-detail header{border-bottom:1px solid #66492329;padding:.35rem 2rem .95rem 0}.world-map-detail h2{margin-top:.35rem;font-family:STKaiti,KaiTi,Noto Serif SC,Georgia,serif;font-size:1.45rem;font-weight:400}.world-map-detail header p,.world-map-detail-empty{color:#3f3724a6;margin-top:.55rem;font-size:.7rem;line-height:1.6}.world-map-detail-section{margin-top:1rem}.world-map-detail-section h3{color:#7e4023bf;letter-spacing:.13rem;text-transform:uppercase;margin-bottom:.55rem;font-size:.56rem;font-weight:500}.world-map-detail-section ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.world-map-detail-section li{background:#624a220b;border-left:1px solid #814e1e47;padding:.55rem .65rem;font-size:.68rem;line-height:1.5}.world-map-detail-section li strong,.world-map-detail-section li span{display:block}.world-map-detail-section li span{color:#3f37249e;margin-top:.2rem}.world-map-stage-empty,.world-map-stage-fallback{color:#37301f9e;text-align:center;place-items:center;padding:6rem 2rem 18rem;display:grid}.world-map-stage-fallback header{margin-bottom:.75rem}.world-map-fallback-list{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1rem;display:flex}.world-map-fallback-list button{color:#342d1cd1;background:#e5d8b2c7;border:1px solid #63462038;padding:.55rem .7rem}@keyframes world-map-current{0%,to{opacity:.72}50%{opacity:1}}@keyframes world-map-reveal{0%{opacity:0;transform:scale(.35)}to{opacity:1;transform:scale(1)}}@keyframes world-map-route-reveal{0%{opacity:0;stroke-dashoffset:80px}to{opacity:1;stroke-dashoffset:0}}.player-stats-panel{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:1.25rem;min-height:100%;padding:1.15rem;display:grid}.player-stats-language-switch{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:.35rem;min-height:1.8rem;display:flex}.player-stats-language-switch>span{color:#b2dced94;letter-spacing:.11rem;text-transform:uppercase;margin-right:.25rem;font-size:.58rem}.player-stats-language-switch button{color:#dceff7ad;min-width:2.8rem;font:inherit;letter-spacing:.06rem;cursor:pointer;background:#070f14b8;border:1px solid #94daf429;padding:.3rem .5rem;font-size:.62rem}.player-stats-language-switch button:hover,.player-stats-language-switch button[aria-pressed=true]{color:#fff;background:#143644b8;border-color:#6bdcff94}.player-stats-column{min-width:0}.party-stats-column{border-left:1px solid #9adbf324;padding-left:1.25rem}.party-stats-header{border-bottom:1px solid #9adbf324;padding-bottom:1rem}.party-stats-header span,.party-resource-grid span{color:#b2dced94;letter-spacing:.11rem;text-transform:uppercase;font-size:.58rem}.party-stats-header h2{color:#f5fbff;letter-spacing:.08rem;margin-top:.25rem;font-size:1rem;font-weight:500}.party-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:1rem;display:grid}.party-resource-grid>div{background:#bee7f609;border:1px solid #98d8f01c;padding:.75rem}.party-resource-grid strong{color:#f6fcfff0;margin-top:.35rem;font-size:.9rem;display:block}.party-empty-note{color:#d3eaf47a;margin-top:.65rem;font-size:.62rem}.party-consumables,.party-turn-order{flex-wrap:wrap;gap:.4rem;display:flex}.party-consumables>span,.party-turn-order>span{color:#deeff6c2;background:#9fddf50b;border:1px solid #94daf41c;padding:.36rem .45rem;font-size:.59rem}.party-turn-order>span.active{color:#cff5fff5;background:#3caed321;border-color:#6bdcff6b}.party-reputation-list,.party-member-list{gap:.5rem;display:grid}.party-reputation-list>div,.party-member-list>button{background:#9fddf509;border:1px solid #94daf41a;padding:.62rem}.party-reputation-list strong,.party-reputation-list span,.party-member-list strong,.party-member-list span{display:block}.party-member-list>button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.party-member-list>button:hover,.party-member-list>button:focus-visible{background:#3caed31a;border-color:#6bdcff80;outline:none}.party-member-list>button:disabled{cursor:default;opacity:.62}.party-reputation-list strong,.party-member-list strong{color:#f0f9fce6;font-size:.66rem;font-weight:500}.party-reputation-list span,.party-member-list span{color:#cfe6ef9e;margin-top:.22rem;font-size:.58rem;line-height:1.4}.party-member-list>button.active{border-color:#6bdcff61;box-shadow:inset 2px 0 #6bdcffb3}.party-member-list>button.selected{background:#e0b45f14;border-color:#e0b45f94;box-shadow:inset 2px 0 #e0b45fd1}.party-member-vitals{flex-wrap:wrap;gap:.3rem .65rem;margin-top:.4rem;display:flex}.party-member-vitals span{margin-top:0}.party-member-list button>small{color:#6bdcffd1;letter-spacing:.08rem;text-transform:uppercase;margin-top:.45rem;font-size:.55rem;display:block}.party-member-list button>small+small{color:#e0b45fdb}.player-stats-empty{color:#d3eaf494;letter-spacing:.08rem;text-align:center;text-transform:uppercase;padding:2rem .5rem;font-size:.72rem}.player-stats-header{border-bottom:1px solid #9adbf324;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;display:flex}.player-stats-header span,.player-stats-section h3,.player-hp-label span,.player-combat-grid span,.player-ability-grid span{color:#b2dced94;letter-spacing:.11rem;text-transform:uppercase;font-size:.58rem;font-weight:400}.player-stats-header h2{color:#f5fbff;letter-spacing:.08rem;margin-top:.25rem;font-size:1rem;font-weight:500}.player-stats-header p{color:#cfe6efa6;margin-top:.3rem;font-size:.67rem;line-height:1.45}.player-level-badge{background:#3caed314;border:1px solid #6bdcff42;flex:none;padding:.45rem .5rem;color:#b9ebfce6!important}.player-hp-card{background:#5814141c;border:1px solid #ff807624;margin-top:1rem;padding:.85rem}.player-hp-label{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.player-hp-label strong{letter-spacing:.06rem;font-size:.88rem;font-weight:500}.player-hp-track{background:#ffffff17;height:.28rem;margin-top:.65rem;overflow:hidden}.player-hp-track>span{background:linear-gradient(90deg,#d5544f,#ff9884);height:100%;transition:width .35s;display:block;box-shadow:0 0 .75rem #ff6b6059}.player-hp-card small{color:#7fd7ffc2;margin-top:.5rem;font-size:.6rem;display:block}.player-combat-grid,.player-ability-grid{gap:.45rem;margin-top:.6rem;display:grid}.player-combat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.player-combat-grid>div,.player-ability-grid>div{text-align:center;background:#bee7f609;border:1px solid #98d8f01c;min-width:0;padding:.65rem .35rem}.player-combat-grid strong,.player-ability-grid strong{color:#f6fcfff0;margin-top:.32rem;font-size:.78rem;font-weight:500;display:block}.player-resource-strip{color:#cfe6efa8;background:#bee7f606;border:1px solid #98d8f017;flex-wrap:wrap;gap:.75rem;margin-top:.6rem;padding:.55rem .65rem;font-size:.6rem;display:flex}.player-resource-strip strong{color:#f6fcffeb;font-weight:500}.player-stats-section{margin-top:1rem}.player-stats-section h3{margin-bottom:.55rem}.player-ability-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.player-ability-grid>div{padding-left:.15rem;padding-right:.15rem}.player-ability-grid small{color:#70cdeeb3;margin-top:.18rem;font-size:.56rem;display:block}.player-stat-tags,.player-slot-list,.player-spell-summary{flex-wrap:wrap;gap:.36rem;display:flex}.player-stat-tags>span,.player-slot-list>span,.player-spell-summary>span{color:#deeff6c2;background:#9fddf50b;border:1px solid #94daf41c;padding:.34rem .42rem;font-size:.59rem;line-height:1.3}.player-attack-list{gap:.38rem;display:grid}.player-attack-list>div{background:#ff8d5e0b;border-left:2px solid #ffa47c73;justify-content:space-between;align-items:center;gap:.75rem;padding:.48rem .55rem;font-size:.63rem;display:flex}.player-attack-list strong{font-weight:500}.player-attack-list span{color:#d3e9f19e;text-align:right}.player-slot-list{margin-top:.5rem}.player-stats-section .player-stats-section{margin-top:.65rem}.player-stats-collapsible{border-top:1px solid #94daf41c}.player-stats-collapsible>summary{color:#bee2f0bf;letter-spacing:.1rem;text-transform:uppercase;cursor:pointer;padding:.7rem 0 .2rem;font-size:.6rem}.player-stats-collapsible>summary:hover,.player-stats-collapsible>summary:focus-visible{color:#e2f5fcf5}.player-stats-collapsible-content{min-width:0;padding-bottom:.2rem}.player-inventory-list{gap:.45rem;display:grid}.player-inventory-list article{background:#9fddf509;border:1px solid #94daf41c;padding:.58rem .65rem}.player-inventory-list header{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.player-inventory-list strong{color:#f1f9fcf0;font-size:.65rem;font-weight:500}.player-inventory-list header span,.player-inventory-list small{color:#c1dee99e;font-size:.56rem}.player-inventory-list p,.player-roleplay-fact p{color:#d8ecf3b8;white-space:pre-wrap;margin-top:.38rem;font-size:.61rem;line-height:1.55}.player-inventory-list .player-stat-tags{margin-top:.45rem}.player-roleplay-fact+.player-roleplay-fact{margin-top:.65rem}.player-roleplay-fact strong{color:#b7dbe8b8;letter-spacing:.06rem;font-size:.57rem;font-weight:500}.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}.log-entry-text{white-space:pre-wrap;margin:0}.log-entry.gm-group{background:#05131b61;border:1px solid #80c0da29;padding:.75rem}.log-entry-speech-blocks{gap:.65rem;display:grid}.log-entry-speech-block{border-left:2px solid #80c0da3d;padding-left:.65rem}.log-entry-speech-role{color:#97daf4c2;letter-spacing:.08rem;margin-bottom:.2rem;font-size:.62rem;display:block}.log-entry-speech-text{color:#fff;white-space:pre-wrap;margin:0}.log-entry-mechanics{color:#daeff7c7;background:#5aa3c214;border-left:2px solid #6bdcff7a;margin-top:.55rem;padding:.55rem .65rem}.log-entry-mechanics strong{color:#8cdaf9c7;letter-spacing:.13rem;margin-bottom:.3rem;font-size:.54rem;font-weight:500;display:block}.log-entry-mechanics ul{gap:.22rem;margin:0;padding-left:1rem;display:grid}.log-entry-mechanics li{font-size:.72rem;line-height:1.45}.adventure-controls{border-top:1px solid #ffffff26;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.room-return-notice{color:#ead69b;letter-spacing:.04em;background:#2c210c94;border:1px solid #caa55480;padding:.55rem .75rem;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.72rem}.player-identity-control,.current-action-player{color:#dae7ecc7;letter-spacing:.08em;text-transform:uppercase;flex:none;align-items:center;gap:.45rem;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.68rem;display:inline-flex}.player-identity-control select{color:#e6f0f2;font:inherit;background:#080e12eb;border:1px solid #79b4c452;border-radius:0;min-height:2.2rem;padding:0 1.8rem 0 .65rem}.player-identity-control select:disabled{color:#e6f0f2d1;cursor:default;opacity:1}.action-identity-control,.current-action-player{border-left:2px solid #b04837b8;min-height:2.2rem;padding-left:.65rem}.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}.connection-status-message{color:#ffdcd2eb;pointer-events:auto;background:#220808b3;border:1px solid #ff876e38;align-self:flex-end;width:min(28rem,100%);padding:.65rem .85rem}.connection-status-message p{font-size:.72rem;line-height:1.4}.audio-status-message{border-color:#f5be5c52}.connection-status-message-neutral{color:#cde4efdb;background:#081422a8;border-color:#67bce538}.voice-input-suppressed-message{color:#cae6f2d6}.gm-status-message{color:#ffe6b9eb;background:#231607b8;border-color:#f2b2484d}.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}.latest-message-mechanics{color:#daeff7cc;background:#5aa3c214;border-left:2px solid #6bdcff8c;margin-top:.75rem;padding:.65rem .75rem}.latest-message-mechanics strong{color:#8cdaf9cc;letter-spacing:.14rem;margin-bottom:.35rem;font-size:.56rem;font-weight:500;display:block}.latest-message-mechanics ul{gap:.25rem;margin:0;padding-left:1rem;display:grid}.latest-message-mechanics li{font-size:clamp(.68rem,.9vw,.78rem);line-height:1.45}.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}.submit-btn.action-reminder{position:relative;box-shadow:0 0 0 1px #d24b39b3,0 0 18px #d24b3938}.action-reminder-badge{color:#fff7ec;background:#b73d31;border:1px solid #ffe6d2cc;border-radius:50%;place-items:center;width:22px;height:22px;font:700 14px/1 system-ui,sans-serif;display:grid;position:absolute;top:-10px;right:-10px}.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-nav{display:none}.header-sign-in,.account-menu summary,.local-play-badge{min-height:2.5rem}.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}.history-toggle-btn.with-room-status{right:max(1rem, env(safe-area-inset-right))}.player-stats-toggle-btn{top:max(1rem, env(safe-area-inset-top));left:max(1rem, env(safe-area-inset-left));min-height:2.75rem;padding:.7rem .85rem}.world-state-toggle-btn{top:max(1rem, env(safe-area-inset-top));left:calc(max(1rem, env(safe-area-inset-left)) + 3.2rem);min-height:2.75rem;padding:.7rem .85rem}.player-stats-toggle-btn{white-space:nowrap;max-width:3rem;overflow:hidden}.world-state-drawer{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(10px);backdrop-filter:blur(10px);width:auto;max-height:none}.world-state-grid{grid-template-columns:minmax(0,1fr)}.player-stats-drawer{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(10px);backdrop-filter:blur(10px);width:auto;height:auto;max-height:none}.player-stats-panel{grid-template-columns:minmax(0,1fr);padding:.95rem}.party-stats-column{border-top:1px solid #9adbf324;border-left:0;padding-top:1.1rem;padding-left:0}.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 (width<=800px){.world-map-objective{top:calc(max(1rem, env(safe-area-inset-top)) + 3.55rem);width:calc(100vw - 2rem - env(safe-area-inset-left) - env(safe-area-inset-right));padding:.55rem .75rem}.world-map-controls{top:calc(max(1rem, env(safe-area-inset-top)) + 7rem);left:max(1rem, env(safe-area-inset-left));grid-template-columns:repeat(4,2.45rem)}.world-map-detail{top:auto;right:max(1rem, env(safe-area-inset-right));bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 12.5rem);left:max(1rem, env(safe-area-inset-left));border-top:4px solid #8f2f2494;border-left-width:1px;width:auto;max-height:min(40dvh,27rem);padding:1rem}.world-map-node-label{font-size:15px}.world-map-mountain-far{opacity:.08;filter:none}.world-map-mountain-near,.world-map-cloud{opacity:.11}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
