@font-face{font-family:Pretendard;src:url(/fonts/PretendardVariable.woff2)format("woff2-variations");font-weight:100 900;font-display:swap}:root{--ink:#1b1530;--night:#241d3d;--night-2:#2e2650;--night-3:#3a3166;--cream:#fff7e6;--cream-2:#f3e6c8;--grape:#8055c3;--grape-light:#b597ff;--star:#ffd34d;--mint:#2fc4b2;--red:#ff5a6e;--px:3px;--font:"Pretendard", system-ui, -apple-system, "Malgun Gothic", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--night);height:100%;color:var(--cream);font-family:var(--font);margin:0;font-size:14px}body{background:radial-gradient(circle at 1px 1px, #3a3166 1px, transparent 1.5px) 0 0 / 18px 18px, var(--night);flex-direction:column;min-height:100vh;display:flex}.px-box,.px-btn,.px-input,.panel,.stage-frame{box-shadow:0 calc(var(--px) * -1) 0 0 var(--ink), 0 var(--px) 0 0 var(--ink), calc(var(--px) * -1) 0 0 0 var(--ink), var(--px) 0 0 0 var(--ink);border:none}button{font-family:var(--font);cursor:pointer}.px-btn{color:var(--ink);background:var(--cream);box-shadow:0 calc(var(--px) * -1) 0 0 var(--ink), 0 var(--px) 0 0 var(--ink), calc(var(--px) * -1) 0 0 0 var(--ink), var(--px) 0 0 0 var(--ink), inset 0 calc(var(--px) * -2) 0 0 #0000002e, inset 0 var(--px) 0 0 #ffffff80;padding:8px 14px;font-size:14px;font-weight:700;transition:transform 60ms steps(2,end);position:relative}.px-btn:hover{filter:brightness(1.06)}.px-btn:active{transform:translateY(var(--px))}.px-btn:focus-visible{outline:3px solid var(--star);outline-offset:5px}.px-btn-ghost{background:var(--night-3);color:var(--cream)}.px-btn-save{background:var(--mint);color:var(--ink)}.px-btn-run{background:var(--star);flex:1;padding:12px;font-size:16px}.px-btn-stop{background:var(--red);color:#fff;flex:1;padding:12px;font-size:16px}.px-input{font-family:var(--font);color:var(--ink);background:#fff;min-width:0;padding:5px 7px;font-size:13px}.px-input:focus{outline:3px solid var(--grape-light);outline-offset:3px}.px-input:disabled{background:var(--cream-2);color:#7a6f8f}.topbar{background:var(--night-2);border-bottom:var(--px) solid var(--ink);box-shadow:0 var(--px) 0 0 var(--grape);align-items:center;gap:16px;padding:10px 18px;display:flex}.logo{letter-spacing:1px;text-shadow:3px 3px 0 var(--ink);white-space:nowrap;font-size:22px;font-weight:700}.logo-mumu{color:var(--star)}.logo-entry{color:var(--cream)}.project-name{width:min(260px,40vw);font-size:14px}.topbar-right{align-items:center;gap:14px;margin-left:auto;display:flex}.save-state{color:var(--grape-light);font-size:12px}.layout{flex:1;grid-template-columns:minmax(360px,500px) 1fr;gap:18px;min-height:0;padding:18px;display:grid}.left{flex-direction:column;gap:14px;min-width:0;display:flex}.right{flex-direction:column;min-width:0;min-height:520px;display:flex}.stage-frame{background:var(--ink);padding:0}.stage-title{color:var(--cream);background:var(--night-3);align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex}.stage-title .dot{background:var(--mint);width:6px;height:6px}.coord{color:var(--grape-light);margin-left:auto;font-size:11px}.stage-wrap{line-height:0}.stage-canvas{aspect-ratio:16/9;cursor:grab;touch-action:none;width:100%;display:block}.is-running .stage-canvas{cursor:pointer}.run-row{gap:12px;display:flex}.error{background:var(--red);color:#fff;box-shadow:0 0 0 var(--px) var(--ink);padding:8px 10px;font-size:13px}.panel{background:var(--cream);color:var(--ink);padding:12px}.panel-title{color:var(--grape);margin-bottom:10px;font-size:13px;font-weight:700}.object-list{flex-wrap:wrap;gap:10px;margin:0 0 12px;padding:0;list-style:none;display:flex}.object-item{width:76px;color:var(--ink);box-shadow:0 0 0 2px var(--cream-2);background:#fff;border:none;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;font-size:12px;display:flex}.object-item.is-selected{box-shadow:0 0 0 var(--px) var(--grape);background:#efe6ff}.thumb{flex:none;justify-content:center;align-items:center;display:inline-flex}.thumb>span{image-rendering:pixelated;background-position:0 0;background-repeat:no-repeat;display:block}.object-props{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.prop{color:#5b4f7a;flex-direction:column;gap:4px;min-width:0;font-size:11px;display:flex}.prop .px-input{width:100%}.prop-name{grid-column:1/-1}.prop-note{color:#5b4f7a;grid-column:1/-1;margin:0;font-size:12px}.object-item{position:relative}.object-item.is-background{width:132px}.is-background .thumb>span,.picker-item.is-wide .thumb>span{box-shadow:0 0 0 2px var(--ink)}.background-panel .panel-title{color:var(--mint)}.background-panel .object-list{margin-bottom:0}.background-panel .object-props{margin-top:12px}.object-tag{background:var(--grape);color:#fff;padding:1px 4px;font-size:10px;font-weight:700;position:absolute;top:3px;left:3px}.speed-row{color:var(--grape-light);align-items:center;gap:6px;font-size:12px;display:flex}.speed-row span{margin-right:4px}.speed-btn{background:var(--night-3);color:var(--cream);box-shadow:0 0 0 2px var(--ink);border:none;padding:4px 10px;font-size:12px;font-weight:600}.speed-btn.is-on{background:var(--star);color:var(--ink)}.blocklyHighlighted>.blocklyPath,.blocklyPath.blocklyPathSelected{stroke:var(--star)!important;stroke-width:3px!important}.code-title{background:var(--night-3);color:var(--cream);box-shadow:0 0 0 var(--px) var(--ink);align-items:center;gap:8px;padding:8px 12px;font-size:15px;font-weight:700;display:flex}.code-thumb{display:inline-flex}.code-suffix{color:var(--grape-light);font-weight:400}.run-lock{color:var(--star);margin-left:auto;font-size:13px;font-weight:600}.run-lock.flash{animation:.6s steps(2,end) 2 lock-flash}@keyframes lock-flash{50%{background:var(--star);color:var(--ink)}}.code-area{min-height:460px;margin-top:var(--px);flex:1;gap:12px;display:flex}.blockly-host{min-width:0;box-shadow:0 0 0 var(--px) var(--ink);flex:1;position:relative}.btn-code{margin-left:auto;padding:5px 10px;font-size:12px}.run-lock:not([hidden])+.btn-code{margin-left:12px}.btn-code[aria-pressed=true]{background:var(--star);color:var(--ink)}.code-panel{width:min(38%,420px);box-shadow:0 0 0 var(--px) var(--ink);background:#15102a;flex-direction:column;display:flex}.code-panel[hidden]{display:none}.code-panel-title{color:var(--star);background:var(--night-3);padding:8px 12px;font-size:13px;font-weight:700}.code-panel-title span{color:var(--grape-light);margin-left:6px;font-size:11px;font-weight:400}.code-text{color:#e9e3ff;white-space:pre;tab-size:4;flex:1;margin:0;padding:12px 14px;font-family:D2Coding,Consolas,Courier New,monospace;font-size:13px;line-height:1.6;overflow:auto}@media (width<=900px){.code-area{flex-direction:column}.code-area .blockly-host{min-height:420px}.code-panel{width:100%;min-height:200px}}.blocklyToolboxDiv,.blocklyToolbox{padding-top:6px;font-family:var(--font)!important}.blocklyTreeRow,.blocklyToolboxCategory{border-radius:0!important;height:auto!important;margin:2px 6px!important;padding:8px 10px!important}.blocklyTreeLabel,.blocklyToolboxCategoryLabel{color:var(--cream);font-weight:700;font-family:var(--font)!important;font-size:14px!important}.blocklyTreeSelected,.blocklyToolboxSelected{box-shadow:0 0 0 2px var(--ink) inset}.blocklyTreeSelected .blocklyTreeLabel,.blocklyToolboxSelected .blocklyToolboxCategoryLabel{color:#fff}.blocklyTreeIcon,.blocklyToolboxCategoryIcon{display:none!important}.blocklyText,.blocklyHtmlInput,.blocklyDropdownText{font-family:var(--font)!important}.blocklyDraggable>.blocklyPath,.blocklyBlock>.blocklyPath{filter:drop-shadow(0 3px #0a06188c)}.blocklyEditableField>rect,.blocklyEditableText>rect{rx:0;ry:0}.blocklyShadow>.blocklyPath{fill:var(--cream)!important;stroke:var(--ink)!important;filter:none!important}.blocklyShadow .blocklyText{fill:var(--ink)!important}.blocklyDropDownDiv,.blocklyWidgetDiv .blocklyMenu{font-family:var(--font)!important;border-radius:0!important}@media (width<=900px){.layout{grid-template-columns:1fr}.object-props{grid-template-columns:repeat(2,1fr)}}.blocklyFlyoutButton{cursor:pointer}.blocklyFlyoutButton>rect.blocklyFlyoutButtonBackground,.blocklyFlyoutButtonBackground{stroke-width:2px;rx:0;ry:0;fill:var(--star)!important;stroke:var(--ink)!important}.blocklyFlyoutButton .blocklyText{font-weight:700;fill:var(--ink)!important}.blocklyFlyoutButtonShadow{rx:0;ry:0;fill:#0a06188c!important}.panel-title{align-items:center;gap:8px;display:flex}.panel-btn{background:var(--star);margin-left:auto;padding:4px 10px;font-size:12px}.prop-delete{color:#9b1c2e;background:#ffe0e4;grid-column:1/-1;justify-self:start;padding:4px 10px;font-size:12px}.asset-picker{background:var(--cream);width:min(880px,100vw - 32px);max-height:min(80vh,720px);color:var(--ink);box-shadow:0 0 0 var(--px) var(--ink), 8px 8px 0 0 #0a061899;border:none;padding:0}.asset-picker[open]{flex-direction:column;display:flex}.asset-picker::backdrop{background:#140e28b3}.picker-head{background:var(--night-3);color:var(--cream);align-items:center;gap:12px;padding:14px 16px;display:flex}.picker-head h2{white-space:nowrap;margin:0;font-size:17px}.picker-head .px-input{flex:1}.picker-tabs{flex-wrap:wrap;gap:6px;padding:12px 16px 6px;display:flex}.picker-tab{color:var(--ink);box-shadow:0 0 0 2px var(--cream-2);background:#fff;border:none;padding:5px 10px;font-size:13px;font-weight:600}.picker-tab.is-on{background:var(--grape);color:#fff;box-shadow:0 0 0 2px var(--ink)}.picker-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;padding:10px 16px 18px;display:grid;overflow:auto}.picker-item{color:var(--ink);box-shadow:0 0 0 2px var(--cream-2);background:#fff;border:none;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;font-size:12px;font-weight:600;display:flex}.picker-item:hover,.picker-item:focus-visible{box-shadow:0 0 0 var(--px) var(--grape);outline:none}.picker-item.is-wide{grid-column:span 2}.picker-empty{color:#5b4f7a;grid-column:1/-1}
