@font-face{font-family:Bungee;src:url('/fonts/Bungee-Regular.ttf') format('truetype');font-display:swap}@font-face{font-family:Figtree;src:url('/fonts/Figtree.ttf') format('truetype');font-weight:100 900;font-display:swap}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#100c29}body{height:100dvh;overscroll-behavior:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed}a{color:var(--af-mint)}[hidden]{display:none!important}.commons-bar{height:66px;display:flex;align-items:center;gap:12px;padding:8px 18px;background:#18122ef5;border-bottom:1px solid #b59aff42;position:relative;z-index:3;box-shadow:0 4px 24px #05031c77}.commons-home{width:44px;height:44px;display:grid;place-items:center;border-radius:10px}.commons-home:hover{background:#b59aff15}.commons-title{min-width:0;flex:1}.commons-title>span{color:var(--af-mint);font-size:10px;font-weight:800;letter-spacing:.18em}.commons-title h1{font-family:Bungee,Impact,sans-serif;font-weight:400;line-height:1.2;font-size:clamp(16px,2vw,23px);margin:3px 0 0;white-space:nowrap}.connection{min-width:44px;min-height:44px;border:0;padding:4px;background:transparent;font-size:13px;display:flex;gap:7px;align-items:center;color:var(--af-muted);white-space:nowrap}.connection i{width:7px;height:7px;background:var(--af-gold);box-shadow:0 0 9px #ffbf5366;border-radius:50%}.connection[data-state=live] i{background:var(--af-mint);box-shadow:0 0 9px #7cf8d266}.connection[data-state=offline] i,.connection[data-state=error] i{background:var(--af-coral)}.icon-button{display:grid;place-items:center;font-size:24px;width:44px;height:44px;padding:0;flex:none}.commons-stage{height:calc(100dvh - 66px);position:relative;isolation:isolate;overflow:hidden;background:#0d142c}#commons-canvas{display:block;width:100%;height:100%;touch-action:none;image-rendering:pixelated;outline-offset:-4px}#commons-canvas:focus-visible{outline:2px solid #7cf8d2}.world-hud{position:absolute;top:18px;left:22px;width:min(440px,calc(100% - 170px));padding:14px 17px;border:1px solid #b3d4e83f;border-radius:14px;background:linear-gradient(130deg,#233341f5,#14172ff0);box-shadow:0 6px 25px #03091f77;pointer-events:none}.hud-eyebrow{display:flex;gap:12px;justify-content:space-between;font-size:12px;color:#c2d4df}.live-count{color:#9ef8d4}.world-hud h2{font-family:Bungee,Impact,sans-serif;font-weight:400;font-size:21px;line-height:1.2;margin:9px 0 6px;color:#fff1c9}.world-hud p{font-size:14px;line-height:1.4;margin:0;color:#e0e3e8}.wayfinder{pointer-events:auto;border:0;border-bottom:1px solid #ffd36f77;min-height:44px;color:#ffda8b;background:transparent;font-size:13px;padding:5px 0 0;font-weight:800;text-align:left}.wayfinder span{margin-left:8px}.world-minimap{position:absolute;top:18px;right:20px;width:130px;pointer-events:auto;background:#11172edb;border:1px solid #adc1e560;border-radius:9px;overflow:hidden;box-shadow:0 3px 18px #050b2455;touch-action:none}.world-minimap canvas{display:block;width:100%;aspect-ratio:1120/760;image-rendering:pixelated;cursor:crosshair}.world-minimap>span{display:block;color:#c9c9df;font-size:9px;letter-spacing:.14em;padding:5px 7px;text-align:center}.world-feedback{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:min(430px,calc(100% - 32px));padding:14px 20px;border:1px solid #a4f9dd80;background:#112b32f0;border-radius:13px;box-shadow:0 6px 25px #03091f80;text-align:center;color:#e7fff0;font-size:16px;line-height:1.4;pointer-events:none;opacity:0;transition:opacity .18s}.world-feedback[data-show=true]{opacity:1}.world-feedback[data-error=true]{border-color:#ff879e;background:#351c35f0}.controls{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:22px;right:22px;height:106px;display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none}.desktop-keys{display:flex;gap:14px;flex-wrap:wrap;max-width:510px;align-items:center;font-size:13px;color:#e3e0ec;background:#11172edb;padding:12px 15px;border:1px solid #b59aff35;border-radius:12px;pointer-events:auto}.desktop-keys kbd{border:1px solid #9c92b980;background:#27233e;padding:3px 5px;border-radius:4px;color:#fff6df;font:700 11px Figtree,sans-serif}.pulse-deck{display:flex;gap:15px;align-items:center;pointer-events:auto}.energy{color:#ffda85;text-align:center;text-shadow:0 2px #10162f;letter-spacing:3px;white-space:nowrap}.energy>span{display:block;font-size:19px}.energy small{display:block;font-size:12px;letter-spacing:0;color:#e7deef;margin-top:5px}.pulse-button{padding:12px 20px;display:grid;grid-template-columns:26px auto;column-gap:7px;text-align:left;min-width:172px;min-height:72px;border-radius:15px!important;touch-action:manipulation}.pulse-button>span{font-size:28px;grid-row:span 2;align-self:center}.pulse-button strong{font-size:16px;align-self:end}.pulse-button small{font-size:13px;align-self:start;font-weight:700;line-height:1.35;margin-top:3px}.interaction{position:absolute;bottom:108px;right:22px;width:min(355px,calc(100% - 44px));padding:12px 15px;border:1px solid #b59aff55;background:#13172deb;border-radius:12px;box-shadow:0 5px 20px #03091f66;pointer-events:none}.project-caption{display:flex;gap:8px;justify-content:space-between;align-items:center;font-size:13px}.project-caption>span{font-weight:900;color:#ffda85}.project-caption>strong{font-size:13px;color:#c1d4e3;font-weight:500}.project-progress{height:5px;border-radius:3px;background:#ffffff18;overflow:hidden;margin-top:8px}.project-progress i{display:block;width:0;height:100%;background:#7cf8d2;transition:width .3s}.interaction p{font-size:13px;line-height:1.35;margin:7px 0 0;color:#e4dfef}.joystick{display:none;width:112px;height:112px;border-radius:50%;border:1px solid #adc4ee60;background:#131b35bb;box-shadow:inset 0 0 30px #0a102acc,0 3px 20px #03091f55;pointer-events:auto;touch-action:none;position:relative}.joystick::after{content:'MOVE';font-size:10px;letter-spacing:.15em;position:absolute;bottom:11px;left:0;right:0;text-align:center;color:#d9e3ef88}.joystick-cross::before,.joystick-cross::after{content:'';position:absolute;background:#b2c9e418;inset:25px 53px}.joystick-cross::after{inset:53px 25px}.joystick-knob{position:absolute;left:37px;top:37px;width:36px;height:36px;border-radius:50%;background:linear-gradient(140deg,#79c9c9,#394a77);border:1px solid #d2f2ed99;box-shadow:0 3px 0 #0a162b,0 0 16px #8cffe122}.gate{position:absolute;inset:0;display:grid;place-items:center;padding:22px;background:radial-gradient(ellipse at 55% 38%,#31406f44,transparent 65%),#090d24a8;backdrop-filter:blur(5px);z-index:5;overflow:auto}.gate-card{display:grid;grid-template-columns:1.1fr 1fr;max-width:960px;width:100%;border:1px solid #b59aff70;border-radius:22px;background:#19142ff5;overflow:hidden;box-shadow:0 24px 70px #02051899,inset 0 1px #fff2}.gate-art{position:relative;min-height:420px}.gate-art img{width:100%;height:100%;object-fit:cover;position:absolute;image-rendering:pixelated}.gate-art::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,#0e102bd9)}.gate-art>span{position:absolute;left:22px;bottom:20px;font-family:Bungee,Impact,sans-serif;font-size:15px;color:#c7ffe8;z-index:1}.gate-copy{padding:36px 30px;align-self:center}.eyebrow{color:#98e8cb;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.13em;line-height:1.5}.gate h2,.commons-dialog h2{font-family:Bungee,Impact,sans-serif;font-size:clamp(27px,3.4vw,43px);font-weight:400;line-height:1.15;margin:16px 0;color:#fff2cf}.gate-copy>p:not(.eyebrow){font-size:16px;line-height:1.55;color:#d8d3e9}.gate-actions{display:flex;flex-direction:column;gap:11px;margin:23px 0}.gate-actions .btn{padding:12px 16px;text-align:center;font-size:15px}.gate-copy .gate-line{font-size:13px!important;color:#b8f5d9!important;font-style:italic;margin-bottom:0}.commons-dialog{color:var(--af-cream);max-width:620px;width:calc(100% - 30px);max-height:calc(100dvh - 40px);padding:25px 28px;background:linear-gradient(140deg,#2b2448,#15122b 70%);border:1px solid #b59aff80;border-radius:20px;box-shadow:0 20px 90px #020518aa}.commons-dialog::backdrop{background:#060a22b8;backdrop-filter:blur(6px)}.commons-dialog header{display:flex;align-items:center;justify-content:space-between;gap:10px}.commons-dialog h2{font-size:28px;margin-top:12px}.commons-dialog h3{font-family:Bungee,Impact,sans-serif;font-weight:400;font-size:17px;color:#ffda85;margin:26px 0 10px}.commons-dialog p,.commons-dialog li{font-size:15px;line-height:1.55}.commons-dialog ol{padding-left:22px}.commons-dialog li+li{margin-top:8px}.commons-dialog .journal-note{padding:13px 15px;background:#080e2580;border-radius:10px;color:#bdbad2;font-size:13px}.commons-dialog .journal-quote{font-family:Bungee,Impact,sans-serif;color:#aef5d6;line-height:1.35;font-size:20px;margin:27px 0}.commons-dialog nav{display:flex;flex-wrap:wrap;gap:10px}.commons-dialog nav .btn{padding:12px 14px;font-size:13px}.contribution-list{max-height:230px;overflow:auto}.contribution-list li{padding:8px 0;border-bottom:1px solid #b59aff25}.contribution-list strong{color:#aef5d6}.contribution-list small{display:block;color:#c2b8df;font-size:12px}.contribution-list:empty::before{content:'The first page is yours to write.'}
@media(pointer:coarse),(max-width:650px){.joystick{display:block}.desktop-keys{display:none}.controls{left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));height:112px}.pulse-deck{position:relative;flex-direction:column;gap:8px;align-items:center}.pulse-button{min-width:121px;width:121px;min-height:78px;padding:10px 12px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0}.pulse-button>span{font-size:21px;line-height:1}.pulse-button strong{font-size:14px;align-self:center}.pulse-button small{font-size:13px;align-self:center}.energy>span{font-size:15px;letter-spacing:2px}.energy small{font-size:12px;margin-top:2px}.interaction{bottom:159px;right:16px;width:calc(100% - 32px);padding:10px 12px}.world-hud{top:12px;left:12px;width:calc(100% - 116px);padding:10px 12px}.world-hud h2{font-size:16px;margin:7px 0 5px}.world-hud p{font-size:13px;line-height:1.4}.hud-eyebrow{font-size:11px;gap:4px}.hud-eyebrow #self-name{display:none}.wayfinder{font-size:12px;line-height:1.3;padding-top:4px}.world-minimap{top:12px;right:12px;width:91px}.world-minimap>span{font-size:8px;padding:4px}.world-feedback{top:48%;font-size:14px;padding:12px 15px}.commons-bar{height:61px;gap:8px;padding:8px 10px}.commons-stage{height:calc(100dvh - 61px)}.commons-home{width:44px;min-width:44px}.commons-title>span{font-size:9px}.commons-title h1{font-size:14px}.connection{font-size:11px;gap:5px}.connection>span{max-width:56px;overflow:hidden;text-overflow:ellipsis}.icon-button{width:44px}.gate{padding:14px;align-items:center}.gate-card{grid-template-columns:1fr;max-width:460px}.gate-art{min-height:145px;height:clamp(145px,22dvh,220px)}.gate-art img{object-position:50% 48%}.gate-art>span{font-size:12px;left:18px;bottom:14px}.gate-copy{padding:15px 20px 20px}.gate-copy .eyebrow{font-size:10px;margin:3px 0}.gate h2{font-size:27px;margin:10px 0}.gate-copy>p:not(.eyebrow){font-size:14px;line-height:1.45}.gate-actions{margin:16px 0;gap:9px}.gate-actions .btn{padding:11px 13px;font-size:14px}.gate-copy .gate-line{font-size:11px!important}.commons-dialog{padding:18px 20px}.commons-dialog h2{font-size:23px}.commons-dialog .journal-quote{font-size:17px}.commons-dialog p,.commons-dialog li{font-size:14px}}
@media(max-height:570px) and (min-width:651px){.world-hud{padding:10px 15px}.world-hud p{display:none}.gate-art{min-height:320px}.gate-copy{padding:20px 25px}.gate h2{font-size:30px}.gate-copy>p:not(.eyebrow){font-size:14px}.gate-actions{margin:16px 0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}@media(prefers-reduced-transparency:reduce){.gate{background:#101129;backdrop-filter:none}.world-hud,.interaction,.desktop-keys,.world-minimap{background:#15182f}.commons-dialog::backdrop{background:#060a22;backdrop-filter:none}}@media(forced-colors:active){.world-hud,.interaction,.commons-bar,.commons-dialog,.gate-card{border:1px solid CanvasText;background:Canvas;color:CanvasText}.project-progress{border:1px solid CanvasText}.project-progress i{background:Highlight}.connection i{background:CanvasText}}

.wayfinder:disabled{color:#c2b8df;border-bottom-color:#c2b8df44;opacity:.7;cursor:wait}
