@font-face{font-family:Unifont;src:url(../Fonts/Unifont.ttf) format("truetype")}.mobile-controls-settings,.mobile-debug-button{position:absolute;z-index:19;top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));width:clamp(32px,7%,44px);aspect-ratio:1;padding:0;color:#edf4ff;border:1px solid #a9bdd5aa;border-radius:50%;background:#101b2bb8;box-shadow:0 2px 8px #0009;font:inherit;font-size:clamp(18px,4vmin,26px);line-height:1;cursor:pointer;opacity:.58;touch-action:manipulation}.mobile-debug-button{right:clamp(50px,10%,68px);border-radius:7px;font-size:clamp(11px,2.6vmin,15px);font-weight:700}.mobile-debug-button:disabled{cursor:default;opacity:.28}.mobile-controls-settings:hover,.mobile-controls-settings:focus-visible,.mobile-debug-button:not(:disabled):hover,.mobile-debug-button:not(:disabled):focus-visible{color:#fff7a8;border-color:#fff7a8;outline:none;opacity:1}.mobile-controls{position:absolute;z-index:18;inset:0;pointer-events:none;user-select:none;-webkit-user-select:none}.mobile-controls-disabled{display:none}.mobile-control{position:absolute;width:clamp(48px,13.5%,74px);aspect-ratio:1;padding:0;transform:translate(-50%,-50%) scale(var(--mobile-control-scale, 1));color:#f4f8ff;border:2px solid #dce9ffb8;border-radius:50%;background:radial-gradient(circle at 38% 30%,#7191b9b8,#172b46c9 70%);box-shadow:inset 0 0 0 2px #0b142477,0 3px 9px #0009;font:inherit;font-size:clamp(14px,2.7vmin,20px);text-shadow:1px 2px #000;pointer-events:auto;touch-action:none}.mobile-control-wide{width:clamp(58px,16%,92px);aspect-ratio:1.35;border-radius:999px}.mobile-control.pressed{color:#fff7a8;border-color:#fff7a8;background:radial-gradient(circle at 38% 30%,#94afd0dd,#263f61e8 70%);box-shadow:inset 0 0 8px #fff7a855,0 1px 4px #000b}.mobile-direction{width:clamp(104px,27%,154px);overflow:hidden;color:#e7f2ffcf;border:2px solid #b9d2edb8;background:radial-gradient(circle at 38% 30%,#b9d5ef36 0 7%,transparent 34%),radial-gradient(circle,#344a66d6 0 42%,#1a2b42df 68%,#0b1524eb);box-shadow:inset 0 0 0 1px #e2efff35,inset 0 -10px 22px #02070e8f,0 3px 10px #000a;font-size:0}.mobile-direction:before{position:absolute;z-index:0;border-radius:28%;background:linear-gradient(#91a9c536,#91a9c536) center / 26% 86% no-repeat,linear-gradient(90deg,#91a9c536,#91a9c536) center / 86% 26% no-repeat;content:"";inset:7%}.mobile-direction:after{position:absolute;z-index:0;border:1px solid #bcd3ec2e;border-radius:50%;content:"";inset:28%}.mobile-direction-arrow{position:absolute;z-index:1;width:11%;aspect-ratio:1;color:#e7f2ffcf;background:currentColor;clip-path:polygon(50% 0,100% 100%,0 100%);filter:drop-shadow(0 1px 1px #000c);pointer-events:none}.mobile-direction-arrow-up{top:14%;left:50%;transform:translate(-50%,-50%)}.mobile-direction-arrow-right{top:50%;left:86%;transform:translate(-50%,-50%) rotate(90deg)}.mobile-direction-arrow-down{top:86%;left:50%;transform:translate(-50%,-50%) rotate(180deg)}.mobile-direction-arrow-left{top:50%;left:14%;transform:translate(-50%,-50%) rotate(-90deg)}.mobile-direction[data-direction="8"] .mobile-direction-arrow-up,.mobile-direction[data-direction="6"] .mobile-direction-arrow-right,.mobile-direction[data-direction="2"] .mobile-direction-arrow-down,.mobile-direction[data-direction="4"] .mobile-direction-arrow-left{color:#fff39b;filter:drop-shadow(0 0 4px #ffe86e)}.mobile-direction.pressed{border-color:#d9eaffdd;background:radial-gradient(circle at 38% 30%,#dcecff40 0 7%,transparent 34%),radial-gradient(circle,#405a78e8 0 42%,#21364fe9 68%,#0d1929f2)}.mobile-direction-knob{position:absolute;z-index:2;top:50%;left:50%;width:27%;aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid #e6f2ffcf;border-radius:50%;background:radial-gradient(circle at 36% 28%,#d9eaff,#8eabcbdc 58%,#5c7899e8);box-shadow:inset 0 0 0 1px #fff4,0 2px 6px #000c;pointer-events:none}.mobile-controls-editing .mobile-control{border-color:#fff24d;outline:2px dashed #fff24d99;outline-offset:3px;cursor:move}.mobile-controls-editing .mobile-control.selected{border-color:#74ddff;outline-color:#74ddff;outline-style:solid}.mobile-controls-editing .mobile-control.dragging{z-index:2;outline-style:solid;opacity:1}.mobile-settings-panel,.mobile-editor-toolbar{position:absolute;z-index:35;color:#edf4ff;border:2px solid #dce9ff;background:#0b1424f5;box-shadow:inset 0 0 0 2px #58749b,0 8px 24px #000d;font:inherit;text-shadow:1px 2px #000}.mobile-settings-panel{top:50%;left:50%;display:grid;width:min(84%,360px);padding:clamp(14px,3%,22px);transform:translate(-50%,-50%);border-radius:8px;gap:10px}.mobile-settings-panel h2{margin:0 0 4px;color:#fff7a8;font-size:clamp(18px,4vmin,24px);font-weight:400}.mobile-settings-panel button,.mobile-editor-toolbar button{min-height:36px;padding:7px 12px;color:#edf4ff;border:1px solid #8ea8c7;border-radius:4px;background:#182941;font:inherit;cursor:pointer;touch-action:manipulation}.mobile-settings-panel button:hover,.mobile-settings-panel button:focus-visible,.mobile-editor-toolbar button:hover,.mobile-editor-toolbar button:focus-visible{color:#fff7a8;border-color:#fff7a8;outline:none}.mobile-settings-panel button:disabled{cursor:default;opacity:.45}.mobile-settings-toggle{display:flex;width:max-content;min-height:40px;align-items:center;justify-content:space-between;padding:6px 10px;border:1px solid #435d7c;border-radius:4px;background:#101d31;cursor:pointer}.mobile-settings-toggle input{width:22px;height:22px;margin:0;accent-color:#fff7a8}.mobile-settings-close{margin-top:4px}.mobile-editor-toolbar{top:max(8px,env(safe-area-inset-top));left:50%;display:flex;max-width:calc(100% - 16px);padding:7px;transform:translate(-50%);align-items:center;border-radius:6px;gap:7px;flex-wrap:wrap;justify-content:center}.mobile-editor-selection{padding:0 5px;color:#fff7a8;font-size:clamp(12px,2.8vmin,16px)}.mobile-editor-adjust{display:grid;min-width:150px;align-items:center;grid-template-columns:auto minmax(72px,1fr) 44px;gap:5px}.mobile-editor-adjust span,.mobile-editor-adjust output{padding:0;color:#d7e5f7;font-size:clamp(11px,2.5vmin,14px)}.mobile-editor-adjust input{min-width:72px;accent-color:#fff7a8;touch-action:manipulation}.mobile-editor-adjust output{text-align:right}.mobile-editor-toolbar button{min-height:30px;padding:4px 10px}:root{color:#fff;background:#090b10;font-family:Unifont,Microsoft YaHei,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{display:grid;place-items:center;background:radial-gradient(circle at center,#222938 0,#08090d 70%)}#app{position:relative;width:min(100vw,130.7692vh);aspect-ratio:544 / 416;overflow:visible;background:#000;box-shadow:0 16px 60px #000c;image-rendering:pixelated}canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.hidden{display:none!important}.message-window,.overlay-menu{position:absolute;z-index:10;color:#fff;border:max(2px,.4vmin) solid #dce9ff;border-radius:max(8px,1.2vmin);background:linear-gradient(#17243eea,#07101eea);background-repeat:no-repeat;box-shadow:inset 0 0 0 max(2px,.4vmin) #58749b,0 4px 16px #000c;text-shadow:1px 2px #000}.message-window{right:2.5%;bottom:3%;left:2.5%;min-height:31%;padding:3% 4%;font-size:clamp(15px,3.8vmin,25px);line-height:1.45;white-space:pre-wrap}.message-window.position-top{top:3%;bottom:auto}.message-window.position-middle{top:50%;bottom:auto;transform:translateY(-50%)}.message-window.background-dim{border-color:transparent;background:#0009;box-shadow:none}.message-window.background-transparent{border-color:transparent;background:transparent;box-shadow:none}.message-choices{margin-left:48%}.message-face{position:absolute;top:12%;left:3%;width:18%;aspect-ratio:1;background-repeat:no-repeat;background-size:400% 200%;image-rendering:pixelated}.message-window.has-face .message-text{margin-left:20%}.message-window.has-number .message-choices{display:flex;margin:1.2em 20% 0;justify-content:center}.choice.selected{color:#fff7a8}.overlay-menu{top:48%;left:50%;display:flex;width:34%;padding:2%;transform:translate(-50%,-50%);flex-direction:column;gap:.7em}.overlay-menu button{padding:.45em;color:#fff;border:0;background:transparent;font:inherit;font-size:clamp(16px,3.8vmin,25px);text-shadow:1px 2px #000;cursor:pointer}.overlay-menu button:hover,.overlay-menu button:focus,.overlay-menu button.selected{color:#fff7a8;outline:none}.overlay-menu.long-menu{top:50%;width:min(82%,440px);max-height:88%;overflow-y:auto;align-items:stretch}.overlay-menu.long-menu button{flex:0 0 auto;padding:.25em .6em;text-align:left;font-size:clamp(14px,2.8vmin,20px)}.number-input{width:100%;padding:.35em .45em;color:#fff7a8;border:0;border-bottom:2px solid #dce9ff;outline:none;background:transparent;font:inherit;font-size:clamp(24px,6vmin,38px);text-align:center;text-shadow:1px 2px #000}.debug-panel{position:absolute;z-index:20;top:50%;left:50%;display:flex;width:min(92%,720px);max-height:90%;padding:18px;overflow:hidden;transform:translate(-50%,-50%);color:#edf4ff;border:2px solid #dce9ff;border-radius:8px;background:#0b1424f5;box-shadow:inset 0 0 0 2px #58749b,0 8px 24px #000d;flex-direction:column;gap:14px;font-size:16px;text-shadow:1px 2px #000}.debug-panel.debug-panel-wide{width:min(96%,1040px)}.debug-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.debug-panel-header h2{margin:0;color:#fff7a8;font-size:20px;font-weight:400}.debug-header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.debug-parameters-open{min-height:32px;padding:5px 12px;color:#101a2b;border:1px solid #fff7a8;border-radius:4px;background:#fff7a8;font:inherit;cursor:pointer}.debug-parameters-open:hover,.debug-parameters-open:focus{border-color:#fffbd1;outline:none;background:#fffbd1}.debug-event-markers-toggle.active{color:#07101e;border-color:#82f59a;background:#82f59a}.debug-event-viewer-panel{min-height:0}.debug-event-viewer-workspace{display:grid;min-height:0;overflow:hidden;grid-template-columns:minmax(190px,28%) minmax(0,1fr);flex:1;border:1px solid #435d7c;border-radius:5px;background:#08111f}.debug-event-viewer-list,.debug-event-viewer-detail{min-height:0;overflow-y:auto}.debug-event-viewer-list{display:grid;align-content:start;padding:7px;border-right:1px solid #435d7c;gap:5px}.debug-event-viewer-row{display:grid;min-width:0;padding:8px 9px;color:#edf4ff;border:1px solid #314966;border-radius:4px;outline:none;background:#101d31;font:inherit;text-align:left;cursor:pointer;gap:3px}.debug-event-viewer-row:hover,.debug-event-viewer-row:focus-visible,.debug-event-viewer-row.selected{color:#fff7a8;border-color:#fff7a8;background:#263a55}.debug-event-viewer-row strong,.debug-event-viewer-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debug-event-viewer-row span{color:#9fb5d2;font-size:12px}.debug-event-viewer-detail{padding:12px}.debug-event-detail-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px}.debug-event-detail-title h3{min-width:0;margin:0;overflow:hidden;color:#fff7a8;font-size:18px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.debug-event-state{flex:0 0 auto;padding:3px 7px;color:#b7c7db;border:1px solid #71849c;border-radius:999px;font-size:12px;text-shadow:none}.debug-event-state.active{color:#baffc7;border-color:#55b76c;background:#174b2455}.debug-event-state.erased{color:#ffabb4;border-color:#c75e69;background:#641d2755}.debug-event-detail-section{padding:10px 0;border-top:1px solid #314966}.debug-event-detail-section h3{margin:0 0 8px;color:#cfe2ff;font-size:15px;font-weight:400}.debug-event-property-grid{display:grid;margin:0;grid-template-columns:repeat(2,minmax(90px,auto) minmax(0,1fr));gap:5px 9px}.debug-event-property-grid dt{color:#8299b6}.debug-event-property-grid dd{min-width:0;margin:0;overflow-wrap:anywhere}.debug-event-page-tabs{display:flex;padding:8px 0 12px;overflow-x:auto;gap:6px}.debug-event-page-tabs button{flex:0 0 auto;padding:5px 9px;color:#c9d8ed;border:1px solid #536b89;border-radius:4px;background:#16263d;font:inherit;font-size:12px;cursor:pointer}.debug-event-page-tabs button:hover,.debug-event-page-tabs button.selected{color:#101a2b;border-color:#fff7a8;background:#fff7a8}.debug-event-condition-list{margin:0;padding-left:1.4em;color:#d7e5f7}.debug-event-command{margin-top:7px;overflow:hidden;border:1px solid #314966;border-radius:4px;background:#0e192a}@media(max-width:600px){.debug-event-viewer-workspace{grid-template-columns:1fr;grid-template-rows:minmax(95px,32%) minmax(0,1fr)}.debug-event-viewer-list{border-right:0;border-bottom:1px solid #435d7c}.debug-event-viewer-detail{padding:9px}.debug-event-property-grid{grid-template-columns:minmax(82px,auto) minmax(0,1fr)}.debug-event-command{margin-left:0!important}}.debug-event-command-header{display:grid;align-items:center;padding:6px 8px;border-bottom:1px solid #263d59;background:#16263d;grid-template-columns:36px minmax(0,1fr) auto;gap:7px}.debug-event-command-header span{color:#8fa6c2;font-size:11px}.debug-event-command-header strong{overflow:hidden;color:#dbeaff;font-size:13px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.debug-event-command p{margin:0;padding:7px 8px;color:#fff7a8;overflow-wrap:anywhere;white-space:pre-wrap}.debug-event-command-annotations{display:grid;grid-template-columns:minmax(150px,auto) minmax(0,1fr);margin:0;padding:7px 8px;color:#d7e5f7;border-top:1px solid #263d59;background:#101d30;gap:4px 12px}.debug-event-command-annotations dt{color:#8fbbe9}.debug-event-command-annotations dd{min-width:0;margin:0;overflow-wrap:anywhere}.debug-event-command-raw-label{padding:5px 8px;color:#7f96b2;border-top:1px solid #263d59;background:#09121f;font-size:11px}.debug-event-command pre{max-height:180px;margin:0;padding:7px 8px;overflow:auto;color:#aebfd5;border-top:1px dashed #263d59;background:#09121f;font:12px/1.35 Consolas,monospace;text-shadow:none;white-space:pre-wrap;overflow-wrap:anywhere}.debug-close{width:32px;height:32px;padding:0;color:#edf4ff;border:1px solid #8ea8c7;border-radius:4px;background:#182941;font:inherit;font-size:24px;line-height:1;cursor:pointer}.debug-close:hover,.debug-close:focus{color:#fff7a8;border-color:#fff7a8;outline:none}.debug-form{display:flex;min-height:0;flex:0 1 auto;flex-direction:column;gap:14px;overflow-y:auto;padding-right:2px}.debug-section{display:grid;padding-top:12px;border-top:1px solid #435d7c;gap:10px}.debug-section-title{margin:0;color:#fff7a8;font-size:16px;font-weight:400}.debug-field{display:grid;min-width:0;color:#c9d8ed;gap:6px}.debug-map-field{flex:0 0 auto}.debug-coordinates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.debug-preview-viewport{display:flex;height:250px;min-height:140px;overflow:auto;border:1px solid #5f7898;border-radius:4px;background:linear-gradient(45deg,#0a101b 25%,transparent 25%),linear-gradient(-45deg,#0a101b 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#0a101b 75%),linear-gradient(-45deg,transparent 75%,#0a101b 75%),#101827;background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;flex:0 0 auto}.debug-preview-viewport.loading{cursor:wait;opacity:.65}.debug-preview-stage{position:relative;flex:0 0 auto;margin:auto}.debug-preview-canvas{display:block;width:auto;height:auto;cursor:crosshair;image-rendering:pixelated}.debug-preview-marker{position:absolute;top:0;left:0;border:2px solid #fff7a8;background:#fff24d47;box-shadow:inset 0 0 0 1px #101827,0 0 0 1px #101827;pointer-events:none}.debug-preview-toolbar{display:flex;align-items:center;justify-content:space-between;min-width:0;color:#9fb5d2;gap:14px}.debug-zoom{display:flex;min-width:0;flex:1;align-items:center;gap:10px}.debug-panel .debug-zoom input[type=range]{width:min(240px,55%);padding:0;border:0;background:transparent;box-shadow:none;accent-color:#fff7a8}.debug-selected-position{color:#fff7a8;white-space:nowrap}.debug-panel select,.debug-panel input{width:100%;min-width:0;padding:8px 9px;color:#fff;border:1px solid #8ea8c7;border-radius:4px;outline:none;background:#101d31;font:inherit;text-shadow:none}.debug-panel select:focus,.debug-panel input:focus{border-color:#fff7a8;box-shadow:0 0 0 2px #fff7a844}.debug-map-size{min-height:1.2em;margin:0;color:#9fb5d2}.debug-actions{display:flex;justify-content:flex-end;gap:10px}.debug-save-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px}.debug-status{min-height:1.2em;margin:0;color:#9fb5d2}.debug-actions button,.debug-save-row button{min-width:92px;padding:8px 14px;color:#edf4ff;border:1px solid #8ea8c7;border-radius:4px;background:#182941;font:inherit;cursor:pointer}.debug-actions button:hover,.debug-actions button:focus,.debug-save-row button:hover,.debug-save-row button:focus{color:#fff7a8;border-color:#fff7a8;outline:none}.debug-actions .debug-teleport{color:#101a2b;border-color:#fff7a8;background:#fff7a8}.debug-actions .debug-teleport:hover,.debug-actions .debug-teleport:focus{color:#101a2b;background:#fffbd1}.debug-actions button:disabled,.debug-save-row button:disabled{cursor:wait;opacity:.6}.debug-subpanel{position:absolute;z-index:1;inset:0;display:flex;min-height:0;padding:18px;overflow:hidden;border-radius:6px;background:#0b1424;flex-direction:column;gap:14px}.debug-asset-cache-body{display:grid;max-width:620px;padding:14px;border:1px solid #435d7c;border-radius:5px;background:#101d31;gap:14px}.debug-asset-cache-body p{margin:0;line-height:1.5}.debug-asset-cache-status{color:#fff7a8;font-size:16px}.debug-asset-cache-note{color:#9fb5d2;font-size:13px}.debug-asset-cache-clear{width:fit-content;min-width:190px;padding:8px 14px;color:#ffe1e1;border:1px solid #d98282;border-radius:4px;background:#4b2028;font:inherit;cursor:pointer}.debug-asset-cache-clear:hover,.debug-asset-cache-clear:focus-visible{color:#fff;border-color:#ffb0b0;outline:none;background:#642b35}.debug-asset-cache-clear:disabled{cursor:default;opacity:.45}.debug-back{width:auto;padding:0 10px;font-size:16px}.debug-param-body{display:grid;min-height:0;padding-right:2px;overflow-y:auto;gap:16px}.debug-log-clear{min-height:32px;padding:5px 12px;color:#edf4ff;border:1px solid #8ea8c7;border-radius:4px;background:#182941;font:inherit;cursor:pointer}.debug-log-clear:hover,.debug-log-clear:focus{color:#fff7a8;border-color:#fff7a8;outline:none}.debug-log-clear:disabled{cursor:default;opacity:.5}.debug-event-log-body{display:grid;min-height:0;align-content:start;padding-right:2px;overflow-y:auto;gap:7px}.debug-event-row{display:grid;min-width:0;min-height:52px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:8px 10px;border:1px solid #314966;border-radius:4px;background:#101d31;gap:10px}.debug-event-kind{min-width:38px;padding:3px 5px;border:1px solid #6380a5;border-radius:3px;color:#cfe2ff;font-size:12px;text-align:center;text-shadow:none}.debug-event-kind-common{color:#ffe7a8;border-color:#a88a45;background:#6f571d55}.debug-event-details{display:grid;min-width:0;gap:3px}.debug-event-name{overflow:hidden;color:#edf4ff;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.debug-event-meta{overflow:hidden;color:#9fb5d2;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.debug-event-count{min-width:40px;color:#fff7a8;font-variant-numeric:tabular-nums;text-align:right}.debug-event-empty{margin:18px 0;color:#9fb5d2;text-align:center}.debug-param-section{display:grid;align-content:start;gap:6px}.debug-param-section .debug-section-title{position:sticky;z-index:1;top:0;padding:7px 0;background:#0b1424}.debug-param-row{display:grid;min-width:0;min-height:40px;align-items:center;padding:6px 9px;border:1px solid #314966;border-radius:4px;background:#101d31;gap:10px}.debug-param-row:hover,.debug-param-row:focus-within{border-color:#8ea8c7}.debug-param-switch{grid-template-columns:minmax(0,1fr) auto auto;cursor:pointer}.debug-param-variable{grid-template-columns:minmax(0,1fr) minmax(120px,35%)}.debug-param-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debug-param-value{color:#9fb5d2;font-size:14px}.debug-panel .debug-param-switch input[type=checkbox]{width:20px;height:20px;margin:0;padding:0;border:0;box-shadow:none;accent-color:#fff7a8}.debug-panel .debug-param-variable input{padding:6px 8px}@media(max-width:420px){.debug-panel{width:90%;max-height:92%;padding:12px;gap:10px;font-size:14px}.debug-panel-header h2{font-size:18px}.debug-form{gap:10px}.debug-subpanel{padding:12px;gap:10px}.debug-preview-viewport{height:150px;min-height:120px}.debug-actions button{min-width:78px;padding:7px 10px}.debug-save-row{grid-template-columns:1fr}.debug-save-row button{min-width:0;padding:7px 10px}.debug-param-variable{grid-template-columns:minmax(0,1fr) minmax(90px,40%)}}
