html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#05070b;color:#eadca8;font-family:Arial,sans-serif}
#app{position:fixed;inset:0}
.editor-body{display:grid;grid-template-columns:minmax(360px,1fr) 340px;grid-template-rows:100vh;overflow:hidden}
.editor-body #app{position:relative;inset:auto;width:100%;height:100vh;min-width:0;overflow:hidden;background:#07090d;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:32px 32px}
.editor-body canvas{cursor:crosshair}
canvas{display:block;touch-action:none}
#editorPanel{position:relative;top:auto;right:auto;width:340px;height:100vh;background:#12100d;border-left:1px solid #6c5428;padding:10px;box-sizing:border-box;overflow:auto;z-index:10}
#editorPanel h2{font-size:18px;margin:4px 0 10px;color:#ffd77b}label{display:block;font-size:12px;margin:8px 0;color:#cdbb87}input,select,button{width:100%;box-sizing:border-box;background:#211a13;border:1px solid #6c5428;color:#f4e0a0;border-radius:6px;padding:7px}button{cursor:pointer;background:#3a2816}button:hover{background:#4b351d}.row{display:flex;gap:6px;margin:8px 0}.row>*{flex:1}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:6px}.hint{font-size:12px;color:#9c8d67;line-height:1.35}#selectedInfo{background:#1a1712;border:1px solid #42351f;border-radius:6px;padding:8px;font-size:12px;min-height:36px;color:#fff0b8}
.section{border:1px solid #42351f;border-radius:8px;padding:8px;margin:8px 0;background:#17130e}.section summary{cursor:pointer;color:#ffd77b;font-size:13px;margin:-2px 0 6px}
#runtimeMessage{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:20;min-width:280px;max-width:min(560px,calc(100vw - 32px));background:rgba(18,14,10,.96);border:1px solid #c99a43;border-radius:14px;box-shadow:0 18px 70px rgba(0,0,0,.55);padding:18px;color:#ffe6a6}
#runtimeMessage[hidden]{display:none}#runtimeMessage button{position:absolute;right:8px;top:8px;width:32px;height:32px;border-radius:50%;padding:0;background:#3a2816;color:#ffe6a6;border:1px solid #8a6a32}#runtimeMessage pre{margin:18px 0 0;white-space:pre-wrap;font:15px/1.45 Arial,sans-serif;color:#ffe6a6}
.inline-check{display:flex;align-items:center;gap:8px}.inline-check input{width:auto}

.boot-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding:0 16px calc(34px + env(safe-area-inset-bottom));box-sizing:border-box;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.24));color:#ffe6a6;transition:opacity .28s ease,visibility .28s ease;pointer-events:none}
.boot-overlay.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.boot-overlay__card{width:min(520px,calc(100vw - 40px));padding:18px 22px 16px;border:1px solid rgba(216,168,78,.85);border-radius:18px;background:rgba(18,14,10,.88);box-shadow:0 24px 90px rgba(0,0,0,.58);text-align:center;backdrop-filter:blur(3px)}
.boot-overlay__title{font-size:28px;font-weight:700;letter-spacing:.02em;margin-bottom:16px;color:#ffe9ad;text-shadow:0 2px 0 rgba(0,0,0,.6)}
.boot-overlay__bar{height:16px;border:1px solid rgba(216,168,78,.75);border-radius:999px;background:rgba(0,0,0,.35);overflow:hidden}
.boot-overlay__fill{width:0%;height:100%;border-radius:999px;background:linear-gradient(90deg,#7b4a1f,#d8a84e,#ffe09a);transition:width .18s ease}
.boot-overlay__text{min-height:22px;margin-top:12px;font-size:15px;color:#e8d49b}
.boot-overlay__percent{margin-top:4px;font-size:13px;color:#b9a46f}
.pixi-dom-input{position:fixed;z-index:50;border:1px solid #8a6a32;border-radius:10px;background:rgba(22,15,9,.92);color:#ffe6a6;text-align:center;font:700 22px Arial,sans-serif;outline:none;box-shadow:inset 0 0 18px rgba(0,0,0,.28),0 8px 28px rgba(0,0,0,.26)}
.pixi-dom-input:focus{border-color:#ffd36a;box-shadow:0 0 0 2px rgba(255,211,106,.22),inset 0 0 18px rgba(0,0,0,.28)}
