:root{--surface-1: #f5f7fa;--surface-2: #ffffff;--surface-3: #e8ecf2;--text-1: #151a21;--text-2: #5a6678;--accent: #2f6fed;--accent-hover: #285fd0;--danger: #ba2f37}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}body{font-family:Segoe UI,Tahoma,sans-serif;background:linear-gradient(160deg,#f7f9fc,#eef3f8 45%,#e9edf5);color:var(--text-1)}.app-shell{max-width:1700px;margin:0 auto;padding:20px}.app-header h1{margin:0;font-size:30px}.app-header p{margin:6px 0 0;color:var(--text-2)}.toolbar{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.template-group,.action-group{display:flex;gap:8px;flex-wrap:wrap}.lang-group{display:flex;align-items:center;gap:6px}.lang-group label{font-size:12px;color:var(--text-2)}.lang-select{border:1px solid #c8d1de;background-color:var(--surface-2);color:var(--text-1);height:34px;padding:0 10px;border-radius:8px;font-size:14px}.lang-select:focus{outline:2px solid #d7e4fb;border-color:#9ab4ea}.btn{border:1px solid #c8d1de;background-color:var(--surface-2);color:var(--text-1);height:34px;padding:0 12px;border-radius:8px;cursor:pointer;font-size:14px}.btn:hover:not(:disabled){border-color:#a6b3c7}.btn.active{color:#fff;border-color:var(--accent);background-color:var(--accent)}.btn:disabled{cursor:not-allowed;opacity:.55}.workspace{margin-top:16px;display:grid;grid-template-columns:minmax(360px,1.1fr) minmax(380px,1.2fr) minmax(340px,1fr) minmax(420px,760px);gap:16px;align-items:start}.builder-panel,.schema-panel,.editor-panel,.preview-panel{background-color:var(--surface-2);border:1px solid #dbe2ec;border-radius:12px;padding:14px;box-shadow:0 8px 24px #202f520f}.editor-panel label,.schema-panel h2,.preview-panel h2{display:block;margin:0;font-size:14px;color:var(--text-2);font-weight:600}.preview-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.preview-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.preview-panel-expanded{grid-column:1 / -1}.schema-panel{overflow:hidden}.schema-panel-root{display:flex;flex-direction:column;gap:8px;min-height:70vh}.schema-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.schema-panel-head h2{color:var(--text-1);font-size:18px;margin:0}.schema-actions{display:flex;gap:6px}.schema-caption{margin:0;color:var(--text-2);font-size:13px}.schema-loading{min-height:160px;border:1px dashed #ccd6e5;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--text-2);background:#f8fbff}.schema-panel .file-view{overflow:auto;max-height:calc(100vh - 250px);padding-right:4px}.editor-panel textarea{width:100%;min-height:70vh;border:1px solid #d7deea;border-radius:10px;resize:vertical;padding:12px;font-family:Consolas,Courier New,monospace;font-size:14px;line-height:1.4;color:#162032;background-color:#fbfcff}.editor-panel textarea:focus{outline:2px solid #c7d9ff;border-color:#9db9f4}.parse-error{margin:8px 0 0;color:var(--danger);font-size:13px}.preview-stage{border-radius:10px;background:radial-gradient(circle at 20% 20%,#38425b,#242b3d 55%,#151a28);padding:16px;display:flex;justify-content:center;min-height:460px;overflow:auto}.preview-stage.expanded{min-height:max(540px,calc(100vh - 260px))}.preview-overlay{width:clamp(640px,94%,980px);height:min-content;position:relative}.preview-stage.expanded .preview-overlay{width:clamp(980px,96vw,1480px)}.preview-overlay>img{display:block;width:100%}.preview-overlay>div{position:absolute}.text-component{font-family:MinecraftSeven,sans-serif;font-size:20px;position:relative;white-space:pre;line-height:1.1}.text-component span{text-shadow:2px 2px var(--shadow-color, transparent)}.text-component span:empty:before{content:"​"}.dialog-preview{cursor:default;min-width:640px;width:min(98%,1120px);aspect-ratio:var(--dialog-aspect, 16 / 10)}.dialog-preview *{flex-shrink:0}.dialog-preview>img{width:100%;height:100%;object-fit:fill}.dialog-preview .text-component{font-size:calc(var(--dialog-px) * 10);white-space:pre-wrap;word-break:break-word}.dialog-body{text-align:center}.dialog-preview .text-component span{text-shadow:calc(var(--dialog-px) * 1) calc(var(--dialog-px) * 1) var(--shadow-color, transparent)}.dialog-button,.dialog-edit-box,.dialog-checkbox,.dialog-slider-track,.dialog-slider-handle,.dialog-tooltip,.item-display,.item-display-lite,.item-display>img{image-rendering:-moz-crisp-edges;image-rendering:-webkit-crisp-edges;image-rendering:crisp-edges;image-rendering:pixelated}.dialog-warning-button{flex-shrink:0;background-image:var(--dialog-warning-button, url(/DialogGenerator/images/dialog/warning_button.png));background-size:contain}.dialog-warning-button:hover{background-image:var(--dialog-warning-button-hover, url(/DialogGenerator/images/dialog/warning_button_highlighted.png))}.dialog-button{border:solid calc(var(--dialog-px) * 2) #000;border-bottom-width:calc(var(--dialog-px) * 3);border-image-source:var(--dialog-button-border, url(/DialogGenerator/images/dialog/button.png));border-image-slice:2 2 3 2 fill;border-image-repeat:repeat;display:flex;align-items:center;justify-content:center;padding-bottom:var(--dialog-px);overflow:hidden}.dialog-button:hover{border-image-source:var(--dialog-button-border-hover, url(/DialogGenerator/images/dialog/button_highlighted.png))}.dialog-edit-box{border:solid calc(var(--dialog-px) * 1) #000;border-image-source:var(--dialog-text-field-border, url(/DialogGenerator/images/dialog/text_field.png));border-image-slice:1 fill;border-image-repeat:repeat;display:flex;align-items:flex-start;padding-top:calc(var(--dialog-px) * 4);padding-left:calc(var(--dialog-px) * 4)}.dialog-checkbox{background-image:var(--dialog-checkbox, url(/DialogGenerator/images/dialog/checkbox.png));background-size:contain}.dialog-checkbox.dialog-selected{background-image:var(--dialog-checkbox-selected, url(/DialogGenerator/images/dialog/checkbox_selected.png))}.dialog-slider{position:relative}.dialog-slider-track{border:solid calc(var(--dialog-px) * 1) #000;border-image-source:var(--dialog-slider-track, url(/DialogGenerator/images/dialog/slider.png));border-image-slice:1 fill;border-image-repeat:repeat;position:absolute;top:0;left:0;width:100%;height:100%}.dialog-slider-handle{background-image:var(--dialog-slider-handle, url(/DialogGenerator/images/dialog/slider_handle.png));background-size:contain;position:absolute;top:0;left:50%;width:calc(var(--dialog-px) * 8);height:100%;transform:translate(-50%)}.dialog-slider-text{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding-bottom:var(--dialog-px)}.item-display{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.item-display>img{width:88.888%}.item-display>img.model{image-rendering:auto}.item-display>svg.item-count{position:absolute;right:0;bottom:0;width:100%;height:100%;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.item-display-lite{position:relative;width:88.888%;height:88.888%;border:solid calc(var(--dialog-px, 1px) * 1) #111;background:linear-gradient(145deg,#9ba7be,#7f8aa0 45%,#687186);display:flex;align-items:center;justify-content:center;color:#fff;font-family:MinecraftSeven,sans-serif;font-size:calc(var(--dialog-px, 1px) * 5);line-height:1;text-shadow:calc(var(--dialog-px, 1px) * 1) calc(var(--dialog-px, 1px) * 1) #000}.item-abbr{transform:translateY(calc(var(--dialog-px, 1px) * 1))}.item-display>.item-tooltip{display:none;position:absolute;left:calc(100% + 4px);top:-2px;padding:3px 1px 1px 3px;border:solid 4px #220044;border-image-source:var(--dialog-tooltip-border, var(--tooltip-border-image, url(/DialogGenerator/images/tooltip.png)));border-image-slice:2 fill;border-image-outset:2px;image-rendering:-moz-crisp-edges;image-rendering:-webkit-crisp-edges;image-rendering:crisp-edges;image-rendering:pixelated;background-color:#100618f0;pointer-events:none;z-index:8;white-space:nowrap}.item-display:hover>.item-tooltip{display:block}.item-tooltip-title{font-family:MinecraftSeven,sans-serif;color:#fff;font-size:12px;line-height:1.1;text-shadow:1px 1px #000}.item-tooltip-sub{margin-top:2px;font-family:Consolas,Courier New,monospace;color:#b9b5ff;font-size:11px;line-height:1.1}.tooltip-container{position:relative}.tooltip-container>*>*{pointer-events:none}.dialog-tooltip{padding:var(--dialog-px);border:solid calc(var(--dialog-px) * 2) #220044;border-image-source:var(--dialog-tooltip-border, var(--tooltip-border-image, url(/DialogGenerator/images/tooltip.png)));border-image-slice:2 fill;border-image-outset:calc(var(--dialog-px) * 1);width:max-content;max-width:calc(var(--dialog-px) * 150);display:none;position:absolute;pointer-events:none;z-index:5;padding:calc(var(--dialog-px) * 2)}.tooltip-container:hover>.dialog-tooltip{display:block}.tooltip-container>.dialog-tooltip .text-component{white-space:pre-wrap;text-align:initial}@media(max-width:980px){.workspace{grid-template-columns:1fr}.editor-panel textarea{min-height:44vh}.schema-panel .file-view{max-height:none}.preview-panel-head{align-items:flex-start;flex-direction:column}.preview-actions{width:100%;justify-content:flex-start}.preview-stage{min-height:360px}.preview-stage.expanded{min-height:70vh}.preview-overlay,.preview-stage.expanded .preview-overlay{width:clamp(560px,96vw,920px)}}@font-face{font-family:MinecraftSeven;src:url(../fonts/seven.ttf) format("truetype")}.builder-root{display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 140px);overflow:auto;padding-right:4px}.builder-root h2{margin:0;font-size:20px}.builder-muted{margin:0;color:var(--text-2);font-size:13px}.builder-section{border:1px solid #d8e0ea;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px;background-color:#fdfefe}.builder-section h3,.builder-section h4{margin:0;font-size:14px}.builder-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.builder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.builder-grid label,.builder-subitem label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#4f5d70}.builder-grid input,.builder-grid select,.builder-subitem input,.builder-subitem select{height:30px;border:1px solid #cfd8e5;border-radius:6px;padding:0 8px;color:#1d2737;background-color:#fff}.builder-grid input:focus,.builder-grid select:focus,.builder-subitem input:focus,.builder-subitem select:focus{outline:2px solid #d7e4fb;border-color:#9ab4ea}.builder-check{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:6px!important;min-height:30px}.builder-check input{width:16px;height:16px;margin:0}.builder-card{border:1px solid #d8e1ec;border-radius:10px;padding:8px;background-color:#f9fbff;display:flex;flex-direction:column;gap:8px}.builder-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.builder-card-actions{display:flex;gap:6px}.builder-list-actions{display:flex;flex-wrap:wrap;gap:6px}.builder-subitem{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;align-items:end;border:1px solid #dce4f0;border-radius:8px;padding:8px;background-color:#fff}.builder-two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.builder-empty{margin:0;color:var(--text-2);font-size:13px}.builder-exit{border-top:1px solid #dde5f1;padding-top:8px;display:flex;flex-direction:column;gap:8px}.btn.small{height:28px;padding:0 10px;font-size:12px}.btn.danger{border-color:#e1a8ad;color:#8f2730}.btn.danger:hover:not(:disabled){border-color:#cc7d86}@media(max-width:1280px){.workspace{grid-template-columns:minmax(360px,1fr) minmax(360px,1fr)}.preview-panel,.schema-panel{grid-column:1 / -1}.builder-root{max-height:none}}@media(max-width:980px){.builder-two-col{grid-template-columns:1fr}}:root{--node-border: #bcbfc3;--node-background-label: #e4e4e4;--node-background-input: #ffffff;--node-background-hover: #e7e7e7;--node-text: #000000;--node-text-dimmed: #2c2c2c;--node-selected: #f0bc5c;--node-selected-hover: #fdce75;--node-selected-border: #d6a343;--node-add: #9bd464;--node-add-hover: #b0e77c;--node-add-border: #498d09;--node-remove: #e76f51;--node-remove-hover: #f77c5d;--node-remove-border: #be4b2e;--node-help: #babcc0;--node-indent-border: #b9b9b9;--category-predicate: #65b5b8;--category-predicate-border: #187e81;--category-predicate-background: #95c5c7;--category-function: #979fa7;--category-function-border: #788086;--category-function-background: #dce0e4;--category-pool: #76b865;--category-pool-border: #398118;--category-pool-background: #b1d6a6}:root.dark{--node-border: #3f3f3f;--node-background-label: #1b1b1b;--node-background-input: #272727;--node-background-hover: #1f1f1f;--node-text: #dadada;--node-text-dimmed: #b4b4b4;--node-selected: #7f5505;--node-selected-hover: #724c04;--node-selected-border: #6c4702;--node-add: #487c13;--node-add-hover: #396a08;--node-add-border: #3b6e0c;--node-remove: #9b341b;--node-remove-hover: #86270f;--node-remove-border: #7e1d05;--node-help: #494949;--node-indent-border: #454749;--category-predicate: #306163;--category-predicate-border: #224849;--category-predicate-background: #1d3333;--category-function: #5f5f5f;--category-function-border: #4a4a4a;--category-function-background: #2c2c2c;--category-pool: #386330;--category-pool-border: #2e4922;--category-pool-background: #21331d}.node-header{display:inline-flex;position:relative;align-items:center;width:100%}.node-header>*{height:34px;border:1px solid;color:var(--node-text);border-color:var(--node-border)}.node-header>label{align-self:flex-start;line-height:1.94rem;background-color:var(--node-background-label)}.node-header>label>span{padding:0 9px;white-space:nowrap;-webkit-user-select:none;user-select:none;text-decoration-color:var(--node-text-dimmed)}.node-header>label>.item-display{width:32px;height:32px}.node-doc{position:absolute;font-size:16px;line-height:1.3;z-index:10;margin-top:-1px;margin-left:3px;padding:4px 9px;border-radius:4px;border:1px solid;color:var(--node-text-dimmed);border-color:var(--node-border);background-color:var(--node-background-label);box-shadow:0 1px 7px -2px #000}.node-header>label>span:hover+.node-doc{display:block}.node-doc code{color:var(--accent-primary)}.node-doc ul{padding-left:16px;list-style-type:disc}.node-header>input{font-size:18px;padding-left:9px;background-color:var(--node-background-input)}.node-header>input[type=color]{padding:0 2px}.node-header>textarea{min-width:236.33px;min-height:34px;font-size:18px;padding-left:9px;padding-top:5px;background-color:var(--node-background-input)}.node-header>select,.node-header>datalist{font-size:18px;padding-left:6px;background-color:var(--node-background-input)}.node-header button{font-size:18px;padding:0 9px;line-height:1.94rem;white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:pointer;background-color:var(--node-background-input)}.node-header button:enabled:hover{background-color:var(--node-background-hover)}.node-header>a{display:flex;align-items:center;font-size:18px;padding:0 9px;white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:pointer;fill:var(--node-text);background-color:var(--node-background-input)}.node-warning~select:last-child,.node-warning~input:last-child{border-color:var(--node-selected)!important}.node-error~select:last-child,.node-error~input:last-child{border-color:var(--node-remove)!important}.node-header>.node-icon{order:1}.node-header>*:first-child,.node-header>.node-icon:first-child+*{border-top-left-radius:3px;border-bottom-left-radius:3px}.node-header>*:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.node-header>*{margin-right:-1px}button.selected{background-color:var(--node-selected);border-color:var(--node-selected-border)}button.selected:enabled:hover{background-color:var(--node-selected-hover)}button.add{background-color:var(--node-add);border-color:var(--node-add-border)}button.add:enabled:hover{background-color:var(--node-add-hover)}button.remove{background-color:var(--node-remove);border-color:var(--node-remove-border)}button.remove:enabled:hover{background-color:var(--node-remove-hover)}.node-header button:disabled{cursor:unset}.node-header>button svg{fill:var(--node-text)}.node-header>button.add:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px}.node-move{display:flex;flex-direction:column;width:34px;height:34px;overflow:hidden}button.move{flex:1 1 50%;min-height:0;width:100%;border:none!important;display:flex;align-items:center;justify-content:center;padding:0!important;line-height:1!important;font-size:14px!important}button.move+button.move{box-shadow:inset 0 1px 0 var(--node-border)}button.move:disabled{cursor:unset;fill:var(--node-border)}.node-icon{border:none;position:relative;display:inline-block}.node-icon .icon-popup{visibility:hidden;width:240px;background-color:var(--background-6);color:var(--text-1);text-align:center;border-radius:6px;padding:8px 4px;position:absolute;z-index:2;top:125%;left:50%;margin-left:-120px}.node-icon .icon-popup:after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-3px;border-width:5px;border-style:solid;border-color:transparent transparent var(--background-6) transparent}.node-icon svg:hover+.icon-popup,.node-icon.show .icon-popup{visibility:visible}.node-icon svg{height:34px;width:34px;min-width:34px;margin-left:6px;cursor:pointer}.node-icon.node-help svg{fill:var(--node-help)}.node-icon.node-error svg{fill:var(--node-remove)}.node-icon.node-warning svg{fill:var(--node-selected)}.node-menu{position:absolute;left:0;top:100%;width:min-content;height:unset;margin-top:4px;margin-left:4px;z-index:1;color:var(--text-1);font-size:16px;border-radius:6px;background-color:var(--background-6);box-shadow:0 1px 5px -2px #000}.node-menu:after{content:"";position:absolute;bottom:100%;left:0;margin-left:6px;border-width:5px;border-style:solid;border-color:transparent transparent var(--background-6) transparent}.menu-item{padding:4px;display:flex;align-items:center;white-space:normal}.menu-item>*{margin-right:4px}.menu-item .btn{padding:8px;box-shadow:unset}.menu-item span{color:var(--text-2)}.node,.node-root,.node-body-flat{display:flex;flex-direction:column;gap:4px}.node-body{display:flex;flex-direction:column;gap:4px;padding-left:18px;border-left:3px solid var(--node-indent-border)}.node-body>.node[data-category],.node-body-flat>.node[data-category]{width:100%;min-width:max-content;padding:5px 5px 5px 0;border:2px solid var(--node-border);border-radius:3px}.node-body>.node[data-category]>.node-body{border:none}.node>.node-body-flat>.node>.node-body{border-left:none}.node>.node-body-flat>.node>.node-header>.node-icon+*,.node>.node-body-flat>.node>.node-header>*:first-child,.node[data-category]>.node-header>.node-icon+*,.node[data-category]>.node-header>*:first-child{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.node:not([data-category])>.node-body-flat{border-left:3px solid var(--node-indent-border)}.short-input{width:100px}.long-input{width:300px}[data-category=predicate]>.node-header>label,[data-category=predicate]>.node-header>button.toggle,[data-category=predicate]>.node-body>.node>.node-header>label,[data-category=predicate]>.node-body-flat>.node>.node-header>label{background-color:var(--category-predicate)}[data-category=predicate]>.node-body,[data-category=predicate]>.node-header>label,[data-category=predicate]>.node-header>*:not(.selected),[data-category=predicate]>.node-body>.node>.node-header>*:not(.selected),[data-category=predicate]>.node-body-flat>.node>.node-header>*:not(.selected){border-color:var(--category-predicate-border)}.node-body>.node[data-category=predicate],.node-body-flat>.node[data-category=predicate]{background-color:var(--category-predicate-background);border-color:var(--category-predicate-border)}[data-category=function]>.node-header>label,[data-category=function]>.node-header>button.toggle,[data-category=function]>.node-body>.node>.node-header>label,[data-category=function]>.node-body-flat>.node>.node-header>label{background-color:var(--category-function)}[data-category=function]>.node-body,[data-category=function]>.node-header>label,[data-category=function]>.node-header>*:not(.selected),[data-category=function]>.node-body>.node>.node-header>*:not(.selected),[data-category=function]>.node-body-flat>.node>.node-header>*:not(.selected){border-color:var(--category-function-border)}.node-body>.node[data-category=function],.node-body-flat>.node[data-category=function]{background-color:var(--category-function-background);border-color:var(--category-function-border)}[data-category=pool]>.node-header>label,[data-category=pool]>.node-header>button.toggle,[data-category=pool]>.node-body>.node>.node-header>label,[data-category=pool]>.node-body-flat>.node>.node-header>label{background-color:var(--category-pool)}[data-category=pool]>.node-body,[data-category=pool]>.node-header>label,[data-category=pool]>.node-header>*:not(.selected),[data-category=pool]>.node-body>.node>.node-header>*:not(.selected),[data-category=pool]>.node-body-flat>.node>.node-header>*:not(.selected){border-color:var(--category-pool-border)}.node-body>.node[data-category=pool],.node-body-flat>.node[data-category=pool]{background-color:var(--category-pool-background);border-color:var(--category-pool-border)}
