:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;--bg:#f4f6f8;--bg-subtle:#edf1f5;--panel:#fbfcfd;--panel-strong:#fff;--text:#111827;--muted:#667085;--muted-strong:#475467;--border:#d9e0e8;--border-strong:#c8d2dd;--accent:#2563eb;--accent-soft:#dbeafe;--accent-text:#1d4ed8;--error:#dc2626;--error-soft:#fee2e2;--warning:#b45309;--warning-soft:#fef3c7;--success:#15803d;--success-soft:#dcfce7;--shadow:0 10px 30px #0f172a14;--radius:8px;--mono:"SFMono-Regular", Consolas, "Liberation Mono", "Noto Sans Mono", "Courier New", monospace;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111418;--bg-subtle:#171b21;--panel:#1b2027;--panel-strong:#202630;--text:#e7edf5;--muted:#9aa7b8;--muted-strong:#c3ccd8;--border:#303846;--border-strong:#435062;--accent:#60a5fa;--accent-soft:#143354;--accent-text:#bfdbfe;--error:#f87171;--error-soft:#401b1f;--warning:#fbbf24;--warning-soft:#3d2e12;--success:#4ade80;--success-soft:#16351f;--shadow:0 14px 34px #00000052}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,p{margin:0}h1{font-size:20px;font-weight:750}h2{font-size:15px;font-weight:750}.app-shell{min-height:100vh;padding:18px}.app-header,.toolbar,.workspace,.json-panel{max-width:1760px;margin-left:auto;margin-right:auto}.app-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand p,.panel-title-row p,.modal-heading p,.panel-heading span{color:var(--muted);margin-top:3px;font-size:13px}.brand-mark{background:linear-gradient(135deg, var(--panel-strong), var(--bg-subtle));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--accent);justify-content:center;align-items:center;width:42px;height:42px;display:flex}.version-badge{background:var(--bg-subtle);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:750}.header-controls{align-items:center;gap:8px;display:flex}.select-label select{background:var(--panel-strong);border:1px solid var(--border);color:var(--text);border-radius:7px;min-height:34px;padding:0 30px 0 10px}.theme-switcher{background:var(--panel);border:1px solid var(--border);border-radius:7px;align-items:center;gap:2px;padding:2px;display:inline-flex}.toolbar{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:12px;min-height:54px;margin-bottom:14px;padding:9px;display:flex}.toolbar-actions,.toolbar-end,.panel-actions,.json-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar-end{justify-content:flex-end;margin-left:auto}.button,.icon-button{background:var(--panel-strong);border:1px solid var(--border);color:var(--text);border-radius:7px;justify-content:center;align-items:center;gap:7px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.button{height:36px;padding:0 12px}.button:hover,.icon-button:hover{background:var(--bg-subtle);border-color:var(--border-strong)}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.compact{height:32px;padding:0 10px}.button.subtle-button{color:var(--muted-strong)}.button:disabled{cursor:not-allowed;opacity:.55}.icon-button:disabled{cursor:not-allowed;opacity:.38}.icon-button{width:30px;height:30px;padding:0}.icon-button.theme-button{color:var(--muted);border-color:#0000}.icon-button.theme-button.active{background:var(--accent-soft);color:var(--accent-text)}.icon-button.danger{color:var(--error)}.workspace{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.field-panel,.preview-panel,.issues-panel,.json-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;overflow:hidden}.panel-title-row,.panel-heading,.modal-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.size-pill{background:var(--bg-subtle);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:12px}.template-meta{flex-wrap:wrap;align-items:flex-end;gap:8px;min-width:0;display:flex}.template-meta label{gap:3px;display:grid}.template-meta label>span,.format-version{color:var(--muted);font-size:10px;font-weight:700}.template-meta-input,.template-meta-select{background:var(--panel-strong);border:1px solid var(--border);color:var(--text);border-radius:6px;height:30px;padding:0 8px}.template-meta-input{min-width:190px}.format-version-input{width:72px;min-width:72px}.dirty-badge{background:var(--warning-soft);color:var(--warning);border-radius:999px;align-self:center;padding:4px 8px;font-size:11px;font-weight:750}.table-wrap{overflow:auto}.field-table{border-collapse:collapse;width:100%;min-width:1420px}.field-table th,.field-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:6px 7px;font-size:12px}.field-table th{background:var(--bg-subtle);color:var(--muted-strong);z-index:1;font-size:12px;font-weight:750;position:sticky;top:0}.field-table .drag-heading,.field-table .drag-cell{background:var(--panel);box-shadow:1px 0 0 var(--border);width:42px;min-width:42px;position:sticky;left:0}.field-table .drag-heading{background:var(--bg-subtle);z-index:3}.field-table .drag-cell{z-index:2}.field-table .actions-heading,.field-table .actions-cell{background:var(--panel);box-shadow:-1px 0 0 var(--border);width:114px;min-width:114px;position:sticky;right:0}.field-table .actions-heading{background:var(--bg-subtle);z-index:3}.field-table .actions-cell{z-index:2}.field-table tbody tr{transition:background .12s}.field-table tbody tr:not(.field-issues-row):hover,.field-table tbody tr.selected,.field-table tbody tr:not(.field-issues-row):hover .actions-cell,.field-table tbody tr.selected .actions-cell,.field-table tbody tr:not(.field-issues-row):hover .drag-cell,.field-table tbody tr.selected .drag-cell{background:var(--accent-soft)}.field-row-group.dragging{opacity:.72;z-index:4;position:relative}.th-label{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.info-tip{color:var(--muted);align-items:center;display:inline-flex}.mono,.hex-dump,.json-panel textarea{font-family:var(--mono)}.table-input{background:var(--panel-strong);color:var(--text);border:1px solid #0000;border-radius:6px;width:100%;min-width:0;height:30px;padding:0 7px}.table-input:hover,.table-input:focus{border-color:var(--border-strong);outline:none}.table-input[aria-invalid=true]{border-color:var(--error);box-shadow:0 0 0 1px var(--error)}.table-input:disabled{color:var(--muted);opacity:.76}.field-name{font-weight:650}.offset-cell{width:96px}.size-cell,.fill-cell{width:78px}.type-select{min-width:96px}.value-input{min-width:150px}.value-editor{gap:2px;display:grid}.value-input-row{align-items:center;gap:4px;display:flex}.fixed-toggle{flex:none;width:28px;height:28px}.fixed-toggle.active{background:var(--accent-soft);color:var(--accent-text)}.byte-usage{color:var(--muted);font-family:var(--mono);padding-left:2px;font-size:10px}.note-cell{min-width:130px}.cell-note{color:var(--muted);max-width:150px;font-size:12px;line-height:1.35;display:inline-flex}.status-badge{white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:750;display:inline-flex}.status-badge.ok{background:var(--success-soft);color:var(--success)}.status-badge.warning{background:var(--warning-soft);color:var(--warning)}.status-badge.error{background:var(--error-soft);color:var(--error)}.row-actions{flex-wrap:nowrap;justify-content:flex-end;gap:4px;display:flex}.drag-handle{color:var(--muted);cursor:grab;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.drag-handle:hover,.drag-handle:focus{background:var(--bg-subtle);color:var(--text);outline:none}.drag-handle:active{cursor:grabbing}.field-issues-row td{background:color-mix(in srgb, var(--warning-soft) 45%, transparent);padding:0 7px 8px 146px}.field-issues{flex-wrap:wrap;align-items:center;gap:8px;padding-top:2px;display:flex}.field-issue{background:var(--panel-strong);border:1px solid var(--border);border-radius:7px;align-items:center;gap:6px;padding:6px 8px;display:inline-flex}.field-issue.error{border-color:color-mix(in srgb, var(--error) 35%, var(--border));color:var(--error)}.field-issue.warning{border-color:color-mix(in srgb, var(--warning) 35%, var(--border));color:var(--warning)}.table-empty{color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:18px 0;display:flex}.hex-dump{padding:10px 12px 12px;font-size:12px;overflow:auto}.compact-preview .hex-dump{max-height:none;overflow-y:hidden}.preview-panel.expanded .hex-dump{max-height:260px}.preview-notice{background:var(--warning-soft);border-bottom:1px solid var(--border);color:var(--warning);padding:6px 14px;font-size:11px}.preview-heading{padding-top:9px;padding-bottom:9px}.preview-actions{align-items:center;gap:8px;display:flex}.hex-dump-row{grid-template-columns:72px repeat(16,25px) minmax(180px,1fr);align-items:center;gap:4px;min-height:24px;display:grid}.hex-dump-header{color:var(--muted);z-index:1;font-size:11px;font-weight:750;position:sticky;top:0}.hex-offset,.hex-text{color:var(--muted)}.hex-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text-preview-header{align-items:center;gap:7px;min-width:0;display:flex}.text-preview-header select{background:var(--panel-strong);border:1px solid var(--border);color:var(--text);border-radius:5px;min-height:24px;padding:0 22px 0 7px;font-size:11px}.hex-byte{text-align:center;border-radius:4px;min-height:20px;padding:2px 0}.selected-byte{background:var(--accent);color:#fff}.empty-state{color:var(--muted);align-items:center;gap:8px;padding:18px 14px;display:flex}.empty-state.compact{padding:10px 0}.issue-list{gap:8px;padding:12px;display:grid}.issue-item{background:var(--panel-strong);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-align:left;align-items:flex-start;gap:8px;padding:9px;display:flex}.issue-item strong{margin-bottom:3px;font-size:12px;display:block}.issue-item.error{border-color:color-mix(in srgb, var(--error) 35%, var(--border))}.issue-item.error svg{color:var(--error)}.issue-item.warning{border-color:color-mix(in srgb, var(--warning) 35%, var(--border))}.issue-item.warning svg{color:var(--warning)}.json-panel{margin-top:14px}.json-panel textarea{background:var(--panel-strong);color:var(--text);resize:vertical;border:0;outline:none;width:100%;min-height:260px;padding:14px;display:block}.modal-backdrop{z-index:50;background:#0f172a7a;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-dialog{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius);width:760px;max-width:min(860px,100vw - 48px);max-height:min(720px,100vh - 48px);overflow:hidden;box-shadow:0 24px 64px #0f172a42}.copy-list{gap:8px;max-height:520px;padding:12px;display:grid;overflow:auto}.copy-row{background:var(--panel-strong);border:1px solid var(--border);border-radius:7px;grid-template-columns:126px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;display:grid}.copy-row div{gap:2px;display:grid}.copy-row strong{font-size:12px}.copy-row span{color:var(--muted);font-size:11px}.copy-row code{font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.reset-dialog{width:560px}.reset-options{gap:10px;padding:12px;display:grid}.reset-option{background:var(--panel-strong);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-align:left;gap:4px;padding:12px;display:grid}.reset-option:hover{background:var(--bg-subtle);border-color:var(--border-strong)}.reset-option span{color:var(--muted);font-size:12px}.toast{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:60;padding:10px 12px;font-weight:750;position:fixed;bottom:18px;right:18px}.toast.success{background:var(--success-soft);color:var(--success)}.toast.error{background:var(--error-soft);color:var(--error)}.toast.info{background:var(--accent-soft);color:var(--accent-text)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:980px){.app-header,.toolbar{flex-direction:column;align-items:stretch}.header-controls,.toolbar-actions,.toolbar-end{width:100%}.toolbar-end{justify-content:flex-start}}@media (max-width:760px){.app-shell{padding:12px}.brand{align-items:flex-start}.panel-title-row,.panel-heading,.modal-heading{flex-direction:column;align-items:flex-start}.panel-actions,.json-actions,.button,.select-label select{width:100%}.theme-switcher .icon-button{flex:1}.field-issues-row td{padding-left:7px}.copy-row{grid-template-columns:1fr}.modal-dialog{max-width:calc(100vw - 24px)}}
