:root{--ihe-primary: #2563eb;--ihe-secondary: #475569;--ihe-accent: #0ea5e9;--ihe-success: #16a34a;--ihe-warning: #d97706;--ihe-danger: #dc2626;--ihe-info: #0284c7;--ihe-surface: #ffffff;--ihe-border: #cbd5e1;--ihe-text-primary: #0f172a;--ihe-text-secondary: #334155;--ihe-text-muted: #64748b;--ihe-focus-ring: #1d4ed8;--ihe-radius-sm: 6px;--ihe-radius-md: 8px;--ihe-shadow-md: 0 4px 12px rgba(15, 23, 42, .12);--ihe-z-overlay: 1000;--ihe-z-toolbar: 1100;--ihe-z-toast: 1300;--ihe-space-2: 8px;--ihe-space-3: 12px;--ihe-space-4: 16px;--ihe-font: Inter, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ihe-font-size-body: 14px}.ihe-overlay-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--ihe-z-overlay);pointer-events:none;font-family:var(--ihe-font)}.ihe-toolbar-layer{display:contents;font-family:var(--ihe-font)}.ihe-highlight{position:fixed;border:0;outline:0;border-radius:var(--ihe-radius-sm);box-sizing:border-box;box-shadow:none;background:transparent;pointer-events:none}.ihe-tag-badge{position:fixed;color:#fff;font-size:11px;font-weight:700;line-height:1;height:30px;padding:0 10px;box-sizing:border-box;border-radius:4px;letter-spacing:.03em;display:inline-flex;align-items:center;gap:6px;pointer-events:auto}.ihe-tag-badge__duplicate,.ihe-tag-badge__delete{width:22px;height:22px;border:0;padding:0;border-radius:4px;background:#ffffff1f;color:inherit;display:none;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,color .2s ease}.ihe-tag-badge__duplicate:hover,.ihe-tag-badge__delete:hover{background:#fff3}.ihe-tag-badge__duplicate svg,.ihe-tag-badge__delete svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.5;fill:none}.ihe-tag-badge__delete{color:inherit}.ihe-tag-badge.is-active .ihe-tag-badge__duplicate,.ihe-tag-badge.is-active .ihe-tag-badge__delete{display:inline-flex;opacity:1;visibility:visible}.ihe-toolbar{position:fixed;z-index:var(--ihe-z-toolbar);width:max-content;max-width:calc(100vw - 12px);background:#101828;border:1px solid #1f2937;border-radius:10px;box-shadow:0 10px 28px #02061759;padding:var(--ihe-space-2) var(--ihe-space-3) var(--ihe-space-2) var(--ihe-space-3);display:flex;flex-direction:row;align-items:center;gap:var(--ihe-space-2);white-space:nowrap;overflow:visible;pointer-events:auto;color:#e2e8f0;font-size:var(--ihe-font-size-body)}.ihe-history-controls{position:fixed;right:16px;bottom:16px;z-index:var(--ihe-z-toolbar);display:inline-flex;align-items:center;gap:6px;background:#101828;border:1px solid #1f2937;border-radius:10px;box-shadow:0 10px 28px #02061759;padding:6px;pointer-events:auto}.ihe-history-controls[hidden]{display:none!important}.ihe-history-btn{width:34px;height:34px}.ihe-history-save-btn{min-width:72px;height:34px;padding:0 14px;background:#16a34a;color:#fff;border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px}.ihe-history-save-btn:hover{background:#15803d;color:#fff}.ihe-history-save-btn.is-saving{background:#15803d;cursor:wait}.ihe-save-spinner{display:none;width:14px;height:14px}.ihe-save-spinner svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;animation:ihe-save-spin .8s linear infinite}.ihe-history-save-btn.is-saving .ihe-save-spinner{display:inline-flex}.ihe-toast{position:fixed;right:22px;bottom:96px;z-index:calc(var(--ihe-z-toolbar) + 2);background:#16a34a;color:#fff;padding:10px 14px;border-radius:10px;font-size:13px;font-weight:600;box-shadow:0 10px 24px #0206174d;pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease;max-width:calc(100vw - 44px);width:max-content;box-sizing:border-box;left:auto;white-space:nowrap;word-break:normal;overflow-wrap:normal}.ihe-toast.is-visible{opacity:1;transform:translateY(0)}.ihe-toast--error{background:#dc2626}@keyframes ihe-save-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ihe-toolbar[hidden],.ihe-highlight[hidden],.ihe-tag-badge[hidden]{display:none!important}.ihe-toolbar-close{position:absolute;top:-14px;right:-8px;width:24px;height:24px;border:1px solid #243246;background:#0b1220;color:#cbd5e1;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.ihe-toolbar-close svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.ihe-toolbar-close:hover{color:#f8fafc;background:#1e293b}.ihe-toolbar__row{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--ihe-space-2)}.ihe-toolbar__row--actions{align-items:center}.ihe-toolbar__row--fields label{display:flex;flex-direction:row;align-items:center;gap:4px;color:#94a3b8;font-size:12px;min-width:auto}.ihe-separator{width:1px;height:22px;background:#243246;margin:0 2px}.ihe-btn{border:1px solid transparent;border-radius:var(--ihe-radius-sm);height:32px;padding:0 12px;font-size:13px;font-weight:600;cursor:pointer}.ihe-btn:focus-visible,.ihe-input:focus-visible,.ihe-toolbar select:focus-visible{outline:2px solid var(--ihe-focus-ring);outline-offset:2px}.ihe-icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#cbd5e1;border-radius:8px;cursor:pointer}.ihe-icon-btn svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.ihe-icon-btn:hover{background:#1e293b;color:#f8fafc}.ihe-icon-btn--delete-end{margin-left:auto}.ihe-btn--primary{background:var(--ihe-primary);color:#fff}.ihe-btn--secondary{background:#fff;color:var(--ihe-secondary);border-color:var(--ihe-border)}.ihe-btn--danger{background:#fff5f5;color:var(--ihe-danger);border-color:#fecaca}.ihe-btn:disabled{opacity:.45;cursor:not-allowed}.ihe-icon-btn:disabled{opacity:.45;cursor:not-allowed}.ihe-input{height:28px;border-radius:var(--ihe-radius-sm);border:1px solid #334155;background:#0b1220;padding:0 8px;min-width:68px;color:#e2e8f0}.ihe-input--tag-select{min-width:72px;padding-right:24px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.ihe-input--tag-select option{background:#0b1220;color:#e2e8f0}.ihe-input--wide{min-width:220px}.ihe-input--color{padding:0;width:28px;min-width:28px}.ihe-toolbar-field-stack{display:flex;flex-direction:row;align-items:center;gap:6px}.ihe-toolbar-slider-row{display:flex;align-items:center;gap:6px}.ihe-toolbar-color-row{display:flex;align-items:center}.ihe-toolbar-slider-row.is-hidden,.ihe-toolbar-color-row.is-hidden{display:none}.ihe-input--slider{width:88px;min-width:88px;max-width:88px;padding:0}.ihe-toolbar-value-badge{font-size:11px;color:#94a3b8;min-width:48px;text-align:right}.ihe-error{margin:0;color:#fca5a5;font-size:12px}[data-ihe-editing=true],[data-ihe-editing=true]:focus,[data-ihe-editing=true]:focus-visible{outline:none!important;box-shadow:none!important;border-color:inherit!important}@media(max-width:640px){.ihe-toolbar{max-width:calc(100vw - 12px)}.ihe-input--wide{min-width:160px}}.ihe-drawer-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--ihe-z-toolbar);pointer-events:none}.ihe-drawer{position:fixed;top:0;left:-380px;width:380px;height:100%;background:#101828;border-right:1px solid #1f2937;box-shadow:10px 0 30px #0006;z-index:var(--ihe-z-toolbar);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;pointer-events:auto;color:#e2e8f0;font-family:var(--ihe-font);line-height:1.4}.ihe-drawer.is-open{transform:translate(380px)}.ihe-drawer-header{padding:var(--ihe-space-4);border-bottom:1px solid #1f2937;display:flex;align-items:center;justify-content:space-between}.ihe-drawer-header h2{font-size:16px;font-weight:700;margin:0;color:#fff;display:flex;align-items:center;gap:8px}.ihe-drawer-content{flex:1;overflow-y:auto;padding:var(--ihe-space-4);scrollbar-width:thin;scrollbar-color:#1f2937 transparent}.ihe-drawer-content::-webkit-scrollbar{width:6px}.ihe-drawer-content::-webkit-scrollbar-track{background:transparent}.ihe-drawer-content::-webkit-scrollbar-thumb{background:#1f2937;border-radius:10px}.ihe-drawer-section{margin-bottom:var(--ihe-space-4);border-radius:8px;background:#161e2c;overflow:hidden;border:1px solid #1f2937}.ihe-drawer-section-header{width:100%;padding:10px 14px;font-size:13px;font-weight:600;color:#94a3b8;background:#1c2536;border:0;border-bottom:1px solid #1f2937;text-transform:uppercase;letter-spacing:.05em;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-align:left}.ihe-drawer-section-body{padding:12px;display:flex;flex-direction:column;gap:12px}.ihe-drawer-section[data-group-name=colors] .ihe-drawer-section-body{flex-direction:row;flex-wrap:wrap;gap:10px}.ihe-drawer-section[data-group-name=colors] .ihe-drawer-field{flex:0 0 calc((100% - 20px) / 3);width:calc((100% - 20px) / 3);gap:4px}.ihe-drawer-section[data-group-name=colors] .ihe-drawer-field label{font-size:11px;text-align:center}.ihe-drawer-section[data-group-name=colors] .ihe-drawer-field-row{justify-content:center}.ihe-drawer-section[data-group-name=colors] .ihe-input--color{width:35px;min-width:35px;height:35px}.ihe-drawer-subgroup{display:flex;flex-direction:column;gap:10px;padding:10px;border:1px solid #243247;border-radius:8px;background:#141d2b}.ihe-drawer-subgroup+.ihe-drawer-subgroup{margin-top:8px}.ihe-drawer-subgroup-title{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#8aa0be}.ihe-drawer-subgroup-body{display:flex;flex-direction:column;gap:10px}.ihe-drawer-subgroup--swatches .ihe-drawer-subgroup-body{flex-direction:row;flex-wrap:nowrap;gap:4px;overflow:hidden;padding-bottom:0}.ihe-drawer-subgroup--swatches .ihe-drawer-field--shade{flex:0 0 22px;width:22px;gap:2px}.ihe-drawer-subgroup--swatches .ihe-drawer-field--shade label{text-align:center;font-size:10px}.ihe-drawer-subgroup--swatches .ihe-drawer-field-row{justify-content:center}.ihe-drawer-subgroup--swatches .ihe-input--color{width:100%;min-width:100%;height:30px}.ihe-drawer-section.is-collapsed .ihe-drawer-section-body{display:none}.ihe-drawer-section-chevron{transition:transform .15s ease}.ihe-drawer-section.is-open .ihe-drawer-section-chevron{transform:rotate(0)}.ihe-drawer-field{display:flex;flex-direction:column;gap:6px}.ihe-drawer-field--inline-label{flex-direction:row;align-items:center;gap:10px}.ihe-drawer-field label{font-size:12px;color:#94a3b8;font-weight:500}.ihe-drawer-field--inline-label label{flex:0 0 120px}.ihe-drawer-field-row{display:flex;align-items:center;gap:10px}.ihe-drawer-input{flex:1}.ihe-drawer-color-reference-select{flex:0 0 160px;width:160px;min-width:160px}.ihe-drawer-layer .ihe-drawer .ihe-drawer-input,.ihe-drawer-layer .ihe-drawer .ihe-input--color{height:28px;min-height:28px}.ihe-drawer-slider-row{display:flex;align-items:center;gap:12px}.ihe-drawer-layer .ihe-drawer input[type=range].ihe-drawer-slider{flex:1;display:block;width:100%;margin:0;padding:0;border:0;height:16px;min-height:16px;cursor:pointer;accent-color:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#1f2937;border-radius:2px;outline:none;box-shadow:none}.ihe-drawer-layer .ihe-drawer input[type=range].ihe-drawer-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--ihe-primary);border-radius:50%;cursor:pointer;border:2px solid #fff;transition:transform .1s}.ihe-drawer-layer .ihe-drawer input[type=range].ihe-drawer-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.ihe-drawer-layer .ihe-drawer input[type=range].ihe-drawer-slider::-moz-range-thumb{width:14px;height:14px;background:var(--ihe-primary);border-radius:50%;cursor:pointer;border:2px solid #fff;transition:transform .1s}.ihe-drawer-layer .ihe-drawer input[type=range].ihe-drawer-slider::-moz-range-thumb:hover{transform:scale(1.2)}.ihe-drawer-layer .ihe-drawer input[type=range].ihe-drawer-slider::-moz-range-track{height:4px;background:#1f2937;border:0;border-radius:2px}.ihe-drawer-value-badge{font-size:11px;background:#1f2937;color:#cbd5e1;padding:2px 6px;border-radius:4px;min-width:45px;text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.ihe-drawer-trigger{position:fixed;top:50%;left:0;transform:translateY(-50%);width:40px;height:48px;background:#101828;border:1px solid #1f2937;border-left:none;border-top-right-radius:10px;border-bottom-right-radius:10px;box-shadow:4px 0 16px #0003;z-index:var(--ihe-z-toolbar);cursor:pointer;display:flex;align-items:center;justify-content:center;color:#cbd5e1;transition:all .2s cubic-bezier(.4,0,.2,1);pointer-events:auto}.ihe-drawer-trigger:hover{width:44px;background:#161e2c;color:#fff}.ihe-drawer-trigger svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.ihe-drawer-trigger.is-active{left:340px;border-top-left-radius:10px;border-bottom-left-radius:10px;border-left:1px solid #1f2937;border-right:none;transform:translateY(-50%) translate(-100%)}
