.editor-open{display:inline-flex;align-items:center;gap:8px;margin:18px 0 4px;border:1px solid #00447e;background:#fff;color:#00447e;padding:11px 16px;font:inherit;font-size:.875rem;cursor:pointer}
.editor-open:disabled{opacity:.48;cursor:not-allowed}
.editor-open:focus-visible,#editor-2d-close:focus-visible{outline:3px solid #2872b3;outline-offset:2px}
.editor-open-note{font-size:.75rem;line-height:1.5;color:#54606a;margin:0 0 16px}
.simulator-block{border:1px solid #d5dce3;border-radius:10px;padding:17px 20px;margin:18px 0 22px;background:#f8fafc}
.simulator-block h2{font-size:1rem;line-height:1.4;margin:0 0 6px}
.simulator-block>p{font-size:.8rem;line-height:1.6;color:#54606a;margin:0}
.simulator-block .editor-open{margin:14px 0 0}
.simulator-block .editor-open-note{margin:12px 0 0}
#editor-2d-dialog{width:min(1160px,calc(100% - 24px));height:min(94dvh,980px);max-width:none;max-height:none;padding:0;border:0;border-radius:12px;overflow:hidden}
#editor-2d-dialog[open]{animation:editor-dialog-enter .2s cubic-bezier(.2,.7,.25,1) both}
#editor-2d-dialog[open]::backdrop{animation:editor-backdrop-enter .2s ease both;background:#071f32c9}
#editor-2d-dialog.is-closing{animation:editor-dialog-leave .2s ease both}
#editor-2d-dialog.is-closing::backdrop{animation:editor-backdrop-leave .2s ease both}
@keyframes editor-dialog-enter{from{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes editor-dialog-leave{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.992)}}
@keyframes editor-backdrop-enter{from{background:#071f3200}to{background:#071f32c9}}
@keyframes editor-backdrop-leave{from{background:#071f32c9}to{background:#071f3200}}
.editor-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#20201f;color:#fff}
.editor-dialog-head h2{margin:0;font-size:.92rem;font-weight:500}
#editor-2d-close{border:0;background:none;color:#fff;font-size:1.7rem;line-height:1;cursor:pointer;padding:2px 8px}
#editor-2d-dialog{display:flex;flex-direction:column}#editor-2d-dialog:not([open]){display:none}
.editor-color-toolbar{display:flex;align-items:center;gap:10px;padding:9px 18px;background:#f5f8fa;border-bottom:1px solid #d8e0e6;font-size:.82rem}
.editor-color-toolbar label{font-weight:600;color:#20201f;white-space:nowrap}.editor-color-toolbar select{min-width:130px;max-width:42%;padding:8px 10px;border:1px solid #c8d4dd;border-radius:8px;background:white;font:inherit}
#editor-copy-open{margin-left:auto;border:0;background:transparent;color:#00447e;text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer;text-align:right}
.editor-copy-panel{padding:12px 18px;border-bottom:1px solid #d8e0e6;background:white;font-size:.82rem}.editor-copy-panel[hidden]{display:none}.editor-copy-panel p{margin:0 0 8px}.editor-copy-panel label{display:inline-flex;align-items:center;gap:5px;margin:0 14px 8px 0}.editor-copy-actions{display:flex;gap:8px}.editor-copy-actions button{min-height:38px;padding:7px 12px;border:1px solid #00447e;border-radius:8px;background:#00447e;color:white;font:inherit;cursor:pointer}.editor-copy-actions button:last-child{background:white;color:#00447e}
.editor-color-toolbar :focus-visible,.editor-copy-panel :focus-visible{outline:3px solid #2872b3;outline-offset:2px}
#editor-2d-frame{display:block;width:100%;flex:1;min-height:0;border:0;background:#f8fafc}
@media(max-width:600px){.simulator-block{padding:15px 16px}#editor-2d-dialog{width:calc(100% - 12px);height:96dvh;border-radius:8px}.editor-dialog-head{padding:10px 12px}.editor-dialog-head h2{font-size:.8rem}.editor-color-toolbar{padding:8px 12px;flex-wrap:wrap;gap:6px}.editor-color-toolbar select{flex:1;max-width:none}.editor-color-toolbar #editor-copy-open{flex-basis:100%;margin-left:0;text-align:left;font-size:.78rem}.editor-copy-panel{padding:10px 12px}}
@media(prefers-reduced-motion:reduce){#editor-2d-dialog[open],#editor-2d-dialog.is-closing,#editor-2d-dialog[open]::backdrop,#editor-2d-dialog.is-closing::backdrop{animation:none}}
