body[data-view=world] #workspace{display:block;min-height:0}body[data-view=world] .sidebar,body[data-view=world] .main-heading,body[data-view=world] #reading-art{display:none}body[data-view=world] main{padding:0;max-width:none;margin:0}body[data-view=world] .evidence:not(.open){display:none}body[data-view=world] .evidence.open{display:block;position:fixed;inset:0 0 0 auto;width:min(440px,100%);height:100dvh;z-index:30;box-shadow:var(--shadow)}body[data-view=world] .evidence-top button{display:block}body[data-view=world] .masthead{height:60px;padding:0 24px;background:#0d1221;color:#e5e9f6;border-bottom:1px solid #30394e;border-top:2px solid #9c8a64}body[data-view=world] .brand{color:#e5e9f6}body[data-view=world] .brand small,body[data-view=world] #theme{color:#a7b6ca}body[data-view=world]{background:#0a1020}
.limbo{height:calc(100dvh - 60px);min-height:570px;position:relative;overflow:hidden;background:#0a1020;color:#e0e9ed;font:13px/1.5 system-ui}.limbo button,.limbo input,.limbo select{background:#182236;color:#e0e9ed;border:1px solid #4a5c70;border-radius:3px}.limbo button:hover{background:#29354a}.limbo button:disabled{background:#182236;color:#8693a8;cursor:default}.limbo button:focus-visible,.limbo input:focus-visible,.limbo select:focus-visible{outline:2px solid #dec58b;outline-offset:3px}.limbo button{font-size:11px;padding:6px 11px}.limbo ::selection{background:#dbc58d;color:#111c32}#world-canvas{width:100%;height:100%;display:block;touch-action:none;image-rendering:pixelated;outline-offset:-3px;cursor:crosshair}#world-canvas:focus-visible{outline:1px solid #c8ae6d}.world-title{position:absolute;left:34px;top:26px;pointer-events:none}.world-kicker{font-size:9px;letter-spacing:4px;color:#bca578}.world-title h1{font:small-caps 31px/1.2 Georgia,serif;letter-spacing:2px;margin:7px 0}.world-title p{font:italic 12px Georgia,serif;color:#9aaac3;margin:0}.world-nav{position:absolute;right:26px;top:28px;display:flex;gap:7px}.world-nav button{background:#111c2ded;border-color:#455068}#world-loading{position:absolute;inset:35% 15% auto;text-align:center;background:#111b30;padding:20px;border:1px solid #947c53;color:#ecdbb4;z-index:5}.orb-speech p{font:18px/1.55 Georgia,serif;margin:9px 0 12px;max-width:335px}.player-label{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:5px;pointer-events:none;z-index:4;max-width:210px}.world-bottom{position:absolute;bottom:18px;left:28px;right:28px;display:flex;align-items:center;gap:12px;pointer-events:none;z-index:8}.world-bottom>*{pointer-events:auto}.world-help{font-size:10px;letter-spacing:.4px;color:#a4b4ca;margin-right:auto;text-shadow:0 1px 3px #000}.traveler-profile{position:relative;font-size:11px;background:#121c30;color:#e0e9ed;border:1px solid #4a5c70;border-radius:3px}.traveler-profile summary{padding:6px 11px;cursor:pointer}.traveler-profile form{position:absolute;right:0;bottom:38px;background:#141f33;border:1px solid #536279;border-radius:4px;padding:15px;width:220px;display:grid;gap:10px}.traveler-profile label{display:grid;gap:4px;color:#bac8d8;font-size:11px}.traveler-profile input,.traveler-profile select{width:100%;padding:7px}.traveler-profile p{margin:0;font-size:10px}.world-chat{position:absolute;bottom:57px;left:28px;width:310px;max-width:calc(100% - 56px);background:#111b2ef2;border:1px solid #42536b;border-radius:4px;color:#d3deeb;z-index:8;box-shadow:0 9px 24px #0003}.room-heading{display:flex;justify-content:space-between;align-items:center;padding:7px 10px;border-bottom:1px solid #303d54;font-size:9px;letter-spacing:2px;color:#bda77c}.room-heading button{border:0;padding:0 4px;background:transparent;font-size:17px;color:#a7b9cf}#room-form{display:flex;gap:5px;padding:7px}#room-draft{min-width:0;width:100%;font-size:11px;padding:7px}#room-draft::placeholder{color:#9fadc3}#room-send-state{margin:0 9px 6px;font-size:10px;color:#b4c7d1}.room-connection{position:absolute;right:28px;bottom:62px;max-width:260px;text-align:right;z-index:9;color:#abbdcf;font-size:10px;display:flex;align-items:center;gap:9px;justify-content:end;pointer-events:none}.room-connection>*{pointer-events:auto}#room-status[data-state=disconnected]{background:#301e2a;color:#ffd0c1;padding:8px;border:1px solid #8e6c68;border-radius:3px}#room-status[data-state=connected]::before{content:'●';color:#98c9a7;margin-right:6px;font-size:8px}
@media(max-width:700px){.world-title{left:20px;top:20px}.world-title h1{font-size:25px}.world-nav{right:16px;top:20px;gap:4px}.world-nav button{padding:5px 8px}.world-nav{max-width:175px;flex-wrap:wrap;justify-content:flex-end}.world-title p{font-size:10px}.world-title{max-width:180px}.world-bottom{left:16px;right:16px;bottom:15px;gap:8px}.world-help{display:none}.world-bottom>button{margin-right:auto}.world-chat{left:16px;max-width:calc(100% - 32px);bottom:55px;width:330px}.room-connection{right:16px;bottom:62px;max-width:220px}.orb-speech p{font-size:16px}body[data-view=world] .masthead{padding:0 16px}.limbo{min-height:570px}#room-draft,.traveler-profile input,.traveler-profile select{font-size:16px}.world-chat:not([hidden])~.room-connection{bottom:160px}}
@media(prefers-reduced-motion:reduce){.limbo *{scroll-behavior:auto!important}}

.world-title,

/* Locally hosted pixel glyphs keep dialogue selectable and available offline. */
@font-face{font-family:OrbPixel;src:url('/world/fonts/VT323-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}


.orb-speech p{font:26px/1.08 OrbPixel,monospace;letter-spacing:0;text-shadow:2px 2px 0 #040b1c;margin:7px 0 10px;user-select:text}
@media(max-width:700px){.orb-speech p{font-size:24px}}

.orb-speech{position:absolute;max-width:min(380px,calc(100% - 32px));width:max-content;transform:translate(-50%,-100%);background:transparent;color:#fff2cc;border:0;padding:0;box-shadow:none;z-index:6;text-align:center;overflow-wrap:anywhere}.orb-speech p{margin:0;text-shadow:0 2px 2px #040b1c,1px 0 2px #040b1c,-1px 0 2px #040b1c}.player-speech{pointer-events:auto;white-space:pre-wrap;background:transparent;color:#fff2cc;border:0;padding:0;font:22px/1.1 OrbPixel,monospace;max-width:210px;overflow-wrap:anywhere;text-shadow:0 2px 2px #040b1c,1px 0 2px #040b1c,-1px 0 2px #040b1c;user-select:text}


.world-chat{background:transparent;border:0;box-shadow:none}.room-heading{border:0;justify-content:flex-end}

.world-music{position:absolute;right:26px;top:75px;z-index:12;color:#cedaec;font-size:10px}.music-toggle{width:120px;white-space:nowrap}.music-status:empty{display:none}.music-status:not(:empty){position:absolute;top:calc(100% + 6px);right:0;width:210px;max-width:calc(100vw - 32px);background:#182236;color:#f0dcc0;padding:5px 8px}@media(max-width:700px){.world-music{right:16px;top:108px}}

.story-room{background:#101827;color:#e8e6db;min-height:calc(100dvh - 60px);font:14px/1.4 system-ui}.story-room button{background:#202d40;color:#f1e4c9;border:1px solid #607083;border-radius:3px;padding:8px 12px;font:inherit;cursor:pointer}.story-room button:hover{background:#33435b}.story-room button:disabled{background:#1b2636;color:#a4afbe;cursor:default}.story-room button:focus-visible,.story-room a:focus-visible{outline:2px solid #f3d48f;outline-offset:3px}.story-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 24px;background:#111b2b;color:#eee4cf;border-bottom:1px solid #3a4d60}.story-heading small{font-size:10px;letter-spacing:3px;color:#c8b384}.story-heading h2{font:27px/1.2 OrbPixel,monospace;margin:4px 0 0;color:#fff0d0}.story-stage{height:clamp(310px,48dvh,560px);position:relative;overflow:hidden;background:#131e30;color:#fff0d0}#story-canvas{width:100%;height:100%;display:block;touch-action:none;image-rendering:pixelated}#story-markers{position:absolute;inset:0;pointer-events:none}.story-marker{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;white-space:nowrap;font:17px/1 OrbPixel,monospace!important;padding:3px 7px!important;background:#142135!important;color:#ffe5ac!important;border-color:#69768a!important}.portal-marker{color:#bdeee2!important}#story-caption{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);margin:0;padding:4px 10px;background:#101827;color:#dfd6bb;max-width:90%;font-size:12px;text-align:center;width:max-content}.story-reading{max-width:980px;margin:auto;padding:14px 24px 30px}.story-reading p{margin:8px 0}#story-objective{color:#efcf91;background:#101827}#story-interactions,#story-portals{display:flex;gap:7px;flex-wrap:wrap}#story-interactions button{font-size:12px}#story-dialogue{margin:14px 0;border-top:1px solid #56677e;border-bottom:1px solid #56677e;padding:12px 0;min-height:150px}#story-speaker{font-size:11px;letter-spacing:1px;color:#d5bd8c;background:#101827}#story-line{font:26px/1.2 OrbPixel,monospace;color:#fff0d0;background:#101827;user-select:text;min-height:62px}.story-dialogue-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}#story-step{font-size:12px;color:#becada;background:#101827;margin-right:auto}#story-portals{margin-top:15px}#story-portals button{font-size:11px}#story-save{font-size:12px;color:#c5d3dc;background:#101827}#story-journal{margin-top:16px;border-top:1px solid #3a4d60;padding-top:12px;color:#c7d2df;background:#101827;font-size:12px}#story-journal summary{cursor:pointer;color:#e4d1aa}#story-journal a{color:#b8dfed}#story-journal button{margin:6px 8px 0 0;font-size:12px}.story-room [hidden]{display:none!important}.limbo[hidden]{display:none!important}@media(max-width:600px){.story-heading{padding:12px;align-items:flex-start}.story-heading h2{font-size:23px}.story-heading button{font-size:11px;max-width:100px}.story-reading{padding:12px}.story-stage{height:320px}.story-marker{font-size:15px!important}#story-line{font-size:24px}#story-interactions button{flex:1 1 45%;text-align:left}}
@media(max-width:600px){.story-marker:not(.event-marker):not(.portal-marker){font-size:0!important;width:14px;height:14px;min-width:0;padding:0!important;border-radius:50%;background:#e9c88f!important;border:2px solid #17243b!important}.story-marker:not(.event-marker):not(.portal-marker):focus-visible,.story-marker:not(.event-marker):not(.portal-marker):hover{font:15px/1 OrbPixel,monospace!important;width:auto;height:auto;padding:4px 6px!important;border-radius:3px;background:#142135!important;z-index:2}}

#room-orb-state{font-size:11px;margin:3px 10px;color:#d4dfed}

.world-chat .room-heading{padding:0}.world-chat form{padding:0}.world-chat input{background:#111b2e;color:#fff2cc}
