.demo-runtime{position:absolute;inset:0;overflow:hidden;background:#0f1320;color:#dbe8ff;border-radius:12px}.demo-runtime *{box-sizing:border-box}
.demo-runtime{--hf-ui-font:system-ui, sans-serif;--hf-body-bg:#0f1320;--hf-body-text:#dbe8ff;--hf-splash-bg:#0b1120;--hf-title-text:#eef6ff;--hf-panel-bg:#101a2c;--hf-panel-border:#2f456b;--hf-status-bg:#0a101a;--hf-dnd-bg:#0f1b31;--hf-input-bg:#1b2a44;--hf-input-border:#406296;--hf-input-text:#ffffff;--hf-room-bg:#090f1c;--hf-term-text:#ffffff;--hf-npc-term:#ffd77a;}.demo-runtime{margin:0;background:var(--hf-body-bg);color:var(--hf-body-text);font:14px/1.4 var(--hf-ui-font)}.demo-runtime .u-hidden,.demo-runtime .isHidden{display:none!important}.demo-runtime main{width:min(80vw,1280px);max-width:min(80vw,1280px);margin:0 auto;padding:14px;display:grid;gap:10px;max-height:90vh}.demo-runtime #runtimeLayout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start;max-height:90vh;font-size:calc(14px * var(--hf-runtime-scale,1))}.demo-runtime #runtimeMain{display:grid;gap:10px;min-width:0;max-width:none;max-height:90vh}.demo-runtime #sidePanel{display:grid;gap:8px}.demo-runtime #sideTabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.demo-runtime .sideTab{font:13px var(--hf-ui-font);padding:8px 10px;border-radius:8px;border:1px solid var(--hf-input-border);background:var(--hf-input-bg);color:var(--hf-input-text);cursor:pointer}.demo-runtime .sideTab.active{background:var(--hf-panel-bg);border-color:var(--hf-panel-border);font-weight:700}.demo-runtime #sideBody{aspect-ratio:1/1;min-height:260px;background:var(--hf-panel-bg);border:1px solid var(--hf-panel-border);border-radius:10px;padding:10px;overflow:auto;max-height:90vh}.demo-runtime .sidePane{white-space:pre-wrap}.demo-runtime #sidePaneImage{height:100%}.demo-runtime .runtimeTitleRow{display:flex;align-items:center;justify-content:space-between;gap:10px}.demo-runtime #gameTitle{margin:0;color:var(--hf-title-text);font:600 calc(28px * var(--hf-runtime-scale,1))/1.2 var(--hf-ui-font)}.demo-runtime .runtimeTitleControls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.demo-runtime .runtimeFooterLinks{display:flex;align-items:center;justify-content:space-between;gap:12px;font:600 12px/1.2 var(--hf-ui-font);color:var(--hf-body-text);opacity:.9;margin-top:8px}.demo-runtime .runtimeFooterLinks a,.demo-runtime .runtimeFooterLinks button{color:inherit;text-decoration:none}.demo-runtime .runtimeFooterLinks a:hover,.demo-runtime .runtimeFooterLinks a:focus,.demo-runtime .runtimeFooterLinks button:hover,.demo-runtime .runtimeFooterLinks button:focus{text-decoration:underline}.demo-runtime .runtimeFooterLinks button{appearance:none;background:none;border:none;padding:0;font:inherit;cursor:pointer}.demo-runtime #runtimeLanguageGroup{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.demo-runtime #runtimeZoomGroup{display:flex;align-items:center;justify-content:flex-end;gap:6px}.demo-runtime .runtimeLangBtn{font:600 12px/1 var(--hf-ui-font);padding:7px 10px;border-radius:999px;border:1px solid var(--hf-input-border);background:var(--hf-input-bg);color:var(--hf-input-text);cursor:pointer}.demo-runtime .runtimeLangBtn.active{background:var(--hf-panel-bg);border-color:var(--hf-panel-border);color:var(--hf-title-text)}.demo-runtime .runtimeZoomBtn{font:700 14px/1 var(--hf-ui-font);padding:7px 10px;border-radius:999px;border:1px solid var(--hf-input-border);background:var(--hf-input-bg);color:var(--hf-input-text);cursor:pointer;min-width:40px}.demo-runtime #splash{position:absolute;inset:0;display:grid;place-items:center;background:var(--hf-splash-bg);z-index:20}.demo-runtime #splashBox{--hf-fade-ms:900ms;width:fit-content;max-width:94vw;background:transparent;border:none;border-radius:0;padding:0;display:grid;gap:0;opacity:1;transform:scale(1);transition:opacity var(--hf-fade-ms) ease,transform var(--hf-fade-ms) ease;justify-items:center}.demo-runtime #splashBox.closing{opacity:0;transform:scale(.97)}.demo-runtime #coverFrame{position:relative;overflow:hidden;aspect-ratio:16/9;width:min(980px,94vw);min-height:260px;max-height:52vh;background:var(--hf-room-bg);border-radius:10px;border:1px solid var(--hf-panel-border)}.demo-runtime #cover{position:absolute;inset:0;display:block;object-fit:contain;width:100%;height:100%;background:var(--hf-room-bg)}.demo-runtime #coverWeather{position:absolute;inset:0;z-index:2}.demo-runtime #coverMenuLayer{position:absolute;inset:0;z-index:3}.demo-runtime #coverMenuLayer button,.demo-runtime #title,.demo-runtime #subtitle{position:absolute;left:var(--x,50%);top:var(--y,50%);transform:translate(-50%,-50%)}.demo-runtime #versionLine{position:absolute;right:var(--right,0);left:auto;top:var(--y,50%);transform:translateY(-50%)}.demo-runtime #coverMenuLayer button{padding:9px 14px;border-radius:8px;border:1px solid rgba(138,179,238,.6);background:rgba(18,34,58,.82);color:#fff}.demo-runtime #title,.demo-runtime #subtitle{margin:0;text-align:center;text-shadow:0 3px 16px rgba(0,0,0,.45);pointer-events:none;transform-origin:50% 50%}.demo-runtime #title{font-size:42px;font-weight:700}.demo-runtime #subtitle{font-size:20px;font-weight:400}.demo-runtime #versionLine{padding:6px 9px 6px 11px;border-radius:6px 0 0 6px;background:rgba(8,16,28,.76);border:1px solid rgba(120,166,224,.45);border-right:none;font-size:11px;opacity:.9;max-width:calc(100% - 12px);box-sizing:border-box}.demo-runtime #out{min-height:260px;background:var(--hf-panel-bg);border:1px solid var(--hf-panel-border);border-radius:8px;padding:10px;white-space:pre-wrap;overflow:auto;max-height:calc(90vh - 220px)}.demo-runtime .basicIntroSplash{display:grid;place-items:center;min-height:100%;opacity:0;transition:opacity var(--hf-basic-intro-fade,900ms) ease}.demo-runtime .basicIntroSplash.is-visible{opacity:1}.demo-runtime .basicIntroSplash.is-fading{opacity:0}.demo-runtime .basicIntroSplashImage{display:block;max-width:min(100%,900px);max-height:min(62vh,520px);width:auto;height:auto;object-fit:contain;border-radius:8px}.demo-runtime .playLine{display:block}.demo-runtime .playPromptLine{margin-top:12px}.demo-runtime .playPromptLine + .playLine:not(.playPromptLine){margin-top:12px}.demo-runtime .playRoomLine{display:block;padding:7px 10px;border-radius:6px;border:1px solid color-mix(in srgb, var(--play-room, #355896) 75%, #ffffff 25%);background:color-mix(in srgb, var(--play-room, #355896) 24%, var(--hf-panel-bg) 76%);color:#eef5ff;font-weight:700;margin:6px 0 8px}.demo-runtime .playTerm{font-weight:700;color:var(--hf-term-text)}.demo-runtime .playNpcTerm{color:var(--hf-npc-term)}.demo-runtime #status{min-height:90px;background:var(--hf-status-bg);border:1px solid var(--hf-panel-border);border-radius:8px;padding:8px;white-space:pre-wrap;overflow:auto;max-height:24vh}.demo-runtime .row{display:grid;grid-template-columns:minmax(320px,680px) auto auto;gap:8px;align-items:center;justify-content:start}.demo-runtime .row #cmd{min-width:0;width:100%}.demo-runtime .runtimeCmdRow{display:flex;gap:8px;align-items:center}.demo-runtime .runtimeCmdRow #cmd{min-width:0;width:auto;flex:1 1 auto}.demo-runtime .runtimeCmdRow button{flex:0 0 auto}.demo-runtime #roomImageWrap{position:relative;overflow:hidden;background:var(--hf-panel-bg);border:1px solid var(--hf-panel-border);border-radius:8px;min-height:220px}.demo-runtime #roomImage{max-height:38vh;width:100%;object-fit:contain;background:var(--hf-room-bg);border-radius:8px}.demo-runtime .bookRuntimeOnly main{width:100vw;max-width:100vw;padding:0;max-height:none}.demo-runtime .bookRuntimeOnly #runtimeLayout{grid-template-columns:minmax(0,1fr)}.demo-runtime .bookRuntimeOnly #runtimeMain{display:grid;grid-template-rows:auto minmax(0,1fr);gap:0;max-height:none;min-height:100vh;padding:12px 0}.demo-runtime .bookRuntimeOnly .runtimeTitleRow{padding:0 18px 8px;justify-content:flex-end}.demo-runtime .bookRuntimeOnly #gameTitle,.demo-runtime .bookRuntimeOnly #runtimeZoomGroup{display:none!important}.demo-runtime .bookRuntimeOnly .runtimeTitleControls{width:100%;justify-content:flex-end}.demo-runtime .runtimeAudioBtn{min-width:62px;padding:7px 10px;border-radius:999px;border:1px solid var(--hf-panel-border);background:var(--hf-panel-bg-alt);color:var(--hf-body-text);cursor:pointer}.demo-runtime #runtimeAudioGroup{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.demo-runtime .bookRuntimeOnly #runtimeLanguageGroup{display:flex!important}.demo-runtime .bookRuntimeOnly #runtimeAudioGroup{display:flex!important}.demo-runtime .bookRuntimeOnly #roomImageWrap{display:grid!important;place-items:center;min-height:0;height:100%;border:none;border-radius:0;background:transparent;padding:6px 0}.demo-runtime #bookRuntimeStage,.demo-runtime .bookRuntimeStage{position:relative;display:grid;place-items:center;width:100%;height:100%;max-height:100%;overflow:hidden;padding:6px 0}.demo-runtime .bookRuntimeImage{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;opacity:1;transition:opacity .22s ease}.demo-runtime .bookRuntimeText{position:absolute;z-index:3;padding:.45em .6em;border-radius:12px;background:rgba(10,18,28,.56);color:#fff7ea;line-height:1.35;text-shadow:0 2px 10px rgba(0,0,0,.45);box-sizing:border-box;white-space:pre-wrap;opacity:1;transition:opacity .22s ease}.demo-runtime #sidePaneImage #roomImage{height:100%;max-height:none}.demo-runtime #roomStageOverlay{position:absolute;inset:0;z-index:2;pointer-events:none}.demo-runtime #roomStageOverlay.is-active{pointer-events:auto}.demo-runtime #roomViewBadge{position:absolute;right:10px;top:10px;z-index:3;padding:6px 9px;border-radius:999px;border:1px solid var(--hf-panel-border);background:rgba(8,16,28,.82);color:var(--hf-body-text);font:12px var(--hf-ui-font)}.demo-runtime .runtimeSceneInstance{position:absolute;z-index:2;transform-origin:0 0;pointer-events:none;overflow:hidden}.demo-runtime .runtimeSceneInstance img,.demo-runtime .runtimeSceneSprite{display:block;width:100%;height:100%;object-fit:contain;background-repeat:no-repeat;background-position:0 0}.demo-runtime .runtimeSceneSprite{animation-name:runtimeSceneSpritePreview;animation-timing-function:steps(var(--sprite-frames,1));animation-iteration-count:infinite}@keyframes runtimeSceneSpritePreview{from{background-position-x:0}to{background-position-x:var(--sprite-end,-64px)}}.demo-runtime .runtimeHotspot{position:absolute;transform:translate(-50%,-50%);z-index:3;min-width:42px;min-height:42px;padding:6px 10px;border-radius:999px;border:1px solid rgba(138,179,238,.7);background:rgba(18,34,58,.76);color:#fff;font:12px var(--hf-ui-font);cursor:pointer;pointer-events:auto}.demo-runtime .runtimeHotspot:hover{outline:2px solid rgba(255,208,113,.9);outline-offset:3px}.demo-runtime .runtimeNoHotspotOutline .runtimeHotspot:hover{outline:none}.demo-runtime .runtimeHotspot.runtimeHoTarget{border-style:dashed;background:rgba(60,22,22,.74)}.demo-runtime .runtimeHoHud{position:absolute;left:16px;top:16px;z-index:3;display:grid;gap:8px;min-width:min(280px,48%);max-width:min(320px,52%);padding:12px 14px;border-radius:16px;border:1px solid rgba(138,179,238,.34);background:rgba(7,12,22,.82);box-shadow:0 16px 30px rgba(0,0,0,.28);pointer-events:none}.demo-runtime .runtimeHoHud[data-complete="1"]{border-color:rgba(153,229,118,.5);background:rgba(14,34,18,.86)}.demo-runtime .runtimeHoHud[data-failed="1"]{border-color:rgba(255,132,132,.5);background:rgba(58,18,20,.88)}.demo-runtime .runtimeHoTitle{font:700 14px var(--hf-ui-font);letter-spacing:.04em;text-transform:uppercase;color:#f4d184}.demo-runtime .runtimeHoCount{font:13px/1.35 var(--hf-ui-font);color:#dfe9ff}.demo-runtime .runtimeHoTimer{font:12px/1.2 var(--hf-ui-font);color:#ffd671}.demo-runtime .runtimeHoList{display:grid;gap:6px}.demo-runtime .runtimeHoItem{padding:7px 10px;border-radius:999px;border:1px dashed rgba(255,214,98,.35);background:rgba(60,22,22,.38);color:#fff3d8;font:12px var(--hf-ui-font)}.demo-runtime .runtimeHoItem.is-found{border-style:solid;border-color:rgba(153,229,118,.48);background:rgba(18,62,24,.5);color:#dff7da;text-decoration:line-through}.demo-runtime .runtimeHotspot.runtimeHoTarget.is-inactive{display:none!important}.demo-runtime .runtimeHotspot.runtimeHoTarget.is-miss{outline:2px solid rgba(255,132,132,.95)!important;outline-offset:3px;background:rgba(92,24,28,.92)!important}.demo-runtime .runtimeVnShell{position:absolute;inset:0;z-index:3;display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);align-items:end;gap:18px;padding:18px;pointer-events:none}.demo-runtime .runtimeVnPortrait{align-self:end;max-height:72%;display:grid;align-items:end;pointer-events:none}.demo-runtime .runtimeVnPortrait img{display:block;max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 14px 34px rgba(0,0,0,.5))}.demo-runtime .runtimeVnPanel{display:grid;gap:10px;padding:16px 18px;border:1px solid rgba(138,179,238,.48);border-radius:16px;background:linear-gradient(180deg,rgba(7,12,22,.84),rgba(10,18,32,.92));box-shadow:0 18px 34px rgba(0,0,0,.34);pointer-events:auto}.demo-runtime .runtimeVnShell[data-tone="happy"] .runtimeVnPanel{background:linear-gradient(180deg,rgba(27,56,18,.84),rgba(31,76,24,.92));border-color:rgba(196,255,139,.42)}.demo-runtime .runtimeVnShell[data-tone="frown"] .runtimeVnPanel,.demo-runtime .runtimeVnShell[data-tone="sad"] .runtimeVnPanel{background:linear-gradient(180deg,rgba(13,26,44,.84),rgba(15,34,58,.94));border-color:rgba(133,180,255,.4)}.demo-runtime .runtimeVnShell[data-tone="angry"] .runtimeVnPanel{background:linear-gradient(180deg,rgba(62,18,20,.86),rgba(84,24,28,.94));border-color:rgba(255,132,132,.4)}.demo-runtime .runtimeVnShell[data-tone="surprised"] .runtimeVnPanel{background:linear-gradient(180deg,rgba(78,50,16,.84),rgba(95,62,18,.92));border-color:rgba(255,219,122,.42)}.demo-runtime .runtimeVnShell[data-tone="thinking"] .runtimeVnPanel{background:linear-gradient(180deg,rgba(25,29,50,.86),rgba(31,36,62,.94));border-color:rgba(188,197,255,.38)}.demo-runtime .runtimeVnShell[data-tone="scared"] .runtimeVnPanel{background:linear-gradient(180deg,rgba(44,23,61,.86),rgba(56,27,75,.94));border-color:rgba(219,154,255,.38)}.demo-runtime .runtimeVnSpeaker{font:700 14px var(--hf-ui-font);letter-spacing:.04em;text-transform:uppercase;color:#f4d184}.demo-runtime .runtimeVnText{color:#f5f8ff;font:16px/1.5 var(--hf-ui-font)}.demo-runtime .runtimeVnChoices{display:grid;gap:8px}.demo-runtime .runtimeVnChoice{justify-self:start;min-width:220px;padding:10px 14px;border-radius:12px;border:1px solid rgba(138,179,238,.65);background:rgba(17,34,58,.84);color:#fff;font:14px var(--hf-ui-font);cursor:pointer}.demo-runtime .runtimeVnChoice:hover{background:rgba(30,53,86,.92)}.demo-runtime .runtimeVnChoice.is-active{outline:2px solid rgba(255,208,113,.92);outline-offset:2px;background:rgba(30,53,86,.96)}.demo-runtime .runtimeWalkCaption{position:absolute;left:16px;right:16px;bottom:16px;z-index:3;max-width:min(720px,82%);padding:12px 14px;border-radius:14px;background:rgba(7,12,22,.78);border:1px solid rgba(138,179,238,.38);color:#f5f8ff;font:15px/1.45 var(--hf-ui-font);box-shadow:0 16px 30px rgba(0,0,0,.28);pointer-events:none}.demo-runtime .runtimeWalkExits{position:absolute;right:16px;top:16px;z-index:3;display:grid;gap:8px;justify-items:end;pointer-events:auto}.demo-runtime .runtimeWalkExit{padding:9px 12px;border-radius:999px;border:1px solid rgba(138,179,238,.7);background:rgba(18,34,58,.78);color:#fff;font:13px var(--hf-ui-font);cursor:pointer}.demo-runtime .runtimeWalkExit:hover{background:rgba(28,48,78,.9)}.demo-runtime .runtimeHotspot.runtimeWalkSpot{background:rgba(18,34,58,.58);backdrop-filter:blur(3px)}.demo-runtime .row input,.demo-runtime .row button{font:14px var(--hf-ui-font);padding:8px;border-radius:6px;border:1px solid var(--hf-input-border);background:var(--hf-input-bg);color:var(--hf-input-text)}@media (min-width:960px){.demo-runtime #runtimeLayout{grid-template-columns:minmax(0,1fr) 320px}}@media (max-width:959px){.demo-runtime main{width:94vw;max-width:94vw}.demo-runtime #sideBody{aspect-ratio:auto;min-height:220px}.demo-runtime #sideTabs{justify-content:flex-start}.demo-runtime .row{grid-template-columns:minmax(0,1fr);align-items:stretch}.demo-runtime .row #run{justify-self:start}.demo-runtime #out{max-height:calc(90vh - 250px)}.demo-runtime .runtimeVnShell{grid-template-columns:minmax(0,1fr);align-items:end}.demo-runtime .runtimeVnPortrait{max-width:180px;max-height:32vh}.demo-runtime .runtimeWalkCaption{max-width:none;right:16px}.demo-runtime .runtimeWalkExits{top:auto;bottom:140px;left:16px;right:auto;justify-items:start}}
