@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700;800&family=Noto+Sans+SC:wght@400;500;700;900&display=swap');
@font-face{font-family:'Minecraft Editor';src:url('assets/minecraft-editor.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}

:root{
  --gold:#ffc900;
  --black:#000000;
  --ink:#0c0c0c;
  --white:#ffffff;
  --paper:#f5f5f2;
  --gray-1:#e5e5e1;
  --gray-2:#bcbcbc;
  --gray-3:#888888;
  --danger:#ff3b30;
  --border:2px solid var(--black);
  --mono:'JetBrains Mono','Consolas',monospace;
  --sans:'Noto Sans SC','Microsoft YaHei',sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--black);font-family:var(--sans);min-width:320px}
button,input,select{font:inherit;border-radius:0}
button{cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

.topbar{height:76px;background:var(--black);color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:6px solid var(--gold);position:sticky;top:0;z-index:50}
.brand{color:var(--white);text-decoration:none;display:flex;align-items:center;gap:12px}
.brand-mark{width:38px;height:38px;display:grid;place-items:center;background:var(--gold);color:var(--black);font-size:18px;border:2px solid var(--white)}
.brand-mark img{display:block;width:100%;height:100%;image-rendering:pixelated}
.brand strong{display:block;font-size:18px;letter-spacing:.08em;font-weight:900}
.brand small{display:block;color:var(--gray-2);font:700 9px/1.2 var(--mono);letter-spacing:.18em;margin-top:3px}
.topbar-meta{display:flex;align-items:center;gap:8px}
.version-badge{font:700 11px var(--mono);border:1px solid var(--gray-3);padding:9px 12px;color:var(--gray-1)}
.version-badge i{display:inline-block;width:7px;height:7px;background:var(--gold);margin-right:7px}
.icon-action{height:36px;background:transparent;color:var(--white);border:1px solid var(--gray-3);padding:0 12px;font-weight:700}
.icon-action:hover:not(:disabled){background:var(--white);color:var(--black)}
.icon-action:disabled{opacity:.35;cursor:not-allowed}
.danger-action:hover{background:var(--danger)!important;color:var(--white)!important;border-color:var(--danger)!important}

.app-shell{display:grid;grid-template-columns:248px minmax(520px,1fr) 360px;max-width:1680px;margin:0 auto;min-height:calc(100vh - 76px)}
.sidebar{background:var(--white);border-right:var(--border);padding:30px 20px;position:sticky;top:76px;height:calc(100vh - 76px);align-self:start}
.eyebrow{font:800 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gray-3)}
.sidebar-intro h1{font-size:25px;line-height:1.22;margin:7px 0 10px;font-weight:900}
.sidebar-intro p{font-size:13px;color:#555;line-height:1.7;margin:0}
.step-nav{margin:32px -20px 0;border-top:var(--border)}
.step-link{width:100%;border:0;border-bottom:1px solid var(--gray-2);background:var(--white);display:grid;grid-template-columns:40px 1fr;gap:8px;text-align:left;padding:17px 18px;position:relative}
.step-link:hover,.step-link.active{background:var(--gold)}
.step-link.active:after{content:'›';position:absolute;right:14px;top:17px;font:800 22px var(--mono)}
.step-num{font:800 13px var(--mono);padding-top:2px}
.step-link strong{font-size:14px;display:block}
.step-link small{display:block;font-size:11px;color:#555;margin-top:3px}
.tip-block{background:var(--black);color:var(--white);padding:15px;margin-top:28px;border-left:6px solid var(--gold)}
.tip-block strong{color:var(--gold);font-size:12px}
.tip-block p{font-size:11px;line-height:1.6;color:var(--gray-2);margin:7px 0 0}

.workspace{padding:34px 30px 80px;min-width:0}
.workspace-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px}
.workspace-heading h2{font-size:28px;margin:4px 0 0;line-height:1;font-weight:900}
.save-state{font-size:11px;color:#565656}
.save-state.flash{color:var(--black);background:var(--gold);padding:3px 6px}
.panel{background:var(--white);border:var(--border);margin-bottom:20px}
.panel-heading{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;border-bottom:var(--border);padding:14px 18px}
.section-index{width:30px;height:30px;background:var(--black);color:var(--gold);display:grid;place-items:center;font:800 11px var(--mono)}
.panel-heading h3{font-size:16px;margin:0;font-weight:900}
.panel-heading p{display:none}
.heading-with-action{grid-template-columns:34px 1fr auto;align-items:center}
.basic-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:22px}
.field{display:flex;flex-direction:column;gap:7px;min-width:0}
.field-wide{grid-column:1/-1}
.field-label{font-size:12px;font-weight:800}
.field-label em{font-style:normal;color:#7a6200;font-size:9px;background:var(--gold);padding:2px 4px;margin-left:4px}
.field input,.field select,.component-field input,.component-field select{height:43px;border:1px solid var(--black);background:var(--white);padding:0 12px;min-width:0;width:100%}
.field input:hover,.field select:hover,.component-field input:hover,.component-field select:hover{border-width:2px}
.field small{font-size:10px;color:var(--gray-3);font-family:var(--mono)}
.input-prefix{display:grid;grid-template-columns:42px 1fr;border:1px solid var(--black)}
.input-prefix:focus-within{outline:3px solid var(--gold);outline-offset:2px}
.input-prefix>span{background:var(--gold);display:grid;place-items:center;font:800 20px var(--mono);border-right:1px solid var(--black)}
.item-model-slot{position:relative;width:42px;height:40px;padding:0;overflow:hidden;background:var(--gold);border:0;border-right:1px solid var(--black);outline:0;cursor:pointer}.item-model-slot:hover{background:#ffdc4a}.item-model-slot:active{background:var(--gold)}.item-model-slot:focus-visible{outline:0}.item-model-slot>span{position:absolute;inset:0;display:grid;place-items:center}.item-model-slot>img{position:absolute;inset:6px 7px;width:28px;height:28px;display:block;object-fit:contain;image-rendering:pixelated}.item-model-slot>span[hidden],.item-model-slot>img[hidden]{display:none}.item-model-slot[data-state="loading"]>span{inset:19px auto auto 13px;width:3px;height:3px;background:var(--black);box-shadow:6px 0 0 var(--black),12px 0 0 var(--black);font-size:0}.item-model-slot[data-state="error"]>span{font-size:16px}
.item-model-slot[data-state="error"]>span{inset:16px 17px auto auto;width:8px;height:8px;background:url("assets/minecraft-ascii.png") -120px -24px/128px 128px no-repeat;color:transparent;filter:brightness(0);transform:scale(2);image-rendering:pixelated}
.item-id-control{position:relative}.item-id-suggestions{position:absolute;z-index:32;left:0;right:0;top:calc(100% + 3px);border:2px solid var(--black);background:var(--white);box-shadow:5px 5px 0 rgba(0,0,0,.22)}.item-id-suggestions[hidden]{display:none}.item-id-suggestion{width:100%;min-width:0;height:40px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 10px;border:0;border-bottom:1px solid var(--gray-2);background:var(--white);text-align:left}.item-id-suggestion:last-child{border-bottom:0}.item-id-suggestion:hover,.item-id-suggestion.is-active{background:var(--gold)}.item-id-suggestion strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.item-id-suggestion code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:9px var(--mono);color:#666}.item-id-suggestion-empty{padding:11px 12px;font-size:10px;color:#666}
.input-prefix input{border:0!important;outline:0!important;font-family:var(--mono);font-size:13px}

.primary-btn,.secondary-btn{border:2px solid var(--black);font-weight:900;padding:10px 15px;background:var(--gold);color:var(--black)}
.primary-btn:hover,.secondary-btn:hover{background:var(--black);color:var(--white)}
.secondary-btn{background:var(--white)}
.active-components{padding:0 22px;display:grid;gap:0}
.active-components:empty{display:none}
.component-card{display:grid;grid-template-columns:112px minmax(0,1fr);column-gap:14px;align-items:start;background:transparent;border-bottom:1px solid var(--gray-2);padding:14px 0}.component-card-head[draggable="true"]{cursor:grab}.component-card.is-dragging{opacity:.48;cursor:grabbing}.component-card.is-drag-over{outline:2px solid var(--gold);outline-offset:3px}
.component-card:last-child{border-bottom:0}
.component-card.is-collapsed{padding:8px 0}
.component-card.is-collapsed .component-body{display:none}
.removed-component-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--gray-2)}.removed-component-row code{font:10px var(--mono);color:var(--gray-3);flex:1}.removed-component-row .mini-btn{border:1px solid var(--gray-3);padding:4px 7px}.removed-component-row .mini-btn:hover{background:var(--gold);border-color:var(--black);color:var(--black);text-decoration:none}
.component-card-head{display:contents}
.component-card-head .component-icon{grid-column:1;grid-row:1;justify-self:end;align-self:start;box-sizing:border-box;width:100%;min-height:30px;background:var(--gold);color:var(--black);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px 0 11px;font-size:12px;font-weight:900;white-space:nowrap}
.component-card-head .component-icon>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.component-card-head .component-icon{cursor:pointer}
.workspace-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.workspace-actions .secondary-btn,.workspace-actions .primary-btn{padding:7px 10px;font-size:10px}
.component-card.is-collapsed .component-icon{min-height:30px;background:var(--white);border:1px solid var(--gray-2);color:var(--black)}
.remove-btn{border:0;background:transparent;color:var(--black);font:700 17px/1 var(--mono);padding:0;opacity:.6}
.remove-btn:hover{opacity:1;color:var(--danger)}
.component-body{grid-column:2;grid-row:1;justify-self:start;width:min(100%,620px);min-width:0;padding:0;background:transparent}
.component-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.component-field{display:flex;flex-direction:column;gap:5px;min-width:0}
.component-field.full{grid-column:1/-1}
.component-field label{font-size:11px;font-weight:800;display:flex;justify-content:space-between}
.component-field label small{display:none}
.component-field input,.component-field select{height:38px;border:0;border-bottom:2px solid var(--black);background:transparent;padding:0 3px}
.component-field input:hover,.component-field select:hover{border-width:0 0 2px}
.component-field input:focus,.component-field select:focus{border-bottom-color:var(--gold);outline:0}
.raw-snbt-field textarea{width:100%;min-height:88px;resize:vertical;border:1px solid var(--black);background:var(--white);padding:9px 10px;font:11px/1.55 var(--mono)}
.raw-snbt-field textarea:focus{outline:3px solid var(--gold);outline-offset:2px}
.snbt-status{font:10px/1.35 var(--mono);color:var(--gray-3)}
.snbt-status.is-error{color:var(--danger)}
.compact-value{max-width:520px}
.boolean-field{flex-direction:row;align-items:center;border-bottom:1px solid var(--gray-2);padding:8px 0;background:transparent}
.boolean-field input{width:18px;height:18px;accent-color:var(--gold);margin:0 8px 0 0}
.nested-object,.list-editor{grid-column:1/-1;border-left:3px solid var(--gold);padding:6px 0 6px 12px;background:transparent}
.compact-list-add{grid-column:1/-1;display:flex;align-items:center;justify-self:start;width:max-content;min-height:38px}
.compact-list-add .mini-btn{padding:0 10px;border:1px dashed var(--gray-3);color:var(--black)}
.compact-list-add .mini-btn:hover{border-color:var(--black);background:var(--gold);color:var(--black);text-decoration:none}
.nested-title{font-size:11px;font-weight:900;margin-bottom:9px;display:flex;justify-content:flex-start;align-items:center;gap:10px}
.list-item{border-bottom:1px solid var(--gray-2);padding:8px 0;margin-top:6px;position:relative}
.list-item-number{font:800 9px var(--mono);background:var(--black);color:var(--white);padding:3px 5px;display:inline-block;margin-bottom:8px}
.mini-btn{border:0;background:transparent;font-size:10px;font-weight:800;padding:4px 0;color:var(--black)}
.mini-btn:hover{color:#806500;text-decoration:underline}
.mini-btn.danger{position:absolute;right:8px;top:8px;color:var(--danger)}
.dynamic-row{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;margin-top:6px}
.friendly-list{grid-column:1/-1;background:transparent;padding:0}
.friendly-list-head{display:flex;align-items:center;justify-content:flex-start;gap:8px;font-size:12px;margin-top:8px}
.empty-list .friendly-list-head{min-height:38px;margin-top:0}
.empty-list .mini-btn{padding:0 10px;border:1px dashed var(--gray-3);color:var(--black)}
.empty-list .mini-btn:hover{border-color:var(--black);background:var(--gold);color:var(--black);text-decoration:none}
.friendly-list-head span{display:none}
.friendly-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:2px;align-items:center}
.friendly-row input,.friendly-row select{height:38px;border:0;border-bottom:2px solid var(--black);background:transparent;padding:0 3px;min-width:0;width:100%}
.friendly-row input:focus,.friendly-row select:focus{border-bottom-color:var(--gold);outline:0}
.friendly-row .danger{position:static}
.enchantment-row{grid-template-columns:minmax(0,1fr) 84px auto}
.empty-state{text-align:center;padding:38px 20px 42px}
.empty-state[hidden]{display:none}
.empty-glyph{display:grid;place-items:center;width:48px;height:48px;border:2px dashed var(--gray-3);margin:0 auto 12px;font:800 22px var(--mono);color:var(--gray-3)}
.empty-state strong{font-size:14px}
.empty-state p{max-width:440px;margin:8px auto 16px;color:#666;font-size:11px;line-height:1.7}

.result-panel{border-left:var(--border);background:var(--black);color:var(--white);min-width:0}
.result-sticky{position:sticky;top:76px;padding:26px 22px;max-height:calc(100vh - 76px);overflow:auto}
.result-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.result-heading #component-count{font:700 10px var(--mono);color:var(--gold)}
.item-preview{border:2px solid var(--white);border-bottom:0;display:grid;grid-template-columns:68px 1fr;align-items:center;min-height:82px}
.item-icon{height:100%;display:grid;place-items:center;background:var(--gold);color:var(--black);font:800 31px var(--mono);border-right:2px solid var(--white)}
.item-preview>div:last-child{padding:12px;min-width:0}
.item-preview strong{font-size:15px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item-preview code{font:9px var(--mono);color:var(--gray-2);display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis}
.command-card{background:var(--white);color:var(--black);border:2px solid var(--white)}
.command-card-head{display:flex;justify-content:space-between;padding:12px;border-bottom:1px solid var(--black);font-size:11px}
.command-card-head span{font:9px var(--mono);color:#666}
.command-text{display:block;box-sizing:border-box;width:100%;resize:none;border:0;outline:0;background:var(--paper);color:var(--black);min-height:170px;max-height:min(52vh,520px);overflow-x:hidden;overflow-y:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;font:11px/1.7 var(--mono);user-select:text;scrollbar-gutter:stable}
.command-text:focus{box-shadow:inset 0 0 0 3px var(--gold)}.command-sync-message{display:block;padding:6px 11px;border-top:1px solid var(--gray-2);color:var(--gray-3);font:9px/1.4 var(--mono)}.command-sync-message.is-error{color:var(--danger);font-weight:800}.command-sync-message.is-pending{color:#7a6200}
.command-warning{padding:9px 12px;background:var(--gold);border-top:1px solid var(--black);font-size:10px;line-height:1.5}.command-warning,.command-sync-message{grid-column:1/-1}
.tooltip-display-control{display:grid;gap:12px}.tooltip-display-control>strong{font-size:11px}.friendly-check{display:flex;align-items:center;gap:7px;font-size:11px;line-height:1.35;cursor:pointer}.friendly-check input{width:16px;height:16px;flex:0 0 auto;accent-color:var(--gold)}.presence-component-note{margin:0;padding:10px 12px;border:1px dashed var(--gray-2);color:var(--gray-3);font-size:11px}
.tooltip-hidden-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.tooltip-hidden-item{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border:1px solid var(--gray-2);background:var(--white)}.tooltip-hidden-item>span{min-width:0;display:grid;gap:2px}.tooltip-hidden-item strong{font-size:11px}.tooltip-hidden-item code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gray-3);font-size:9px}.tooltip-hidden-item .remove-btn{flex:0 0 auto}.tooltip-hidden-empty{grid-column:1/-1;margin:0;padding:10px;border:1px dashed var(--gray-2);color:var(--gray-3);font-size:10px}.tooltip-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.tooltip-add-row input{min-width:0;width:100%;height:36px;border:1px solid var(--black);background:var(--white);padding:0 9px;font-size:11px}.tooltip-add-row .mini-btn{height:36px;white-space:nowrap}.tooltip-add-row .mini-btn:disabled{cursor:not-allowed;opacity:.45}
.use-effects-control{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.use-effect-field{min-width:0;display:grid;align-content:start;gap:6px}.use-effect-field>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:900 10px/1.3 var(--sans)}.use-effect-field>span small{color:var(--gray-3);font:9px/1.3 var(--sans)}.tri-state-control{box-sizing:border-box;width:180px;max-width:100%;min-width:0;justify-self:start;align-self:start;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:36px;border:1px solid var(--black);background:var(--white)}.tri-state-control button{box-sizing:border-box;width:100%;min-width:0;border:0;border-right:1px solid var(--gray-2);background:transparent;padding:0 4px;color:var(--black);font:800 10px/1 var(--sans);cursor:pointer}.tri-state-control button:last-child{border-right:0}.tri-state-control button:hover{background:#eeeeee}.tri-state-control button.is-active{background:var(--gold)}.tri-state-control button:focus-visible{position:relative;outline:2px solid var(--gold);outline-offset:1px}.use-effect-field>input{box-sizing:border-box;width:100%;height:36px;border:1px solid var(--black);background:var(--white);padding:0 9px;color:var(--black);font:11px var(--mono)}
.compact-fixed-control{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:8px}.compact-fixed-control .component-field{min-width:0}.compact-fixed-control .component-field select,.compact-fixed-control .component-field input{width:100%}
.copy-btn{width:100%;height:48px;background:var(--gold);border:0;border-top:2px solid var(--black);display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-weight:900}
.copy-btn:hover{background:var(--black);color:var(--white)}
.copy-btn.copied{background:#53d769;color:var(--black)}
kbd{font:700 8px var(--mono);border:1px solid currentColor;padding:3px 4px}
.advanced-preview{border:1px solid var(--gray-3);margin-top:14px}
.advanced-preview summary{cursor:pointer;padding:11px 12px;font-size:11px;font-weight:800;list-style:none;display:flex;justify-content:space-between}
.advanced-preview summary span{font:700 8px var(--mono);color:var(--gold);border:1px solid var(--gold);padding:2px 4px}
.advanced-preview pre{margin:0;border-top:1px solid var(--gray-3);padding:12px;white-space:pre-wrap;overflow-wrap:anywhere;font:9px/1.6 var(--mono);color:var(--gray-2);max-height:220px;overflow:auto}
.usage-help{border-left:5px solid var(--gold);padding:3px 0 3px 13px;margin-top:20px}
.usage-help strong{font-size:11px;color:var(--gold)}
.usage-help ol{font-size:10px;line-height:1.8;color:var(--gray-2);padding-left:17px;margin:5px 0 0}

.catalog-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.66);z-index:80}
.catalog-backdrop[hidden],.catalog[hidden],.item-picker[hidden]{display:none}
.catalog{position:fixed;z-index:90;right:0;top:0;width:min(640px,100%);height:100vh;background:var(--paper);border-left:6px solid var(--gold);overflow:auto;color:var(--black)}
.catalog-head{height:90px;background:var(--black);color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:6px solid var(--gold)}
.catalog-head h2{font-size:22px;margin:5px 0 0}
.close-btn{width:42px;height:42px;background:transparent;border:1px solid var(--white);color:var(--white);font:400 28px var(--mono)}
.close-btn:hover{background:var(--gold);color:var(--black);border-color:var(--gold)}
.catalog-search{display:grid;grid-template-columns:48px 1fr;margin:20px 20px 10px;border:2px solid var(--black);background:var(--white)}
.catalog-search span{display:grid;place-items:center;background:var(--gold);font:800 20px var(--mono);border-right:2px solid var(--black)}
.catalog-search input{height:46px;border:0;padding:0 13px;outline:0;background:var(--white)}
.category-tabs{display:flex;gap:6px;padding:8px 20px 14px;overflow:auto}
.category-tab{white-space:nowrap;border:1px solid var(--black);background:var(--white);font-size:10px;font-weight:800;padding:7px 10px}
.category-tab.active,.category-tab:hover{background:var(--black);color:var(--gold)}
.component-catalog{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 20px 30px}
.catalog-item{border:1px solid var(--black);background:var(--white);padding:14px;text-align:left;min-height:112px;position:relative}
.catalog-item:hover:not(:disabled){background:var(--gold);box-shadow:4px 4px 0 var(--black);transform:translate(-2px,-2px)}
.catalog-item:disabled{opacity:.5;cursor:default;background:var(--gray-1)}
.catalog-item b{font-size:13px;display:block;padding-right:24px}
.catalog-item code{font:9px var(--mono);color:#666;display:block;margin:4px 0 9px}
.catalog-item p{font-size:10px;line-height:1.5;color:#555;margin:0}
.catalog-item .add-mark{position:absolute;right:12px;top:10px;font:800 20px var(--mono)}
.catalog-empty{grid-column:1/-1;padding:40px;text-align:center;color:#666;font-size:12px}
.item-picker{position:fixed;z-index:90;right:0;top:0;width:min(640px,100%);height:100vh;background:var(--paper);border-left:6px solid var(--gold);overflow:auto;color:var(--black)}.item-picker-meta{display:flex;justify-content:space-between;align-items:center;padding:2px 20px 12px;font-size:10px}.item-picker-meta span{color:var(--gray-3)}.item-picker-results{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0 20px 30px}.item-picker-item{min-width:0;height:58px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;grid-template-rows:auto auto;align-content:center;align-items:center;gap:2px 9px;border:1px solid var(--black);background:var(--white);padding:6px 9px;text-align:left}.item-picker-item:hover,.item-picker-item.is-selected{background:var(--gold);box-shadow:3px 3px 0 var(--black);transform:translate(-1px,-1px)}.item-picker-icon{position:relative;grid-row:1/3;width:32px;height:32px;display:grid;place-items:center;overflow:hidden}.item-picker-icon>img{width:32px;height:32px;display:block;object-fit:contain;image-rendering:pixelated}.item-picker-icon>img[hidden],.item-picker-icon>span[hidden]{display:none}.item-picker-icon>span{font:10px var(--mono);color:var(--gray-3)}.item-picker-icon[data-state="loading"]>span{width:3px;height:3px;background:var(--black);box-shadow:6px 0 0 var(--black),12px 0 0 var(--black);font-size:0;transform:translateX(-6px)}.item-picker-icon[data-state="error"]>span{width:8px;height:8px;background:url("assets/minecraft-ascii.png") -120px -24px/128px 128px no-repeat;color:transparent;filter:brightness(0);transform:scale(2);image-rendering:pixelated}.item-picker-item strong{grid-column:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.item-picker-item code{grid-column:2/4;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:9px var(--mono);color:#666}.item-picker-item .selected-mark{grid-column:3;grid-row:1;font:900 9px var(--mono)}.item-picker-empty{grid-column:1/-1;padding:44px 16px;text-align:center;color:#666;font-size:12px}
.raw-snbt-summary{display:flex;align-items:center;gap:10px;min-width:0}
.raw-snbt-summary code{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:10px var(--mono);color:var(--gray-3)}
.raw-snbt-summary .mini-btn{flex:none;border:1px solid var(--black);padding:7px 9px;background:var(--white)}
.raw-snbt-summary .mini-btn:hover{background:var(--gold);color:var(--black);text-decoration:none}
.minecraft-inline-preview{box-sizing:border-box;display:flex;align-items:center;min-width:0;min-height:36px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#151318;color:#fff;border:1px solid #555;padding:7px 9px;font:12px monospace;text-shadow:1px 1px 0 rgba(0,0,0,.7)}
.lore-preview-btn{min-width:0;width:100%;height:38px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;border:0;border-bottom:2px solid var(--black);background:transparent;padding:0 3px;font:12px monospace}.lore-preview-btn:hover{border-bottom-color:var(--gold)}
.snbt-editor{position:fixed;z-index:100;left:50%;top:50%;width:min(680px,calc(100vw - 28px));max-height:calc(100vh - 28px);transform:translate(-50%,-50%);background:var(--paper);border:2px solid var(--black);box-shadow:8px 8px 0 var(--black);color:var(--black);overflow:auto}
.snbt-editor[hidden]{display:none}
.snbt-editor-head{background:var(--black);color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:5px solid var(--gold)}
.snbt-editor-head h2{font-size:18px;margin:4px 0 0}.snbt-editor-body{padding:20px}.snbt-editor-body>p{font-size:12px;line-height:1.6;margin:0 0 12px;color:#444}
.snbt-editor-body textarea{display:block;width:100%;min-height:240px;resize:vertical;border:2px solid var(--black);background:var(--white);padding:12px;font:12px/1.6 var(--mono)}
.snbt-editor-body textarea:focus{outline:3px solid var(--gold);outline-offset:2px}.snbt-editor-message{display:block;min-height:18px;margin-top:8px;font:10px/1.4 var(--mono);color:var(--gray-3)}
.snbt-editor-message.is-error{color:var(--danger)}.snbt-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.text-editor{position:fixed;z-index:100;left:50%;top:50%;width:min(700px,calc(100vw - 28px));max-height:calc(100vh - 28px);transform:translate(-50%,-50%);background:var(--paper);border:2px solid var(--black);box-shadow:8px 8px 0 var(--black);color:var(--black);overflow:auto}
.text-editor-parent-preview{z-index:99!important;transform:translate(calc(-50% - 18px),calc(-50% + 12px)) scale(.985)!important;opacity:.38;filter:grayscale(.35);pointer-events:none;overflow:hidden!important;box-shadow:5px 5px 0 rgba(0,0,0,.75)!important}
.text-editor[hidden]{display:none}.text-editor-head{background:var(--black);color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:5px solid var(--gold)}
.text-editor-head h2{font-size:18px;margin:4px 0 0}.text-editor-body{padding:20px}
.minecraft-preview-wrap{margin:0}.minecraft-preview-wrap>span{display:block;margin-bottom:7px;font-size:11px;font-weight:900}.minecraft-text-preview{display:flex;align-items:center;min-height:54px;background:#100f12;border:2px solid #5d5d5d;box-shadow:inset 0 0 0 1px #242326;color:#fff;padding:12px 14px;font:16px/1.3 monospace;text-shadow:2px 2px 0 rgba(0,0,0,.65);white-space:pre-wrap;overflow:hidden}
.minecraft-text-preview .mc-black{color:#000000}.minecraft-text-preview .mc-dark_blue{color:#0000aa}.minecraft-text-preview .mc-dark_green{color:#00aa00}.minecraft-text-preview .mc-dark_aqua{color:#00aaaa}.minecraft-text-preview .mc-dark_red{color:#aa0000}.minecraft-text-preview .mc-dark_purple{color:#aa00aa}.minecraft-text-preview .mc-gold{color:#ffaa00}.minecraft-text-preview .mc-gray{color:#aaaaaa}.minecraft-text-preview .mc-dark_gray{color:#555555}.minecraft-text-preview .mc-blue{color:#5555ff}.minecraft-text-preview .mc-green{color:#55ff55}.minecraft-text-preview .mc-aqua{color:#55ffff}.minecraft-text-preview .mc-red{color:#ff5555}.minecraft-text-preview .mc-light_purple{color:#ff55ff}.minecraft-text-preview .mc-yellow{color:#ffff55}.minecraft-text-preview .mc-white{color:#ffffff}
.minecraft-text-preview .mc-obfuscated{letter-spacing:1px}.minecraft-text-preview canvas{display:block;max-width:100%;height:auto;image-rendering:pixelated}.minecraft-text-preview #minecraft-text-fallback[hidden]{display:none}.text-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.lore-editor{width:min(760px,calc(100vw - 28px))}.lore-editor-intro{margin:0 0 12px;color:var(--gray-3);font-size:11px;line-height:1.6}.lore-rich-editor{padding:2px 0 12px}.lore-line-tabs-wrap{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.lore-line-tabs{display:flex;flex:1;flex-wrap:wrap;gap:5px;min-width:0}.lore-line-tab{max-width:180px;height:29px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--black);background:var(--white);padding:0 8px;color:var(--black);font:800 10px var(--mono);text-align:left;cursor:pointer}.lore-line-tab:hover{background:#eeeeee}.lore-line-tab.is-active{background:var(--gold);box-shadow:2px 2px 0 var(--black);transform:translate(-1px,-1px)}.lore-preview-wrap{margin-bottom:12px}.lore-rich-segment-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0 7px;font-size:11px}.lore-rich-segment-head strong{font:900 11px var(--mono)}.lore-rich-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;padding-top:8px}.lore-editor-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:9px;color:var(--gray-3);font-size:10px}.lore-editor-meta strong{flex:none;color:var(--black)}.lore-summary code{color:var(--black)}
.component-fields>.attribute-bonus-control{grid-column:1/-1}.attribute-bonus-control{display:grid;gap:5px;width:100%}.attribute-bonus-head,.attribute-bonus-row{display:grid;grid-template-columns:minmax(112px,1.18fr) minmax(108px,1fr) 78px minmax(96px,1fr) 30px;gap:5px;align-items:center}.attribute-bonus-head{padding:0 1px;color:var(--gray-3);font-size:9px;font-weight:900}.attribute-bonus-row select,.attribute-bonus-amount{min-width:0;width:100%;height:32px;border:1px solid var(--black);background:var(--white)}.attribute-bonus-row select{padding:0 20px 0 6px;font-size:10px;font-weight:800}.attribute-bonus-amount{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.attribute-bonus-amount input{min-width:0;width:100%;height:30px;border:0!important;outline:0!important;background:transparent;padding:0 6px;font:11px var(--mono)}.attribute-bonus-amount span{padding-right:6px;color:var(--gray-3);font:10px var(--mono)}.attribute-bonus-row select:focus,.attribute-bonus-amount:focus-within{outline:2px solid var(--gold);outline-offset:1px}.attribute-bonus-remove{width:30px;height:30px;padding:0;border:0;background:transparent;color:var(--gray-3);font-size:18px;cursor:pointer}.attribute-bonus-remove:hover{background:var(--gold);color:var(--black)}.attribute-bonus-add{justify-self:end;margin-top:3px;border:1px solid var(--black);background:var(--gold);padding:7px 10px;font-size:10px;font-weight:900;cursor:pointer}.attribute-bonus-add:hover{box-shadow:2px 2px 0 var(--black);transform:translate(-1px,-1px)}
.rich-editor{margin-top:14px;border-top:2px solid var(--black)}.rich-editor-head{display:flex;align-items:center;justify-content:space-between;padding:10px 0 7px;font-size:12px}.rich-editor-head .mini-btn{border:1px solid var(--black);padding:5px 8px}.rich-text-segment-list{display:grid;gap:5px}.rich-text-segment{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:0;align-items:stretch;border:1px solid var(--black);background:var(--white)}.rich-text-segment.is-active{box-shadow:3px 3px 0 var(--gold)}.rich-segment-select{border:0;border-right:1px solid var(--black);background:#e9e9e9;padding:0 7px;font-size:10px;font-weight:900;cursor:pointer}.rich-text-segment.is-active .rich-segment-select{background:var(--gold)}.rich-text-segment input{height:34px;min-width:0;border:0;background:transparent;padding:0 9px;font:13px/1.4 var(--sans)}.rich-text-segment input:focus{outline:2px solid var(--black);outline-offset:-2px}.rich-text-segment .danger{position:static;margin:3px;padding:0 7px}
.rich-editor-toolbar{display:flex;align-items:center;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid var(--gray-2)}.rich-editor-toolbar>span{font-size:10px;font-weight:900;white-space:nowrap}.rich-style-controls{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.mc-color-grid{display:grid;grid-template-columns:repeat(8,16px);gap:3px;justify-content:start}.mc-color-swatch{width:16px;height:16px;padding:0;border:1px solid var(--black);background:currentColor;cursor:pointer}.mc-color-swatch:hover,.mc-color-swatch.is-active{outline:2px solid var(--gold);outline-offset:1px}.mc-color-swatch.mc-black{color:#000}.mc-color-swatch.mc-dark_blue{color:#0000aa}.mc-color-swatch.mc-dark_green{color:#00aa00}.mc-color-swatch.mc-dark_aqua{color:#00aaaa}.mc-color-swatch.mc-dark_red{color:#aa0000}.mc-color-swatch.mc-dark_purple{color:#aa00aa}.mc-color-swatch.mc-gold{color:#ffaa00}.mc-color-swatch.mc-gray{color:#aaa}.mc-color-swatch.mc-dark_gray{color:#555}.mc-color-swatch.mc-blue{color:#5555ff}.mc-color-swatch.mc-green{color:#55ff55}.mc-color-swatch.mc-aqua{color:#55ffff}.mc-color-swatch.mc-red{color:#ff5555}.mc-color-swatch.mc-light_purple{color:#ff55ff}.mc-color-swatch.mc-yellow{color:#ffff55}.mc-color-swatch.mc-white{color:#fff}.mc-custom-color{display:flex;align-items:center;gap:3px;font-size:10px;font-weight:900}.mc-custom-color input{width:24px;height:24px;padding:1px;border:1px solid var(--black);background:var(--white);cursor:pointer}.mc-format-tools{display:flex;gap:3px}.mc-format-tools button{width:27px;height:27px;border:1px solid var(--black);background:var(--white);font:700 13px/1 var(--sans);cursor:pointer}.mc-format-tools button:hover,.mc-format-tools button.is-active{background:var(--gold)}
.single-text-intro{margin:0;color:var(--gray-3);font-size:11px;line-height:1.6}.single-text-editor{margin-top:10px}.single-text-wysiwyg{display:block;box-sizing:border-box;height:68px;min-height:68px;overflow-x:auto;overflow-y:hidden;white-space:pre;padding:20px 16px;cursor:text;font:16px/1.55 var(--mono);font-family:'Minecraft Editor',var(--mono)}.single-text-wysiwyg:empty::before{content:attr(data-placeholder);color:#777;pointer-events:none}.single-text-wysiwyg:focus{outline:3px solid var(--gold);outline-offset:2px}.single-text-block{position:relative;display:inline;min-width:0;padding:0;margin:0;white-space:pre;outline:none}.single-text-block.is-dynamic{color:inherit}.single-text-block::after{content:"";position:absolute;inset:-4px;pointer-events:none;opacity:0;background:linear-gradient(90deg,var(--gold) 50%,transparent 0) 0 0/8px 1px repeat-x,linear-gradient(90deg,var(--gold) 50%,transparent 0) 0 100%/8px 1px repeat-x,linear-gradient(0deg,var(--gold) 50%,transparent 0) 0 0/1px 8px repeat-y,linear-gradient(0deg,var(--gold) 50%,transparent 0) 100% 0/1px 8px repeat-y;animation:text-block-dashes .55s linear infinite}.single-text-wysiwyg.is-advanced .single-text-block,.single-text-wysiwyg.is-block-editor .single-text-block{display:inline-block;min-width:2px;padding:0;margin:0;cursor:pointer}.single-text-wysiwyg.is-advanced .single-text-block.is-dynamic,.single-text-wysiwyg.is-block-editor .single-text-block.is-dynamic{border-bottom:1px dashed var(--gold)}.single-text-wysiwyg.is-advanced .single-text-block:hover::after,.single-text-wysiwyg.is-advanced .single-text-block.is-active::after,.single-text-wysiwyg.is-block-editor .single-text-block:hover::after,.single-text-wysiwyg.is-block-editor .single-text-block.is-active::after{opacity:1}.single-text-block.is-active::after{filter:drop-shadow(0 0 1px #000)}.single-text-advanced-actions{display:flex;align-items:center;gap:7px;margin-left:auto}.single-text-advanced-toggle,.single-text-block-add,.single-text-block-edit{border:1px solid var(--black);background:var(--white);padding:7px 9px;font-size:10px;font-weight:900}.single-text-advanced-toggle[aria-pressed="true"],.single-text-block-add{background:var(--gold)}.single-text-block-edit:disabled{opacity:.42;cursor:not-allowed}@keyframes text-block-dashes{to{background-position:8px 0,-8px 100%,0 -8px,100% 8px}}
.text-block-options{margin-top:12px;border:1px solid var(--gray-2);background:#f4f4f2}.text-block-options>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;cursor:pointer;list-style:none}.text-block-options>summary::-webkit-details-marker{display:none}.text-block-options>summary::before{content:"▸";font:10px var(--mono)}.text-block-options[open]>summary::before{content:"▾"}.text-block-options>summary strong{margin-right:auto;font-size:11px}.text-block-options>summary span{color:var(--gray-3);font-size:9px}.text-block-options[open]>summary{border-bottom:1px solid var(--gray-2)}.text-block-option-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;padding:12px}.text-block-option-grid>*{grid-column:span 2}.text-block-option-grid .text-block-half{grid-column:span 3}.text-block-option-grid>[hidden],.text-block-options>[hidden]{display:none!important}.text-block-option-grid label{display:grid;gap:4px;min-width:0}.text-block-option-grid label>span{font-size:10px;font-weight:900}.text-block-option-grid input,.text-block-option-grid select,.text-block-option-grid textarea{width:100%;min-width:0;border:1px solid var(--black);background:var(--white);padding:0 9px;font:11px var(--sans)}.text-block-option-grid input,.text-block-option-grid select{height:34px}.text-block-option-grid textarea{min-height:54px;padding-block:7px;resize:vertical}.text-block-option-grid .text-block-wide{grid-column:1/-1}.text-block-option-grid .text-block-checkbox{display:flex;align-items:center;gap:7px;align-self:end;min-height:34px}.text-block-option-grid .text-block-checkbox input{width:20px;height:20px;flex:none}.text-block-event-note{margin:0 12px 10px;padding:8px 9px;border-left:3px solid var(--gold);background:#fff7cf;color:#4b410f;font-size:10px;line-height:1.55}.text-block-remove{position:static!important;margin:0 12px 12px;border:1px solid var(--black);padding:6px 9px}.text-block-remove:disabled{opacity:.4;cursor:not-allowed}
.text-block-option-grid label>small{color:var(--gray-3);font-size:9px;line-height:1.45}.text-block-separator-control{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 11px;border:1px solid var(--gray-2);background:var(--white)}.text-block-separator-control>div{display:grid;gap:3px}.text-block-separator-control strong{font-size:10px}.text-block-separator-control small{color:var(--gray-3);font-size:9px}.text-block-separator-control>span{display:flex;gap:5px;flex:none}@media (max-width:760px){.text-block-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.text-block-option-grid>*{grid-column:auto}.text-block-option-grid .text-block-wide{grid-column:1/-1}.text-block-option-grid .text-block-half{grid-column:auto}}
.text-nested-field{display:grid;gap:7px;min-width:0}.text-nested-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;font-weight:900}.text-nested-list{display:grid;gap:6px}.text-nested-row{display:grid;grid-template-columns:minmax(0,1fr) auto 28px;align-items:center;gap:6px;min-height:34px;padding:4px 5px 4px 9px;border:1px solid var(--gray-2);background:var(--white)}.text-nested-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.text-nested-row .danger{width:28px;padding-inline:0}.text-nested-list>small{padding:8px 9px;border:1px dashed var(--gray-2);color:var(--gray-3);font-size:9px;font-weight:400}
.mc-shadow-picker{display:flex;flex:1 0 100%;align-items:center;gap:7px;padding-top:7px;border-top:1px solid var(--gray-2)}.mc-shadow-picker>span{font-size:10px;font-weight:900;white-space:nowrap}.mc-shadow-picker .mc-color-grid{flex:none}.mc-shadow-mode{height:25px;border:1px solid var(--black);background:var(--white);padding:0 7px;font-size:9px;font-weight:900;cursor:pointer}.mc-shadow-mode:hover,.mc-shadow-mode.is-active{background:var(--gold)}.text-block-children{padding:0;border:1px solid var(--gray-2);background:#fafaf8}.text-block-children>summary{cursor:pointer;padding:9px 10px;font-size:10px;font-weight:900}.text-block-children>summary span{color:var(--gray-3);font-weight:500}.text-block-children>.text-nested-list{padding:0 8px 8px}.text-block-children>#text-block-child-add{margin:0 8px 8px}
.text-object-preview{position:relative;display:inline-block;width:1em;height:1em;overflow:hidden;vertical-align:-.15em;image-rendering:pixelated}.text-object-preview>img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.text-object-preview.is-player>img{position:absolute;left:0;top:0;width:8em;height:8em;max-width:none;transform:translate(-1em,-1em);image-rendering:pixelated}.text-object-preview.is-player>.text-object-hat{transform:translate(-5em,-1em)}
.single-text-block.is-dynamic,.lore-text-block.is-dynamic{position:relative;display:inline-block!important;width:max-content;max-width:100%;vertical-align:baseline;background:transparent!important;padding:0!important;margin-bottom:0;font-size:inherit!important}.text-block-source-value{display:inline-flex;width:max-content;max-width:100%;min-height:18px;align-items:flex-end;justify-content:flex-start;padding:0 0 2px;border-bottom:1px solid currentColor;vertical-align:baseline}.text-block-source-canvas{display:block;width:auto!important;height:auto!important;max-height:19px;transform:translateY(2px);image-rendering:pixelated}.text-block-source-fallback{font:inherit;color:inherit}.text-block-source-fallback[hidden],.text-block-source-canvas[hidden]{display:none}.text-block-source-badge{position:absolute;top:calc(100% + 2px);left:50%;display:block;transform:translateX(-50%);color:#737373!important;font:500 8px/1.15 var(--sans)!important;text-shadow:none!important;text-decoration:none!important;font-style:normal!important;font-weight:500!important;letter-spacing:0!important;white-space:nowrap}.single-text-block.has-object-image,.lore-text-block.has-object-image{margin-bottom:0}.single-text-block.has-object-image .text-block-source-value,.lore-text-block.has-object-image .text-block-source-value{padding-bottom:0;border-bottom:0}.single-text-block.has-object-image .text-block-source-badge,.lore-text-block.has-object-image .text-block-source-badge{display:none}.single-text-wysiwyg.is-advanced .single-text-block.is-dynamic,.single-text-wysiwyg.is-block-editor .single-text-block.is-dynamic{border-bottom:0}.single-text-block.has-object-image,.lore-text-block.has-object-image{vertical-align:baseline}
.component-builder{position:fixed;z-index:100;left:50%;top:50%;width:min(700px,calc(100vw - 28px));max-height:calc(100vh - 28px);transform:translate(-50%,-50%);display:flex;flex-direction:column;background:var(--paper);border:2px solid var(--black);box-shadow:8px 8px 0 var(--black);color:var(--black);overflow:hidden}
.component-builder[hidden]{display:none}.component-builder-head{background:var(--black);color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:5px solid var(--gold)}
.component-builder-head h2{font-size:18px;margin:4px 0 0}.component-builder-body{padding:20px;overflow:auto}.component-builder-body>p{font-size:12px;line-height:1.6;margin:0 0 14px;color:#444}
.builder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.builder-field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:800}.builder-field.full{grid-column:1/-1}.builder-field input,.builder-field select{height:40px;width:100%;border:1px solid var(--black);background:var(--white);padding:0 9px}.builder-field input[type="checkbox"]{width:17px;height:17px;accent-color:var(--gold);margin:0}.builder-check{display:flex;align-items:center;gap:7px;padding-top:20px;font-size:12px;font-weight:800}
.builder-note{grid-column:1/-1;margin:2px 0 0;color:var(--gray-3);font:10px/1.5 var(--mono)}.component-builder-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--gray-2);background:var(--white)}
.builder-advanced{margin-top:16px;border-top:1px solid var(--gray-2);padding-top:12px}.builder-advanced summary{width:max-content;cursor:pointer;font-size:11px;font-weight:900;color:var(--gray-3)}.builder-advanced[open] summary{margin-bottom:12px;color:var(--black)}
.builder-field textarea{width:100%;resize:vertical;border:1px solid var(--black);background:var(--white);padding:9px;font:12px/1.5 var(--sans)}
@media (max-width:520px){.builder-grid{grid-template-columns:1fr}.builder-field.full{grid-column:auto}}
@media (max-width:620px){.attribute-bonus-head{display:none}.attribute-bonus-row{grid-template-columns:minmax(100px,1fr) minmax(100px,1fr) 72px minmax(90px,1fr) 30px}}@media (max-width:440px){.attribute-bonus-row{grid-template-columns:minmax(0,1fr) 78px 30px}.attribute-bonus-row select:nth-child(1){grid-column:1;grid-row:1}.attribute-bonus-row select:nth-child(2){grid-column:1/-1;grid-row:2}.attribute-bonus-amount{grid-column:2;grid-row:1}.attribute-bonus-row select:nth-child(4){grid-column:1/-1;grid-row:3}.attribute-bonus-remove{grid-column:3;grid-row:1}}
@media (max-width:520px){.rich-editor-toolbar{display:block}.rich-editor-toolbar>span{display:block;margin-bottom:7px}.rich-style-controls{display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px}.mc-color-grid{grid-column:1/-1;grid-template-columns:repeat(8,20px);gap:4px;padding:7px;border:1px solid var(--black);background:#ececec;width:max-content}.mc-color-swatch{width:20px;height:20px}.mc-custom-color{justify-self:start}.mc-shadow-picker{grid-column:1/-1;justify-self:stretch}.mc-shadow-picker .mc-color-grid{padding:0;border:0;background:transparent}.mc-format-tools{justify-content:flex-end}.mc-format-tools button{width:28px;height:28px}}
@media (max-width:520px){.lore-line-tabs-wrap{display:block}.lore-line-tabs{margin-bottom:7px}.lore-line-tab{max-width:140px}.lore-rich-toolbar{display:grid;grid-template-columns:1fr auto;gap:9px}.lore-rich-toolbar .mc-color-grid{grid-column:1/-1}.lore-rich-toolbar .mc-custom-color{justify-self:start}.lore-rich-toolbar .mc-format-tools{justify-content:flex-end}}
.toast{position:fixed;z-index:120;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--gold);color:var(--black);border:2px solid var(--black);box-shadow:5px 5px 0 var(--black);padding:11px 18px;font-size:12px;font-weight:900;opacity:0;pointer-events:none;transition:.18s}
.lore-wysiwyg-editor{padding:2px 0 12px}.lore-wysiwyg{display:block;box-sizing:border-box;min-height:190px;max-height:42vh;overflow-x:auto;overflow-y:auto;white-space:pre;overflow-wrap:normal;word-break:normal;padding:14px 16px!important;color:#ffffff;cursor:text;line-height:1.55;font:16px/1.55 var(--mono);font-family:'Minecraft Editor',var(--mono);tab-size:2}.lore-wysiwyg:empty::before{content:attr(data-placeholder);color:#7b7b7b;pointer-events:none}.lore-wysiwyg:focus{outline:3px solid var(--gold);outline-offset:2px}.lore-wysiwyg>div{min-width:max-content;min-height:25px}.lore-wysiwyg [data-mc-obfuscated="true"]{letter-spacing:1px;text-decoration:none}.lore-wysiwyg-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:11px}.lore-wysiwyg-toolbar .mc-format-tools button{color:var(--black)}.lore-advanced-actions{display:flex;align-items:center;gap:7px;margin-left:auto}.lore-advanced-toggle,.lore-block-add,.lore-block-edit{border:1px solid var(--black);background:var(--white);padding:7px 9px;font-size:10px;font-weight:900}.lore-advanced-toggle[aria-pressed="true"],.lore-block-add{background:var(--gold)}.lore-block-edit:disabled{opacity:.42;cursor:not-allowed}.lore-text-block{position:relative;display:inline;min-width:0;padding:0;margin:0}.lore-text-block.is-dynamic{display:inline-block;background:#29282c;color:#fff!important;padding:2px 5px;font-size:12px}.lore-text-block::after{content:"";position:absolute;inset:-3px;pointer-events:none;opacity:0;background:linear-gradient(90deg,var(--gold) 50%,transparent 0) 0 0/8px 1px repeat-x,linear-gradient(90deg,var(--gold) 50%,transparent 0) 0 100%/8px 1px repeat-x,linear-gradient(0deg,var(--gold) 50%,transparent 0) 0 0/1px 8px repeat-y,linear-gradient(0deg,var(--gold) 50%,transparent 0) 100% 0/1px 8px repeat-y;animation:text-block-dashes .55s linear infinite}.lore-wysiwyg.is-advanced .lore-text-block{display:inline-block;min-width:2px;padding:0;margin:0;cursor:pointer}.lore-wysiwyg.is-advanced .lore-text-block.is-dynamic{padding:2px 5px}.lore-wysiwyg.is-advanced .lore-text-block:hover::after,.lore-wysiwyg.is-advanced .lore-text-block.is-active::after{opacity:1}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media (max-width:1180px){
  .app-shell{grid-template-columns:210px minmax(500px,1fr)}
  .result-panel{grid-column:2;border-left:0;border-top:var(--border)}
  .result-sticky{position:relative;top:0;max-height:none;display:grid;grid-template-columns:1fr 1.6fr;gap:14px}
  .result-heading{grid-column:1/-1;margin:0}.item-preview{border-bottom:2px solid var(--white)}
  .advanced-preview,.usage-help{grid-column:1/-1;margin-top:0}
  .sidebar{grid-row:1/3}
}
@media (max-width:780px){
  .topbar{height:auto;min-height:68px;padding:10px 14px}.version-badge{display:none}.icon-action span{display:none}
  .app-shell{display:block}.sidebar{position:relative;top:0;height:auto;border-right:0;border-bottom:var(--border);padding:20px 16px}.sidebar-intro p,.tip-block{display:none}
  .step-nav{display:grid;grid-template-columns:repeat(3,1fr);margin:18px -16px -20px}.step-link{grid-template-columns:1fr;text-align:center;padding:11px 4px}.step-link small,.step-link.active:after{display:none}
  .workspace{padding:24px 12px 40px}.workspace-heading h2{font-size:23px}.save-state{display:none}
  .basic-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}
  .heading-with-action{grid-template-columns:42px 1fr}.heading-with-action .primary-btn{grid-column:1/-1}.workspace-actions{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap}
  .component-fields{grid-template-columns:1fr}.component-field.full{grid-column:auto}
  .result-panel{border-top:6px solid var(--gold)}.result-sticky{display:block;padding:22px 14px}.result-heading{margin-bottom:12px}.command-card{margin-top:12px}.advanced-preview,.usage-help{margin-top:14px}
  .component-catalog,.item-picker-results{grid-template-columns:1fr}.catalog,.item-picker{border-left:0}.catalog-head{height:80px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* 单任务布局：把生成器收为编辑区 + 命令输出，避免多层导航争夺注意力。 */
.topbar{height:56px;min-height:56px;padding:0 16px;border-bottom-width:4px}
.brand-mark{width:32px;height:32px}.brand strong{font-size:15px}.topbar-meta{display:none}
.product-identity{min-width:0;margin-left:auto;padding-left:12px;border-left:2px solid var(--gold);text-align:right}
.product-identity strong,.product-identity small{display:block}.product-identity strong{color:var(--white);font:800 13px/1 var(--sans)}
.product-identity small{margin-top:4px;color:var(--gray-2);font:700 9px/1 var(--sans)}
.app-shell{display:block;max-width:1060px;min-height:0;margin:0 auto}
.sidebar{display:none}
.workspace{padding:30px 24px 10px}
.workspace-heading{display:none}
.panel{border:0;background:transparent;margin:0 0 18px}
.panel-heading,.heading-with-action{grid-template-columns:1fr auto;border:0;padding:0 0 10px;gap:12px}
.section-index{display:none}.panel-heading h3{font-size:16px}
.basic-grid{padding:0;gap:12px}.field input,.field select{height:40px}
.components-panel .panel-heading{border-top:1px solid var(--gray-2);padding-top:18px}
.components-panel .primary-btn{padding:8px 12px;font-size:12px}
.active-components{padding:0}
.empty-state{display:flex;align-items:center;justify-content:center;gap:12px;margin:8px 0 2px;padding:18px;border:1px dashed var(--gray-3);background:var(--white)}
.result-panel{background:transparent;color:var(--black);border:0}
.result-sticky{position:static;max-height:none;padding:0 24px 28px;overflow:visible}
.result-heading,.item-preview,.advanced-preview{display:none}
.command-card{border:2px solid var(--black);display:grid;grid-template-columns:1fr auto;background:var(--white)}
.command-card-head{grid-column:1/-1;padding:8px 10px;font-size:10px}
.command-card-head>div{display:grid;gap:2px}.compat-note{display:block;color:var(--gray-3);font:9px/1.4 var(--mono)}
.command-text{min-height:150px;padding:10px 12px;font-size:11px;line-height:1.55;background:var(--paper)}
.copy-btn{width:auto;min-width:128px;height:auto;border:0;border-left:2px solid var(--black);padding:0 14px;align-self:stretch}
.copy-btn kbd{display:none}

@media (max-width:780px){
  .topbar{padding:0 14px}.workspace{padding:22px 14px 8px}.result-sticky{padding:0 14px 20px}
  .panel-heading,.heading-with-action{grid-template-columns:1fr auto}.command-card{grid-template-columns:1fr}.copy-btn{width:100%;min-height:42px;border-left:0;border-top:2px solid var(--black)}
}

/* 三列工作区：设置、编辑、命令各自独立，避免横向表单过长。 */
.side-settings{display:grid;gap:16px}.side-settings h2{font-size:16px;margin:2px 0 4px}.side-settings .field{gap:6px}
.target-help{color:var(--gray-3);font:9px/1.45 var(--mono)}
#item-id-help.is-pending{color:#7a6200}#item-id-help.is-error{color:var(--red);font-weight:800}.field input.is-invalid{border-color:var(--red);outline:2px solid rgba(207,34,46,.15)}.copy-btn:disabled{cursor:not-allowed;opacity:.45}
@media (min-width:980px){
  .app-shell{display:grid;grid-template-columns:210px minmax(0,1fr) 300px;max-width:1440px}
  .sidebar{display:block;position:sticky;top:56px;align-self:start;height:calc(100vh - 56px);padding:24px 18px;background:var(--white);border-right:2px solid var(--black)}
  .workspace{grid-column:2;padding:30px 28px 18px}
  .result-panel{grid-column:3;border-left:2px solid var(--black);background:var(--white)}
  .result-sticky{position:sticky;top:56px;padding:24px 18px;max-height:calc(100vh - 56px);overflow:auto}
  .command-card{display:block;border:2px solid var(--black)}
  .command-card-head{display:flex;padding:10px 11px}
  .command-text{min-height:210px;padding:12px;font-size:11px}
  .copy-btn{width:100%;height:48px;border:0;border-top:2px solid var(--black);padding:0 12px}
}
@media (max-width:979px){
  .sidebar{display:block;position:static;height:auto;padding:18px 14px;border:0;border-bottom:1px solid var(--gray-2);background:transparent}
  .side-settings{grid-template-columns:1fr 120px;gap:10px;align-items:end}.side-settings .eyebrow,.side-settings h2{grid-column:1/-1;margin:0}
}
@media (max-width:480px){
  .side-settings{grid-template-columns:1fr}.side-settings .eyebrow,.side-settings h2{grid-column:auto}.workspace-actions{display:grid;grid-template-columns:1fr 1fr}.workspace-actions .primary-btn{grid-column:1/-1}
}
@media (max-width:359px){.product-identity small{display:none}}
.item-model-slot[data-state="loading"]>span,
.item-picker-icon[data-state="loading"]>span{inset:0;width:auto;height:auto;display:grid;place-items:center;background:none;box-shadow:none;transform:none;font-size:0}
.item-model-slot[data-state="loading"]>span::before,
.item-picker-icon[data-state="loading"]>span::before{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;background:var(--black);box-shadow:8px 0 0 var(--black),16px 0 0 var(--black);transform:translate(-10px,-2px);animation:mc-loading-pulse 900ms steps(2,end) infinite}
@keyframes mc-loading-pulse{
  0%,100%{opacity:.35}
  50%{opacity:1}
}
.attribute-bonus-add{justify-self:start}
.item-model-slot[data-state="error"]>span,
.item-picker-icon[data-state="error"]>span{
  inset:0;
  width:auto;
  height:auto;
  display:grid;
  place-items:center;
  background:none;
  color:var(--black);
  filter:none;
  transform:none;
  font-size:0;
  image-rendering:pixelated;
}
.item-model-slot[data-state="error"]>span::before,
.item-picker-icon[data-state="error"]>span::before{
  content:"";
  position:absolute;
  left:calc(50% - 3px);
  top:calc(50% - 7px);
  width:2px;
  height:2px;
  background:var(--black);
  box-shadow:2px 0 0 var(--black),4px 0 0 var(--black),-2px 2px 0 var(--black),6px 2px 0 var(--black),6px 4px 0 var(--black),4px 6px 0 var(--black),2px 8px 0 var(--black),2px 12px 0 var(--black);
}
html{scrollbar-gutter:stable}
.attribute-bonus-add{
  justify-self:start;
  border:0;
  background:transparent;
  color:var(--black);
  padding:5px 0;
  text-align:left;
  box-shadow:none;
}
.attribute-bonus-add:hover{
  background:transparent;
  color:#7a6200;
  box-shadow:none;
  transform:none;
  text-decoration:underline;
}
.component-add-action{
  justify-self:start;
  border:0;
  background:transparent;
  color:var(--black);
  padding:5px 0;
  font-size:10px;
  font-weight:900;
  text-align:left;
  box-shadow:none;
}
.component-add-action:hover{
  background:transparent;
  color:#7a6200;
  box-shadow:none;
  transform:none;
  text-decoration:underline;
}
.component-add-action{
  margin-top:0;
  align-self:start;
  line-height:20px;
}
.friendly-list-head,
.empty-list .friendly-list-head{
  margin-top:0;
  min-height:0;
}
.component-body .component-field input,
.component-body .component-field select,
.component-body .friendly-row input,
.component-body .friendly-row select,
.component-body .raw-snbt-summary .mini-btn,
.component-body .component-field .mini-btn{
  min-height:36px;
  height:36px;
  border:1px solid var(--black);
  background:var(--white);
  color:var(--black);
  padding:0 9px;
  font-size:11px;
  font-weight:800;
}
.component-body .friendly-row input,
.component-body .friendly-row select{
  border-bottom:1px solid var(--black);
}
.component-body .component-field input:focus,
.component-body .component-field select:focus,
.component-body .friendly-row input:focus,
.component-body .friendly-row select:focus,
.component-body .raw-snbt-summary .mini-btn:focus-visible,
.component-body .component-field .mini-btn:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:1px;
}
.component-body .friendly-row .mini-btn.danger,
.component-body .attribute-bonus-remove{
  min-height:30px;
  height:30px;
  border:0;
  background:transparent;
  color:var(--gray-3);
  padding:0 6px;
  font-size:11px;
}
.component-body .friendly-row .mini-btn.danger:hover,
.component-body .attribute-bonus-remove:hover{
  background:var(--gold);
  color:var(--black);
  text-decoration:none;
}
.minecraft-text-preview #minecraft-text-fallback[data-state="loading"]{
  width:4px;
  height:4px;
  display:block;
  background:var(--gold);
  box-shadow:8px 0 0 var(--gold),16px 0 0 var(--gold);
  animation:mc-loading-pulse 900ms steps(2,end) infinite;
}

/* 组件编辑区统一使用界面字体；仅明确的代码内容保留等宽字体。 */
.component-card,.component-card-head .component-icon,.component-body,.component-body button,.component-body input,.component-body select{font-family:var(--sans)}
.component-field label,label.component-field>span,.use-effect-field>span,.nested-title,.friendly-list-head{font:800 11px/1.4 var(--sans)}
.component-field label small,label.component-field>span small,.use-effect-field>span small{font:500 9px/1.4 var(--sans)}
.component-body input,.component-body select,.component-body button{font-size:11px;font-weight:600}
.component-body code,.component-body pre,.raw-snbt-summary code{font-family:var(--mono)}
.component-field.is-label-hidden{gap:0}
@media (min-width:781px){.component-fields:has(> .component-field > .tri-state-control){grid-template-columns:minmax(0,1fr) 180px}}

/* 文本样式工具按用途分组，避免颜色、阴影和格式按钮挤在同一行。 */
.rich-editor-toolbar{display:block;margin-top:10px;padding-top:10px}
.rich-editor-toolbar>span{display:block;margin:0 0 8px;font-size:10px;color:var(--gray-3)}
.rich-style-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:stretch}
.mc-style-group{box-sizing:border-box;width:100%;min-width:0;padding:10px;border:1px solid var(--gray-2);background:#fafaf8}
.mc-style-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:9px}
.mc-style-group-head strong{font-size:11px}.mc-style-group-head small{color:var(--gray-3);font-size:9px;white-space:nowrap}
.mc-style-group-body{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:12px;min-width:0}
.mc-style-group .mc-color-grid{flex:none}
.mc-shadow-picker{display:block;padding:10px;border:1px solid var(--gray-2)}
.mc-shadow-picker .mc-style-group-body{align-items:start}
.mc-shadow-actions{display:flex;align-items:center;gap:6px;min-width:0;flex:1;flex-wrap:wrap}
.mc-shadow-custom{display:grid;grid-template-columns:auto minmax(135px,1fr);align-items:center;gap:8px;flex:1 0 100%;padding-top:7px;border-top:1px solid var(--gray-2)}
.mc-shadow-opacity{display:grid;grid-template-columns:auto minmax(72px,1fr) 34px;align-items:center;gap:6px;min-width:0;font-size:9px;font-weight:800}
.mc-shadow-opacity input{width:100%;accent-color:var(--gold);cursor:pointer}
.mc-shadow-opacity output{text-align:right;font:9px/1 var(--mono);color:var(--gray-3)}
.rich-style-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:1px}
.single-text-advanced-actions{margin-left:0}
@media (max-width:720px){.mc-style-group-head small{white-space:normal}}
@media (max-width:520px){.mc-style-group-body{grid-template-columns:1fr}.mc-style-group .mc-color-grid{grid-column:auto;padding:0;border:0;background:transparent}.mc-shadow-picker{grid-column:auto}.mc-shadow-custom{grid-template-columns:1fr}.rich-style-footer{align-items:flex-start}.single-text-advanced-actions{flex-wrap:wrap;justify-content:flex-end}}

/* Minecraft 混淆效果使用覆盖字形；真实文本仍留在 DOM 中供选区、输入法和保存使用。 */
[data-mc-obfuscated-preview]{position:relative;color:transparent!important;text-shadow:none!important}
[data-mc-obfuscated-preview]::before{content:attr(data-mc-obfuscated-preview);position:absolute;left:0;top:0;color:var(--mc-obfuscated-color,#fff);text-shadow:var(--mc-obfuscated-shadow,2px 2px 0 rgba(0,0,0,.65));white-space:pre;pointer-events:none}
.single-text-wysiwyg.is-advanced .single-text-block.is-empty{box-sizing:border-box;width:5px;min-width:5px;height:17px;min-height:17px;vertical-align:-3px}
.single-text-wysiwyg.is-advanced .single-text-block.is-empty::after{inset:-2px -3px}
.single-text-block-remove{position:static!important;right:auto!important;top:auto!important;border:1px solid var(--black)!important;background:var(--white)!important;padding:7px 9px!important;color:var(--danger)!important}
.single-text-block-remove:hover{background:var(--danger)!important;color:var(--white)!important}

/* 高级文字块属性以锚点浮窗显示；箭头直接指向当前文本块。 */
.text-block-options.is-floating{position:fixed;z-index:110;box-sizing:border-box;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);margin:0;overflow:auto;border:2px solid var(--black);background:var(--paper);box-shadow:6px 6px 0 var(--black);transition:opacity .08s,visibility .08s}
.text-block-options.is-floating>summary{position:sticky;z-index:1;top:0;background:var(--paper);border-bottom:1px solid var(--gray-2)}
.text-block-options.is-floating.is-ctrl-hidden{visibility:hidden;opacity:0;pointer-events:none}
.text-block-popover-arrow{position:fixed;z-index:111;display:grid;place-items:center;width:28px;height:28px;border:2px solid var(--black);background:var(--gold);box-shadow:2px 2px 0 var(--black);font:900 18px/1 var(--sans);pointer-events:none;transition:opacity .08s,visibility .08s}
.text-block-popover-arrow.is-ctrl-hidden{visibility:hidden;opacity:0}
.nested-text-context-preview{z-index:108!important;opacity:.55;filter:grayscale(.25);pointer-events:none!important}
.text-editor.is-nested-text-popover{z-index:113;max-height:calc(100vh - 24px);margin:0;transform:none;box-shadow:7px 7px 0 var(--black)}
.nested-text-popover-arrow{position:fixed;z-index:114;display:grid;place-items:center;width:28px;height:28px;border:2px solid var(--black);background:var(--gold);box-shadow:2px 2px 0 var(--black);font:900 18px/1 var(--sans);pointer-events:none}

/* item_model 直接展示当前模型，输入与预览保持为一个紧凑控件。 */
.item-model-component-control{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:stretch;width:100%;min-width:0;border:1px solid var(--black);background:var(--white)}
.item-model-component-control>input{box-sizing:border-box;width:100%;height:58px!important;min-height:58px!important;border:0!important;border-left:1px solid var(--black)!important;background:var(--white);padding:0 12px!important;font-family:var(--mono)!important}
.item-model-component-control>input:focus{position:relative;z-index:1;outline:2px solid var(--gold)!important;outline-offset:-2px!important}
.component-item-model-preview{box-sizing:border-box;width:58px;height:58px;cursor:pointer;border:0;background:var(--paper)}
.component-item-model-preview:hover{background:#ffef9a}
.component-item-model-preview>img{inset:7px;width:44px;height:44px}
.component-item-model-preview:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
